在FPGA設(shè)計中,我們可能會碰到這樣的路徑,如下圖所示。圖中兩個輸入數(shù)據(jù)為64位,寄存一拍后給到二選一MUX的數(shù)據(jù)輸入端,MUX的輸出數(shù)據(jù)經(jīng)位縮減運算經(jīng)輸出寄存器輸出,而輸出寄存器的輸出又反饋回來作為MUX的控制端,如圖中藍(lán)色標(biāo)記所示。
相應(yīng)的SystemVerilog代碼如下圖所示:

相應(yīng)的VHDL代碼如下:
?
從布線后的結(jié)果來看,反饋路徑成為關(guān)鍵路徑,這可通過布線后的結(jié)果回溯到RTL視圖,如下圖所示。注意到圖中觸發(fā)器的扇出為33。

對于此類反饋路徑,我們可以采用綜合屬性CRITICAL_SIG_OPT進(jìn)行優(yōu)化(該綜合屬性只可以在Vivado 2022.2及其之后的版本中使用)。將其施加在dout上,如下圖所示。

如果是VHDL代碼,應(yīng)采用如下方式使用CRITICAL_SIG_OPT:
?
這個綜合屬性會將位縮減運算前移,這樣二選一MUX的輸入數(shù)據(jù)就變?yōu)?位,如下圖所示,這正是我們所期望的。

從布線后的視圖回溯到綜合后以及RTL視圖,如下圖所示。此時關(guān)鍵路徑發(fā)生了變化,從輸入端經(jīng)二選一MUX過位縮減運算器到末級輸出觸發(fā)器,不再是原來的反饋之路。而末級輸出觸發(fā)器的扇出也降低到2。

再從資源利用率角度看,優(yōu)化前使用了39個LUT,129個FF,而優(yōu)化后使用了26個LUT,129個FF,LUT個數(shù)降低了,F(xiàn)F個數(shù)保持不變,如下圖所示。

綜合屬性CRITICAL_SIG_OPT從Vivado 2022.2版本開始支持,適用于優(yōu)化反饋路徑,可有效緩解反饋路徑的時序壓力。
審核編輯:劉清
-
FPGA設(shè)計
+關(guān)注
關(guān)注
9文章
431瀏覽量
28143 -
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129999 -
Verilog
+關(guān)注
關(guān)注
30文章
1374瀏覽量
114529 -
LUT
+關(guān)注
關(guān)注
0文章
52瀏覽量
13145 -
Mux
+關(guān)注
關(guān)注
0文章
44瀏覽量
24140
原文標(biāo)題:反饋路徑可以這么優(yōu)化
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
數(shù)字IC/FPGA設(shè)計中的時序優(yōu)化方法
優(yōu)化 FPGA HLS 設(shè)計
FPGA中的I_O時序優(yōu)化設(shè)計
反饋路徑的布線
xapp1064時鐘反饋路徑延遲問題
緩沖器反饋路徑中的電阻器介紹
反饋路徑測量工具
緩沖器反饋路徑中的電阻器:問問為什么!
淺談DC/DC電源中反饋路徑的布線
FPGA設(shè)計中的反饋路徑可以怎么優(yōu)化呢?
評論