Chip123 科技應用創新平台

標題: 這種Verilog寫法,是否能改善propagation gate delay [打印本頁]

作者: kuhwakimo    時間: 2011-3-24 04:42 PM
標題: 這種Verilog寫法,是否能改善propagation gate delay
input [12:00] pac_leng_f;          // pac_leng latch/ A% w' ?. A. H2 M2 a( s" K
assign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104);
7 D2 U# t4 N( D0 b/ L# j( u- j5 b
1 {- j" z& e6 C* l: W可以改寫成 . @8 N; d9 M  K& O/ l) y& |% u. q
assign less_than_col_window = (spd1g) ? ((pac_leng_f[12:10]==3'b000) & ( {pac_leng_f[9], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 )) :
3 H0 n% ~; k  ]0 d0 _* x                               ((pac_leng_f[12:07]==6'h00)  & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 )); j! x) E: w1 N' ]' r

9 v- v2 F+ p9 T& R$ M9 m// 000 1000101000 = 13'd552
4 x& H3 J. W, F6 r2 d) O4 y/ h// 000000 1101000 = 13'd104' E: }$ K: k% ?1 T# B

) G, A9 T. l" N% I一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器0 N/ T" Q' h9 b9 }/ }& P
這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.
: r. N2 u  E% o; c. Z1 v! d0 X: l改用新的寫法會變成 2  個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出./ o5 @: a0 v: H  G% f" c+ k
Propagation gate delay 會短很多.
作者: walltsou    時間: 2011-3-26 04:10 PM
獻醜一下。
$ W" ~4 H5 v+ c講起來是有道理,實際上卻不一定。為何?- A3 e- g  ]5 T; j. J, |4 N$ C$ c, t
主要是編譯器也會進步。
" Q) G$ X) U& F2 t, z# f  \8 b* Q- m) A
在舊式編譯器上,可以無法考量這麼多的狀況,這樣寫是有用。因為電腦的速度及記憶體的量有限。
' }0 P2 S  d" z; ?! L3 ^# T不過,如果是現代的編譯器,因為電腦已變成多核心,記憶體也破G。就可以自動合成你所寫的方法。




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2