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