999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IC 設計中時序約束的自動化傳播方法

2023-12-18 05:53:44吳浩澤
電子設計工程 2023年24期
關鍵詞:設計

巢 瑋,徐 勇,楊 凡,吳浩澤

(1.哈爾濱工業大學(深圳),廣東 深圳 518055;2.深圳國微芯科技有限公司,廣東 深圳 518053)

靜態時序分析(Static Timing Analysis,STA)作為電路設計中重要的時序驗證方法,用來確保電路的功能運行在不同工作環境下都能符合設計的預期目標。在STA 時,一個完整的設計將被分解為數條不同的時序路徑,通過計算每條路徑上的信號傳播延遲來驗證在設計內部以及設計輸入輸出端口的時序情況是否符合給定的時序約束。時序約束是設計者根據不同設計的具體情況,設置一定的約束指標來模擬所設計電路的實際工作環境。STA 通過分析設計中時序路徑的時序情況,確保所設計的電路能夠正常工作在對應的工作頻率下而不產生時序違例。

1 層次化電路設計與時序分析

隨著電路集成密度的提高以及電路結構復雜程度的指數性增加,層次化架構設計已成為重要的電路設計方法[1]。在層次化架構的電路設計中,IC 頂層與下層模塊的時序約束分別獨立完成。時序約束的迭代與時序收斂的效率是芯片投片生產與產品上市時間的重要保證。隨著工藝的愈發先進這一過程往往要設計者付出較多的時間和精力[2]。隨著設計和制造工藝的不斷進步,時序約束與時序收斂也迎來了新的挑戰。如之前自主設計的芯片[3-4]盡管規模不算大,但時序約束及時序收斂依然經歷了數次迭代,這部分較重復的手工迭代在一定程度上降低了芯片設計效率。

研究表明,精準的時序約束能有效避免不真實的時序違例及不必要的時序修復所帶來的面積增加問題,從而減輕電路后端設計的工作量[5]。隨著制造工藝的進步和電路設計復雜度的提高,時序收斂的難度及迭代周期都迎來了新的挑戰[6]。為了準確地對電路進行分析并去除部分特別悲觀和特別樂觀的場景,時序分析方法經歷了從工藝偏差方法學到先進的片上誤差方法學,再到統計學片上誤差分析的演進[7-9]。在超大規模集成電路中,單位面積中晶體管的數量呈指數性增長,基于時序約束的布局布線變得愈發復雜并有著龐大的計算量[10-12],實驗表明,精準的時序約束能有效減少迭代從而縮短芯片設計的周期。

時序約束按照約束類型通常可分為三類,分別是時鐘約束、端口約束以及時序例外約束。其中時鐘約束是靜態時序分析的基礎,如在時鐘MUX 的研究中[13],對常見的幾種電路結構的時鐘約束進行了分析與比較。此外,一種時鐘約束的傳播的方法被應用在了低功耗的異步RISC-V 處理器上,通過傳播時鐘與生成時鐘對異步電路進行時序分析[14]。文獻[15]介紹了一種靜態時序驗證方法,可以較早、快速、精確定位FPGA 端口時序設計存在的問題,從而縮短了驗證時間,提高了驗證效率、準確性和覆蓋率。對于特殊的時序路徑,需要通過時序例外約束進行定義,從而使得工具在STA 時能夠使用正確的參數及指標分析特殊的時序路徑[16]。

2 時序約束的自動化傳播

由于時序約束的多樣性,同一類型的時序約束彼此之間的參數與選項可能存在較大差異,為實現時序約束在頂層及模塊間的自動化傳播,使用了業界標準Synopsys 設計約束(Synopsys Design Constraints,SDC)文件作為時序約束的標準。同時在時序約束分類的基礎上,根據SDC 文件中時序約束的參數與選項結構,對分類進行了細化。根據SDC 中參數與選項結構的差異,該自動化流程將時序約束分為四大類,分別是通用約束、端口約束、時序例外以及時鐘約束,如圖1 所示。根據不同時序約束的類型,將除端口約束外的時序約束細分為六個分類,每個分類的時序約束都具有相似的結構與選項。在流程圖中,白色框代表著輸入和輸出,灰色框表示自動化傳播方法[17]。

圖1 時序約束的自動化傳播流程圖

2.1 端口約束

端口約束是用來描述端口外部延時、電容等信息以更準確地貼近電路的實際工作情況。因此,端口約束與時序分析的場景息息相關,不同時序分析的場景的端口可能存在較大差異。如圖2(a)所示,在頂層的端口為IN_1、IN_2、OUT_1 以及OUT_2。當時序約束向下傳播時,時序分析的場景從頂層變為模塊,此時模塊外的頂層電路將不再需要時序分析,且模塊的輸入輸出引腳變為端口。為了準確分析模塊的時序,模塊時序約束需要對模塊端口in1、in2、out1 以及out2 進行重新約束。

圖2 端口約束在頂層與模塊之間的差異

如圖2(a)所示,假設頂層端口IN_1 與OUT_1 端口的輸入延遲與輸出延遲約束如下:

其中,$IN_1_delay 和$OUT_1_delay 分別對應端口IN_1 與OUT_1 的輸入延遲與輸出延遲,$IN_1_clock 和$OUT_1_clock 則分別對應端口外時序路徑起點與終點的時鐘。當時序約束向下傳播時,由于模塊端口in1 與out1 與頂層端口的約束不存在直接關聯,將通過與端口相連的時序路徑構建模塊端口的等效延遲,因此可得到如下的輸入延遲與輸出延遲:

在不考慮線延遲的情況下,模塊端口in1 的輸入延遲等于寄存器REG_1 的時鐘到輸出延遲$REG_1_CQ_delay 加上組合邏輯COM1 的延遲$COM1_delay。輸入延遲的約束時鐘為在頂層與in1 相連的寄存器REG_1 的時鐘$REG_1_clock。模塊端口out1的輸出延遲等于組合邏輯COM5 的延遲$COM5_delay 加上寄存器REG_4 的建立時間$REG_4_setup。此時寄存器REG_4 的時鐘$REG_4_clock則用來約束端口out1 的輸出延遲。

在端口約束向上傳播時,頂層時序約束文件中通常已經存在端口約束,所以無需對端口進行重復約束。

2.2 時鐘約束

時鐘約束是時序分析的基礎,精準的時鐘定義是時序收斂的重要依據。時鐘約束包括了創建時鐘、創建生成時鐘等。在大型芯片設計中,由于工作場景與需求的不同,時鐘頻率與時鐘結構往往多種多樣。

如圖3(a)所示,頂層時鐘由兩個端口時鐘CLK_1和CLK_2 以及兩個PLL 時鐘CLK_3 和CLK_4 組成。如果MUX1 的選擇端不加以約束,則時鐘CLK_1 和CLK_2 都能通過模塊引腳clk_a 影響寄存器REG_2的時序。同時,模塊引腳clk_a 的一個分支連接到了緩沖器BUF_1 并產生了一個時鐘CLK_1 的生成時鐘。另一方面,PLL 輸出的時鐘CLK_3 與CLK_4 之間存在一條時序路徑從寄存器REG_1 到REG_3,而此時由于CLK_3 并沒有直接連接到模塊上。當進行模塊級的時序分析時,需要創建CLK_3 的虛擬時鐘以補全該條時序路徑確保時序分析的正確性,如圖3(b)所示。

圖3 時鐘約束在頂層與模塊之間的差異

假設圖3(a)的頂層的時鐘有如下約束:

其中,每個時鐘都有對應的時鐘周期$CLK_period 以及波形$CLK_WF。當時鐘約束向下傳播時,與模塊有直接連接關系的時鐘CLK2 將根據電路結構等效傳播至模塊上。而CLK3 雖然沒有連接到模塊上,但其構成的時序路徑與模塊存在交互,故需要創建虛擬時鐘,以此來對模塊端口reg1_q 進行約束從而分析從寄存器REG_1 到REG_3 的時序路徑。端口約束中對輸入延遲的時鐘約束將與這里定義的虛擬時鐘名字自動保持一致,無需人為調整。此時,對應的模塊時鐘約束如下:

在時鐘約束向上傳播時,模塊端口所創建的時鐘以及模塊所設置的虛擬時鐘通常并不是頂層時鐘的起始點,因此這些時鐘及其對應的時鐘不確定性等屬性均不需要向上傳播。相反,模塊內部的時鐘通常為時鐘真正的起始點,如時鐘門后的生成時鐘、IP 內部PLL 所產生的時鐘等。這些時鐘在向上傳播時,需要根據電路層級結構的改變進行對應的調整。

2.3 時序例外

在時序分析中,有時一些特殊的時序路徑需要通過時序例外約束進行差異化分析,從而使得工具在STA 時能夠使用正確的參數及指標分析特殊的時序路徑。時序例外包括偽路徑、多周期路徑等。時序例外可設置在標準單元及其引腳上,也可設置在端口或時鐘上。因此時序例外在頂層與模塊間傳播時,準確地獲取標準單元的層級路徑,靈活轉換端口與引腳顯得尤為重要。

由圖4(a)可知,寄存器REG_1 與寄存器REG_2之間存在大量組合邏輯COM1 與COM2。假設時鐘CLK_1 與CLK_2 是同步時鐘且寄存器REG_1 與REG_2 之間需要數個時鐘周期才能完成,那么它們之間存在多周期路徑,可由如下時序約束描述:

圖4 時序例外在頂層與模塊之間的差異

這里的$setup_cycle 和$hold_cycle 分別對應了在建立時間檢查時所對應的周期數以及保持時間檢查時所對應的周期數。當時序例外向下傳播時,完整的時序路徑被模塊的端口分為兩部分,頂層的電路結構在模塊級將不再可見,此時根據該條時序路徑的電路結構,可以獲取其在模塊端口上的等效點,重新定義模塊的時序例外,同時模塊內標準單元的層級結構也隨之改變。對應的模塊時序例外如下所示:

當時序例外向上傳播時,由于時序路徑的補全,在時序分析時將多出一些額外的時序路徑。為了模塊的時序約束傳播至頂層時不影響到頂層其他時序路徑,此時序例外將仍舊停留在模塊及其內部,并將從端口起始的路徑從起點改為經過點,并將端口重新改為引腳。模塊時序例外等效的新頂層時序約束如下所示:

3 實驗結果與分析

該時序約束的自動化傳播方法不論在測試用例還是工程項目中均能準確而高效地生成對應的時序約束。在實驗的過程中,使用的測試電路一共有三個,分別是一個兩百多標準單元的測試用例、一個約一萬標準單元的工程用小型數字電路以及一個約六十五萬標準單元的工程項目電路。每個測試電路都有一個頂層時序約束SDC 文件以及一個模塊級時序約束SDC 文件,分別對應了時序約束向下傳播時所需要的頂層時序約束以及時序約束向上傳播時所需要的模塊級約束。為了更好地貼近時序約束在芯片設計中的實際情況,三個測試電路中使用了兩個已經成功signoff 的工程項目的網表以及對應的時序約束進行測試。

實驗結果如表1 所示,該時序約束的自動化傳播方法在不同的IC 設計中均能準確地將時序約束在頂層與模塊間進行等效傳播,不論是實驗用的測試用例還是實際工程中signoff 的IC 設計均能精確地實現時序約束的自動化傳播。自動化傳播所產生的時序約束經過與傳統時序約束傳播方式進行對比,結果表明,自動化產生的時序約束在功能上100%匹配人為手動所生成的時序約束。

表1 不同測試電路的測試數據

4 結論

該文提出了一種時序約束的自動化等效傳播方法,能夠根據頂層時序約束或模塊時序約束自動生成另一層級對應的等效時序約束。該自動化方法減少了設計時序約束的人力成本,通過自動化的方法替代了重復繁瑣的手工迭代,從而提高了時序分析與時序收斂的效率。從實驗結果來看,該方法在測試用例與項目工程應用中均能準確地生成對應的時序約束,顯著提高了時序約束設計的效率及自動化程度。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产又粗又猛又爽| 99中文字幕亚洲一区二区| 99一级毛片| 999国内精品久久免费视频| 亚洲黄网在线| 国产成人AV综合久久| 日韩在线网址| 久久毛片免费基地| 69视频国产| 爆操波多野结衣| 色综合热无码热国产| 国产主播在线一区| 18禁黄无遮挡免费动漫网站| 亚洲色图在线观看| 欧美日韩国产在线播放| 欧美中文字幕在线二区| 久久综合伊人 六十路| 美女被操黄色视频网站| 91麻豆国产精品91久久久| 国产精品尤物在线| 日本高清在线看免费观看| 美女高潮全身流白浆福利区| 国产精品香蕉在线| 91无码人妻精品一区二区蜜桃| 呦女亚洲一区精品| 日本国产精品| 久久伊人操| 国产综合日韩另类一区二区| 91麻豆精品国产高清在线| 亚洲第一极品精品无码| 免费看黄片一区二区三区| 全裸无码专区| 久久精品国产一区二区小说| 99在线视频免费| 欧美色伊人| 不卡无码h在线观看| 欧美成人综合在线| 亚洲综合天堂网| 直接黄91麻豆网站| 精品日韩亚洲欧美高清a | 日本精品影院| 国产亚洲现在一区二区中文| 色有码无码视频| 伊人色综合久久天天| 黄色免费在线网址| 成人精品亚洲| 国产主播福利在线观看| 2021天堂在线亚洲精品专区| 日韩国产一区二区三区无码| 91无码视频在线观看| 亚洲欧美一级一级a| 怡红院美国分院一区二区| 午夜免费视频网站| 71pao成人国产永久免费视频| 热久久国产| 一本一本大道香蕉久在线播放| 99久久精品免费看国产电影| 欧美一级在线播放| 亚洲日韩国产精品无码专区| 亚洲日韩久久综合中文字幕| 国产乱人伦偷精品视频AAA| 亚洲国产成人精品一二区| 国产精品福利社| 国产成人8x视频一区二区| 伊人AV天堂| 国产区网址| 欧美日本在线一区二区三区| 狠狠色丁香婷婷综合| 亚洲一区二区无码视频| 国产一区亚洲一区| 中国一级特黄视频| 亚洲第一区欧美国产综合| 欧美人在线一区二区三区| 亚洲欧洲美色一区二区三区| 日韩在线成年视频人网站观看| 天天爽免费视频| 人妻无码中文字幕第一区| 成人看片欧美一区二区| 国产成人精品一区二区不卡| 91精品国产丝袜| 凹凸国产分类在线观看| 中文字幕调教一区二区视频|