|
input [12:00] pac_leng_f; // pac_leng latch. j8 g, s' Q5 R* R2 K
assign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104);
6 z E- `2 D5 `1 C+ _ h# S. t U5 W6 E5 c3 y: b8 q! W
可以改寫成 # J, y y( ~; R
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 )) : k' \, `( q# k" o2 `5 X z2 d
((pac_leng_f[12:07]==6'h00) & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
0 w6 ^3 F' F0 M3 z& c5 n* f6 S+ I. m6 g# ?$ k: C& y; d
// 000 1000101000 = 13'd552
% |" c ]8 i5 }/ `( N// 000000 1101000 = 13'd104" H8 E; y# M7 g* Z2 S6 a
$ b8 P- B2 z' E6 L# K
一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器
+ \& B9 z: e1 @) V這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.4 l4 h1 z, B8 Y d& u
改用新的寫法會變成 2 個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.6 C5 F4 j1 ` j: q! }$ w
Propagation gate delay 會短很多. |
|