重新綜合時間太長?
近幾年,芯片設(shè)計規(guī)模越來越大,這使得重跑一次綜合需要長達(dá)數(shù)小時,甚至幾天時間。
傳統(tǒng)的自動功能ECO流程需要把修改后的所有RTL(包括修改過的和沒有修改過的)重新綜合成參考網(wǎng)表,如下圖。即使是RTL層面很小的、非常簡單的修改,也必須重走一遍綜合流程。重新綜合會消耗大量的時間,尤其對于大型項目,重新綜合會嚴(yán)重影響芯片功能ECO的進(jìn)度。
一種全新的解決方案
針對這種場景,我們想到了一種解決方案:直接在需要ECO的網(wǎng)表(比如APR網(wǎng)表)里插入RTL代碼。
我們來看下面這個例子,比如ECO時需要對DFF的D端的net wr_data_7_做一些預(yù)處理。下圖是原網(wǎng)表。
我們在網(wǎng)表里直接插入了RTL的always語句,對wr_data_7_進(jìn)行了打拍和簡單邏輯處理(新加的邏輯所需要的輸入信號都可以在原網(wǎng)表中找到),把處理后的信號wr_data_7_new_d接到原DFF的D端,如下圖中的箭頭。這種在網(wǎng)表里直接插入和修改的RTL也叫做RTL補(bǔ)丁。
GOF ECO讀入包含插入RTL補(bǔ)丁的網(wǎng)表,做遞增式綜合。遞增式綜合會根據(jù)RTL補(bǔ)丁的改動,對網(wǎng)表做必要的修改。所以,最終的ECO網(wǎng)表里就精確反映了邏輯補(bǔ)丁。當(dāng)處理相對簡單,單一的邏輯修改時,傳統(tǒng)的方法是摘取這個修改的代碼片段為一個新的module,對這個新模塊進(jìn)行綜合,再把綜合得到的網(wǎng)表片段(也叫邏輯補(bǔ)?。┎寤卦W(wǎng)表里,如下圖。有一個要特別注意的是,插回網(wǎng)表時net名字可能沖突。
GOF ECO提供了一種全自動化的、可行的解決辦法來在網(wǎng)表里直接插入RTL補(bǔ)丁,來幫助遞增式綜合。在遞增式綜合過程中,GOF ECO只針對RTL補(bǔ)丁,不影響網(wǎng)表的其余部分,這可以最小程度地影響原網(wǎng)表。采用這種方法,GOFECO可以生成更優(yōu)化的網(wǎng)表,同時也盡可能保留原網(wǎng)表的結(jié)構(gòu)和格式。
這種方法不需要完整的重新綜合,就可以把RTL修改的部分無縫的集成到原網(wǎng)表里。所以,只有設(shè)計中有修改的部分才會做遞增式綜合,這會顯著地節(jié)省完整的重新綜合所需要的時間。
利用遞增式RTL補(bǔ)丁做功能ECO的方法,前端設(shè)計工程師也可高效地做功能修改,而不用擔(dān)心影響項目進(jìn)度。這種方法是最佳的ECO實現(xiàn)方案,它不僅能把插入的RTL遞增式綜合成網(wǎng)表補(bǔ)丁,還可以盡量保持原網(wǎng)表的完整性。
GOFECO還提供了更多插入RTL的便捷方法
如下圖,在寫?yīng)毩TL補(bǔ)丁文件時,GOF ECO提供了一些便捷方法:在module端口聲明的后面用特殊的注釋來指明連接關(guān)系。這個例子中,通過注釋指明了補(bǔ)丁模塊信號與狀態(tài)機(jī)如何連接。GOF ECO讀到RTL補(bǔ)丁中的這些特殊注釋后,會自動執(zhí)行對應(yīng)的修改和連接。
生成最終的ECO網(wǎng)表
最后,我們利用Step2得到網(wǎng)表作為參考網(wǎng)表,對原APR網(wǎng)表進(jìn)行自動功能ECO。從RTL補(bǔ)丁到網(wǎng)表補(bǔ)丁、再map成spare cells補(bǔ)丁,這樣我們就得到最終的ECO網(wǎng)表或者ECO腳本(根據(jù)情況二選一即可)。
-
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
1030瀏覽量
55028 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59968 -
ECO
+關(guān)注
關(guān)注
0文章
52瀏覽量
14948
原文標(biāo)題:直接在網(wǎng)表中插入RTL來快速做芯片功能ECO
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
使用ORCAD做原理圖PADS做PCB的方法步驟
RTL8309SC ***原裝進(jìn)口 瑞昱 芯片 光耦I(lǐng)C 以太網(wǎng)控制芯片 電子元器件
LabVIEW誰又沒有交流群》直接在網(wǎng)上下載的LabVIEW8.5可以用嗎
有利于驗證未測試功能的RTL緩沖器插入和故障分級技術(shù)
如何在Vivado中執(zhí)行工程變更命令 (ECO)
![如何在Vivado<b class='flag-5'>中</b>執(zhí)行工程變更命令 (<b class='flag-5'>ECO</b>)](https://file.elecfans.com/web1/M00/71/5D/pIYBAFv1MYGANejdAAAvJD-VVXs720.jpg)
ECO技術(shù)在SoC芯片設(shè)計中的應(yīng)用
![<b class='flag-5'>ECO</b>技術(shù)在SoC<b class='flag-5'>芯片</b>設(shè)計<b class='flag-5'>中</b>的應(yīng)用](https://file.elecfans.com/web1/M00/E9/A5/pIYBAGBtDraAdoLKAAAvlk2kEqw219.jpg)
自動ECO參考網(wǎng)表來自動修改實現(xiàn)網(wǎng)表
詳解Xilinx FPGA的ECO功能
![詳解Xilinx FPGA的<b class='flag-5'>ECO</b><b class='flag-5'>功能</b>](https://file.elecfans.com/web2/M00/1F/6A/pYYBAGGYH8SAKHsfAAHpExL8dFU983.png)
直接在Google表格中的血壓監(jiān)測儀
![<b class='flag-5'>直接在</b>Google表格<b class='flag-5'>中</b>的血壓監(jiān)測儀](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
什么是DFT友好的功能ECO呢?
直接在網(wǎng)表中插入RTL來快速做芯片功能ECO
![<b class='flag-5'>直接在網(wǎng)</b><b class='flag-5'>表</b><b class='flag-5'>中</b><b class='flag-5'>插入</b><b class='flag-5'>RTL</b><b class='flag-5'>來</b><b class='flag-5'>快速</b><b class='flag-5'>做</b><b class='flag-5'>芯片</b><b class='flag-5'>功能</b><b class='flag-5'>ECO</b>](https://file1.elecfans.com/web2/M00/89/C3/wKgZomSKr5-AYOR4AABNI4fyeXM395.jpg)
評論