時(shí)序場(chǎng)景如下圖所示,clk0和clk1兩個(gè)時(shí)鐘輸入,經(jīng)過BUFGMUX后,輸出到后面的邏輯,但同時(shí)clk0和clk1還分別驅(qū)動(dòng)了其他邏輯。
此時(shí),如果路徑A/B/C都不存在,其中A路徑表示clk0與選擇器輸出的時(shí)鐘之間的數(shù)據(jù)交互,B路徑表示clk1與選擇器輸出的時(shí)鐘之間的數(shù)據(jù)交互,C路徑表示clk0和clk1之間的數(shù)據(jù)交互,那么使用下面的約束就可以了:
set_clock_groups-logically_exclusive-groupclk0-groupclk1
如果路徑 A、B 或 C 僅有一個(gè)存在,那么 clk0 和/或 clk1 與多路復(fù)用時(shí)鐘直接交互。
則需要使用下面的約束:
create_generated_clock-nameclk0mux-divide_by1 -source[get_pinsmux/I0][get_pinsmux/O] create_generated_clock-nameclk1mux-divide_by1 -add-master_clockclk1 -source[get_pinsmux/I1][get_pinsmux/O] set_clock_groups-physically_exclusive-groupclk0mux-groupclk1mu
logically_exclusive和physically_exclusive的區(qū)別在于:
-logical_exclusive
logical_exclusiveisusedfortwoclocksthataredefinedondifferentsourceroots. Logicallyexclusiveclocksdonothaveanyfunctionalpathsbetweenthem,butmighthavecouplinginteractionswitheachother. Anexampleoflogicallyexclusiveclocksismultipleclocks,whichareselectedbyaMUXbutcanstillinteractthroughcouplingupstreamoftheMUXcell. Whentherearephysicallyexistingbutlogicallyfalsepathsbetweenthetwoclocks,use"set_clock_groups-logical_exclusive".
-physical_exclusive
physical_exclusiveisusedfortwoclocksthataredefinedonthesamesourcerootby"create_clock-add". Timingpathsbetweenthesetwoclocksdonotphysicallyexist. Asaresultyouwillneedtouse"set_clock_groups-physical_exclusive"tosetthemasfalsepaths.
簡(jiǎn)而言之,logical_exclusive用于選擇器的電路,兩個(gè)時(shí)鐘的source不一樣;而physical_exclusive兩個(gè)時(shí)鐘的source是一樣,比如在同一個(gè)時(shí)鐘輸入口,但可能會(huì)輸入兩個(gè)不同的時(shí)鐘。
再回到最上面的問題,如果路徑A、B和C有一條存在,說明時(shí)鐘之間有交互,就不能簡(jiǎn)單的使用logical_exclusive,而是要為這兩個(gè)時(shí)鐘都創(chuàng)建一個(gè)衍生時(shí)鐘,但這兩個(gè)衍生時(shí)鐘屬于physical_exclusive。
審核編輯:劉清
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1736瀏覽量
131596 -
選擇器
+關(guān)注
關(guān)注
0文章
109瀏覽量
14563 -
CLK
+關(guān)注
關(guān)注
0文章
127瀏覽量
17185
原文標(biāo)題:經(jīng)過BUFGMUX的時(shí)鐘該如何約束
文章出處:【微信號(hào):傅里葉的貓,微信公眾號(hào):傅里葉的貓】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論