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 H
assign 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$ a
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 )) :
. 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'd552
8 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