日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 艾思后端實現(xiàn)
對于物理驗證中的LVS,需要對各種物理器件進行SpiceVsGDS的比對,基于現(xiàn)在流行的std-cell的庫的設(shè)計方法,LVS需要對CMOS器件多相應(yīng)的處理,這里會涉及到一些具體的物理庫的知識和小的技巧,這里結(jié)合具體的物理設(shè)計和CDL形態(tài),一起探討一下std-cell的在LVS的特殊處理,ICer GO!

標(biāo)準(zhǔn)單元庫一瞥

常規(guī)的標(biāo)準(zhǔn)單元庫(std-cell)是標(biāo)準(zhǔn)的CMOS設(shè)計,由于采用P襯底的設(shè)計出來的CMOS器件的速度優(yōu)勢,目前業(yè)界流行的做法就是采用P型襯底(P substrate)來實現(xiàn)的

  • NMOS 直接坐在P-sub上

  • PMOS 則做在P-sub上的NWELL
    譬如下面的一個簡單的工藝刨面圖

    以上邊的NMOS為例,通常有更為常見的是下面的一個示意圖



    比較上述兩個圖,可以看到,每一個NMOS都會有一個bulk(體)的連接(有些場合也被稱作body)



在NMOS里邊,這個bulk的作用就是將當(dāng)前NMOS的P-sub做一個連接,通常P-sub是連接到VSS上的。
如果芯片里邊有非常多的std-cell連續(xù)分布(這個也是常規(guī)做法),那么在版圖里邊就會有類似下列的一個刨面圖:

由于所有的NMOS都是做在一片完整的P-sub上,自然NMOS的BULK需要連接到同樣的電位VSS上,這里就是模擬設(shè)計里邊常說的TAP 結(jié)構(gòu)了。
可以看到,這個TAP結(jié)構(gòu)完全是一個通用結(jié)構(gòu),為了節(jié)省std-cell的面積,目前業(yè)界比較流行的做法就是設(shè)計tapless(免TAP)的std-cell,然后使用公用的TAP cell將bulk連接到VSS上,這樣對于節(jié)省std-cell的面積很有好處,但是考慮到TAP的電位對于std-cell的bulk的影響,工藝會給出具體的TAP的間距(目前流行的做法是checkerBoard/stagger的做法),APR工具為也提供了具體的命令和參數(shù),支持std-cell的這種設(shè)計結(jié)構(gòu)。
通過學(xué)習(xí)std-cell的形態(tài),可以明確下列要點
**- std-cell都是tapless的結(jié)構(gòu)

  • bulk需要使用TAP cell 分別將同列的std-cell的P-sub和NWELL分別連接到VSS和VDD上**

LVS的挑戰(zhàn)

由于bulk在std-cell上PG和信號連接上是沒有明顯貢獻的,對于使用none-bias的流程的std-cell,通常是無法在std-cell看到這個bulk的管腳的,譬如下面LEF的示例:


可以看到,這里有PG管腳的聲明,但是沒有聲明bulk的管腳。
但是對于LVS而言,CMOS是一個四端器件,在驗證柵源漏的同時,也需要完成對bulk的連接驗證,這個也是符合APR的TAP的布局連接的。所以,這里需要打開CDL來一看究竟,見下圖


可以看到,相較LEF而言,最后做LVS的CDL里邊,會有bulk的連接描述。對于none-bias的std-cell而言,bulk的物理連接可以簡單的連接到PG上,基本如下圖



通常的LVS里邊的source netlist是來自于APR工具,APR對于PG netlist的抽取,又是依賴于UPF和LEF的,所以綜上,用戶會遇到一種情形,LVS PG netlist對std-cell的描述會和最終的std-cell CDL出現(xiàn)分歧:source nelist的std-cell會缺失bulk連接聲明,

很明顯,同樣的cell在LVS的source netlist缺失了bulk的連接,這樣的LVS的比對,會發(fā)生大面積的std-cell port mismatch error,是無法進行的

v2lvs的高階用法

但是這個問題看起來有一些奇怪,既然LEF里邊沒有聲明bulk,同時在none-bias的flow下,bulk也無法被引用,這樣的LVS是不是就走到死胡同了嗎?當(dāng)然不是,這里還是要回歸問題本真。
std-cell的bulk僅僅是需要一個連接聲明,具體說來就是兩類

  • P-sub的bulk連接到VSS上

  • NWell的bulk連接到VDD上
    這個需要在LVS的source netlist處理一下就好(當(dāng)然APR是沒有這個魔法的)。
    LVS的source netlist 通常是從APR的PG netlist得到的,但是由于LVS是基于spiec比對的,所以一個簡單示意如下:




    通常而言v2lvs就是簡單的把verilog 轉(zhuǎn)換成spice格式,但是bulk的處理需要一些高級的用法,尤其是當(dāng)設(shè)計中使用了多個power domain的時候,譬如下面這個示例:




    所以,對于處于不同層次/block的std-cell的PG連接就會不太一樣,類似的bulk連接也會不一樣,具體描述如下表

block PD power ground NWell P-sub
block1 PD1 VDD1 VSS VDD1 VSS
block2 PD2 VDD2 VSS VDD2 VSS

這種情形需要使用v2lvs的tcl模式進行細化處理,才能很好的將處于不同block的std-cell的 bulk連接處理完美


上述命令可以在基于當(dāng)前std-cell 的PG連接關(guān)系,衍生出對應(yīng)的bulk的連接,會變成下面的情形:




這樣處理以后,LVS的std-cell的port mismatch也就完美解決了,


PS: 具體的流程腳本,近期會在小編的知識星球(艾思IC后端設(shè)計)中發(fā)布


【敲黑板劃重點】

v2lvs插上TCL的翅膀,在復(fù)雜的netlist也可以處理的游刃有余,再也不用寫一堆perl腳本去patch netlist。流程看起來也會更正規(guī)也提高了流暢性。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉