|
input [12:00] pac_leng_f; // pac_leng latch
# @! _6 [: N( w) `. e, {# a- g2 Wassign less_than_col_window = (spd1g) ? (pac_leng_f < 13'd552) : (pac_leng_f < 13'd104); 5 j) A7 r3 A9 J3 }# V& l, ]
; g# q1 @# M) a可以改寫成
7 C7 i0 b, |: k* z2 A, W9 U. 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 )) :1 l; E/ b% a: e6 L* X
((pac_leng_f[12:07]==6'h00) & ( {pac_leng_f[6], pac_leng_f[5] , pac_leng_f[3] } != 3'b111 ))
; F- U& {5 N! c. Z; e7 a9 N3 x5 c. g9 s3 o+ o) D, M7 W
// 000 1000101000 = 13'd552
! K$ N Y" i5 U1 L0 ~/ ?. x! i// 000000 1101000 = 13'd104( f; M0 T4 @, g! V, C% ~
" J; a- x9 x% L' c7 q l a! p一般人的寫法會使用 "<" 符號, Synthesize 時會形成下面這種多bits的比較器
) z: w# L& g/ ` d( c這種寫法所 Synthesize 出來的 Combinational circuit 其 Propagation gate delay 會很長.1 [4 X9 x% A' x6 i5 n+ S/ c, G( l
改用新的寫法會變成 2 個 3bits 的比較器同時並行,各得到二個值後,最後再用一個 AND Gate 做輸出.$ K8 k2 w- f4 W6 k1 c% X
Propagation gate delay 會短很多. |
|