Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 14234|回復: 1

[問題求助] 這種Verilog寫法,是否能改善propagation gate delay

  [複製鏈接]
發表於 2011-3-24 16:42:31 | 顯示全部樓層 |閱讀模式
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 會短很多.
發表於 2011-3-26 16:10:54 | 顯示全部樓層
獻醜一下。% L: D6 F* B- Q. j. F  S
講起來是有道理,實際上卻不一定。為何?
/ l2 }4 x0 e6 O8 F5 Q* x: b- W主要是編譯器也會進步。
" L4 V: G& V: w% ~" i! D% Y! U6 J% V1 P/ D/ ?# \1 w
在舊式編譯器上,可以無法考量這麼多的狀況,這樣寫是有用。因為電腦的速度及記憶體的量有限。- g! |5 i$ W: z& b; G( |* E1 X
不過,如果是現代的編譯器,因為電腦已變成多核心,記憶體也破G。就可以自動合成你所寫的方法。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-3-29 05:44 PM , Processed in 0.107006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表