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
4 S- `6 }9 y9 W# j* _0 Hassign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104);
2 \: R7 G/ s! f  H% G5 C$ j: B" ?; `) N  C
可以改寫成
: U# E! P2 m$ ~2 A" g$ aassign 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 )) :. E8 O! ^6 Z7 Q! r, S; [
                               ((pac_leng_f[12:07]==6'h00)  & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
% [4 a% p1 L  z( [- ?( C. C& R+ X" B( i( c$ T$ W
// 000 1000101000 = 13'd5528 S  v/ g2 V, R
// 000000 1101000 = 13'd104( @' }- E8 H- U8 a6 Y
+ ?0 F( K$ r+ K, g* x
一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器! d) h0 y  s- q' f& q
這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.
$ }( e/ F4 {, F5 X$ l: u' K改用新的寫法會變成 2  個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.7 s3 p; }% l3 ~1 E$ L5 F
Propagation gate delay 會短很多.
作者: walltsou    時間: 2011-3-26 04:10 PM
獻醜一下。) X1 g$ I, P) s# K' o) e9 l
講起來是有道理,實際上卻不一定。為何?* {& h( J( G) I" v' ^7 K( M$ o
主要是編譯器也會進步。# _& ~. E' r- E& Z* V

, t% }  q  C, P# ^; x; C: V在舊式編譯器上,可以無法考量這麼多的狀況,這樣寫是有用。因為電腦的速度及記憶體的量有限。  w7 i- {. `) s8 L8 A6 j2 r
不過,如果是現代的編譯器,因為電腦已變成多核心,記憶體也破G。就可以自動合成你所寫的方法。




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