無論身處哪條賽道,為客戶提供先進的、具有差異化的產(chǎn)品,是所有芯片設(shè)計團隊的共同目標(biāo)。突破先進工藝節(jié)點設(shè)計的功耗、性能和面積(PPA)極限正是開發(fā)者們努力的方向之一。
大多數(shù)芯片設(shè)計團隊在這一環(huán)節(jié)使用新思科技的數(shù)字設(shè)計產(chǎn)品系列,即Design Compiler或Fusion Compiler解決方案。團隊通常想要利用時序重定、多位寄存器合并、高級數(shù)據(jù)路徑優(yōu)化等所有可用的復(fù)雜功能,來實現(xiàn)更出色的結(jié)果質(zhì)量(QoR)。對客戶來說,能夠快速建立一個可預(yù)測的芯片設(shè)計周期可以讓他們更早地上市新產(chǎn)品,這將是他們跑贏市場的一個關(guān)鍵性競爭優(yōu)勢。
此外,RTL代碼經(jīng)常發(fā)生預(yù)期之外的功能性變更,甚至可能到最后一刻都還在變,對這些變更做出及時響應(yīng)對開發(fā)者來說非常重要。此類變更通常使用功能工程變更命令(ECO)來實現(xiàn),此時的RTL已凍結(jié),且綜合與布局布線都已經(jīng)處于后期階段。無論是為了修復(fù)功能驗證漏洞,還是要增加重要新功能,ECO都必不可少。
相比把所有代碼從頭再跑一遍,ECO所需的時間和成本較少,因此成為首選方案。但ECO往往出現(xiàn)在設(shè)計流程后期,而且可能涉及到相當(dāng)復(fù)雜的工作,這意味著ECO可能會對時序邏輯、狀態(tài)機、時鐘復(fù)位路徑等產(chǎn)生影響。正因如此,開發(fā)者們對自動化工具的需求更加明確。
什么是功能ECO?
功能ECO是指將邏輯直接插入與RTL中變更相對應(yīng)的門級網(wǎng)表的過程。提供此功能的自動化解決方案應(yīng)該能夠比較原有設(shè)計和經(jīng)過ECO修改后設(shè)計中的受影響的邏輯錐,識別代表變更的最小邏輯門集合,然后對其生成補丁并確保補丁可在原布局布線網(wǎng)表中輕松應(yīng)用。
ECO中包含多種實現(xiàn)方式,從在設(shè)計中添加或移除邏輯,到清理布線以確保信號完整性等細微變更。所有ECO都側(cè)重于盡可能加快產(chǎn)品上市速度,并最大限度地降低修改和計劃風(fēng)險。處理ECO的工作不僅壓力大、時間長,而且還充滿不確定性。
考慮到ECO生成過程中的巨大時間壓力,務(wù)必要做到以下幾點:
縮短周轉(zhuǎn)時間:盡快生成準(zhǔn)確的補丁
盡量減少迭代:補丁應(yīng)功能正確且兼顧時序,從而盡可能減少對已實現(xiàn)設(shè)計的干擾
為什么許多功能ECO解決方案 無此效果?
結(jié)合上述要求,我們來看一下市場上現(xiàn)有功能ECO解決方案的局限性(圖1)。
▲圖1:市場上許多現(xiàn)有的功能ECO解決方案都存在局限性,影響質(zhì)量和周轉(zhuǎn)時間。
第一代功能ECO解決方案受制于基本流程局限性:全部都要遵循網(wǎng)表驅(qū)動型流程。這意味著,ECO創(chuàng)建過程只能比較兩個完全綜合的網(wǎng)表,即原網(wǎng)表與新綜合的ECO網(wǎng)表。在使用這些解決方案時,即使ECO實際上只涉及數(shù)行RTL代碼或幾個組合門,用戶也需要對經(jīng)過ECO的分區(qū)進行完整重新綜合。如果該分區(qū)的完整綜合需要數(shù)天時間,這一步可能成本極高,而由于ECO實現(xiàn)時間非常緊張,設(shè)計團隊根本等不起。
第二個局限性在于,在ECO綜合階段,這些工具很多都嚴格要求重現(xiàn)綜合優(yōu)化。換言之,這些解決方案要求ECO網(wǎng)表實現(xiàn)與原網(wǎng)表完全相同的優(yōu)化。這是因為,在ECO綜合期間,ECO中包含的RTL變更可能會提示綜合工具選擇不同的優(yōu)化路徑。例如,一些寄存器以前可能是常值寄存器,但在ECO之后,變成了非常值寄存器。一些寄存器合并策略可能有所不同,可能導(dǎo)致存在寄存器合并或寄存器復(fù)制步驟的不同。
在比較這樣兩個優(yōu)化路徑不同的網(wǎng)表時,工具可能很難正確識別邏輯錐之間的真正差異,因而無法生成功能正確或最優(yōu)的補丁。最終,這會給ECO綜合步驟帶來不必要的限制。此外,因為上述原因,開發(fā)者還需要完成大量手動或自定義設(shè)置來重現(xiàn)綜合,以便ECO工具能夠分析這兩個網(wǎng)表并創(chuàng)建最小的補丁。
擔(dān)心在ECO流程后期面臨這些復(fù)雜因素,開發(fā)者通常會減少諸如打平層次、時序邏輯優(yōu)化和反相驅(qū)動等綜合優(yōu)化操作,以便縮短ECO周期。ECO基本上決定了團隊如何執(zhí)行綜合,而這種情況是可以避免的。
總的來說,在從ECO RTL就緒到ECO完成的過程中,許多現(xiàn)有的自動化解決方案存在以下局限性:
僅支持網(wǎng)表流程,因此用戶必須先執(zhí)行ECO綜合步驟,才能開始創(chuàng)建補丁。而分區(qū)綜合有時可能需要數(shù)天時間,這顯著延長了周轉(zhuǎn)時間(TAT)。
引入限制。ECO綜合必須與原有綜合完全相同,從而盡可能減少兩個網(wǎng)表之間的優(yōu)化差異。另外,重現(xiàn)綜合需要完成大量自定義設(shè)置,這又進一步延長了周轉(zhuǎn)時間。
上述兩個步驟只要出現(xiàn)任何差錯,工具生成的補丁就會錯誤低效,進而需要多次手動迭代來修正補丁。
最后,由于擔(dān)心面對上述種種復(fù)雜因素,開發(fā)者會選擇禁用綜合優(yōu)化,而犧牲結(jié)果質(zhì)量。
能夠一次成功的ECO解決方案
能夠一次成功的ECO解決方案在市場上還是存在的,該解決方案用時更短,質(zhì)量也更好,那就是新思科技Formality ECO解決方案。 新思科技的功能ECO解決方案,F(xiàn)ormality ECO會在ECO RTL就緒后,立即開始ECO生成過程。在后期ECO過程中,這為開發(fā)者提供了有利的開端,并為他們節(jié)省了寶貴的時間(圖2)。
▲圖2:左圖說明了市場上其他功能ECO解決方案的局限性,右圖則凸顯了新思科技Formality ECO解決方案如何以更優(yōu)質(zhì)量、更快周轉(zhuǎn)時間讓ECO一次成功。
該解決方案突破性地利用Formality等效性檢查技術(shù)和Design Compiler或Fusion Compiler解決方案的內(nèi)部編譯技術(shù)。
首先,F(xiàn)ormality ECO解決方案會比較原RTL和ECO RTL,利用結(jié)構(gòu)分析功能來識別并分隔代表ECO的變更區(qū)域?!癴ind_equivalent_net”功能可以越過模塊和觸發(fā)器邊界并一直到網(wǎng)絡(luò)邊界進行遍歷和局部分析。該方法有助于分隔在ECO RTL中捕捉變更所需的最小ECO區(qū)域集合。
然后,這些區(qū)域會發(fā)送至Design Compiler或Fusion Compiler解決方案,由后者根據(jù)指示執(zhí)行“目標(biāo)綜合”。從本質(zhì)上來說,這屬于具有ECO意識的智能編譯,它僅對變更區(qū)域進行綜合,而無需執(zhí)行完整的ECO綜合。該解決方案會準(zhǔn)確識別目標(biāo)綜合,并僅對模塊內(nèi)部受ECO影響的區(qū)域進行綜合。此外,綜合是在整體設(shè)計約束下執(zhí)行的智能編譯。該綜合支持所有必要的優(yōu)化,因而不會影響結(jié)果質(zhì)量。這樣一來,該ECO生成可確保功能正確。
實踐表明,F(xiàn)ormality ECO技術(shù)可將周轉(zhuǎn)時間縮短到原來的十分之一,使補丁最多縮小到原來的五分之一,并能夠為廣泛應(yīng)用領(lǐng)域中的設(shè)計大幅提高結(jié)果質(zhì)量(圖3)。
▲圖3:新思科技Formality ECO解決方案具有諸多優(yōu)勢,能夠?qū)崿F(xiàn)更高質(zhì)量的ECO。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120632 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59849 -
ECO
+關(guān)注
關(guān)注
0文章
52瀏覽量
14912
原文標(biāo)題:ECO一次成功很難嗎?
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論