www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 技術學院 > IC技術圈
[導讀]本文將以具體實例來講解時序約束中set_multicycle_path的約束方法及其效果。

作者簡介

白櫟旸(筆名:皮特派),廈大通信系碩士,芯片設計與算法工程師,WiFi芯片算法負責人。先后供職于多家國內(nèi)知名芯片公司和創(chuàng)業(yè)團隊,從事數(shù)字電路架構和算法設計工作,具有豐富的數(shù)字設計經(jīng)驗和算法經(jīng)驗,以及長期與模擬設計團隊聯(lián)合設計數(shù)?;旌想娐返慕?jīng)驗,擅長射頻電路相關數(shù)字校準算法設計以及SoC芯片的架構設計,主持研發(fā)的芯片累積產(chǎn)量已達上億顆。作為第一發(fā)明人已獲授權的國家發(fā)明專利共4項。移知課程《從算法到RTL實現(xiàn)》主講人。


本文將以具體實例來講解時序約束中set_multicycle_path的約束方法及其效果。

本例的波形如圖1所示,圖中有兩根信號。位于上面的信號是被采樣的數(shù)據(jù),名稱為I2C_SCL_IN。位于下面的信號是要采樣I2C_SCL_IN的時鐘,稱為sdi_clk_dly。由于它是采樣時鐘,在路徑上屬于capture clock。

image.png
圖1 本文基于的時序波形

這里設定I2C_SCL_IN是每400ns變一次電平,就是說,它的頻率是800ns,從時間0點開始,以高電平為起點。產(chǎn)生I2C_SCL_IN的時鐘是一個虛擬時鐘,即在芯片中不存在的時鐘,命名為vir_clk2。它的頻率自然是I2C_SCL_IN的2倍,即400ns。

sdi_clk2_dly的周期是1600ns,50%占空比,但它的高電平并不是從時間0點開始,而是如圖所示,向右移動了450ns,才開始采樣。sdi_clk_dly用下降沿采樣I2C_SCL_IN。

第一步,我們不設multicycle path,直接綜合,看綜合結果。圖 2是setup timing,可以看到,要求的采樣點在1250ns處,就是sdi_clk2_dly的第一個下降沿所在的位置。I2C_SCL_IN信號的發(fā)出點是在1200ns,就是1250ns左邊相鄰的那個I2C_SCL_IN變化沿。

image.png
圖2 不設multi,建立時間

圖3是不設multicycle path得到的hold timing。采樣位置不變,還是1250ns,但是I2C_SCL_IN信號的分析點1200ns向右移了400ns(一個vir_clk2周期),等于1600ns,即1250ns右邊相鄰的I2C_SCL_IN變化沿。

注:本文舉的例子是launch clock和capture clock不同頻不同相的例子,比較特殊。更多時候,我們遇到的都是同頻同相的,此時,hold timing的分析點將仍然是1250ns這個點。

image.png
圖3 不設multi,保持時間

總結:在不設multicycle_path的情況下,setup timing分析點提前hold timing分析點一個周期(launch clock周期)。如本例中,采樣點都是1250ns,但setup timing分析點在1200ns,而hold timing分析點在1600ns,兩點間隔一個lauch clock周期,即400ns。

下一步實驗,我們設從vir_clk2到sdi_clk2_dly的所有路徑,其setup multicycle值為1,hold multicycle值為0,如圖 4所示。launch clock和capture clock,你選頻率快的那個作為multicycle移動的單位。如果launch clock快,就用-start,如果capture clock快,就用-end。如果是同頻同相的,做了時鐘樹平衡的兩個時鐘,那就隨便你用-start或-end,結果一樣。setup和hold都要設,setup設得比hold大1。

set_multicycle_path 1 -setup -start -from vir_clk2 -to sdi_clk2_dly
set_multicycle_path 0 -hold -start -from vir_clk2 -to sdi_clk2_dly

圖4(代碼) 設置multicycle_path的sdc語法(簡稱設置為“1,0”)

圖 5是setup分析結果,比較一下我們什么都不設的情況,是不是完全一樣呢?

圖 6是hold分析結果,是不是也跟不約束multicycle結果一樣呢?

總結:setup multicycle設成1,hold multicycle設成0,跟不設multicycle結果一樣。換句話說,不設multicycle,就相當于給setup multicycle設成1,給hold multicycle設成0。由此,我們知道了setup multicycle的默認值是1,hold multicycle的默認值是0。

image.png
圖5 設置setup multicycle_path為1的setup時序分析結果

image.png
圖6 設置hold multicycle_path為0的hold時序分析結果

繼續(xù)我們的實驗。這回把setup multicycle設成2,把hold multicycle設成1試試。約束如圖 7所示。

set_multicycle_path 2 -setup -start -from vir_clk2 -to sdi_clk2_dly
set_multicycle_path 1 -hold -start -from vir_clk2 -to sdi_clk2_dly

圖7(代碼) 設置multicycle_path的sdc語法(簡稱設置為“2,1”)

我們看看效果。采樣點不變,還是1250ns,但是setup分析點變了(如圖 8所示)。原來是1200ns,現(xiàn)在向左移動了400ns,變成了800ns。可以看到,setup的時序冗余度slack放寬了一個lauch clock周期。

這一效果并不意外,因為約束-start -setup,其正方向就是向左移動分析點,我們從默認值1設為2(2-1=1),就是說向左移動1個lauch clock周期。

image.png
圖8 設置setup multicycle_path為2的setup時序分析結果

再看hold分析結果(如圖 9所示):還是默認位置不變,分析點仍在1600ns處。

image.png
圖9 設置setup multicycle_path為1的hold時序分析結果

有人奇怪,明明-start -hold的值從0變成了1,為啥分析結果不變呢。

因為-start -hold是相對變化,不是絕對變化。它需要根據(jù)setup的分析點位置來定hold的分析點位置,也就是說,hold是以setup分析點作為參考點的(錨點),hold是相對于參考點在移動。雖然-start -hold的值從0變成了1,但setup分析點向左移動了1個周期,hold分析的正方向是與setup相反的。setup向左移動1個周期,那hold設成1,就意味著hold分析點向右移動1個周期。

有人問:向右?從哪開始向右移?從1600ns嗎?那移動完不就時2000ns了嗎?為啥這里還是1600ns呢?

答案是:從1200ns處向右移1個周期,正好是1600ns。

為什么是從1200ns處移動呢?

因為setup移動時,它并不是獨立地自己左移,它還會帶著hold一起左移。setup從1200移動到800,hold被它帶著,從1600移動到了1200。為了讓hold返回原來的位置1600,我們就增加了-start -hold 這句約束,將左移到1200的hold再右移回來。

為什么非要右移到1600ns呢?在1200ns處分析hold不是挺好的嗎?

好啥呀,采樣點在1250ns,hold意思是在采樣之后數(shù)據(jù)仍然要堅持不動的時間,那應該在采樣后分析這個時間呀。1200ns是在采樣前,在采樣前數(shù)據(jù)就變了,那還采個啥?

總結:setup multicycle設成2,hold multicycle設成1,會讓setup timing放寬1個周期(launch clock周期)的時序要求,而hold要求并沒有放寬,也沒有收緊,而是原地不動。

為了證明上文所說的:hold分析點如果不另加約束的話,它會跟著setup的約束而運動。我再增加一個實驗。約束如下(圖 10):我把對hold的約束注釋掉,咱看看效果。

set_multicycle_path 2 -setup -start -from vir_clk2 -to sdi_clk2_dly 
#set_multicycle_path 0 -hold -start -from vir_clk2 -to sdi_clk2_dly

圖10(代碼) 不要hold約束,只進行setup的約束(簡稱設置為“2,x”)

setup的效果就不用再貼圖了哈,跟上面的一樣,因為約束一樣嘛,我們重點看hold的分析。

圖 11是hold的分析,它的分析點在1200ns,證明了我上面的說法:hold以setup為錨點,setup動,hold不用約束,自動就跟著動。除非我們加約束把hold再移回去。

image.png
圖11 跟著setup一起跑的hold分析點

最后,我們做個有趣的實驗。我們說,setup的默認值是1,一般設置,就是從1開始,要放寬對setup的要求,就逐漸提高數(shù)值,比如設成2、3、4等等。這些設置的結果在看完上文后,大家應該都能分析。但如果我們把setup設成0呢,比默認值1還小,那結果會是怎樣的呢?

我們的時序約束如圖 12所示,hold的設置仍然注掉,我們看看它的行為。

set_multicycle_path 0 -setup -start -from vir_clk2 -to sdi_clk2_dly 
#set_multicycle_path 0 -hold -start -from vir_clk2 -to sdi_clk2_dly

圖12(代碼) 將setup設成0(簡稱設置為“0,x”)

在秀時序之前,我們先猜猜結果會怎樣。設1是默認位置,即采樣點左邊1個周期。設2是向左移1個周期,即采樣點左邊2個周期。那么這回我設成0,應該是反方向,向右移,即采樣點右邊1個周期。分析點應該在1600ns處。

再看結果(圖 13),采樣點不在1250ns了,而是換到了-350ns,分析點換成了0ns。跟上面我們分析的一致嗎?

image.png
圖13 設置setup multicycle_path為0的setup時序分析結果

大家看本文第一張時序圖,-350ns,其實就是1250ns時鐘下降沿左邊的相鄰下降沿。我們分析的是1250ns右邊第一個vir_clk2的沿,即1600ns處。而如果采樣點變?yōu)?350ns,那么它右邊第一個vir_clk2的沿,即0ns處。所以我們分析沒錯。

分析是沒錯啦,但為啥平時沒人設成0呢?大家想想,setup timing是數(shù)據(jù)先發(fā)生,再有一個時鐘來采它。如果時鐘采的時候數(shù)據(jù)還沒發(fā)生,那采的就不是這個數(shù)據(jù)了。我們看到,采樣位置是-350ns,但數(shù)據(jù)實際上是0ns到達的,那能采到這個數(shù)據(jù)嗎?根本不能,所以沒人嘗試過設成0。我們這里的實驗也僅僅是給大家說明語法而已。

對應的hold也貼出來(圖 14),我們hold沒約束,所以跟著setup向右移動,應該是移到了400ns??纯唇Y果吧。

果然如此,hold分析點在400ns處。

image.png
圖14 跟著setup一起跑的hold分析點

一般,hold就要設得比setup小1。這樣才能讓hold分析點回到原位。那本例中,setup已經(jīng)設為0了,難道hold還能設為-1不成?當然能,約束如圖 15所示。

set_multicycle_path 0 -setup -start -from vir_clk2 -to sdi_clk2_dly
set_multicycle_path -1 -hold -start -from vir_clk2 -to sdi_clk2_dly

圖15(代碼) 將setup設成0,hold設成-1(簡稱設置為“0,-1”)

setup沒變,我們只看hold。結果如圖 16所示,果不出所料,hold分析點從原來的400ns,左移到了0ns。約束setup右移,用同樣方法約束hold就是左移。

image.png
圖16 設置setup multicycle_path為-1的hold時序分析結果

完結,希望能夠排除你心中的疑惑。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Sept. 10, 2025 ---- 根據(jù)TrendForce集邦咨詢最新發(fā)布的《全球電動車逆變器市場數(shù)據(jù)》,2025年第二季受惠純電動車(BEV)銷售成長,全球電動車(注1)牽引逆變器裝機量達766萬臺,年增19%。...

關鍵字: 增程式電動車 SiC 牽引逆變器

2025年上半年,中國電子行業(yè)在 AI 與智能制造雙輪驅動下活力迸發(fā),規(guī)模以上電子信息制造業(yè)增加值同比增長11.1%,出口、AI 終端創(chuàng)新與國產(chǎn)軟硬件生態(tài)均呈向好態(tài)勢。作為感知層核心的傳感器,正成為技術變革與產(chǎn)業(yè)躍遷的關...

關鍵字: AI 智能制造 傳感器

2025 IPC CEMAC電子制造年會將于9月25日至26日在上海舉辦。年會以“Shaping a Sustainable Future(共塑可持續(xù)未來)”為主題,匯聚國內(nèi)外專家學者、產(chǎn)業(yè)領袖與制造精英,圍繞先進封裝、...

關鍵字: PCB 電子制造 AI

作為國內(nèi)集成電路領域創(chuàng)辦最早的行業(yè)頂級盛會,ICCAD-Expo以其獨特的舉辦形式,獨到的與會效果,贏得了業(yè)界展商和觀眾的廣泛贊譽,31年來行業(yè)內(nèi)口口相傳,規(guī)模屢創(chuàng)新高。本屆展會更是在以往高水準、高規(guī)格、高質量的基礎上,...

關鍵字: AI芯片 EDA RISC-V

9月10日,為期3天的第26屆中國國際光電博覽會(CIOE中國光博會)與SEMI-e深圳國際半導體展暨2025集成電路產(chǎn)業(yè)創(chuàng)新展(SEMI-e),在深圳國際會展中心舉行。此次雙展以超30萬平方米的展示規(guī)模、匯聚5000余...

關鍵字: 硅光芯片 光電子 半導體

9月10日-12日,第二十六屆中國國際光電博覽會(CIOE 中國光博會)在深圳國際會展中心舉辦。中國科學院西安光學精密機械研究所(簡稱“西安光機所”)以“瞬見萬象 光創(chuàng)未來”為主題參展,集中展示光譜成像、超快光學、光子功...

關鍵字: AI 智能制造 光譜成像

北京2025年9月10日 /美通社/ -- 以"智領工業(yè) 全球互聯(lián)"為主題的2025全球工業(yè)互聯(lián)網(wǎng)融合發(fā)展交流大會于9月6日在中國東北遼寧省沈陽市舉行。 圖為2025全球工業(yè)互聯(lián)網(wǎng)融合發(fā)展交流大會9月6日于遼寧沈陽舉辦...

關鍵字: 工業(yè)互聯(lián)網(wǎng) 數(shù)字化 COM HTML

北京2025年9月10日 /美通社/ -- 亞馬遜云科技宣布,通過與光環(huán)新網(wǎng)和西云數(shù)據(jù)的緊密合作,在亞馬遜云科技(北京)區(qū)域和亞馬遜云科技(寧夏)區(qū)域推出基于新一代自研芯片Amazon Graviton4處理器的Amaz...

關鍵字: 亞馬遜 自研芯片 芯片驅動 VI

慕尼黑2025年9月10日 /美通社/ -- 歐洲最大汽車展德國慕尼黑國際汽車展(IAA)期間,由艾倫?麥克阿瑟基金會(Ellen MacArthur Foundation)主辦,寧德時代支持的全球電池循環(huán)經(jīng)濟高端論壇成...

關鍵字: 奔馳 寶馬 汽車產(chǎn)業(yè) 寧德時代
關閉