溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Virtual clock怎么使用

發(fā)布時間:2021-12-30 15:45:38 來源:億速云 閱讀:211 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“Virtual clock怎么使用”,在日常操作中,相信很多人在Virtual clock怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Virtual clock怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是virtual clock

指的是沒有定義source(時鐘源)的時鐘。通常用于對interface timing的約束,相關的sdc命令為set_input_delay set_output_delay。(相對應,定義了source(時鐘源)的時鐘,就是real clock)

示例:

create_clock -name VCLK -period 10

為什么要用virtual clock

簡單的說,設置virtual clock的好處就是可以在不影響real clock的情況下,指定clock的clock network delay。

Virtual clock怎么使用

我們知道,clock latency包括了clock source latency和clock network delay。當BLOCK中沒有做clock tree 的時候,clock network delay 等于0, 這時候,RegA到PORT這個path來說,用virtual clock還是用real clock, 效果都是一樣的。

但是,當BLOCK到了CTS階段后,因為有BLOCK內(nèi)部有clock network delay的存在,而RegB僅僅是個虛擬的寄存器,他的clock tree是不存在的,因此,clock network delay也就是0,這就會導致 RegA 到 PORT的timing path變得過于嚴格(與之相反,input 到 內(nèi)部寄存器的path的setup check就會過于樂觀)。那么我們可以對RegB設source latency。然而不幸的是,如果用的是real clock, 那么必然會導致RegA的clock的source latency也相應的改變。這時候就體現(xiàn)出了virtual clock的好處。

示例:用virtual clock對PORT加約束

set_output_delay -clock [get_clocks VCLK] -max 1 [get_port PORT] -add

假設我們對于RegB 用的virtual clock(如示例),在CTS之后,就可以對VCLK加上latency:set_clock_latency -clock VCLK $clock_network_delay。

而對于real clock,在CTS之后,都要由ideal clock設為propgated     clock(set_propagated_clock), 這樣,對于real clck,是不能夠用set_clock_latency設置clock network delay的。

當然,用real clock也是有辦法解決這個問題的,那就是修改input delay或者output delay。對于Figure1, 可以將output delay 減少 clock network delay一樣的數(shù)值。

由于現(xiàn)在的PR工具都會在CTS之后自動進行update io latency的動作,我們完全沒有非要用一個real clock,然后自己去在CTS之后去修正port的input delay或者output delay。

到此,關于“Virtual clock怎么使用”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI