|
input [12:00] pac_leng_f; // pac_leng latch3 R* n. i5 C- s* _( }
assign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104); . S% s1 y+ b' G2 T
8 l* x+ |& o8 J$ c' w
可以改寫成 4 j3 k- F+ f$ _0 F
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 )) :
6 X2 R9 U9 B c7 R @" b ((pac_leng_f[12:07]==6'h00) & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
* T" v* J1 r* ~$ c* u0 a8 k' t, u$ r: G% W
// 000 1000101000 = 13'd5520 Q* {# |- e; ^8 ?% A! ~
// 000000 1101000 = 13'd104
. D* `) X/ x0 c; \+ C0 i
7 _: B5 J! Z2 B+ j6 E" d一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器1 L$ h# J; o: X" p
這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.2 \9 b2 N6 p+ |, @
改用新的寫法會變成 2 個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.: V+ ?, V* G1 j0 Y: N' l' W
Propagation gate delay 會短很多. |
|