|
input [12:00] pac_leng_f; // pac_leng latch
; L5 _) c/ S$ ]& A$ C3 k# wassign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104); ! \; k; b( r7 o3 P
, u5 i/ h( Q# `: ~; P
可以改寫成 3 r2 E0 W' ]8 p' T- o
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 )) :/ U4 W7 l" c! @$ |4 i
((pac_leng_f[12:07]==6'h00) & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
3 T4 w6 x* _" @: o" A* F8 ~. [0 z A0 y, X5 N0 Q) l
// 000 1000101000 = 13'd552
9 e! V9 E# e! E1 v4 w// 000000 1101000 = 13'd1046 b" U1 y& R2 x
( b4 Z8 J& H, }. C
一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器/ f2 _7 O9 \% M$ ?2 }
這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.
: i/ y+ f8 Z+ q# M改用新的寫法會變成 2 個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.6 G! B, M* _0 [7 e T1 I/ U* H
Propagation gate delay 會短很多. |
|