INVS里的DanglingWire的自動(dòng)化修復(fù)實(shí)戰(zhàn)
時(shí)間:2026-02-01 14:45:40
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在上一講中一起了解了INVS里的DanglingWire(innovus中的DanglingWire(懸垂線)的理解和處理),常言道理論聯(lián)系實(shí)際,在理解原理的基礎(chǔ)上,那一定是要服務(wù)項(xiàng)目的,這篇后續(xù)火速跟進(jìn),一起使用自動(dòng)化的方式來(lái)進(jìn)行處理,節(jié)省芯片的繞線資源。
DanglingWire在INVS看來(lái)是可以進(jìn)行trim的,這些也基本出現(xiàn)在PG gen的過程中,可能會(huì)來(lái)自于下列命令(或不僅限于下列命令):
- sroute
- editPowerVia
- addStrip
- 如果有PG ring的規(guī)劃,需要優(yōu)先創(chuàng)建core ring和block ring
-
建立PG stripe,盡量extend到ring上,這里有幾個(gè)選項(xiàng)用戶可以關(guān)注
-
在沒有 std-cell row的channel,不要?jiǎng)?chuàng)建可能會(huì)被macro打斷的PG stripe , 譬如

上述工作完成后,用戶需要使用verifyConnectivity進(jìn)行查驗(yàn),如有遺漏可以盡量補(bǔ)足。
用戶始終要明確:INVS的native命令是效率更高,收效更明顯的處理手段。在任何手工/腳本操作前,都應(yīng)該應(yīng)用盡用INVS native 命令。
反過來(lái)講,一個(gè)完美的結(jié)果也不是一蹴(一個(gè)命令)而就的,打磨在所難免的,在日漸競(jìng)爭(zhēng)的芯片后端崗位中,掌握別人不了解或者現(xiàn)在不了解的方法,是有機(jī)會(huì)能夠讓你獲取【短暫的】領(lǐng)先的
對(duì)于剩余的DanglingWire的問題,這里提供一個(gè)procedure(函數(shù)),進(jìn)行解決。函數(shù)的基本使用方法如下
- 打開INVS數(shù)據(jù)庫(kù)
- 在INVS,導(dǎo)入函數(shù)
這是ICerDev團(tuán)隊(duì)原創(chuàng)函數(shù)的第三次釋放,版本信息如下- 版本號(hào):V0.12
- 交付時(shí)間:2023-01-10
- 更新內(nèi)容:添加trim_danlingwire函數(shù)
-
使用help查看函數(shù)幫助
-
小試牛刀
在使用trim_danlingwire函數(shù)之前,先來(lái)使用命令verifyConnectivity驗(yàn)證一下當(dāng)前數(shù)據(jù)庫(kù)的DanglingWire的狀態(tài)

可以看到,當(dāng)前數(shù)據(jù)庫(kù)有606個(gè)DanglingWire的問題

查看細(xì)節(jié)可以看到,基本是M1的問題,基于上篇文章的講解對(duì)于std-cell的M1 PG rail上的問題,在PG DB上是不用理會(huì)的,這些在后期會(huì)自動(dòng)修復(fù)。
這里以M6層舉例,一起看看這個(gè)函數(shù)的處理能力
step1: 在進(jìn)行trim前,推薦使用show_only的方式來(lái)進(jìn)行腳本運(yùn)行評(píng)估(evaluate)

函數(shù)此時(shí)以評(píng)估模式運(yùn)行,可以看到,在基于M6和VIA5的基礎(chǔ)下,函數(shù)評(píng)估出整個(gè)系統(tǒng)會(huì)有87根M6共計(jì)5237的繞線資源屬于DanglingWire的范疇,可以被優(yōu)化掉。此時(shí),用戶可以通過GUI的紅色高亮區(qū)域進(jìn)行查驗(yàn)

從full-view視圖可以看到,函數(shù)評(píng)估出來(lái)的可優(yōu)化的點(diǎn)位主要集中在FP的下側(cè),zoom-in看一下究竟
用戶大致查驗(yàn)這些高亮的區(qū)域,如果沒有明細(xì)問題,就可以進(jìn)行真實(shí)的trimstep2: trim DanglingWire
對(duì)于上述高亮區(qū)域,可以使用下面的命令進(jìn)行trim

可以看到,剛才高亮的區(qū)域,此時(shí)已經(jīng)被trim掉了

用戶此時(shí)可以通過verifyConnectivity查看DanglingWire狀態(tài)

可以看到,數(shù)據(jù)庫(kù)中的DanglingWire從606 降到了548,其他的錯(cuò)誤類型并未發(fā)生變化,
再進(jìn)行GUI進(jìn)行細(xì)節(jié)查看

可以看到剛才下部大面積的DanglingWire已經(jīng)消失了,M6的DanglingWire也從60個(gè)降低到了2個(gè),在這個(gè)數(shù)據(jù)庫(kù)中,基本可以實(shí)現(xiàn)一次性全部修復(fù)





