電路設(shè)計:第2章 驗證、模擬和仿真_第1頁
電路設(shè)計:第2章 驗證、模擬和仿真_第2頁
電路設(shè)計:第2章 驗證、模擬和仿真_第3頁
電路設(shè)計:第2章 驗證、模擬和仿真_第4頁
電路設(shè)計:第2章 驗證、模擬和仿真_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系復(fù)雜電路設(shè)計主要依賴于EDA技術(shù),在EDA工具中,具備模擬和綜合功能。模擬是當(dāng)前最常用的設(shè)計驗證手段。有兩個功能:(1)驗證設(shè)計和轉(zhuǎn)換的正確性(事件驅(qū)動模擬)(2)驗證測試的正確性(故障模擬)3.1驗證與模擬3.1.1模擬的概念模擬作為設(shè)計驗證手段,常用工具:EDA工具中的模擬器(Simulator),稱為軟件模擬;可編程器件開發(fā)系統(tǒng),模擬“真實的”電路原形設(shè)計,硬件仿真器

第3章驗證、模擬和仿真

要模擬電路,首先必須獲得以下信息:

描述原形設(shè)計的模型真值表、邏輯表達式、BDD圖、HDL表達等

元器件庫在設(shè)計的不同抽象級,模擬采用不同的元器件庫

施加給模型的激勵信號邏輯值、波形圖、偽隨機測試圖形或Testbench

施加激勵信號后模型的理想響應(yīng)模擬要素功能模擬

采用元器件的邏輯函數(shù)表達式;結(jié)構(gòu)級模擬采用的庫包含了一系列標(biāo)準(zhǔn)單元,對每個單元的基本邏輯功能及傳播延遲都做了描述;晶體管級模擬

需要生產(chǎn)廠家提供庫來進行模擬。

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系第3章驗證、模擬和仿真

模擬作為設(shè)計驗證手段,可分為:

功能模擬檢查原形設(shè)計操作的正確性。時間模擬檢查原形設(shè)計時間的正確性和確定關(guān)鍵路徑。3.1.2驗證與模擬的方法1.基于模擬的方法包括:基于事件的模擬—注重于設(shè)計的功能與時間的模擬,適合于異步電路的~;基于時鐘的模擬—只對設(shè)計的功能進行分析,適于中規(guī)模設(shè)計;基于事務(wù)的驗證—不需要詳細的測試平臺(testbench),系統(tǒng)中所有模塊之間的事務(wù)類型都得以列舉和系統(tǒng)化測試;代碼覆蓋率—給定的驗證代碼施加到具體的設(shè)計對象,所對應(yīng)的功能覆蓋范圍就是代碼覆蓋率,通常在RTL級完成;軟硬件協(xié)同驗證—通過軟件進行操作和診斷,實際的激勵加在硬件設(shè)計上;數(shù)?;旌向炞C—分別驗證混合電路的各個模塊,接口部分按數(shù)字電路看待,在整個系統(tǒng)集成后再做驗證;硬件加速器—用硬接線連接制造好的元器件來模擬原形設(shè)計。仿真也是一種硬件驗證手段,依賴于可編程器件開發(fā)系統(tǒng)。第3章驗證、模擬和仿真

2.靜態(tài)方法

——不需要Testbench或測試向量即可進行驗證包括:格式檢查—驗證設(shè)計代碼格式的正確性;靜態(tài)時間驗證—對每個存儲和鎖存單元進行建立、保持和延遲等時間要求的驗證。3.形式驗證方法

——采用窮舉的方法檢查出與特定事件序列相關(guān)的錯誤,不需要Testbench或測試向量包括:模型檢查—用數(shù)學(xué)的方法驗證設(shè)計的行為特性;等效檢查驗證—用數(shù)學(xué)方法檢查同一設(shè)計不同版本之間的一致情況。4.物理驗證和分析方法

——考慮電參數(shù)和工藝參數(shù)對互連寄生參數(shù)的影響包括:時序、信號完整性、串?dāng)_、電遷移、功耗分析等

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系第3章驗證、模擬和仿真

系統(tǒng)級設(shè)計中,系統(tǒng)行為按照設(shè)計規(guī)格建模,采用行為級Testbench驗證。(行為級Testbench可用HDL、C、C++編制,也可用Vera或SpecmanElite之類的Testbench語言編制。)系統(tǒng)級驗證完成后,采用庫中的軟硬件模塊把系統(tǒng)映射成結(jié)構(gòu)或編寫成部分設(shè)計過程,并進行軟硬件劃分。結(jié)構(gòu)的功能和性能驗證所采用的Testbench是系統(tǒng)行為模擬中所編制的。行為級Testbench應(yīng)轉(zhuǎn)換為合適的格式,為硬件RTL代碼模擬和軟件驗證所用。3.1.3驗證方法1.系統(tǒng)級驗證2.硬件RTL驗證硬件驗證中所采用的RTL代碼和Testbench來自于系統(tǒng)級設(shè)計。Testbench轉(zhuǎn)換為合適的格式以驗證RTL代碼,被驗證的是設(shè)計功能。

RTL驗證包括格式檢查、形式模型檢查、邏輯模擬、基于事務(wù)的模擬和代碼覆蓋率分析。

第3章驗證、模擬和仿真

3.軟件驗證4.網(wǎng)表驗證硬件RTL綜合后可生成門級網(wǎng)表,然后一是按參考設(shè)計的RTL代碼進行形式等效驗證,一是按設(shè)計實現(xiàn)的門級網(wǎng)表進行形式等效驗證,以保證RTL代碼和門級網(wǎng)表的邏輯等效。時間驗證也在設(shè)計的不同步驟中得以執(zhí)行。軟件模擬產(chǎn)生測試文件、采用軟件原形、快速原形系統(tǒng)或軟硬件協(xié)同驗證等完成。

快速原形系統(tǒng)——將仿真系統(tǒng)和可重構(gòu)的原形設(shè)計映射到制作在一塊板子上的DSP、FPGA等元件上,配合系統(tǒng)連接板,以準(zhǔn)確的提供一個真實的原形設(shè)計硬件。5.物理驗證包括DRC、LVS、工藝的天線效應(yīng)分析、串?dāng)_、IR下降在內(nèi)的SI檢查。第3章驗證、模擬和仿真

6.器件測試3.2.1Testbench格式功能驗證過程中生成的測試向量用于器件測試。方法是——用ATPG工具或功能驗證中創(chuàng)建的Testbench生成測試向量,如果結(jié)果滿意,可用于產(chǎn)品測試。3.2基于Testbench的驗證

Testbench是針對用HDL語言描述的數(shù)字電路而編寫的、包括施加給CUT的測試圖形和CUT相應(yīng)的理想響應(yīng),并進行測試響應(yīng)分析的HDL代碼。Testbench格式主要有:HDL、可編程語言接口(ProgrammableLanguageInterface,PLI)、基于波形的、基于事務(wù)的和基于設(shè)計參數(shù)的。

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系用寫testbench的方法來做功能驗證比畫波形圖的優(yōu)點如下:(1)畫波形無法產(chǎn)生復(fù)雜的激勵,只能提供極低的功能覆蓋。而testbench以語言的方式描述激勵源,容易進行高層次的抽象,可以產(chǎn)生各種激勵源。

以PCI轉(zhuǎn)以太網(wǎng)電路設(shè)計為例:PCI的配置讀寫、存儲器讀寫等;以太網(wǎng)的短包、長包等。如果這些激勵都用畫波形圖完成,工作量難以想象;用testbench則可以輕松完成這些工作。(2)畫波形無法實現(xiàn)驗證自動化。對于大規(guī)模設(shè)計來說,仿真時間很長,如果一個需要仿真1天的設(shè)計在檢錯時僅通過畫波形圖來觀測,將幾乎不能檢查出任何錯誤;而testbench是以語言的方式進行描述的,能夠很方便地實現(xiàn)對仿真結(jié)果的自動比較,并以文字的方式報告仿真結(jié)果。(3)畫波形圖難于定位錯誤。用畫波形圖進行仿真是一種原始的墨盒驗證法,無法使用新的驗證技術(shù);而testbench可以通過在內(nèi)部設(shè)置觀測點,快速地定位問題。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系(4)畫波形的可重用性和平臺移植性極差。如果將一個PCI轉(zhuǎn)100Mb以太網(wǎng)的設(shè)計升級到PCI轉(zhuǎn)1000Mb以太網(wǎng),這時原來畫的波形圖將不得不重新設(shè)計,耗費大量的人力物力及時間;但若使用testbench,只需要進行一些小的修改就可以完成一個新的測試平臺,極大地提高了驗證效率。(5)通過畫波形的驗證速度極慢。Testbench的仿真速度比畫波形圖的方式快幾個數(shù)量級,在Quartus下畫波形需半個小時才能跑出來的仿真結(jié)果,在ModelSim下使用testbench可能只需幾秒鐘就可以完成。

第3章驗證、模擬和仿真

P45是一個二選一多路選擇器的Testbanch實例。3.2.2Testbench開發(fā)語言和工具

SpecmanElite和SynopsysVera都是硬件驗證語言,根據(jù)這兩種語言開發(fā)的Testbench簡練、易懂、驗證效率高。

SynopsysVera構(gòu)成目標(biāo)模型環(huán)境,自動生成測試激勵、自動檢查驗證結(jié)果和給出覆蓋率分析,所產(chǎn)生的Testbench也易于復(fù)用。第3章驗證、模擬和仿真

//moduledesignofmux2modulemux2(in1,in2,out1,sel); inputin1,in2,sel; outputout1; assignout1=sel?in2:in1;endmodule//testbenchformux2libraryieee;useieee.std_logic_1164.all;

entitymux2_tbisendmux2_tb;

architecturetbofmux2_tbiscomponentmux2port(in1,in2:INSTD_LOGIC;out1:OUTSTD_LOGIC;

sel:INSTD_LOGIC);endcomponent;

signalin1,in2,out1,sel:std_logic;beginu1:mux2portmap(in1,in2,out1,sel);in1<='0'after0ns,'1'after5ns,'0'after10ns,'1'after12ns,'0'after15ns;in2<='1'after1ns,'0'after4ns,'1'after8ns;

sel<='1'after0ns,'0'after12ns;endtb;3.3邏輯模擬

在電路的設(shè)計與制造流程中,邏輯模擬用來驗證設(shè)計的正確性。邏輯模擬可分為兩大類:

編譯模擬

解釋模擬,也稱為事件驅(qū)動模擬。3.3.1編譯模擬編譯后:LDABANDQINVSTAE ORASTAF

STAQ

模擬器把電路的網(wǎng)表轉(zhuǎn)換成機器指令碼序列,這些序列完成電路的各種邏輯和算法功能,稱為編譯碼模型。每次模擬時,模擬器先從激勵文件讀入原始輸入值(測試圖形),然后根據(jù)編譯碼模型按層次計算出電路中每一個元件的邏輯值。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系編譯模擬的優(yōu)點:速度快編譯模擬的缺陷:當(dāng)設(shè)計改變時電路需要重新編譯;對于每一個測試圖形,電路每個部分的行為都要模擬。3.3.2事件驅(qū)動模擬在事件驅(qū)動模擬過程中,采用電路的結(jié)構(gòu)模型來傳播事件。

事件指的是信號邏輯值的改變。原始輸入值的變化定義在激勵文件中,其它線的事件由被激活的元件(元件中至少有一個輸入邏輯值改變)邏輯關(guān)系確定。事件驅(qū)動:有事件時模擬器才分析激活元件,確定其它事件。

見P59圖第3章驗證、模擬和仿真

3.3.3延遲模型

模擬流程圖由于其中行為元件采用不同的延遲模型還有多種變例。

延遲模型是決定模擬準(zhǔn)確度和模擬程序復(fù)雜度的關(guān)鍵因素。如果每個元件都按實際情況分配不同的延遲,那么模擬結(jié)果就準(zhǔn)確。靜態(tài)時間分析(STA)關(guān)注關(guān)鍵路徑的延遲,根據(jù)在最壞的分析條件下各個元件的數(shù)據(jù)表示計算而得(通過靜態(tài)時序分析STA得到電路時序是否滿足要求)。第3章驗證、模擬和仿真

STA是一種用于時間模擬的窮盡分析方法。

STA工具將CUT分解成不同的時序路徑集合后,首先分析每條路徑的門延時和線延時,再計算每條路徑總的延時。

它既可分析給定路徑的各種延時信息,也可用來分析設(shè)計者的時序約束是否滿足,最終得到一個完整的STA報告。

基于模擬的設(shè)計驗證要解決3個相互關(guān)聯(lián)的問題:(1)如何產(chǎn)生輸入激勵信號值測試生成(2)如何判斷模擬結(jié)果是否正確測試分析(3)如何選擇輸入激勵的施加方法測試施加

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系

故障模擬

將故障注入設(shè)計模塊,并對其施加測試集,經(jīng)模擬器對有故障的設(shè)計模型進行模擬,然后分析該模型的響應(yīng),達到以下目的:(1)測試給定的故障出現(xiàn)的條件;(2)測試圖形生成;(3)衡量給定測試圖形的效率;(4)生成故障表(可測的故障)。

3.4故障模擬

為了對制造好的電路施加測試圖形進行故障測試,應(yīng)該在設(shè)計階段對故障進行模擬,以生成測試圖形及可測故障集。

電路在制造過程中,某些失效帶來了物理故障,可以建模為邏輯故障。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系故障模擬器的流程圖進行故障測試生成時:首先故障模擬器從故障列表中選定1個故障,從測試集中選定輸入激勵加到設(shè)計模型上。如果模擬和測試分析表明有故障和無故障設(shè)計模型的響應(yīng)不同,故障出現(xiàn)的條件也相符合,則選定的輸入激勵就是檢測該故障的測試圖形,保存測試圖形并將該故障從故障列表中剔除。選擇下1個故障重新進行上述過程;否則換另1個輸入激勵,直至模擬和分析結(jié)果滿意為止。如果選擇測試集中所有的輸入激勵都不能測出某個故障,則稱此故障不可測。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系故障模擬器有兩類:編譯模擬器和事件驅(qū)動模擬器。故障模擬主要方法有3種:

并行故障模擬故障注入與處理是并行的演繹故障模擬通過演繹的方法一“遍”找出所有可測故障并發(fā)故障模擬綜合并行模擬與演繹模擬并行故障模擬常采用編譯模擬器,演繹故障模擬和并發(fā)故障模擬常采用事件驅(qū)動模擬器。3.4.1并行故障模擬故障注入

針對所選擇的需同時處理的故障子集,構(gòu)造其能夠被故障模擬程序識別與處理的數(shù)據(jù)結(jié)構(gòu)。模擬過程中,數(shù)據(jù)結(jié)構(gòu)用于生成所注入故障的效應(yīng)。并行模擬的思想是:同時模擬電路中的N個故障。將串行模擬中N個單固定故障分別對應(yīng)著的N個電路模型,并成一個含有N個單固定故障的電路模型。第3章驗證、模擬和仿真

例題:若電路有N-1個故障和1個無故障的響應(yīng)值,則可用Nbit的字來表示它們。根據(jù)第1列中原始輸入值abcd=1010

、門的邏輯關(guān)系和第1行所列的各個故障分別計算對應(yīng)的原始輸出值=>

只有故障a/0,

f1/1,f3/0,f/14個故障可檢測得到(在輸出f端觀察)第3章驗證、模擬和仿真

電路中有9條線,應(yīng)有18個單固定型故障,如果考慮abcd=1010,則有故障14個。無故障時的響應(yīng)ff

如果計算機字長為N,那么一個字可表示N-1種故障(另1位表示無故障)。

對于有M個故障、1個原始輸出的電路,需處理M/(N-1)]次,假如電路有P個原始輸出,至少需要計算[P*M/(N-1)]次。

演繹故障模擬要用到故障表的概念。

一個節(jié)點A的故障表LA指與節(jié)點A相關(guān)聯(lián)的每一根信號線的列表形式,所有節(jié)點的故障表就構(gòu)成了電路的故障表。故障模擬時,LA是引起節(jié)點A的邏輯值與正常值不同的所有故障的集合。3.4.2演繹故障模擬x3101010111101000001100010010100000000x3/1x3/0x2/1x2/0x1/1x1/0x3x2x1為1的輸入端發(fā)生故障0,在輸出端檢測不到;為0的輸入端都發(fā)生故障1,在輸出端能反映這個故障。對與門,有x1x2=11,x3=1.這時,任何1個輸入端的故障都會反映在輸出端。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系設(shè)有一個n輸入的與(非)門,輸出為y,輸入端的故障分別為,施加測試圖形時,它的輸出端的故障表為。令1.“與”門和“與非”門的故障表計算

若與門的輸入是0、1構(gòu)成的向量,當(dāng)為1的輸入端發(fā)生故障0時,在輸出端是檢測不到的。只有那些所有為0的輸入端都發(fā)生故障而變成1,才可能在輸出端反映這個故障。若與門的輸入向量為全1,則任何1個輸入端的故障都會反映在輸出端。(與門、與非門的非控制值為1)其中,1*和0*在元件為“與”門時分別為1和0,在為“與非”門時分別為0和1。m+p=n。第3章驗證、模擬和仿真

南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院電子工程系2.“或”門和“或非”門的故障表計算

若或門的輸入是0、1構(gòu)成的向量,當(dāng)為0的輸入端發(fā)生故障1時,在輸出端是檢測不到的。只有那些所有為1的輸入端都發(fā)生故障而變成0,才可能在輸出端反映這個故障。若或門的輸入向量全為0,則任何1個輸入端的故障都會反映在輸出端。(或門、或非門的非控制值為0)設(shè)有一個n輸入的或(非)門,輸出為y,輸入端的故障分別為,施加測試圖形時,它的輸出端的故障表為。令其中,1*和0*在元件為“或”門時分別為1和0,在為“或非”門時分別為0和1。m+p=n。第3章驗證、模擬和仿真

輸入激勵abcd=1010由基本門的故障表寫出每個節(jié)點的故障表,可測的故障是a/0,f1/1,f3/0,f/1例題:La=a/0,Lb=b/1,Lc=c/0,Ld=d/1,

=a/0存在于La中而不在Lb中a/0,f1/1,f3/0,f/10f=!(f3+f4)d/1,f2/0,f4/10f4=!(b+f2)a/0,f1/1,f3/01f3=!(cf1)d/1,f2/01f2=!(cd)a/0,f1/10f1=!(a+b)d/10d=0c/01c=1b/10b=0a/01a=1第5級第4級第3級第2級第1級0層ff演繹模擬所得故障表與測試圖形有關(guān),并非元件固有。第3章驗證、模擬和仿真

有故障,在f1門只有a/0和f1/1被檢測到,在下一級進一步檢查……3.4.3并發(fā)性故障模擬綜合了并行模擬和演繹模擬的優(yōu)點,比其他算法更快,而且使用動態(tài)內(nèi)存分配。

101f/1110f4/1001f3/0110f2/0101f4/1010f3/0001f1/1110b/1001c/0100f2/0101f1/1110d/1001f2/0110f1/1110d/1110b/1001a/0001d/1110a/0001c/0001a/0100100011101100f3f4fff2bf4f4f1cf3f3cdf2f2abf1f1所有的門無故障情況第3章驗證、模擬和仿真

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論