大型SOC項(xiàng)目的綜合非常耗時(shí)間,常?;ㄙM(fèi)好幾天。當(dāng)需要做功能ECO時(shí),代碼的改動限定在某些子模塊里,設(shè)計(jì)人員并不想重跑一次完整的綜合,這種方法縮短了一輪ECO的時(shí)間,保證了項(xiàng)目進(jìn)度。
然而,設(shè)計(jì)時(shí)這些子模塊經(jīng)過了物理綜合、DFT、后端工具等各種優(yōu)化。模塊例化好幾次時(shí),在這些優(yōu)化后,每一個(gè)實(shí)例都會出現(xiàn)很多不同的邊界優(yōu)化。下圖中,SUB_MOD_A有后端優(yōu)化,如端口反相。
因此,自動ECO工具必須能夠識別和處理這些各種各種的后端優(yōu)化,處理好每一個(gè)模塊的特有的復(fù)雜情況,并精確修理。
面對這種挑戰(zhàn),GOF中讀入了prelayout網(wǎng)表(綜合+DFT)來更好地處理邊界優(yōu)化。這其實(shí)是可以實(shí)現(xiàn)的,我們知道prelayout網(wǎng)表,在做ECO之前,應(yīng)該與綜合網(wǎng)表等價(jià)。
在ECO時(shí),為了提取出子模塊的邊界優(yōu)化,我們用prelayout網(wǎng)表與老APR網(wǎng)表來做對比。因?yàn)镋CO作用于各個(gè)子模塊,相應(yīng)的邊界優(yōu)化信息又被反標(biāo)到網(wǎng)表上,這保證了ECO的精度和準(zhǔn)確性,又能保證頂層設(shè)計(jì)的邏輯等價(jià)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,但不需要對整個(gè)設(shè)計(jì)重新綜合,這就會格外地節(jié)省時(shí)間。由于GOF提取出了邊界信息,ECO的結(jié)果就會有更高的準(zhǔn)確程度。
審核編輯:劉清
-
SoC設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
147瀏覽量
18732 -
DFT
+關(guān)注
關(guān)注
2文章
224瀏覽量
22633
原文標(biāo)題:大型SOC設(shè)計(jì)中的功能ECO加速的解決方案
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論