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

如何在Vivado中執(zhí)行工程變更命令 (ECO)

一場關(guān)于自動(dòng)化ECO解決方案的在線研討會(huì)
空調(diào)遙控器上的eco是什么意思
詳解Xilinx FPGA的ECO功能

新思科技推出突破性ECO解決方案PrimeClosure,助力設(shè)計(jì)效率提升10倍
什么是DFT友好的功能ECO呢?
什么是ECO?ECO的應(yīng)用場景和實(shí)現(xiàn)流程

解析什么是DFT友好的功能ECO?

分享一種大型SOC設(shè)計(jì)中功能ECO加速的解決方案

評(píng)論