国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何在先進(jìn)工藝節(jié)點(diǎn)利用Virtuoso Check/Assertion Flow

2016-12-01 03:57劉歡艷
電子技術(shù)應(yīng)用 2016年8期
關(guān)鍵詞:圖形界面電路設(shè)計(jì)瞬態(tài)

王 超,劉歡艷

(1.Spreadtrum,上海 201203;2.Cadence,上海201204)

如何在先進(jìn)工藝節(jié)點(diǎn)利用Virtuoso Check/Assertion Flow

王超1,劉歡艷2

(1.Spreadtrum,上海 201203;2.Cadence,上海201204)

Virtuoso和MMSIM有效結(jié)合,完整的 Check/Assertion flow包含:在圖形界面設(shè)置Check/Assert,通過仿真得到Check/Assert的結(jié)果,在圖形界面直接顯示Check/Assert的結(jié)果,對(duì)結(jié)果進(jìn)行各種靈活的后處理,并在 schematic直接進(jìn)行反標(biāo)。該流程可以覆蓋電路設(shè)計(jì)常用check需求,完全不依賴腳本,圖形界面讓工程師更容易上手,基于瞬態(tài)仿真的Dynamic Check相比其他工具更具優(yōu)勢(shì)。有效利用Check/Assert flow,可以幫助避免或及早發(fā)現(xiàn)設(shè)計(jì)中的一些常見問題,從而減少設(shè)計(jì)迭代,該流程在TSMC 16 nm和Intel 14 nm實(shí)際項(xiàng)目上得到應(yīng)用,很大程度地提高了設(shè)計(jì)效率。

Assert;Device Checking;Circuit Check;Check/Assertion flow

0 引言

隨著集成電路設(shè)計(jì)和先進(jìn)工藝技術(shù)的飛速發(fā)展,電路規(guī)模越來越大,電路越來越復(fù)雜,電路設(shè)計(jì)過程中,如何盡可能地避免潛在問題,遇到問題時(shí),如何盡快有效地定位和解決,成為電路設(shè)計(jì)工程師普遍關(guān)注的話題。電路仿真工具在提供大容量以及快速仿真能力的同時(shí),如果能支持器件級(jí)別及電路級(jí)別的各種檢查機(jī)制,對(duì)于有效地避免問題,定位問題和解決問題,會(huì)有幫助。電路設(shè)計(jì)平臺(tái)(Virtuoso)如果支持方便靈活地設(shè)置、看結(jié)果以及對(duì)結(jié)果進(jìn)行后處理,會(huì)使流程更順暢,使用更方便,工程師更容易上手,從而提高設(shè)計(jì)效率。

Assert又稱 Device Checking,是 Spectre/APS提供的主要用于器件級(jí)別的檢查機(jī)制,主要用于檢查電路中的器件電壓、電流、工作點(diǎn)、模型參數(shù)及自定義表達(dá)式等;Circuit Check是 Spectre/APS/XPS提供的主要用于電路級(jí)別的檢查機(jī)制,主要用于檢查特定的電路設(shè)計(jì)問題,最常見的包括檢查電路中的懸空輸入點(diǎn)、高阻點(diǎn)、低壓MOS管接到了高電壓域等。IC617/IC122的Virtuoso環(huán)境支持在 VSE XL圖形界面進(jìn)行 Assert和 Circuit Check的設(shè)置,Check的結(jié)果和其他仿真結(jié)果一起直接在 ADE XL界面顯示,可以方便地對(duì)Check/Assert的結(jié)果進(jìn)行各種后處理,并將有 Violation的器件及路徑直接反標(biāo)到schematic。該流程可以覆蓋電路設(shè)計(jì)常用check需求,完全不依賴腳本,圖形界面讓工程師更容易上手,基于瞬態(tài)仿真的Dynamic Check相比其他工具更具優(yōu)勢(shì)。有效利用 Check/Assert flow,可以幫助避免或及早發(fā)現(xiàn)設(shè)計(jì)中的一些常見問題,從而減少設(shè)計(jì)迭代,該流程在TSMC 16 nm和Intel 14 nm實(shí)際項(xiàng)目上得到應(yīng)用,很大程度地提高了設(shè)計(jì)效率。

1 Circuit Check

Circuit Check分為 Static Check和 Dynamic Check,前者主要基于電路拓?fù)浣Y(jié)構(gòu)進(jìn)行檢查,后者主要基于瞬態(tài)仿真結(jié)果進(jìn)行檢查。

Spectre/APS/XPS支持的Static Check主要包含如圖1所示的幾個(gè)類型,Static Check主要在電路解析階段基于電路拓?fù)浣Y(jié)構(gòu)和電壓傳遞信息進(jìn)行分析,不需要設(shè)置任何仿真類型,因此速度快,對(duì)于仿真速度幾乎沒有影響。

圖1 Static Check

其中,static_erc可以說是最簡單實(shí)用的 Static Check類型,可以用來檢查 dangling node,floatgate,floatbulk以及 hotwell等。Floatgate和 floatbulk比較容易理解,dangling node是指任意器件的 unconnected terminal;hotwell是指沒有連接到電源或地的 bulk node。這些都是常見的可能引入問題的連接關(guān)系或拓?fù)浣Y(jié)構(gòu),如果是仿真或測(cè)試結(jié)果出錯(cuò)再去查,往往費(fèi)時(shí)費(fèi)力而且會(huì)影響產(chǎn)品交付周期,如果在電路設(shè)計(jì)前期能及時(shí)或盡早地發(fā)現(xiàn),會(huì)很有意義。

另外兩個(gè)常用的 Static Check是 static_highz和 static_voltdomain.Static_highz從靜態(tài)的角度找出到電源和地之間沒有任何導(dǎo)電通路的節(jié)點(diǎn),也就是所謂的high impedance node,如圖2所示圓形節(jié)點(diǎn),這是電路設(shè)計(jì)中引入不確定電位從而導(dǎo)致漏電的一類常見問題。Static_voltdomain從靜態(tài)的角度找出電壓域連接出錯(cuò)的問題,最常見的是低閾值電壓的MOS管接到了高電壓域,容易導(dǎo)致?lián)舸┦У膯栴}。如圖3所示。

圖2 static_highz示例

圖3 static_voltdomain示例

Spectre/APS/XPS支持的 Dynamic Check主要包含如圖4所示的幾個(gè)類型,Dynamic Check主要在電路瞬態(tài)仿真階段基于瞬態(tài)仿真結(jié)果進(jìn)行分析,檢查結(jié)果和所加激勵(lì)有關(guān)。

圖4 Dynamic Check

前面提到的關(guān)于 high impedance node的檢查,除了有static_highz,也有對(duì)應(yīng)的dyn_highz,前者是靜態(tài)的,后者是動(dòng)態(tài)的。

除 dyn_highz以外,另外兩個(gè)常用的 dynamic check分別是 dyn_exi和 dyn_setuphold.Dyn_exi幫助找到在指定時(shí)間窗口內(nèi),電流超過某個(gè)指定門限的器件,這對(duì)于debug掉電模式時(shí)的漏電流問題會(huì)非常有幫助。Dyn_setuphold可以幫助檢查時(shí)序問題,對(duì)于時(shí)鐘和數(shù)據(jù)之間setup time或 hold time不滿足指定要求的會(huì)報(bào)錯(cuò)。關(guān)于這兩個(gè) Dynamic Check,后面我們會(huì)用實(shí)際項(xiàng)目中用到的例子作進(jìn)一步詳細(xì)介紹,這里先不展開。

2 Virtuoso Check/Assertion Flow

仿真器提供仿真和上述的Circuit Check功能,Virtuoso提供設(shè)計(jì)環(huán)境,可以在不熟悉check語句語法的情況下,輕松完成整個(gè)流程,具體流程圖如圖5所示。使用該流程的過程會(huì)涉及VSE XL(Virtuoso Schematic Editor XL)中的 Checks and assertions assistant,以及 ADE XL(Analog Design Environment XL),后面我們會(huì)用實(shí)際用例介紹具體設(shè)置和看結(jié)果的詳細(xì)過程。

圖5 Virtuoso Check/Assert流程示意圖

3 Dyn_setuphold在Virtuoso Check/Assert流程中的具體應(yīng)用

我們的實(shí)際項(xiàng)目中經(jīng)常會(huì)涉及到一些custom digital設(shè)計(jì),時(shí)序檢查對(duì)這一類型的設(shè)計(jì)非常重要,最典型的就是時(shí)鐘和數(shù)據(jù)之間的setup time和hold time需要滿足一定的要求,dyn_setuphold check正好可以滿足這一類的檢查需求。下面以圖6所示的最簡單的DFF鏈路的例子來詳細(xì)闡述 dyn_setuphold在 Virtuoso Check/Assert流程中的具體應(yīng)用。

圖6 Dyn_setuphold testbench示意圖

如圖7所示,在 ADE XL中點(diǎn)擊‘Click to edit checks’,會(huì)自動(dòng)跳轉(zhuǎn)到 VSE XL界面,并打開 Checks/Asserts Assistant,在 Checks/Asserts Assistant選擇并設(shè)置好dyn_setuphold check,如圖8所示。

圖7 Click to edit checks in ADE XL

圖8 Checks/Asserts Assistant in VSE XL

這個(gè)例子,時(shí)鐘信號(hào)是CK,數(shù)據(jù)信號(hào)包括D2,D22和D222,時(shí)鐘周期為 800 ps,設(shè)置 setup time和hold time都不能小于200 ps,如果不滿足應(yīng)報(bào)錯(cuò)。

如圖9所示,可以在ADE XL中選擇‘View Netlisted Checks/Asserts’直接看到生成的 Check語句,如圖10所示。

圖9 View Netlisted Checks/Asserts

圖10 Netlisted Checks/Asserts

設(shè)置并進(jìn)行正常的瞬態(tài)仿真,仿真結(jié)束以后,在ADE XL不僅可以看到正常的仿真結(jié)果和波形,同時(shí)還可以看到Checks/Asserts的結(jié)果,如圖11所示,可以很清楚地看到信號(hào)D22有hold time violation,信號(hào)D222有setup time violation,而且可以看出每個(gè)violation發(fā)生的具體時(shí)間點(diǎn),對(duì)應(yīng)上升沿還是下降沿等具體信息。如圖12所示,可以選擇只看setup violation或只看hold violation。

如圖13所示,D22和 CK之間的 hold time只有132.0 ps,不滿足200 ps的要求,D222和CK之間的setup time只有 67.94 ps,也不滿足 200 ps的要求,從而進(jìn)一步驗(yàn)證了圖11和圖12顯示的結(jié)果。

在圖11和圖12中點(diǎn)擊任意一個(gè)信號(hào),如D2,會(huì)直接跳轉(zhuǎn)到VSE窗口,放大并點(diǎn)亮D2信號(hào),如圖14所示,這是 ADE XL和 schematic之間的 cross-probing功能,方便快速找到有 violation的信號(hào)。

圖11 Dyn_setuphold check結(jié)果

圖12 Dyn_setuphold check結(jié)果—— setup violation

圖13 Dyn_setuphold check結(jié)果波形

在ADE XL中,可以添加一類新的表達(dá)式,名為‘Violation Filter’,通過這種表達(dá)式,可以很方便地對(duì)Checks/Asserts的結(jié)果進(jìn)行統(tǒng)計(jì),如圖15所示,新添加的Violation Filter表達(dá)式缺省統(tǒng)計(jì)所有的 Checks/Asserts violation一共有多少個(gè),可以很方便地對(duì)統(tǒng)計(jì)內(nèi)容進(jìn)行調(diào)整。

4 Dyn_exi在Virtuoso Check/Assert流程中的具體應(yīng)用

接下來,我們繼續(xù)討論在另一個(gè)項(xiàng)目中,如果利用dyn_exi debug解決power down模式的漏電流問題。

問題現(xiàn)象是電路前仿真結(jié)果正常,后仿真在power down模式會(huì)有異常的漏電流,電路設(shè)計(jì)工程師花了很長時(shí)間都沒有找出這個(gè)漏電流是如何引起的。

對(duì)于這一類問題,有一個(gè)很方便的方法,就是通過dyn_exi check找出在指定的時(shí)間窗口,哪個(gè)或哪些器件的電流超出了定義的門限,找到這個(gè)或這些器件之后,trace其端口電壓,可以很快找出問題的原因。

Dyn_exi check具體的設(shè)置語句如圖16所示。

圖14 Dyn_setuphold check結(jié)果波形

圖15 缺省的Violation Filter

通過設(shè)置dyn_exi check,找到漏電的器件,并trace其端口電壓之后,我們發(fā)現(xiàn)圖17所示電路圖中信號(hào) ca1有異常。VDDESD是2.8 V,但是后仿結(jié)果中ca1是0 V。

根據(jù)上述線索,電路設(shè)計(jì)工程師提供簡化的test case重現(xiàn)問題,然后我們發(fā)現(xiàn)圖17中的電阻R0在后仿真用到的 rcc extraction view中出現(xiàn)了連接關(guān)系斷掉的情況。如圖18所示,63個(gè)串聯(lián)電路由于串聯(lián)節(jié)點(diǎn)出錯(cuò)沒有徹底連通,從而導(dǎo)致出錯(cuò)。

圖16 Dyn_exi設(shè)置語句

圖17 Dyn_exi示例局部電路原理圖

圖18 Dyn_exi示例局部網(wǎng)表

這是抽取工具引起的,找到原因以后,通過抽取工具得到了及時(shí)有效地解決。

5 Static_erc在Virtuoso Check/Assert流程中的具體應(yīng)用

下面我們?cè)倥e另一個(gè)實(shí)際項(xiàng)目的例子,關(guān)于如何利用static_erc check debug后仿真結(jié)果不正確的問題。

問題現(xiàn)象也是電路前仿真結(jié)果正常,后仿真結(jié)果異常,電路設(shè)計(jì)工程師懷疑后仿網(wǎng)表有問題,經(jīng)過一段時(shí)間debug以后,發(fā)現(xiàn)圖 19中的 in(input pin)后面接的反向器I0的輸出out1有錯(cuò),in為0電平時(shí),out1仍為0電平,反向器沒有正常工作。

圖 19 Static_erc示例局部電路原理圖1

我們?cè)谶@個(gè)項(xiàng)目上采用了 static_erc check,試圖找出后仿網(wǎng)表中是否存在dangling node。

用 static_erc找 dangling node的 check設(shè)置如圖 20所示。

圖20 Static_erc—dangling node設(shè)置

如圖21所示,通過static_erc check,我們很快找到后仿網(wǎng)表中存在dangling node,反向器gate端的寄生電阻導(dǎo)致PMOS和NMOS的gate和input pin(in)都沒有連通,從而導(dǎo)致出錯(cuò)。這個(gè)也是抽取工具的問題,定位具體原因以后,也很快通過抽取工具得到了及時(shí)有效的解決。

圖 21 Static_erc—dangling node示例局部電路原理圖2

6 總結(jié)

本文簡單介紹了 Spectre/APS/XPS支持的 Circuit Check類型及其原理,以及 Virtuoso Checks/Asserts完整流程,通過 dyn_setuphold,dyn_exi和static_erc 3種最常用的check類型,詳細(xì)闡述了如何設(shè)置 Circuit Check,如何看check結(jié)果,以及如何方便地對(duì) check結(jié)果進(jìn)行后處理。通過這3個(gè)例子,我們可以清楚地看到Circuit Check如何在具體項(xiàng)目中得以應(yīng)用,并分別適用于解決哪些類型的問題。可以看出,該流程能夠覆蓋電路設(shè)計(jì)常用check需求,完全不依賴腳本,圖形界面讓工程師更容易上手,基于瞬態(tài)仿真的Dynamic Check相比其他工具更具優(yōu)勢(shì)。有效利用Check/Assert flow,可以幫助避免或及早發(fā)現(xiàn)設(shè)計(jì)中的一些常見問題,從而減少設(shè)計(jì)迭代,該流程在TSMC 16nm和 Intel 14nm實(shí)際項(xiàng)目上得到應(yīng)用,從而很大程度地提高了設(shè)計(jì)效率。

How to use Virtuoso Check/Assertion Flow in advanced node IC design

Wang Chao1,Liu Huanyan2
(1.Spreadtrum,Shanghai 201203,China;2.Cadence,Shanghai 201204,China)

IC617/IC122 support circuit check and assertions base on virtuoso GUI flow,which include GUI setup in VSE XL(Virtuoso Schematic Editor XL)checks/assertions assistant,view checks/assertions results in ADE XL,flexible post-processing for checks/assertions results,especially schematic crossing probing,which backannotate violation path and violationgdevices onto schematic directly.The virtuoso checks/assertions flow can cover most requirements on both device level and circuit level check mechanisum.The GUI flow makes everything easy,designers do no need to be familiar about the syntax of the check statements, it’s more easy for designers to accept and get used to the use model,the dynamic check which base on transient simulation have obvious advantage compare with other tools.Using checks/assertions flow efficiently,can help designers avoid or find some common design issues as early as possible,thus help decrease the design iteration.The virtuoso checks/assertions flow is used in TSMC 16nm and Intel 14nm project,it helps improve the design efficiency obviously.

Assert;Device Checking;Circuit Check;Check/Assertion flow

TN402

A

10.16157/j.issn.0258-7998.2016.08.005

2016-06-20)

王超(1982-),男,碩士,工程師,主要研究方向:ASIC Analog&RF,EDA Tool,F(xiàn)low Support。

劉歡艷(1981-),女,碩士,工程師,主要研究方向:Virtuoso平臺(tái)前端產(chǎn)品、仿真工具。

中文引用格式:王超,劉歡艷.如何在先進(jìn)工藝節(jié)點(diǎn)利用 Virtuoso Check/Assertion Flow[J].電子技術(shù)應(yīng)用,2016,42 (8):28-32.

英文引用格式:Wang Chao,Liu Huanyan.How to use Virtuoso Check/Assertion Flow in advanced node IC design[J].Application of Electronic Technique,2016,42(8):28-32.

猜你喜歡
圖形界面電路設(shè)計(jì)瞬態(tài)
高壓感應(yīng)電動(dòng)機(jī)斷電重啟時(shí)的瞬態(tài)仿真
Altium Designer在電路設(shè)計(jì)中的應(yīng)用
負(fù)反饋放大電路設(shè)計(jì)
用VMRun快速置備千臺(tái)虛擬機(jī)
開漏輸出比較器的峰值檢測(cè)電路設(shè)計(jì)
重看圖形界面“扁平化”與“擬物化”之爭(zhēng)——關(guān)于設(shè)計(jì)思維的探討
十億像素瞬態(tài)成像系統(tǒng)實(shí)時(shí)圖像拼接
基于瞬態(tài)流場(chǎng)計(jì)算的滑動(dòng)軸承靜平衡位置求解
DC/DC變換器中的瞬態(tài)特性分析
VxWorks系統(tǒng)下基于WindML的窗口化圖形界面設(shè)計(jì)
耒阳市| 新营市| 扬州市| 建昌县| 西乌珠穆沁旗| 余姚市| 苏尼特左旗| 广宗县| 巫溪县| 宁海县| 通许县| 拉孜县| 朝阳市| 阿鲁科尔沁旗| 凭祥市| 花莲县| 南开区| 木兰县| 辽阳市| 昔阳县| 洪洞县| 花莲县| 子洲县| 汶川县| 京山县| 西丰县| 平罗县| 札达县| 安陆市| 博乐市| 闽清县| 宁夏| 密山市| 塘沽区| 桃源县| 高阳县| 栾川县| 宜丰县| 抚顺市| 安国市| 昭觉县|