FPGA設(shè)計時序約束九、others類約束之Group Path
一、序言
????在Vivado的時序約束窗口中,存在一類特殊的約束,劃分在others目錄下,可用于設(shè)置忽略或修改默認的時序路徑分析,以Vivado2022.1版本為例,主要包括以下4類,本文將介紹其中的Group Path,示例的為Vivado2022.1

二、Group Path
2.1 基本概念
????Group path約束可以讓用戶改變一組路徑的成本功能計算,可通俗理解基于時序驅(qū)動的布局布線過程中設(shè)置的路徑有優(yōu)先權(quán)。正常情況下,為了一些特殊情況的處理,Vivado 工具會自動地定義時鐘信號的路徑組。也可以通過用戶定義起點,終點或起點,中間路徑,終點的來設(shè)定路徑組。一旦創(chuàng)建了路徑組,執(zhí)行report_timing時,時序分析將會作用于路徑組。
????用戶可以在已存在的時鐘路徑組中指定一個權(quán)重,讓布局,布線,以及優(yōu)化流程優(yōu)先處理這些路徑,主要可以優(yōu)化時序。
????優(yōu)點:通過設(shè)置路徑組可以減少false path的數(shù)量,以及由于對于所有路徑使用全局約束帶來的時序違例,并且因每個組中路徑的關(guān)聯(lián)性從而提高時序分析的準(zhǔn)確性和效率,簡化時序報告。最后,也可以將和特定模塊,功能的路徑約束到相同的組,生成單獨的報告進行分析。
????缺點:設(shè)置Group path對于時序分析工具處理更復(fù)雜,比如增加了定義和管理路徑組的復(fù)雜度,因為這個對每個組都需要創(chuàng)建和更新多個約束文件和腳本,保證在設(shè)計改變時相互間的兼容性和一致性。另外,在路徑組中存在丟失或錯誤路徑的風(fēng)險,這將導(dǎo)致不準(zhǔn)確或不完全的時序分析
2.2?設(shè)置界面
????進入Timing Constraints界面,在左側(cè)Others欄中選中Group Path,右側(cè)即顯示Group Path界面,雙擊空白位置

Group Path頁面有兩個子頁面Targets和Options,Targets中Group name設(shè)置路徑組的名稱,再依次設(shè)置起點,中間節(jié)點,終點。

Options界面設(shè)置權(quán)重值,可以1或2,默認為1。

? ?2.3?命令語法
命令格式如下
參數(shù)含義列表如下

? ? 2.4?命令示例
1)設(shè)置一個路徑組名稱為signal_grp,路徑的終點為指定的信號或寄存器的D口
2)使用get_path_groups可以獲取路徑組信息
3)通過參數(shù)default可以移除設(shè)置的路徑組,使路徑恢復(fù)到默認的路徑組
三、工程示例
工程代碼:
綜合后網(wǎng)表連接圖

約束內(nèi)容如下,設(shè)置clk1和clk2的路徑組
時序結(jié)果,設(shè)置了group_path的路徑展示在報告的Other Path Groups中

四、參考文件
1、用戶手冊《ug835-vivado-tcl-commands-en-us-2023.1.pdf》
文檔鏈接:https://pan.baidu.com/s/1Su_w9CDHR7R9_tt_in_arQ?pwd=7w4f?
提取碼:7w4f
2、Vivado的command?reference