《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué)
行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué)
2019年電子技術(shù)應(yīng)用第8期
廖 璐1,候春源1,李躍平1,王 美1,劉歡艷2,黃丞權(quán)2,徐南南2,董麗霞2
1.紫光長(zhǎng)存(上海)集成電路有限公司,上海200120;2.Cadence Design System,上海200120
摘要: 在混合信號(hào)芯片設(shè)計(jì)領(lǐng)域,Verilog/Systemverilog/VHDL等行為級(jí)模型被廣泛應(yīng)用于描述模擬和混合信號(hào)模塊的電路特性,用以幫助實(shí)現(xiàn)更快速全面的全芯片功能驗(yàn)證。為了保證正確、有效和全面的全芯片功能驗(yàn)證,電路模塊的行為級(jí)模型和晶體管級(jí)設(shè)計(jì)之間的功能比對(duì)驗(yàn)證(Behavior vs.Schematic,BVS)非常關(guān)鍵。在此之前,利用現(xiàn)有的EDA工具,只能進(jìn)行邏輯狀態(tài)的BVS矢量檢查,而不能進(jìn)行實(shí)數(shù)類型的矢量檢查。為了更好地描述模擬和混合信號(hào)模塊的行為特性,采用了Wreal模型和SV-UDT(Systemverilog-User Defined Type), 因此對(duì)EDA工具提出了新的要求,需要其支持實(shí)數(shù)類型的矢量檢查。本文描述了一種行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué),基于Cadence XPS仿真器的矢量檢查功能,可以同時(shí)實(shí)現(xiàn)邏輯狀態(tài)和實(shí)數(shù)類型的自動(dòng)比對(duì)檢查。實(shí)數(shù)類型矢量檢查是向EDA供應(yīng)商Cadence提出的一種新的概念和需求,且已經(jīng)在XPS仿真器中成功實(shí)現(xiàn)。
中圖分類號(hào): TN402
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.199807
中文引用格式: 廖璐,候春源,李躍平,等. 行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué)[J].電子技術(shù)應(yīng)用,2019,45(8):63-67.
英文引用格式: Liao Lu,Hou Chunyuan,Li Yueping,et al. Automatic simulation method for functional equivalence check[J]. Application of Electronic Technique,2019,45(8):63-67.
Automatic simulation method for functional equivalence check
Liao Lu1,Hou Chunyuan1,Li Yueping1,Wang Mei1,Liu Huanyan2,Huang Chengquan2,Xu Nannan2,Dong Lixia2
1.Unigroup Yangtze Memory Technologies(Shanghai) Co.,Ltd.,Shanghai 200120,China; 2.Cadence Design System,Shanghai 200120,China
Abstract: In the mixed-signal chip, behavioral model is widely used to describe the behavior of the analog/mixed-signal blocks in Verilog/Systemverilog/VHDL so as to facilitate the fullchip netlisting for the fullchip Verilog simulation. In order to ensure correct,effective and comprehensine function verification of full chip,functional comparison and verification between behavioral module and transistor-level design of circuit module is very important. Currently, BVS is verified only through the logic state vector check with existing official EDA tools without real value checking. To better describe the analog/mixed-signal blocks behavior, Wreal modeling and SV-UDT are used, thus BVS check with real type vector check capability is required. This paper describes an automatic simulation method for equivalence check of both real value auto compare and logic state auto compare based on XPS vector check feature, the real type vector check is new idea provided to EDA vendor and has already been implemented in XPS successfully.
Key words : functional equivalence check;BVS;Wreal modeling;real type vector check;XPS

0 引言

    隨著集成電路技術(shù)的進(jìn)步與發(fā)展,混合信號(hào)芯片現(xiàn)今被廣泛使用,該芯片設(shè)計(jì)領(lǐng)域通常需要采用大量測(cè)試矢量進(jìn)行全芯片功能驗(yàn)證仿真,因此,對(duì)模擬和混合信號(hào)模塊建立快速、準(zhǔn)確的行為級(jí)模型至關(guān)重要[1]。這些行為級(jí)模型既要和實(shí)際電路端口一致,還要能正確體現(xiàn)實(shí)際電路的功能和重要行為特性,且不能對(duì)全芯片功能驗(yàn)證仿真速度造成太大影響[2]。為了更準(zhǔn)確地描述模擬和混合信號(hào)模塊的行為特性,例如電路中的電壓都是實(shí)數(shù)值,而不是簡(jiǎn)單的0和1,采用了Wreal模型和SV-UDT來(lái)實(shí)現(xiàn)模塊實(shí)數(shù)電壓的建模。此外,為保證正確、有效和全面的全芯片功能驗(yàn)證仿真,需要對(duì)各個(gè)模塊的行為級(jí)模型和晶體管級(jí)電路進(jìn)行功能比對(duì)驗(yàn)證。采用Cadence XPS仿真器的矢量檢查功能對(duì)行為級(jí)模型的Verilog仿真結(jié)果和晶體管級(jí)電路的Spice仿真結(jié)果進(jìn)行比對(duì)驗(yàn)證,把這套方法稱為BVS流程或者BVS檢查。

    在此之前,利用現(xiàn)有的EDA工具,只能進(jìn)行邏輯狀態(tài)的BVS矢量檢查,而不能進(jìn)行實(shí)數(shù)類型的矢量檢查,因此,對(duì)EDA工具提出了新的要求,需要其支持實(shí)數(shù)類型的矢量檢查。此外,功能比對(duì)驗(yàn)證時(shí)所采用的輸入激勵(lì)傳統(tǒng)上是根據(jù)工程師對(duì)于電路模塊的理解手動(dòng)生成的,這樣采用的輸入激勵(lì)覆蓋率不夠全面,因此,需要一種自動(dòng)生成覆蓋率全面的輸入激勵(lì)的方法。

    基于BVS功能比對(duì)驗(yàn)證的重要性,本文描述了一種行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué),采用Cadence XPS仿真器的矢量檢查功能,可以同時(shí)實(shí)現(xiàn)邏輯狀態(tài)和實(shí)數(shù)類型的自動(dòng)比對(duì)驗(yàn)證。

1 傳統(tǒng)的邏輯狀態(tài)矢量檢查

    傳統(tǒng)的邏輯狀態(tài)矢量檢查可以通過(guò)圖1所示的BVS自動(dòng)比對(duì)流程實(shí)現(xiàn)。其中,模塊的行為級(jí)模型用NC-Verilog進(jìn)行仿真,對(duì)應(yīng)的晶體管級(jí)電路用XPS進(jìn)行仿真,并通過(guò)在XPS仿真中添加測(cè)試矢量文件,對(duì)上述兩種仿真結(jié)果進(jìn)行自動(dòng)比對(duì),用以驗(yàn)證行為級(jí)模型和晶體管級(jí)電路的功能是否匹配。

wdz4-t1.gif

    圖2給出了通過(guò)行為級(jí)模型Verilog仿真生成的測(cè)試矢量文件以及XPS如何基于該文件進(jìn)行自動(dòng)比對(duì)的實(shí)例。生成的測(cè)試矢量文件主要包含了如下幾個(gè)分支:vname、io定義,檢查時(shí)間窗口以及信號(hào)切換監(jiān)測(cè)。其中,vname用于列出所仿模塊所有輸入和輸出pin腳的名字。io定義用于說(shuō)明每個(gè)pin腳的類型,輸入pin為“i”,輸出pin為“o”,對(duì)于矢量文件中的輸入pin腳,它在XPS仿真時(shí)會(huì)根據(jù)矢量文件中設(shè)定的Vih和Vil值轉(zhuǎn)換成PWL電壓源;對(duì)于矢量文件中的輸出pin腳,它的值會(huì)被認(rèn)作為預(yù)計(jì)邏輯輸出,然后XPS的模擬實(shí)際輸出會(huì)根據(jù)矢量文件中設(shè)定的Voh和Vol值轉(zhuǎn)換成實(shí)際邏輯輸出,并與預(yù)計(jì)邏輯輸出進(jìn)行比對(duì)驗(yàn)證;對(duì)于io定義為“u”的pin腳,表示為沒(méi)有用到的pin腳,仿真時(shí)會(huì)被接到高阻態(tài),并且不會(huì)對(duì)這個(gè)pin腳進(jìn)行任何比對(duì)驗(yàn)證。檢查時(shí)間窗口定義了在哪個(gè)時(shí)間段對(duì)實(shí)際輸出和預(yù)計(jì)輸出進(jìn)行比對(duì),通常會(huì)選擇實(shí)際輸出信號(hào)建立穩(wěn)定后的時(shí)間窗口,如圖3所示。信號(hào)切換監(jiān)測(cè)會(huì)打印出所有輸入pin腳和輸出pin腳的信號(hào)切換值,以確保用于行為級(jí)模型Verilog仿真和晶體管級(jí)電路Spice仿真的輸入激勵(lì)相同,并且所有相應(yīng)的輸出都會(huì)被比對(duì)驗(yàn)證。

wdz4-t2.gif

wdz4-t3.gif

    進(jìn)行邏輯狀態(tài)自動(dòng)比對(duì)時(shí),如果實(shí)際邏輯輸出和預(yù)計(jì)邏輯輸出不匹配,也即是違反了匹配需求條件,如表1所示,則警告和錯(cuò)誤信息會(huì)被寫入矢量檢查出錯(cuò)報(bào)告中,如圖4所示。如果完全匹配,則出錯(cuò)報(bào)告會(huì)是一個(gè)空文件。

wdz4-b1.gif

wdz4-t4.gif

2 新改進(jìn)的實(shí)數(shù)類型矢量檢查

    只包含邏輯狀態(tài)的行為級(jí)模型用來(lái)描述模擬模塊行為特性會(huì)有較大的局限性。如圖5所示,例如:(1)不能描述輸出電壓和電源電壓之間的相關(guān)性;(2)電路中被不同模塊多級(jí)驅(qū)動(dòng)的節(jié)點(diǎn)不能被正確描述,從而不能正確反映實(shí)際電路真實(shí)情況;(3)模塊內(nèi)部中被多級(jí)驅(qū)動(dòng)的節(jié)點(diǎn)不能被正確描述,對(duì)應(yīng)的電壓轉(zhuǎn)換不能被正確體現(xiàn)出來(lái)。Wreal模型和SV-UDT的引入和組合應(yīng)用可以幫助克服這些局限性[3],通過(guò)SV-UDT,可以基于建模需求去定義一些特定的信號(hào)類型,例如同一個(gè)端口可以包含邏輯狀態(tài)和實(shí)數(shù)值兩種類型,因此這就需要矢量檢查同時(shí)支持邏輯狀態(tài)和實(shí)數(shù)類型兩種檢查。圖6給出了Wreal模型和SV-UDT組合應(yīng)用的一個(gè)具體示例。

wdz4-t5.gif

wdz4-t6.gif

    在利用XPS仿真器進(jìn)行邏輯狀態(tài)矢量檢查的基礎(chǔ)上,對(duì)EDA供應(yīng)商Cadence提出了實(shí)數(shù)類型矢量檢查的新需求,具體的實(shí)現(xiàn)細(xì)節(jié)如下:首先,在矢量文件中增加了一個(gè)新的參數(shù)“sig_type”,用來(lái)幫助區(qū)分是邏輯狀態(tài)檢查還是實(shí)數(shù)類型檢查。此外,還增加了2個(gè)新的參數(shù)用來(lái)定義電壓容差,一個(gè)是允許的絕對(duì)誤差(abstol),另一個(gè)是允許的相對(duì)誤差(reltol)。這個(gè)電壓容差,定義了行為級(jí)模型Verilog仿真預(yù)計(jì)實(shí)數(shù)輸出和晶體管級(jí)電路Spice仿真實(shí)際模擬輸出之間允許的電壓誤差,只有當(dāng)實(shí)際模擬輸出在“預(yù)計(jì)實(shí)數(shù)輸出±(絕對(duì)誤差+預(yù)計(jì)實(shí)數(shù)輸出*相對(duì)誤差)”范圍以內(nèi)時(shí),兩者才算匹配。例如,行為級(jí)模型Verilog仿真預(yù)計(jì)實(shí)數(shù)輸出為1.2 V,允許的絕對(duì)誤差為0.01,允許的相對(duì)誤差為0.1,也就是10%,根據(jù)公式計(jì)算,晶體管級(jí)電路Spice仿真實(shí)際模擬輸出只有在1.07 V~1.33 V之間時(shí),兩者才算匹配。

    除此以外,還提出了進(jìn)一步的改進(jìn)需求,例如需要矢量檢查支持實(shí)數(shù)類型的x狀態(tài)(`wrealXstate)檢查和實(shí)數(shù)類型的z狀態(tài)(`wrealZstate)檢查。當(dāng)進(jìn)行z狀態(tài)檢查時(shí),如果行為級(jí)模型的預(yù)計(jì)實(shí)數(shù)輸出是`wrealZstate,對(duì)應(yīng)晶體管級(jí)電路的實(shí)際模擬輸出需要是高阻狀態(tài),否則不匹配;當(dāng)進(jìn)行x狀態(tài)檢查時(shí),如果行為級(jí)模型的預(yù)計(jì)實(shí)數(shù)輸出是`wrealXstate,對(duì)應(yīng)晶體管級(jí)電路的實(shí)際模擬輸出需要是多驅(qū)動(dòng)狀態(tài),否則不匹配。這些進(jìn)一步的改進(jìn)需求也已經(jīng)在XPS仿真器中實(shí)現(xiàn)了。

    圖7給出了一個(gè)用于實(shí)數(shù)類型矢量檢查的測(cè)試矢量文件的實(shí)例。行為級(jí)模型Verilog仿真的預(yù)計(jì)實(shí)數(shù)輸出可以和晶體管級(jí)電路Spice仿真的實(shí)際模擬輸出在檢查時(shí)間窗口內(nèi)直接進(jìn)行自動(dòng)比對(duì)驗(yàn)證,如圖8所示。

wdz4-t7.gif    

wdz4-t8.gif

    進(jìn)行實(shí)數(shù)類型自動(dòng)比對(duì)時(shí),如果實(shí)際模擬輸出和預(yù)計(jì)實(shí)數(shù)輸出不匹配,也即是違反了匹配需求條件,如表2所示,則警告和錯(cuò)誤信息會(huì)被寫入矢量檢查出錯(cuò)報(bào)告中,如圖9所示。如果完全匹配,則出錯(cuò)報(bào)告會(huì)是一個(gè)空文件。

wdz4-b2.gif

wdz4-t9.gif

3 用于產(chǎn)生輸入激勵(lì)覆蓋率全面的IO配置表

    傳統(tǒng)上,功能比對(duì)驗(yàn)證時(shí)所采用的輸入激勵(lì)是根據(jù)工程師對(duì)于電路模塊的理解手動(dòng)生成的,然而這樣采用的輸入激勵(lì)覆蓋率不夠全面,進(jìn)而影響功能比對(duì)驗(yàn)證的準(zhǔn)確度[4]。為了解決這個(gè)問(wèn)題,提出了一種利用帶設(shè)計(jì)約束的IO配置表產(chǎn)生覆蓋率全面的輸入激勵(lì)的方法,圖10給出了這種方法的工作流程圖。

wdz4-t10.gif

    IO配置表不僅用于定義產(chǎn)生輸入激勵(lì)的輸入約束,也用于定義輸出比較的輸出約束。例如,對(duì)于用作輸入的pin腳,其設(shè)計(jì)約束包含:(1)Vih/Vil,用于指定邏輯高和邏輯低狀態(tài)轉(zhuǎn)換成模擬輸入時(shí)的電壓值;(2)信號(hào)強(qiáng)制,用于定義是否強(qiáng)制某個(gè)輸入信號(hào)為邏輯狀態(tài)“1/0/x/z”中的某一個(gè)或者遍歷這些狀態(tài);(3)限制性輸入,用于定義某個(gè)輸入信號(hào)和其他輸入信號(hào)之間的相關(guān)性;(4)優(yōu)先級(jí),用于指定遍歷某些輸入信號(hào)組合時(shí)的優(yōu)先順序;(5)周期,用于定義輸入組合激勵(lì)之間的間隔周期。

    對(duì)于用作輸出的pin腳,設(shè)計(jì)約束包含:(1)是否包含實(shí)數(shù)電壓值,如果“是”,則對(duì)這個(gè)輸出信號(hào)既要進(jìn)行邏輯狀態(tài)檢查,又要進(jìn)行實(shí)數(shù)類型檢查;如果“否”,則只對(duì)這個(gè)輸出信號(hào)進(jìn)行邏輯狀態(tài)檢查;(2)Voh/Vol,用于指定邏輯狀態(tài)檢查時(shí),XPS實(shí)際模擬輸出電壓轉(zhuǎn)換成邏輯高和邏輯低狀態(tài)對(duì)應(yīng)的電壓值;(3)沒(méi)有用到的pin腳,用于指定是否要跳過(guò)對(duì)這個(gè)輸出信號(hào)的矢量檢查;(4)Z態(tài)檢查,指定是否要對(duì)這個(gè)輸出信號(hào)進(jìn)行Z狀態(tài)檢查;(5)X態(tài)檢查,指定是否要對(duì)這個(gè)輸出信號(hào)進(jìn)行X狀態(tài)檢查。

4 功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué)

    混合信號(hào)芯片設(shè)計(jì)中需要對(duì)大量模塊進(jìn)行行為級(jí)建模和功能比對(duì)驗(yàn)證,因此需要引入一種自動(dòng)仿真方法來(lái)自動(dòng)生成功能比對(duì)模塊清單,啟動(dòng)行為級(jí)模型Verilog仿真和晶體管級(jí)電路Spice仿真,進(jìn)而從XPS仿真中自動(dòng)生成邏輯狀態(tài)矢量檢查出錯(cuò)報(bào)告和實(shí)數(shù)類型矢量檢查出錯(cuò)報(bào)告,最后提取其中的有用信息并匯總到自動(dòng)比對(duì)檢查報(bào)告中。

    這套功能比對(duì)驗(yàn)證的自動(dòng)仿真方法流程圖如圖11所示:第一步,根據(jù)電路模塊清單從Cadence數(shù)據(jù)庫(kù)中抽取出行為級(jí)模型和Spice網(wǎng)表;第二步,為每個(gè)模塊生成帶有所有pin腳的IO配置表;第三步,為IO配置表中的所有輸入pin腳和輸出pin腳定義設(shè)計(jì)約束,這一步可以幫助確保生成覆蓋率全面的輸入激勵(lì);第四步,基于IO配置表,自動(dòng)生成每個(gè)模塊的行為級(jí)模型Verilog仿真平臺(tái)和晶體管級(jí)電路Spice仿真平臺(tái);第五步,用NC-Verilog啟動(dòng)所有的行為級(jí)模型Verilog仿真,并生成矢量檢查需要用到的測(cè)試矢量文件;第六步,用XPS啟動(dòng)所有的晶體管級(jí)電路Spice仿真,仿真時(shí)會(huì)用到已經(jīng)生成的測(cè)試矢量文件,并進(jìn)行矢量檢查,邏輯狀態(tài)矢量檢查和實(shí)數(shù)類型矢量檢查都會(huì)在此涉及;第七步,從邏輯狀態(tài)矢量檢查和實(shí)數(shù)類型矢量檢查結(jié)果中提取有用信息并生成自動(dòng)比對(duì)檢查報(bào)告。

wdz4-t11.gif

5 結(jié)論

    在混合信號(hào)設(shè)計(jì)中,創(chuàng)建準(zhǔn)確的行為級(jí)模型對(duì)于能否實(shí)現(xiàn)正確、有效和全面的全芯片功能驗(yàn)證至關(guān)重要。因此,對(duì)行為級(jí)模型和晶體管級(jí)設(shè)計(jì)之間進(jìn)行功能比對(duì)驗(yàn)證非常關(guān)鍵。Wreal模型和SV-UDT可以幫助實(shí)現(xiàn)更準(zhǔn)確的行為級(jí)模型。本文介紹了一種基于覆蓋率全面的輸入激勵(lì),對(duì)大量電路模塊同時(shí)進(jìn)行邏輯狀態(tài)矢量檢查和實(shí)數(shù)類型矢量檢查,從而實(shí)現(xiàn)行為級(jí)模型功能比對(duì)驗(yàn)證的自動(dòng)方法學(xué)。實(shí)數(shù)類型矢量檢查是我們向EDA供應(yīng)商Cadence提出的一種新的概念和需求,該需求已經(jīng)在XPS仿真器中成功實(shí)現(xiàn)。在此基礎(chǔ)上,XPS實(shí)數(shù)類型矢量檢查進(jìn)一步改進(jìn),以支持高阻態(tài)檢查和多驅(qū)動(dòng)態(tài)檢查。覆蓋率全面的輸入激勵(lì)是根據(jù)帶設(shè)計(jì)約束的IO配置表自動(dòng)生成的。本文提出的這套自動(dòng)方法學(xué),可以幫助顯著提高全芯片驗(yàn)證的精度、效率和覆蓋率。

參考文獻(xiàn)

[1] THELEN D,MACDONALD J.Simulating mixed analog-digital circuits on a digital simulator[C].ICCAD,1988:254-257.

[2] MALCOVATI P,BRIGATI S,F(xiàn)RANCESCONI F,et al.Behavioral modeling of switched-capacitor sigma-delta modulators[J].IEEE Transactions on Circuits System I,2003,50(3):352-364.

[3] O’LEARY M,KOLPEKWAR A.Cadence wreal technology contribution to Accellera Verilog-AMS standard[Z],2010.

[4] LIM B C,KIM J,HOROWITZ M.An efficient test vector generation for checking analog/mixed-signal functional models[C].Proceeding DAC,2010:767-772.



作者信息:

廖  璐1,候春源1,李躍平1,王  美1,劉歡艷2,黃丞權(quán)2,徐南南2,董麗霞2

(1.紫光長(zhǎng)存(上海)集成電路有限公司,上海200120;2.Cadence Design System,上海200120)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。