大型SOC項目的綜合非常耗時間,常常花費好幾天。當需要做功能ECO時,代碼的改動限定在某些子模塊里,設(shè)計人員并不想重跑一次完整的綜合,這種方法縮短了一輪ECO的時間,保證了項目進度。
然而,設(shè)計時這些子模塊經(jīng)過了物理綜合、DFT、后端工具等各種優(yōu)化。模塊例化好幾次時,在這些優(yōu)化后,每一個實例都會出現(xiàn)很多不同的邊界優(yōu)化。下圖中,SUB_MOD_A有后端優(yōu)化,如端口反相。
因此,自動ECO工具必須能夠識別和處理這些各種各種的后端優(yōu)化,處理好每一個模塊的特有的復雜情況,并精確修理。
面對這種挑戰(zhàn),GOF中讀入了prelayout網(wǎng)表(綜合+DFT)來更好地處理邊界優(yōu)化。這其實是可以實現(xiàn)的,我們知道prelayout網(wǎng)表,在做ECO之前,應(yīng)該與綜合網(wǎng)表等價。
在ECO時,為了提取出子模塊的邊界優(yōu)化,我們用prelayout網(wǎng)表與老APR網(wǎng)表來做對比。因為ECO作用于各個子模塊,相應(yīng)的邊界優(yōu)化信息又被反標到網(wǎng)表上,這保證了ECO的精度和準確性,又能保證頂層設(shè)計的邏輯等價PASS。
read_design命令的-ori_syn參數(shù)用來加載prelayout網(wǎng)表。下面一段腳本,先用SUB_MOD_A作參考fix SUB_MOD_A_0,再接著修理SUB_MOD_A_1。最后把頂層設(shè)置到SOC_TOP,寫出ECO網(wǎng)表。
read_design('-ref', "new_sub_mode_a.gv"); # New synthesized sub-module-A read_design('-imp', "post_layout.gv"); # Full post layout netlist read_design('-ori_syn', "pre_layout.gv"); # Full prelayout, equal to post_layout.gv # Apply ECO to the first instance set_top_ref("SUB_MOD_A"); # Must set REF scope set_top("SUB_MOD_A_0"); # Uniquified name for the first instance fix_design; # Apply ECO to the second instance set_top_ref("SUB_MOD_A"); # Must set REF scope set_top("SUB_MOD_A_1"); # Uniquified name for the second instance fix_design; set_top("SOC_TOP"); report_eco(); write_verilog("post_layout.eco.gv"); # Full post layout netlist after ECO
可以處理完整網(wǎng)表的ECO,但不需要對整個設(shè)計重新綜合,這就會格外地節(jié)省時間。由于GOF提取出了邊界信息,ECO的結(jié)果就會有更高的準確程度。
審核編輯:劉清
-
SoC設(shè)計
+關(guān)注
關(guān)注
1文章
151瀏覽量
19182 -
DFT
+關(guān)注
關(guān)注
2文章
234瀏覽量
23400
原文標題:大型SOC設(shè)計中的功能ECO加速的解決方案
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一種面向LTE基站的SOC平臺軟件解決方案

一種基于FPGA的圖神經(jīng)網(wǎng)絡(luò)加速器解決方案
一種高效的UPS電源解決方案
ECO技術(shù)在SoC芯片設(shè)計中的應(yīng)用

評論