統(tǒng)一的電路仿真驗(yàn)證平臺(tái)的設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問(wèn)次數(shù):796
    
    統(tǒng)一的電路仿真驗(yàn)證平臺(tái)的設(shè)計(jì)
    電路仿真和驗(yàn)證是集成電路設(shè)計(jì)工作的重要組成部分,在不同類型芯片的各個(gè)設(shè)計(jì)階段中都消耗了相當(dāng)大的資源。下面是一些具體的仿真應(yīng)用:在數(shù)字電路模塊設(shè)計(jì)中,無(wú)論是系統(tǒng)級(jí)、行為級(jí)還是rtl級(jí),都需要編寫專門的測(cè)試代碼輸入激勵(lì)波形,同時(shí)檢測(cè)輸出波形是否符合功能描述;若發(fā)現(xiàn)實(shí)際輸出和預(yù)計(jì)輸出不一致,則進(jìn)一步查看輸入輸出和電路分析。而在模擬電路設(shè)計(jì)中,由于輸出不能精確定義,更需要經(jīng)常觀察輸出波形,有時(shí)還需要進(jìn)行數(shù)學(xué)變換來(lái)測(cè)量電路性能。
    此外,通訊方面的芯片要遵從各種通信協(xié)議,需要構(gòu)造相對(duì)復(fù)雜的激勵(lì)信號(hào)。在建庫(kù)應(yīng)用中,單元功能比較明確和通用,工程師更加側(cè)重測(cè)試向量自動(dòng)生成和自動(dòng)檢測(cè);此外還有各種環(huán)境下時(shí)延等特征參數(shù)的提取。對(duì)一些大型定制電路來(lái)說(shuō),工程師可能還需要提取關(guān)鍵路徑包含的電路,以此作為時(shí)序模型進(jìn)行仿真和特征參數(shù)提取。需要說(shuō)明的是,這里我們把特征參數(shù)提取、建模等應(yīng)用也歸入仿真和驗(yàn)證這個(gè)大方向。
    雖然以上各種應(yīng)用涉及的工具、目標(biāo)數(shù)據(jù)以及輸出結(jié)果各不相同,我們?nèi)匀豢梢园逊抡婧万?yàn)證過(guò)程大致分為激勵(lì)信號(hào)準(zhǔn)備、仿真、結(jié)果察看和分析三個(gè)主要步驟。從這個(gè)角度看,不同應(yīng)用只是側(cè)重點(diǎn)不同:數(shù)字電路的仿真驗(yàn)證更側(cè)重在測(cè)試數(shù)據(jù)管理和自動(dòng)化,模擬電路側(cè)重于波形觀察和性能分析,單元庫(kù)側(cè)重于特征提取和自動(dòng)化......。
    而另一方面,本質(zhì)上類似的這些應(yīng)用卻涉及hspice、modelsim、spectre、waveview、spiceexplorer等眾多工具,用戶需要分別啟動(dòng)相關(guān)工具,控制數(shù)據(jù)文件在工具之間流轉(zhuǎn),雖然腳本語(yǔ)言可以將流程銜接得比較流暢,但在數(shù)據(jù)管理上的支持還很不夠。波形顯示和波形編輯方面也需要更加靈活、強(qiáng)大的操作和顯示方法,讓用戶能夠從更多角度查看電路工作情況,同時(shí)使得使用方法更加簡(jiǎn)單。
    
    針對(duì)這些需求,圣景微電子開發(fā)了matrix stimuli這個(gè)通用仿真驗(yàn)證平臺(tái),它將數(shù)字電路、模擬電路的仿真和驗(yàn)證統(tǒng)一在一起,集成了測(cè)試數(shù)據(jù)管理、波形編輯、波形查看、特征提取等功能,能夠很方便地嵌入cadence、mentor graphics、synopsys等公司的集成環(huán)境、仿真工具。該平臺(tái)的安裝非常簡(jiǎn)單,軟件檢測(cè)系統(tǒng)中已經(jīng)安裝的各種eda工具,可自動(dòng)完成不同環(huán)境下菜單、工具的鏈接。matrix stimuli采用c/c++編寫,用不同編譯器編譯后可以分別運(yùn)行于windows、linux、sun平臺(tái)。
    matrix stimuli架構(gòu)如圖1所示,各主要模塊的功能和實(shí)現(xiàn)方法說(shuō)明如下。
    
    
    
    圖1:圣景微電子仿真驗(yàn)證平臺(tái)架構(gòu)。
    1. 波形編輯
    可提供可視化數(shù)字/模擬波形編輯方法。軟件提供正弦波、三角波、方波等基本波形,用戶用鼠標(biāo)就可以很方便地調(diào)控波形的周期、振幅、相位以及需要的周期數(shù)。同時(shí)還可以將幾個(gè)波形疊加在一起形成復(fù)合信號(hào),用作通訊類電路的輸入波形。對(duì)于更為復(fù)雜的模擬波形和數(shù)字波形,用戶還可以用“5sin(100派t)×sin(2派t)”之類的表達(dá)式定義信號(hào)的組合方法。
    如果要追求更加真實(shí)的波形,可以直接從電路仿真的輸出波形中截取一段作為待測(cè)模塊的輸入波形。為了實(shí)現(xiàn)這樣的效果,軟件定義了抽象的波形基類,每個(gè)波形自己定義顯示方式、控制方法、疊加方法、輸出方法。在此基礎(chǔ)上派生出各種基本波形和復(fù)合波形。這樣的架構(gòu)可以讓不同波形之間、以及和界面之間相對(duì)無(wú)關(guān),系統(tǒng)可擴(kuò)展性較好。軟件還包括一個(gè)表達(dá)式解析器,將用戶輸入的文本轉(zhuǎn)化成內(nèi)部的波形數(shù)據(jù)。
    2. 增量結(jié)果獲取和壓縮
    遇到大型模塊或者復(fù)雜激勵(lì)的仿真時(shí),為了讓用戶盡快看到早期的仿真結(jié)果,軟件應(yīng)跟蹤輸出文件,定期檢測(cè)新增的仿真結(jié)果,以不干擾當(dāng)前顯示內(nèi)容的方式添加到窗口中。用戶可以繼續(xù)關(guān)注原來(lái)正在分析的一段波形,也可以及時(shí)查看最新的仿真結(jié)果。此外,仿真工具輸出的波形信息通常包含較多的冗余信息,不利于保存和反復(fù)讀取。軟件通過(guò)將步長(zhǎng)確定的輸出波形壓縮成異步二進(jìn)制信息來(lái)大幅度減少數(shù)據(jù)量。為了屏蔽仿真工具控制命令、輸入輸出格式各不相同等特點(diǎn),采用定義通用接口、從基類派生的方法來(lái)保持架構(gòu)的結(jié)構(gòu)化和可擴(kuò)展性。
    3. 波形顯示
    波形顯示基本上可以采用波形編輯的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)工作主要集中在增加用戶查看輸出波形的方法。例
    
    統(tǒng)一的電路仿真驗(yàn)證平臺(tái)的設(shè)計(jì)
    電路仿真和驗(yàn)證是集成電路設(shè)計(jì)工作的重要組成部分,在不同類型芯片的各個(gè)設(shè)計(jì)階段中都消耗了相當(dāng)大的資源。下面是一些具體的仿真應(yīng)用:在數(shù)字電路模塊設(shè)計(jì)中,無(wú)論是系統(tǒng)級(jí)、行為級(jí)還是rtl級(jí),都需要編寫專門的測(cè)試代碼輸入激勵(lì)波形,同時(shí)檢測(cè)輸出波形是否符合功能描述;若發(fā)現(xiàn)實(shí)際輸出和預(yù)計(jì)輸出不一致,則進(jìn)一步查看輸入輸出和電路分析。而在模擬電路設(shè)計(jì)中,由于輸出不能精確定義,更需要經(jīng)常觀察輸出波形,有時(shí)還需要進(jìn)行數(shù)學(xué)變換來(lái)測(cè)量電路性能。
    此外,通訊方面的芯片要遵從各種通信協(xié)議,需要構(gòu)造相對(duì)復(fù)雜的激勵(lì)信號(hào)。在建庫(kù)應(yīng)用中,單元功能比較明確和通用,工程師更加側(cè)重測(cè)試向量自動(dòng)生成和自動(dòng)檢測(cè);此外還有各種環(huán)境下時(shí)延等特征參數(shù)的提取。對(duì)一些大型定制電路來(lái)說(shuō),工程師可能還需要提取關(guān)鍵路徑包含的電路,以此作為時(shí)序模型進(jìn)行仿真和特征參數(shù)提取。需要說(shuō)明的是,這里我們把特征參數(shù)提取、建模等應(yīng)用也歸入仿真和驗(yàn)證這個(gè)大方向。
    雖然以上各種應(yīng)用涉及的工具、目標(biāo)數(shù)據(jù)以及輸出結(jié)果各不相同,我們?nèi)匀豢梢园逊抡婧万?yàn)證過(guò)程大致分為激勵(lì)信號(hào)準(zhǔn)備、仿真、結(jié)果察看和分析三個(gè)主要步驟。從這個(gè)角度看,不同應(yīng)用只是側(cè)重點(diǎn)不同:數(shù)字電路的仿真驗(yàn)證更側(cè)重在測(cè)試數(shù)據(jù)管理和自動(dòng)化,模擬電路側(cè)重于波形觀察和性能分析,單元庫(kù)側(cè)重于特征提取和自動(dòng)化......。
    而另一方面,本質(zhì)上類似的這些應(yīng)用卻涉及hspice、modelsim、spectre、waveview、spiceexplorer等眾多工具,用戶需要分別啟動(dòng)相關(guān)工具,控制數(shù)據(jù)文件在工具之間流轉(zhuǎn),雖然腳本語(yǔ)言可以將流程銜接得比較流暢,但在數(shù)據(jù)管理上的支持還很不夠。波形顯示和波形編輯方面也需要更加靈活、強(qiáng)大的操作和顯示方法,讓用戶能夠從更多角度查看電路工作情況,同時(shí)使得使用方法更加簡(jiǎn)單。
    
    針對(duì)這些需求,圣景微電子開發(fā)了matrix stimuli這個(gè)通用仿真驗(yàn)證平臺(tái),它將數(shù)字電路、模擬電路的仿真和驗(yàn)證統(tǒng)一在一起,集成了測(cè)試數(shù)據(jù)管理、波形編輯、波形查看、特征提取等功能,能夠很方便地嵌入cadence、mentor graphics、synopsys等公司的集成環(huán)境、仿真工具。該平臺(tái)的安裝非常簡(jiǎn)單,軟件檢測(cè)系統(tǒng)中已經(jīng)安裝的各種eda工具,可自動(dòng)完成不同環(huán)境下菜單、工具的鏈接。matrix stimuli采用c/c++編寫,用不同編譯器編譯后可以分別運(yùn)行于windows、linux、sun平臺(tái)。
    matrix stimuli架構(gòu)如圖1所示,各主要模塊的功能和實(shí)現(xiàn)方法說(shuō)明如下。
    
    
    
    圖1:圣景微電子仿真驗(yàn)證平臺(tái)架構(gòu)。
    1. 波形編輯
    可提供可視化數(shù)字/模擬波形編輯方法。軟件提供正弦波、三角波、方波等基本波形,用戶用鼠標(biāo)就可以很方便地調(diào)控波形的周期、振幅、相位以及需要的周期數(shù)。同時(shí)還可以將幾個(gè)波形疊加在一起形成復(fù)合信號(hào),用作通訊類電路的輸入波形。對(duì)于更為復(fù)雜的模擬波形和數(shù)字波形,用戶還可以用“5sin(100派t)×sin(2派t)”之類的表達(dá)式定義信號(hào)的組合方法。
    如果要追求更加真實(shí)的波形,可以直接從電路仿真的輸出波形中截取一段作為待測(cè)模塊的輸入波形。為了實(shí)現(xiàn)這樣的效果,軟件定義了抽象的波形基類,每個(gè)波形自己定義顯示方式、控制方法、疊加方法、輸出方法。在此基礎(chǔ)上派生出各種基本波形和復(fù)合波形。這樣的架構(gòu)可以讓不同波形之間、以及和界面之間相對(duì)無(wú)關(guān),系統(tǒng)可擴(kuò)展性較好。軟件還包括一個(gè)表達(dá)式解析器,將用戶輸入的文本轉(zhuǎn)化成內(nèi)部的波形數(shù)據(jù)。
    2. 增量結(jié)果獲取和壓縮
    遇到大型模塊或者復(fù)雜激勵(lì)的仿真時(shí),為了讓用戶盡快看到早期的仿真結(jié)果,軟件應(yīng)跟蹤輸出文件,定期檢測(cè)新增的仿真結(jié)果,以不干擾當(dāng)前顯示內(nèi)容的方式添加到窗口中。用戶可以繼續(xù)關(guān)注原來(lái)正在分析的一段波形,也可以及時(shí)查看最新的仿真結(jié)果。此外,仿真工具輸出的波形信息通常包含較多的冗余信息,不利于保存和反復(fù)讀取。軟件通過(guò)將步長(zhǎng)確定的輸出波形壓縮成異步二進(jìn)制信息來(lái)大幅度減少數(shù)據(jù)量。為了屏蔽仿真工具控制命令、輸入輸出格式各不相同等特點(diǎn),采用定義通用接口、從基類派生的方法來(lái)保持架構(gòu)的結(jié)構(gòu)化和可擴(kuò)展性。
    3. 波形顯示
    波形顯示基本上可以采用波形編輯的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)工作主要集中在增加用戶查看輸出波形的方法。例
熱門點(diǎn)擊
- Xtreme PCB軟件允許多位工程師同時(shí)布
- ALLEGRO布線缺點(diǎn)之我見
- PCB LAYOUT技術(shù)大全---初學(xué)者必看
- 利用FPGA實(shí)現(xiàn)異步FIFO設(shè)計(jì)
- 統(tǒng)一的電路仿真驗(yàn)證平臺(tái)的設(shè)計(jì)
- 多芯片封裝:高堆層,矮外形
- PowerPCB修改整體文字大小
- 用等效性檢查驗(yàn)證連續(xù)改變
- SoC原型驗(yàn)證技術(shù)的研究
- 視頻窗口控制器設(shè)計(jì)
推薦技術(shù)資料
- 泰克新發(fā)布的DSA830
- 泰克新發(fā)布的DSA8300在一臺(tái)儀器中同時(shí)實(shí)現(xiàn)時(shí)域和頻域分析,DS... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究