《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 如何在先进工艺节点利用Virtuoso Check/Assertion Flow
如何在先进工艺节点利用Virtuoso Check/Assertion Flow
2016年电子技术应用第8期
王 超1,刘欢艳2
1.Spreadtrum,上海201203;2.Cadence,上海201204
摘要: Virtuoso和MMSIM有效结合,完整的Check/Assertion flow包含:在图形界面设置Check/Assert, 通过仿真得到Check/Assert的结果,在图形界面直接显示Check/Assert的结果,对结果进行各种灵活的后处理,并在schematic 直接进行反标。该流程可以覆盖电路设计常用check需求,完全不依赖脚本,图形界面让工程师更容易上手,基于瞬态仿真的Dynamic Check相比其他工具更具优势。有效利用Check/Assert flow, 可以帮助避免或及早发现设计中的一些常见问题,从而减少设计迭代,该流程在TSMC 16 nm和Intel 14 nm实际项目上得到应用,很大程度地提高了设计效率。
中圖分類號: TN402
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.005
中文引用格式: 王超,劉歡艷. 如何在先進工藝節點利用Virtuoso Check/Assertion Flow[J].電子技術應用,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.
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
Abstract: 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 violationg devices 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.
Key words : Assert;Device Checking;Circuit Check;Check/Assertion flow

0 引言

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

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

1 Circuit Check

  Circuit Check分為Static Check和Dynamic Check,前者主要基于電路拓撲結構進行檢查,后者主要基于瞬態仿真結果進行檢查。

  Spectre/APS/XPS支持的Static Check主要包含如圖1所示的幾個類型, Static Check主要在電路解析階段基于電路拓撲結構和電壓傳遞信息進行分析,不需要設置任何仿真類型,因此速度快,對于仿真速度幾乎沒有影響。

圖像 001.png

圖1  Static Check

  其中,static_erc 可以說是最簡單實用的Static Check類型,可以用來檢查dangling node,floatgate,floatbulk以及hotwell 等。Floatgate和floatbulk比較容易理解,dangling node是指任意器件的unconnected terminal;hotwell是指沒有連接到電源或地的bulk node。這些都是常見的可能引入問題的連接關系或拓撲結構,如果是仿真或測試結果出錯再去查,往往費時費力而且會影響產品交付周期,如果在電路設計前期能及時或盡早地發現,會很有意義。

  另外兩個常用的Static Check是static_highz 和static_voltdomain.  Static_highz從靜態的角度找出到電源和地之間沒有任何導電通路的節點,也就是所謂的high impedance node,如圖2所示圓形節點,這是電路設計中引入不確定電位從而導致漏電的一類常見問題。Static_voltdomain從靜態的角度找出電壓域連接出錯的問題,最常見的是低閾值電壓的MOS管接到了高電壓域,容易導致擊穿失效的問題。如圖3所示。

圖像 002.png

圖2  static_highz 示例

圖像 003.png

圖3  static_voltdomain示例

  Spectre/APS/XPS支持的Dynamic Check 主要包含如圖4所示的幾個類型,Dynamic Check主要在電路瞬態仿真階段基于瞬態仿真結果進行分析,檢查結果和所加激勵有關。

圖像 004.png

圖4  Dynamic Check

  前面提到的關于high impedance node的檢查,除了有static_highz, 也有對應的dyn_highz, 前者是靜態的,后者是動態的。

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

2 Virtuoso Check/Assertion Flow

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

圖像 005.png

圖5  Virtuoso Check/Assert 流程示意圖

3 Dyn_setuphold 在Virtuoso Check/Assert流程中的具體應用

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

圖像 006.png

圖6  Dyn_setuphold testbench 示意圖

  如圖7所示,在ADE XL中點擊‘Click to edit checks’, 會自動跳轉到VSE XL界面,并打開 Checks/Asserts Assistant,  在Checks/Asserts Assistant選擇并設置好dyn_setuphold check,如圖8所示。

圖像 007.png

圖7  Click to edit checks in ADE XL

  這個例子,時鐘信號是CK, 數據信號包括D2, D22 和D222,時鐘周期為800 ps,設置setup time和hold time都不能小于200 ps, 如果不滿足應報錯。

圖像 008.png

圖8  Checks/Asserts Assistant in VSE XL

圖像 009.png

圖9  View Netlisted Checks/Asserts

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

圖像 010.png

圖10  Netlisted Checks/Asserts

圖像 011.png

圖11  Dyn_setuphold check結果

  設置并進行正常的瞬態仿真,仿真結束以后,在ADE XL不僅可以看到正常的仿真結果和波形,同時還可以看到Checks/Asserts的結果,如圖11所示,可以很清楚地看到信號D22有hold time violation,信號D222有setup time violation,而且可以看出每個violation發生的具體時間點,對應上升沿還是下降沿等具體信息。如圖12所示,可以選擇只看setup violation或只看hold violation。

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

圖像 012.png

圖12  Dyn_setuphold check結果—— setup violation

圖像 013.png

圖13  Dyn_setuphold check結果波形

圖像 014.png

圖14  Dyn_setuphold check結果波形

圖像 015.png

圖15  缺省的Violation Filter

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

  在ADE XL中,可以添加一類新的表達式,名為‘Violation Filter’,通過這種表達式,可以很方便地對Checks/Asserts的結果進行統計,如圖15所示,新添加的Violation Filter表達式缺省統計所有的Checks/Asserts violation一共有多少個,可以很方便地對統計內容進行調整。

4 Dyn_exi 在Virtuoso Check/Assert流程中的具體應用

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

  問題現象是電路前仿真結果正常,后仿真在power down模式會有異常的漏電流,電路設計工程師花了很長時間都沒有找出這個漏電流是如何引起的。

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

  Dyn_exi check具體的設置語句如圖16所示。

圖像 016.png

圖16  Dyn_exi 設置語句

  通過設置dyn_exi check,找到漏電的器件,并trace其端口電壓之后,我們發現圖17所示電路圖中信號ca1有異常。VDDESD是2.8 V,但是后仿結果中ca1是0 V。

圖像 017.png

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

  根據上述線索,電路設計工程師提供簡化的test case重現問題,然后我們發現圖17中的電阻R0在后仿真用到的rcc extraction view中出現了連接關系斷掉的情況。如圖18所示,63個串聯電路由于串聯節點出錯沒有徹底連通,從而導致出錯。

圖像 018.png

圖18  Dyn_exi 示例局部網表

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

5 Static_erc在Virtuoso Check/Assert流程中的具體應用

  下面我們再舉另一個實際項目的例子,關于如何利用static_erc check debug后仿真結果不正確的問題。

  問題現象也是電路前仿真結果正常,后仿真結果異常,電路設計工程師懷疑后仿網表有問題, 經過一段時間debug以后,發現圖19中的in(input pin)后面接的反向器I0的輸出out1有錯,in 為0電平時,out1仍為0電平,反向器沒有正常工作。

圖像 019.png

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

  我們在這個項目上采用了static_erc check, 試圖找出后仿網表中是否存在dangling node。

  用static_erc找dangling node的check設置如圖20所示。

圖像 020.png

圖20  Static_erc—dangling node設置

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

圖像 021.png

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

6 總結

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


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久免费观看视频| 久久精品99久久久久久久久| 日韩精品视频一区二区在线观看| 亚洲一二区在线| 奇米影视首页 狠狠色丁香婷婷久久综合| 日韩美女视频中文字幕| 日韩一级特黄毛片| 国产在线欧美日韩| 91国内在线视频| 极品尤物一区二区三区| www.久久色.com| 国产在线高清精品| 久久久久亚洲精品国产| 亚洲自拍欧美另类| 国产精品初高中精品久久| 久久精品99久久| 国产一区亚洲二区三区| 久久久久久久久久婷婷| 久久色精品视频| 精品亚洲第一| 久久精品国产2020观看福利| 欧洲日韩成人av| 欧美大片欧美激情性色a∨久久 | 欧美大片欧美激情性色a∨久久| 国产精品天天狠天天看| 亚洲国产欧美不卡在线观看| 亚洲综合成人婷婷小说| 久久激情五月丁香伊人| 午夜精品久久久内射近拍高清| 久久av中文字幕| 日韩精品一区二区在线视频| 国产日韩一区欧美| 久久亚洲免费| 亚洲专区国产精品| 国产日韩在线视频| 日韩中文字幕在线视频播放| 国产精品日本精品| 欧美精品尤物在线| 日韩视频专区| 午夜精品一区二区三区在线视频 | 亚洲v日韩v欧美v综合|