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% t+ @$ w8 C# o
assign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104); ( z2 i! ]' o4 P- W  |% n; ^4 t

3 T: I6 n  |/ g; D2 W& R可以改寫成 2 e/ Q/ [( r+ d$ J* s/ ]  ~7 }' ^- v
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 )) :" f$ _3 u8 |8 k& \& d
                               ((pac_leng_f[12:07]==6'h00)  & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
# ]$ Z5 K* M3 W# `* Z
3 v; v! O" z+ W0 N. [# e7 \: q- w// 000 1000101000 = 13'd552
5 t2 F8 T3 d( X6 h# l+ T! p6 X' k// 000000 1101000 = 13'd104- I6 f+ a7 d6 c9 b# g  V

* U( c5 b$ A; U' e; [, d一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器
4 o+ ~( d% U+ [) w2 W- v0 F! Q5 y這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.
$ R% P' p8 p8 G. L- A2 W4 U改用新的寫法會變成 2  個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.; {! T, ?: B  B1 T
Propagation gate delay 會短很多.
作者: walltsou    時間: 2011-3-26 04:10 PM
獻醜一下。
  p- S* I9 L2 ]/ {+ F講起來是有道理,實際上卻不一定。為何?0 n* }: L8 J2 ~" ?
主要是編譯器也會進步。- x8 G- B: c  q

8 v  V* B3 u+ q" C8 b在舊式編譯器上,可以無法考量這麼多的狀況,這樣寫是有用。因為電腦的速度及記憶體的量有限。
' `% M. l* w/ R5 z5 G+ J不過,如果是現代的編譯器,因為電腦已變成多核心,記憶體也破G。就可以自動合成你所寫的方法。




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