布局
全局布局
在全局布局中,尤其是在 PSIP 中,不同的優(yōu)化中會發(fā)生一些復(fù)制,包括:
關(guān)鍵單元優(yōu)化:適用于含負(fù)載數(shù) <=30 的關(guān)鍵信號線的復(fù)制
扇出優(yōu)化:適用于含負(fù)載數(shù)大于 30 且小于等于 100 的關(guān)鍵信號線的復(fù)制
超高扇出優(yōu)化:對驅(qū)動高扇出信號線(扇出 > 1000,裕量 < 2.0 ns)的寄存器進行復(fù)制。
按 SLR 進行復(fù)制優(yōu)化:對驅(qū)動其他 SLR 內(nèi)的關(guān)鍵負(fù)載的 FF 進行復(fù)制
動態(tài)/靜態(tài)區(qū)域接口信號線復(fù)制:對 DFX 設(shè)計的每個靜態(tài)區(qū)域/動態(tài)區(qū)域的驅(qū)動程序進行復(fù)制
注釋:在 Versal 默認(rèn)流程和 Explore 流程中已停用
除上述優(yōu)化外,還可以通過下列屬性(按優(yōu)先順序列示)來影響高扇出信號線的初始布局:
MAX_FANOUT:該屬性會將每個驅(qū)動程序的扇出限制告知工具,并通過指示布局器了解扇出限制來指引該工具對高扇出的負(fù)載進行分配。此屬性可同時應(yīng)用于 FF 與 LUT 驅(qū)動程序。當(dāng) MAX_FANOUT 值小于約束的信號線的實際扇出時,將對該信號線進行寄存器復(fù)制評估。值得注意的是,僅當(dāng)時序會得到改善的情況下,才會發(fā)生優(yōu)化。
MAX_FANOUT_MODE:該屬性會指定強制執(zhí)行扇出限制的方式。您可基于物理器件屬性(CLOCK REGION、SLR、MACRO)來強制執(zhí)行復(fù)制。如果設(shè)置該屬性,那么會將高扇出信號線的負(fù)載集中到同一個 SLR 中或采用您為該屬性設(shè)置的任意值。支持該屬性的宏 (MACRO) 包括:塊 RAM、UltraRAM 和 DSP。
FORCE_MAX_FANOUT:該屬性會被應(yīng)用于特定信號線,以限制復(fù)制優(yōu)化后信號線的最大物理扇出。借助該屬性,即可在 PSIP 期間強制進行復(fù)制優(yōu)化,并且該工具不考慮時序因素。
圖 9:在此示例中,將 MAX_FANOUT_MODE 屬性設(shè)置為 MACRO 并將 FORCE_MAX_FANOUT 設(shè)置為 1
針對每項 MACRO 負(fù)載,驅(qū)動程序均已執(zhí)行復(fù)制。請注意,MAX_FANOUT_MODE 優(yōu)先于 FORCE_MAX_FANOUT 屬性。
布局后優(yōu)化
以下操作在布局后流程中完成:
BUFG 插入階段——在布局后操作期間還包含 BUFG 插入階段,在此期間,工具會將高扇出信號線推廣到全局布線。在此階段,布局器會自動將高扇出信號線布線到任何可用的全局布線走線上。滿足以下條件的信號線都會被納入插入的考量范圍:Versal 中扇出 > 10,000 的信號線,以及 UltraScale/UltraScale+ 中扇出 > 1,000 并且所驅(qū)動的控制信號裕量大于 1 ns 的信號線。這是時序驅(qū)動的插入,僅當(dāng)插入有助于改善時序時才會發(fā)生。
在 place_design 命令中使用 -no_bufg_opt 即可關(guān)閉此優(yōu)化。
物理優(yōu)化
在物理優(yōu)化 (phys_opt_design) 期間,有若干優(yōu)化可用于應(yīng)對高扇出信號線,其中部分優(yōu)化默認(rèn)已啟用:
高扇出優(yōu)化
在該流程中默認(rèn)啟用此項優(yōu)化。針對此優(yōu)化,若高扇出信號線所含負(fù)時序裕量在 WNS 的某一百分比范圍內(nèi),則會被納入復(fù)制的考量范疇。僅當(dāng)復(fù)制有助于改善時序時,才會發(fā)生復(fù)制。
-force_replication_on_nets
“force replication on nets”(在信號線上強制復(fù)制)選項可用于強制對任意指定信號線進行驅(qū)動程序復(fù)制,與該信號線的時序裕量無關(guān)。如果您在布線后注意到高扇出信號線變得非常關(guān)鍵,那么此優(yōu)化可能很有用。您可以在該特定信號線上再次運行物理優(yōu)化并強制復(fù)制,以查看是否有所幫助。
-directive AggressiveFanoutOpt
物理優(yōu)化中另有一個選項是 AggressiveFanoutOpt 指令。在某些情況下,物理優(yōu)化無法解決所有關(guān)鍵的高扇出信號線。因此,建議您搭配該指令重新運行物理優(yōu)化,以便進行更為激進的優(yōu)化。
-lut_opt
該選項旨在通過移動或復(fù)制 LUT 來減少路徑延遲。
如果您熟悉先前被稱為“High fanout optimization”(高扇出優(yōu)化)和“Very high Fanout optimization”(超高扇出優(yōu)化)的舊優(yōu)化,在最新架構(gòu)中不再支持這些舊優(yōu)化。而是改為采用 -interconnect_retime (Vivado 2022.1+) 選項和 -lut_opt (Vivado 2023.1+) 選項來代替這些優(yōu)化。
-iphys_opt_design
此命令描述了由 phys_opt 執(zhí)行的特定優(yōu)化,如果您在 write_iphys_opt_tcl 中包含 -place,那么此命令也可以寫出由布局完成的優(yōu)化。它可在不同階段用于應(yīng)用優(yōu)化。例如,該命令允許在布局前設(shè)計上執(zhí)行通常在 phys_opt 之后執(zhí)行的各項優(yōu)化。換言之,該命令可幫助您通過 Tcl 復(fù)用/重復(fù)優(yōu)化。
圖 10:此流程圖顯示了 iphys_opt 命令的正常使用順序
示例:
基線運行輪次:
復(fù)用 iphys_opt_tcl 的輪次:
請參閱 UG835 以了解有關(guān) iphys_opt_design、write_iphys_opt_tcl 和 read_iphys_opt_tcl 的更多信息:
https://docs.amd.com/r/en-US/ug835-vivado-tcl-commands/write_iphys_opt_tcl
物理優(yōu)化期間執(zhí)行的優(yōu)化取決于運行物理優(yōu)化的實現(xiàn)階段。根據(jù)物理優(yōu)化是在布局后還是布線后運行的,部分其他可用優(yōu)化(默認(rèn)優(yōu)化除外)可能會發(fā)生更改。默認(rèn)如果在布局后運行物理優(yōu)化,則會執(zhí)行“Fanout optimization”(扇出優(yōu)化)和“Very High Fanout Optimization”(超高扇出優(yōu)化),但布線后運行物理優(yōu)化時,這兩個選項則不可用。
如需了解更多相關(guān)信息,請參閱下表:
圖 11:布局后和布線后物理優(yōu)化可用的選項
-
寄存器
+關(guān)注
關(guān)注
31文章
5492瀏覽量
127683 -
信號線
+關(guān)注
關(guān)注
2文章
185瀏覽量
22099 -
時序
+關(guān)注
關(guān)注
5文章
401瀏覽量
38494
原文標(biāo)題:開發(fā)者分享|高扇出信號線優(yōu)化技巧(下)
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Altium Designer信號線束的使用
信號線是怎么傳輸?shù)?/a>
電源線的直徑可以和信號線的直徑相同嗎?
信號線和屏蔽線的區(qū)別 屏蔽線可以當(dāng)信號線用嗎?
差分信號線與單端信號線的區(qū)別
信號線是什么線
使用總線別名(Bus Alias)實現(xiàn)信號線束的功能

差分信號線的選擇與處理
信號線和光纖線的區(qū)別是什么
信號線和屏蔽線有什么區(qū)別

評論