SOC設(shè)計變得越來越復(fù)雜,成本越來越高,設(shè)計和驗證也越來越困難。設(shè)計尺寸、眾多的IP、先進技術(shù)節(jié)點、時鐘和時鐘域數(shù)量的增加,以及multi-mode/multi-coner組合中為時序收斂造成設(shè)計約束變得越來越復(fù)雜。為高效的應(yīng)對復(fù)雜的設(shè)計約束,需要一個完整的產(chǎn)品來生成、管理,整合和驗證與靜態(tài)時序分析引擎相關(guān)的設(shè)計約束,以確保設(shè)計的正確性。
在約束、時鐘或時序方面的錯誤所造成的巨大代價通常迫使設(shè)計團隊采取最小化策略——設(shè)計一個完全最小的、安全的、最不容易出錯的時序約束集合。設(shè)計領(lǐng)域經(jīng)驗豐富的領(lǐng)導(dǎo)者認識到這是一個復(fù)雜的、多方面的問題,需要各種能力和技術(shù)來解決。簡單的結(jié)構(gòu)或語義工具和方法只能捕獲簡單的問題,而且會產(chǎn)生大量的誤報信息,需要設(shè)計人員進行檢查。一個完善的解決方案應(yīng)該是輔助和幫助設(shè)計團隊創(chuàng)建設(shè)計約束條件,覆蓋設(shè)計需求,使其滿足功耗、性能和面積目標,同時最小化由于時鐘或時序問題而導(dǎo)致的其他風險。
為解決上述問題,Excellicon公司提供了Conman和Concert的組合解決方案,來幫助設(shè)計公司應(yīng)對各種在設(shè)計中出現(xiàn)的SDC問題。
Conman:設(shè)計約束文件的編譯和管理
ConMan是第一個商用的形式化設(shè)計約束編譯器工具,它可以自動為任何層次結(jié)構(gòu)和SoC的任何模式生成SDC,從而大大縮短了時序收斂的周期。ConMan提供了一種直觀的方法,可以自動編譯和管理針對于不同設(shè)計的sign off質(zhì)量級別的、構(gòu)造及正確的時間約束文件,且工具已經(jīng)通過ISO2626認證。
ConMan還通過在設(shè)計周期的早期將前端與后端對齊來重新定義時序約束,從而消除了仿真測試中假設(shè)的時序與SDC文件中用于實現(xiàn)時序之間的斷層。 ConMan生成并維護單一數(shù)據(jù)源,供前端和后端設(shè)計人員使用,以捕獲、生成和管理所有操作模式的設(shè)計時序約束,同時在設(shè)計的所有階段向設(shè)計人員提供反饋。使用ConMan,設(shè)計人員可以從前端工程師開始RTL開發(fā),一直到后端團隊的實現(xiàn)階段,開始生成時序約束。所有信息通過ConMan跟蹤,并可以通過報告或可視化的模擬計時數(shù)據(jù)進行查看。
設(shè)計人員可以手動提供時序信息,也可以選擇從舊的SDC或通過設(shè)計層次結(jié)構(gòu)的任何塊的仿真結(jié)果提取時序信息。ConMan使用其強大的形式化符號仿真引擎自動驗證所有的輸入數(shù)據(jù),然后在設(shè)計層次結(jié)構(gòu)中組裝和傳播所有的時序數(shù)據(jù),解決時序沖突,并在需要時向設(shè)計師提供數(shù)據(jù)以進一步細化。
ConMan平臺包含以下組件:
僅以RTL或gate作為輸入的多模式約束生成Multi-Mode Constraints
約束管理
約束設(shè)定的提升(promotion)
時鐘可視化與分析
Multi-Mode Constraints Generation
ConMan生成SDC格式的全面時序約束,適用于任何設(shè)計層次和任何模式。不需要SDC語法知識。
sdc用于任何層次結(jié)構(gòu),任何模式和任何類型- RTL或Gates
不同類型:單模式,合并模式-層次化或者扁平化100%發(fā)現(xiàn)所有時鐘和模式引腳
完整的SDC時序約束,包含時鐘,時序異常,Case Analysis,IO延遲,時鐘組,drc等。
單數(shù)據(jù)庫多模式,RTL和Gate的時序約束
約束管理
約束管理
ConMan提供了Excel的無縫接口,通過該接口,所有的時序約束都可以在工具外部進行管理或修改。這種雙向接口允許設(shè)計師使用熟悉的Excel電子表格格式來檢查時序數(shù)據(jù),并在需要時修改它。
約束條件的提升(Promotion)
目前,約束的大多數(shù)傳播都是使用操作層次分隔符的手工方法完成的。這種技術(shù)增加了在編輯過程中引入錯誤和丟失約束的風險。Excellicon的多傳播功能不僅自動化方式節(jié)省設(shè)計師手工編輯數(shù)據(jù)需要花費數(shù)周的過程,而且還為設(shè)計師提供了很大的靈活性來處理他們可能遇到的任何情況,既然他們試圖生成適當?shù)母哔|(zhì)量的約束。
ConMan提供了三種技術(shù),用于將較低級別的時序約束提升到層次結(jié)構(gòu)的任何層。支持混合使用這三種方法。
集成方法- IP時序約束允許改變作為頂層設(shè)計結(jié)構(gòu)的結(jié)果
隔離方法—IP時序約束保持原樣。
上下文方法——頂層和低級別的約束都可用,但它們不在彼此的上下文中。隨著設(shè)計者定義和指導(dǎo)的時序約束的增量傳播而進行推廣。
時鐘可視化與分析
理解任何設(shè)計的時鐘總是最困難的任務(wù)之一,并且非常容易出錯。現(xiàn)有的解決方案繪制了一個完整的邏輯示意圖,從其中識別時鐘邏輯不僅是困難的,有時是不可能的。
ConMan利用一種直觀的抽象方法來顯示時鐘圖(自動從HDL中提取),從中設(shè)計者可以快速理解任何層次結(jié)構(gòu)、全平面或分層視圖的時鐘邏輯。此外,ConMan使用其正式引擎使設(shè)計人員能夠執(zhí)行時鐘傳播的“假設(shè)”分析,以創(chuàng)建不同的操作模式。
ConCert :約束證明平臺
ConCert 是一個sign off平臺,為 ASIC/SOC 或 FPGA 流程的任何階段的提供時序約束驗證、降級(Demotion)和預(yù)算(Budgeting)獨一無二的系統(tǒng)。
ConCert 平臺包含以下組件:
約束驗證
Exception工具箱
Demotion和Budgeting工具箱
等價檢查
設(shè)計分析
約束驗證
ConCert 使用形式化算法來驗證時序約束,從而提供對設(shè)計及其相關(guān)時序約束的準確深入分析。ConCert 的約束驗證方法不同于當今市場上可用的傳統(tǒng)工具。傳統(tǒng)工具主要是通過使用數(shù)千條規(guī)則來關(guān)注語法和基本正確性的 SDC linter。這總是會在輸出報告中產(chǎn)生大量噪音。此外,時序意圖丟失并且無法通過此類傳統(tǒng)工具進行分析。
ConCert 除了 linting 之外,還利用其形式化引擎來分析設(shè)計和 SDC 文件的行為。提取設(shè)計的時序意圖和相關(guān)的 SDC 文件并進行比較,以生成精確的分析報告。這種方法可以消除噪聲輸出,并將約束驗證領(lǐng)域擴展到下一代,遠遠超出語法和基本檢查。
此外,通過 ConCert,設(shè)計人員還可以在原始 SDC 缺少約束的情況下生成增量 SDC,或者使 SDC 信號完整性相兼容。
例外工具箱
時序約束文件通常包含大量異常,例如錯誤路徑 (FP) 和多周期路徑 (MCP)。此類例外通常分為“結(jié)構(gòu)”和“時間意圖”例外。結(jié)構(gòu)異常取決于設(shè)計結(jié)構(gòu),可以通過形式化技術(shù)進行驗證。然而,時序意圖類型的異常與設(shè)計結(jié)構(gòu)無關(guān),即它們基于設(shè)計人員的意圖(例如對所有復(fù)位引腳設(shè)置錯誤路徑約束),因此不能使用形式化技術(shù)來驗證它們。
典型時序約束文件中大約 20% 的 FP 和 MCP 異常屬于結(jié)構(gòu)類型。然而,挑戰(zhàn)在于其余 80% 的例外情況,這些例外情況屬于 RTL 設(shè)計人員在功能設(shè)計時定義的時序意圖性質(zhì)。由于形式化技術(shù)不能用于此類異常,設(shè)計人員傳統(tǒng)上通過手動審查約束文件來驗證它們。
ConCert-ET 是 ConCert 的一個插件,是當今市場上唯一的工具,不僅可以通過形式化方式驗證結(jié)構(gòu)異常,還可以使用專有方法驗證時序意圖類型的異常。
約束模擬
通常,對 RTL 進行仿真以確保功能正確性。與設(shè)計相關(guān)的時序以 SDC 格式捕獲,與 RTL 功能無關(guān)。設(shè)計的兩個方面,即功能和時序,僅在設(shè)計周期后期執(zhí)行 SDF 反標的GLS仿真時才對齊。
即使有了約束驗證工具、LEC、STA、CDC 分析和故障分析工具等靜態(tài)工具的可用性,人們?nèi)詴僭O(shè)不需要 GLS。然而,今天不存在可以驗證時序約束的時序意圖性質(zhì)的 EDA 解決方案。時序意圖是指獨立于設(shè)計結(jié)構(gòu)但基于設(shè)計者意圖的約束。例如,SDC文件中定義的復(fù)雜時鐘波形;或在 SDC 文件中指定的錯誤/多周期路徑不是基于邏輯結(jié)構(gòu),而是基于設(shè)計人員的經(jīng)驗和只是來指定。
這就需要 GLS 來捕捉這些類型的問題。但是,GLS 的一個主要問題是設(shè)置 GLS 環(huán)境是一項極其繁瑣的任務(wù)。為了規(guī)避這些問題并幫助在 ASIC 周期的早期階段仿真設(shè)計(無需通過 SDF 進行延遲反標),Excellicon 開發(fā)了一種 ABSV(基于斷言的 SDC 驗證)功能,其中相關(guān)的時序約束被轉(zhuǎn)換為可在仿真期間使用的 SVA。
這種方法消除了運行 SDF反標的 GLS 的需要,從而顯著減少了循環(huán)迭代時間。SVA 也可以在 RTL 階段進行仿真,從而完全簡化整個流程。
降級和預(yù)算
ConCert-BT 是 ConCert 的一個附加組件,使設(shè)計人員能夠以從 RTL 到物理實現(xiàn)的不同精度級別執(zhí)行約束降級(demotion)和分層預(yù)算(budgeting)。
該產(chǎn)品具有完整的功能:
約束降級
預(yù)算生成
基于百分比
基于邏輯的層次
基于固有單元延遲和布局寄生的延遲
驗證所有設(shè)計macros的預(yù)算
手動細化預(yù)算
根據(jù) STA 時序slack值自動重新分配時序預(yù)算
具有每個macros過去的預(yù)算歷史進行分層預(yù)算管理
使用 ConMan,設(shè)計人員可以將 IP 約束提升到頂層,隨后通過 ConCert-BT 可以將約束降級到 P&R 活動的宏觀層面。ConCert-BT 在配置工具以選擇性地降級某些約束或自動降級所有約束方面提供了充分的靈活性。
隨著設(shè)計在物理實現(xiàn)過程的趨于穩(wěn)定,時序預(yù)算也會不斷變化。這包括對 ECO 的 RTL 更改,這可能會導(dǎo)致設(shè)計中各個模塊之間的時序不平衡,這需要調(diào)整 IO 延遲值以解決macros之間的時序違反問題。設(shè)計人員必須找到一種重新分配預(yù)算的方法,以解決False路徑的時序問題;手動完成的方式會導(dǎo)致長時間的迭代,并且通常是芯片的次優(yōu)時序。
由于物理實現(xiàn)工程師團隊在他們自己的模塊上并行工作,接口時序必須考慮準確的預(yù)算,以使頂層時序順利通過而沒有任何違反。前端設(shè)計人員可以使用 ConCert-BT 在實施周期的早期階段使用基于百分比或基于邏輯的預(yù)算生成適當?shù)念A(yù)算,而后端工程師可以利用最強大的物理預(yù)算生成使用平面圖信息進行預(yù)算,并在整個時序收斂周期中管理預(yù)算,包括創(chuàng)建時序模型,從而在流片前進行最終迭代。
ConCert-BT 提供了一個全面的解決方案,不僅可以跨macros驗證現(xiàn)有預(yù)算的正確性,還可以通過其直觀的 Budget Map GUI 顯示預(yù)算。通過 BudgetMap,設(shè)計人員可以輕松調(diào)試失敗的路徑并采取糾正措施。
等價檢查
隨著設(shè)計從一個設(shè)計階段進展到另一個設(shè)計階段,約束總是會發(fā)生變化。可能會添加新的約束或修改現(xiàn)有的約束,這可能會導(dǎo)致時序約束不等效并失去最初的意圖。
由于 SoC 是層次化設(shè)計的,因此可能存在模塊級時序可能與頂層時序不相關(guān)的情況。當執(zhí)行頂層完全扁平(flatten) STA 時,這可能會出現(xiàn)問題。
因此,需要證明約束之間的時序等效性。ConCert 提供兩種等效方法:
Top to Top——檢查設(shè)計周期不同階段之間的約束等效性
Top to Block – 檢查頂層約束和模塊間的約束等效性
審核編輯:劉清
-
EDA工具
+關(guān)注
關(guān)注
4文章
267瀏覽量
31794 -
SoC設(shè)計
+關(guān)注
關(guān)注
1文章
148瀏覽量
18774 -
信號完整性
+關(guān)注
關(guān)注
68文章
1408瀏覽量
95488 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59785 -
SDC
+關(guān)注
關(guān)注
0文章
49瀏覽量
15540
原文標題:SOC中的SDC約束正變得越來越龐大和復(fù)雜,我們該如何應(yīng)對
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論