現(xiàn)在的硬件設(shè)計(jì)中,大量的時(shí)鐘之間彼此相互連接是很典型的現(xiàn)象。為了保證Vivado優(yōu)化到關(guān)鍵路徑,我們必須要理解時(shí)鐘之間是如何相互作用,也就是同步和異步時(shí)鐘之間是如何聯(lián)系。
同步時(shí)鐘是彼此聯(lián)系的時(shí)鐘。例如,由MMCM或PLL生成的兩個(gè)相同周期的時(shí)鐘是典型的同步時(shí)鐘。如果MMCM或PLL生成了不同周期的時(shí)鐘,那么我們最好把他們當(dāng)作異步時(shí)鐘處理,需要用到相應(yīng)的同步技術(shù)。你可以通過運(yùn)行report_clock_interaction生成報(bào)告,然后看報(bào)告中的“Path Req (WNS)”列、“Clock Pair Classification”列和 “Clock Pair Classification”列可以容易的辨別出同步時(shí)鐘。下面是3個(gè)場(chǎng)景,你需要使用合適的時(shí)鐘約束處理異步時(shí)鐘之間的關(guān)系。
1. 如果時(shí)鐘互聯(lián)報(bào)告有很多(或者一個(gè))紅色的"Timed (unsafe)" 或者還有桔色的"Partial False Path (unsafe)"方框,那你應(yīng)該是沒有正確地對(duì)異步時(shí)鐘約束。如果你的設(shè)計(jì)中有大量的跨時(shí)鐘域的異步時(shí)鐘,那么你需要對(duì)那些時(shí)鐘互聯(lián)約束。
2. 在時(shí)鐘互聯(lián)報(bào)告中看"Clock Pair Classification" 和 "Inter-Clock Constraints"這兩列。如果時(shí)鐘對(duì)類型是"No Common Clock" 或者 "No Common Period"或者Inter-clock約束顯示"Timed (unsafe)",就要把這種互聯(lián)當(dāng)作異步時(shí)鐘。
3. 如果“Path Requirement (WNS)”列顯示時(shí)序非常緊,典型的是小于1ns,或者“Inter-Clock Constraints”列標(biāo)記為時(shí)序“Unsafe”,或者“Partial False Path (unsafe)”,那么你需要把這種時(shí)鐘互聯(lián)看作異步時(shí)鐘。
如果“WNS Path Requirement (ns)”這一列的值是合理的(>1 ns), 并且"Inter-Clock Constraints”是滿足的,同時(shí),“Clock Pair Classification”是“干凈”的,那么這樣的時(shí)鐘互聯(lián)可以被看作是同步的,你不需要添加任何時(shí)序約束。時(shí)序工具會(huì)自動(dòng)的把那些路徑當(dāng)作同步路徑處理。
為了正確約束跨時(shí)鐘域的路徑,需要考慮以下4個(gè)方面:
1. 如果兩個(gè)時(shí)鐘之間沒有路徑,在兩個(gè)時(shí)鐘之間可以簡(jiǎn)單的使用set_clock_groups 或者set_false_path約束
2. 如果跨時(shí)鐘域路徑都是一位的,那么你可以在兩個(gè)時(shí)鐘之間使用set_clock_groups 或者 set_false_path。
3. 如果路徑都是多位的路徑,你需要考慮延遲和數(shù)據(jù)位的偏移,然后使用set_max_delay –datapath_only 和set_bus_skew約束。
4. 如果在兩個(gè)時(shí)鐘域之間存在單位和多位混合的跨時(shí)鐘域路徑,那么對(duì)于單位的跨時(shí)鐘域路徑要明確的對(duì)每一條路徑設(shè)置偽路徑來約束,對(duì)于多位的跨時(shí)鐘域路徑,使用set_max_delay –datapath_only 和 set_bus_skew約束。
如果時(shí)鐘是同步的,不需要任何約束。vivado的靜態(tài)時(shí)鐘分析工具會(huì)自動(dòng)的設(shè)定路徑的時(shí)序。
-
FPGA
+關(guān)注
關(guān)注
1664文章
22509瀏覽量
639516
發(fā)布評(píng)論請(qǐng)先 登錄
2026深入拆解:Gemini 3.0 鏡像官網(wǎng)如何理解 FPGA 時(shí)序約束并自動(dòng)生成 SDC 文件
電壓放大器在主動(dòng)約束層阻尼板研究測(cè)試中的應(yīng)用
Vivado時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景
輸入引腳時(shí)鐘約束_Xilinx FPGA編程技巧-常用時(shí)序約束詳解
E203軟核提高CPU時(shí)鐘頻率方法
板子的差分時(shí)鐘如何正確地轉(zhuǎn)化為單端
時(shí)序約束問題的解決辦法
關(guān)于綜合保持時(shí)間約束不滿足的問題
硬件加速模塊的時(shí)鐘設(shè)計(jì)
技術(shù)資訊 I Allegro 設(shè)計(jì)中的走線約束設(shè)計(jì)
技術(shù)資訊 I 圖文詳解約束管理器-差分對(duì)規(guī)則約束
TI的ADS129x器件SPI 時(shí)鐘極性CPOL和時(shí)鐘相位 CPHA的正確設(shè)置模式
西門子再收購(gòu)EDA公司 西門子宣布收購(gòu)Excellicon公司 時(shí)序約束工具開發(fā)商
PCB Layout 約束管理,助力優(yōu)化設(shè)計(jì)
硬件設(shè)計(jì)中教你如何正確的約束時(shí)鐘
評(píng)論