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