Chip123 科技應用創新平台

標題: 請問任意餘數產生器要如何設計 - [懸賞 RDB 10 元] [打印本頁]

作者: masonchung    時間: 2007-1-25 02:34 PM
標題: 請問任意餘數產生器要如何設計 - [懸賞 RDB 10 元]
Verilog " % "餘數運算 無法合成硬體
+ j# w; D; t( K6 Y有人知道可合成的"任意餘數產生器"要如何設計嗎?
; B0 @+ o$ _  A亦即求 X % Y (Y的值不固定,X ,Y均假設小於128)
, _7 e1 o0 U% E' }8 P9 l. U: N8 }: a& T# N+ u
[ 本帖最後由 masonchung 於 2007-1-25 02:42 PM 編輯 ]
作者: tommywgt    時間: 2007-1-30 09:49 PM
標題: 餘數產生器其實就是個除法器
如題, 所以使用除法器就行了
, s# z9 m- f, M1 A+ l7 I在fpga的tool都有內建不用錢的lib
# g1 Z2 i7 j# |0 I7 g在dc下可以呼叫design well的除法器
, i% t' _! \# @2 o, {( {% |想自己寫的話有二個方法你可以試試看 1)長除法 (就是國小敎的那個除法數學) 2) Radix-4除法器
1 r/ D5 i( C) g2 e" W% F$ q
$ T; J$ D3 z* O以上的方法我都有試過, 你也可以試試看, 一定可行的, 試完要給RDB哦!
作者: masonchung    時間: 2007-1-30 09:58 PM
恩,我可能沒說明清楚
# z% J. `8 d1 J! P8 v# S5 S& h1 W重點是=> 除數(Y)是個不固定長度(每次計算要能調整bit數,可能因外來條件而變)
9 ^  \0 f6 R+ E3 i, C' Z4 ~這樣的(餘數產生器)除法器可以寫的出來嗎  j5 ], R/ `: g6 a: c/ r( R

! `: e# [- h6 L# b* h- r[ 本帖最後由 masonchung 於 2007-1-30 10:08 PM 編輯 ]
作者: tommywgt    時間: 2007-1-30 10:23 PM
標題: 答案還是沒有太大的差別
如題, 我可以再補充多一點:
1 N5 g) y- P+ L' D' `自己寫的話我還是建議: 1)長除法 (就是國小敎的那個除法數學) 2) Radix-4除法器
1 S: {# Q$ N  l, e3 W
) {5 x2 c: n: z3 J在synsizable的code不可能故意寫很大的code等著用, 所以呢, 我這先提出二個方案
" T" ]5 u" M  j8 f6 }1)) x2 d2 t$ u8 m/ w% A
在verilog下有個東東叫'define# Y% D  Q* L9 `  F3 ]4 Q, G
在vhdl中有個東東叫constant的
7 c2 x* l+ @7 O9 ?) @$ u& ^透過宣告來知道word legth
9 @% \" ~: E3 C0 i一定可以的
8 }* P7 Y- ^6 ^$ s; [% J) m6 l9 A; s6 x  m
2)
) k3 d9 l' J" T在使用這個自己寫的lib時用generic (vhdl)或parameter (verilog)傳入長度, 在code裡就可以判斷了
  h5 H- u# Q6 Y! G8 B! B+ {0 V* t' C+ h, t
這時for跟while這些不常用的指令就很好用了, 而且一定可以合出真正的硬體的
作者: masonchung    時間: 2007-1-31 09:43 PM
對了請問一下用for 迴圈去做& h4 j( a2 L& d2 V7 b
這樣如果除數(Y)有(7~1)個bit可變化
, }/ S. X% }3 V! x: e! Y3 N是不是會產生7個除法器 (7bits DIV,6bits DIV,...,2bits DIV,1 bit DIV)?
0 |4 E3 ]/ b$ O- a2 J0 \3 `還是128個除法器?# t6 o! ]- S3 x; J& Z4 E3 ~3 m
有無更省gate count的做法呢?
作者: tommywgt    時間: 2007-2-1 02:21 PM
在二進位的長除法其實只有比大小而已
$ A' e* j" o7 r  G; F用FOR去比的次數就是你的被除數BIT數(不是除數喔)而不是每一次都產生一個完整的除法器
5 l% K( P, I: \! A5 D/ F
9 a+ p$ ^" G7 v$ N0 c長除法做出來後你可以試一下RADIX-4除法器, gate count比較小, 速度也比較快...
作者: tommywgt    時間: 2007-2-8 04:41 PM
這個問題還是沒有解決嗎???
作者: masonchung    時間: 2007-2-8 04:58 PM
謝謝 tommywgt 大4 ]+ ^7 Z! B: v# g% ^, y$ X/ E" c
我想出長除法的code囉




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2