0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

innovus中的DanglingWire的理解和處理

冬至子 ? 來源:艾思后端設(shè)計(jì) ? 作者:艾思后端設(shè)計(jì) ? 2023-06-09 17:01 ? 次閱讀

innovus里邊有不少physical DRC檢查工具,其中的verifyConnectivity 別有一番有趣的用法,借此機(jī)會(huì),一起來看看其中的一個(gè)亮點(diǎn)。

在innovus工具里邊,用戶經(jīng)常會(huì)使用verifyConnectivity 來進(jìn)行open ,繞線完整性等問題的查驗(yàn)。對(duì)于繞線結(jié)果,尤其是PG繞線結(jié)果,使用這個(gè)命令可以很好的幫助用戶在power planning階段查驗(yàn)PG的閉合連接的狀態(tài)(在pg DB中使用,有點(diǎn)類似S家的verify_pg_nets ),這個(gè)命令的檢查點(diǎn)包括并不限于

  • PG的整體貫通性:open check
  • macro的PG pin 連接閉合
  • 信號(hào)開路檢查 (signal routing open)
  • 懸垂繞線/天線效應(yīng)檢查(DanglingWire/Antenna)

上述前三點(diǎn)都是比較常規(guī)的檢查,通常沒有太多的歧義,但是對(duì)于最后一個(gè)DanglingWire/Antenna,INVS有自己獨(dú)到的理解方式,這里仔細(xì)理解和分析以下這個(gè)檢查項(xiàng)目

DanglingWire的原理描述

DanglingWire描述:wire通常是指連接在某一個(gè)pin/terminal的net在物理上的形狀,Danglng是指這個(gè)wire后面有沒有連接任何的負(fù)載,如果這個(gè)wire同時(shí)也連接在其他的input pin,由于這個(gè)DanglingWire的存在,勢(shì)必會(huì)引入潛在的antenna問題,這就是為什么INVS把DanglingWire和antenna標(biāo)注在一起的原因。

image.png

在上述拓?fù)浣Y(jié)構(gòu)結(jié)構(gòu)中,有兩個(gè)連結(jié)關(guān)系:U1.Z -> U2.A 和 U1.Z -> U3.A ,對(duì)應(yīng)的實(shí)際物理繞線如上述黑色和紅色走線標(biāo)記。這種繞線方式在INVS的verifyConnectivity評(píng)判里,就會(huì)將紅色部分的繞線(wire)報(bào)告一個(gè)DanglingWire的問題。

紅色部分繞線已經(jīng)對(duì)這個(gè)繞線閉合結(jié)構(gòu)沒有任何貢獻(xiàn),同時(shí)還會(huì)導(dǎo)致net1的繞線被無意中變長(zhǎng),這樣的繞線會(huì)導(dǎo)致三個(gè)影響:

  • 紅色繞線部分會(huì)占用額外的繞線資源,但是對(duì)數(shù)據(jù)庫有沒有貢獻(xiàn),所以這是對(duì)繞線資源的浪費(fèi)
  • 紅色繞線會(huì)讓net1的RC變大, 會(huì)讓net1的傳輸變慢,導(dǎo)致不期望的延遲
  • 對(duì)于U2.A和U3.A 輸入pin而言,由于輸入管腳對(duì)應(yīng)的繞線變長(zhǎng),紅色繞線有可能導(dǎo)致更多的輸入管腳的antenna違例。

由于PG via drop的特點(diǎn),這種DanglingWire的情形在PG 繞線會(huì)比較常見,反而由于NanoRoute特有的算法,對(duì)于信號(hào)連接,基本不會(huì)出現(xiàn)DanglingWire的現(xiàn)象。

image.png

這里的PG連接是從M6 -> VIA56 -> M5,從INVS的理解來看,這條M5 wire的的最右側(cè)部分(從VIA56結(jié)束一直到M5的最右端,紅色高亮區(qū)域),是一小段的DanglingWire繞線,因?yàn)樵赩IA56的部分,這條M5已經(jīng)完成了PG貫通的使命,多出來的那部分就被INVS判定為沒有貢獻(xiàn)的DanglingWire。

在PG創(chuàng)建的時(shí)候,無法在addStripe的命令從根本上解決,這是因?yàn)镻G stripe通常都是兩橫兩縱的布局,總會(huì)有一個(gè)VIA56 距離M5的端點(diǎn)較遠(yuǎn)。

image.png

如上圖所示,盡管PG 布局里邊已經(jīng)將VSS的VIA56推到了最右側(cè),但是VDD的DanglingWire還是無法避免。由此可見,用戶在創(chuàng)建PG的時(shí)候。在使用同樣M6/M5的時(shí)候,通過調(diào)整offset,可以讓DanglingWire問題緩解,可以間接的提高IR的質(zhì)量,但是不能根治DanglingWire的問題

DanglingWire問題的解決方法

INVS評(píng)判DanlingWire的標(biāo)準(zhǔn)是:wire走線在通過最右一個(gè)有效連結(jié)VIA或者load_pin后,繞線長(zhǎng)度不能超過走線寬度的一半,否則會(huì)被判定為DanglingWire

image.png

以上圖為例,對(duì)于上邊比較短的M5是沒有DanglingWire違例的??梢钥吹剑藭r(shí)M5的右側(cè)只比VIA56的右側(cè)超出了0.825um,正好是M5繞線寬度的一半(0.162/2),這個(gè)時(shí)候就不會(huì)出現(xiàn)DanglingWire的問題了。對(duì)應(yīng)的下邊的M5,右側(cè)長(zhǎng)度沒有修剪,所以依然能看到DanglingWire的違例。

經(jīng)測(cè)算,在這個(gè)示例當(dāng)中,通過縮短M5的長(zhǎng)度,可以釋放大概 7.375um 的M5的繞線資源

image.png

Std-cell rail 的DanlingWire 問題理解

假設(shè)當(dāng)前設(shè)計(jì)的std-cell PG rail在M1層,INVS對(duì)M1的關(guān)注和M5是一致的,如果用戶沒有進(jìn)行任何的preplace std-cell的規(guī)劃,布局(包括tapcell,endcap等pre-place的器件),或者preplace std-cell的節(jié)點(diǎn)距離M1的終點(diǎn)有一些距離,那么在PG里邊也會(huì)報(bào)告類似的DanglingWire的問題。

image.png

但是,這樣的M1 DanglingWire會(huì)在chipfinish的時(shí)候完全消失,這是因?yàn)樗械膕td-cell row上,最后都會(huì)布滿std-cell或者std-filler,這個(gè)M1上的DanglingWire的違例在PD DB上不需要理會(huì),除非是這個(gè)區(qū)域不需要放置std-cell,那么用戶需要從site-row的剪裁下手,節(jié)約std-cell的資源占用

同樣的數(shù)據(jù)庫,在進(jìn)入到chipfinish后,M1的DanglingWire已經(jīng)自愈了。

image.png

DanglingWire 和 open的區(qū)別

經(jīng)過上述的討論,應(yīng)該已經(jīng)很好的理解INVS里邊對(duì)于DanglingWire的定義,對(duì)于普通用戶而言,DanglingWire的影響主要是侵占一些設(shè)計(jì)的繞線資源(但是要注意不同階段的DanglingWire由于負(fù)載的改變,這個(gè)違例的形態(tài)會(huì)發(fā)生一定的變化,譬如上述的std-cell rail 的DanglingWire問題)。相較而言,用戶更應(yīng)該優(yōu)先關(guān)注open問題,

INVS 對(duì)open有兩種定義:

對(duì)于同樣的net,但是沒有連接在一起的wire piece,這里的定義比較像S家的 floating shape,譬如下圖左側(cè)的幾個(gè)wire piece,這個(gè)就是open(也就是常說的floating shape),如果確定不需要,也可以做直接刪除處理

image.png

但是,更為常見的open,是缺少?gòu)腗6到M1 的VIA,這個(gè)時(shí)候就是需要用戶及時(shí)處理,否則最后的LVS是過不去的

image.png

沒有連接到網(wǎng)絡(luò)的PG pin:UnConnPin

這里需要注意一點(diǎn),由于INVS的verifyConnectivity 是基于wire shape的,所以如果需要查驗(yàn)?zāi)骋粋€(gè)net的open或者UnConnPin,前提是這個(gè)net至少一根wire shape,否則INVS會(huì)給出下列提示,

image.png

同時(shí),會(huì)在Violations Browser里邊以NoRoute 表示出來:意即該net沒有任何的wire shape

image.png

敲黑板劃重點(diǎn)

INVS里的DanglingWire是潛在的繞線資源浪費(fèi),需要用戶自行判斷,并進(jìn)行處理,在不影響IR分析的基礎(chǔ)上,可以更好的利用現(xiàn)有資源。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • DRC
    DRC
    +關(guān)注

    關(guān)注

    2

    文章

    149

    瀏覽量

    36198
  • VDD
    VDD
    +關(guān)注

    關(guān)注

    1

    文章

    312

    瀏覽量

    33243
  • Innovus
    +關(guān)注

    關(guān)注

    1

    文章

    20

    瀏覽量

    2694
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Cadence Innovus助力Realtek成功開發(fā)DTV SoC解決方案

    楷登電子今日宣布,瑞昱半導(dǎo)體股份有限公司將 Cadence? Innovus? 設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)用于其最新 28nm 數(shù)字電視(DTV)系統(tǒng)級(jí)芯片的研發(fā)并成功流片,同時(shí)成功縮小了芯片面積并降低了功耗
    的頭像 發(fā)表于 05-07 13:11 ?4254次閱讀

    ARM處理器中斷處理理解

    ARM處理器中斷處理理解
    發(fā)表于 08-20 12:36

    不同優(yōu)先級(jí)中斷處理時(shí)怎么理解咬尾

    處理中斷時(shí),怎么理解咬尾呢
    發(fā)表于 03-28 03:34

    藍(lán)牙的事件和任務(wù)怎么理解

    1.藍(lán)牙的事件和任務(wù),我可以這么理解嘛。事件就好比一個(gè)引導(dǎo)者, 而任務(wù)好比執(zhí)行者。 當(dāng)發(fā)生事件的時(shí)候,就會(huì)有對(duì)應(yīng)的任務(wù)發(fā)生。當(dāng)任務(wù)處理完成以后對(duì)事件一個(gè)標(biāo)志位就進(jìn)行清除。2.事件和任務(wù)的僅僅只有定時(shí)循環(huán)嗎?還有什么?
    發(fā)表于 03-10 09:12

    innovus導(dǎo)出文件

    innovus導(dǎo)出文件
    發(fā)表于 12-17 06:38

    innovus工具的editPin怎么使用?

    innovus工具的editPin的特殊使用
    發(fā)表于 02-23 07:22

    處理器電源管理解決方案設(shè)計(jì)要點(diǎn)

    分析了處理器電源管理解決方案設(shè)計(jì)的要點(diǎn)。
    發(fā)表于 07-05 15:18 ?12次下載

    如何利用HLS功能創(chuàng)建圖像處理解決方案

    本方案利用 HLS 功能創(chuàng)建圖像處理解決方案,在可編程邏輯實(shí)現(xiàn)邊緣檢測(cè) (Sobel)。
    的頭像 發(fā)表于 05-13 17:47 ?3615次閱讀
    如何利用HLS功能創(chuàng)建圖像<b class='flag-5'>處理解</b>決方案

    innovus】大小寫重名的終極解決方法

    但我一直相信innovus自己應(yīng)該也能搞定。innovus沒有rename net的命令,那么有一種復(fù)雜的方法,先查找出net的所有terminal,用eco命令來手動(dòng)替換。
    的頭像 發(fā)表于 01-24 17:07 ?1177次閱讀
    【<b class='flag-5'>innovus</b>】大小寫重名的終極解決方法

    淺析INVS里的DanglingWire的自動(dòng)化修復(fù)實(shí)戰(zhàn)

    既然大家已經(jīng)了解了DanglingWire的出現(xiàn)原因,在進(jìn)行trim收到操作前,用戶需要對(duì)自己的PG 進(jìn)行優(yōu)化,來減少DanglingWire的出現(xiàn)幾率,這里有包括但不限于以下的一些建議
    的頭像 發(fā)表于 02-12 11:09 ?1097次閱讀

    innovus懸垂線的理解處理

    innovus里邊有不少physical DRC檢查工具,其中的verifyConnectivity 別有一番有趣的用法,借此機(jī)會(huì),一起來看看其中的一個(gè)亮點(diǎn)。
    的頭像 發(fā)表于 03-20 09:28 ?2774次閱讀

    innovusDanglingWire(懸垂線)的理解處理

    innovus里邊有不少physical DRC檢查工具,其中的verifyConnectivity 別有一番有趣的用法,借此機(jī)會(huì),一起來看看其中的一個(gè)亮點(diǎn)。
    的頭像 發(fā)表于 05-04 18:26 ?2278次閱讀
    <b class='flag-5'>innovus</b><b class='flag-5'>中</b>的<b class='flag-5'>DanglingWire</b>(懸垂線)的<b class='flag-5'>理解</b>和<b class='flag-5'>處理</b>

    MCU項(xiàng)目innovusget_db使用

    在Cadence Innovus環(huán)境,get_db是一個(gè)非常有用的命令,用于從設(shè)計(jì)數(shù)據(jù)庫中提取信息。你可以使用這個(gè)命令查詢?cè)O(shè)計(jì)的各種對(duì)象,如單元、引腳、網(wǎng)表等。以下是一些示例。
    的頭像 發(fā)表于 05-24 10:01 ?1675次閱讀
    MCU項(xiàng)目<b class='flag-5'>innovus</b><b class='flag-5'>中</b>get_db使用

    MCU項(xiàng)目innovusget_db使用

    在Cadence Innovus環(huán)境,get_db是一個(gè)非常有用的命令,用于從設(shè)計(jì)數(shù)據(jù)庫中提取信息。
    的頭像 發(fā)表于 05-24 10:01 ?3131次閱讀
    MCU項(xiàng)目<b class='flag-5'>innovus</b><b class='flag-5'>中</b>get_db使用

    INVS里的DanglingWire的自動(dòng)化修復(fù)實(shí)戰(zhàn)

    DanglingWire在INVS看來是可以進(jìn)行trim的,這些也基本出現(xiàn)在PG gen的過程
    的頭像 發(fā)表于 06-30 17:35 ?601次閱讀
    INVS里的<b class='flag-5'>DanglingWire</b>的自動(dòng)化修復(fù)實(shí)戰(zhàn)