Verilog HDL數(shù)字集成電路高級(jí)程序設(shè)計(jì)課件:仿真測(cè)試工具和綜合工具_(dá)第1頁
Verilog HDL數(shù)字集成電路高級(jí)程序設(shè)計(jì)課件:仿真測(cè)試工具和綜合工具_(dá)第2頁
Verilog HDL數(shù)字集成電路高級(jí)程序設(shè)計(jì)課件:仿真測(cè)試工具和綜合工具_(dá)第3頁
Verilog HDL數(shù)字集成電路高級(jí)程序設(shè)計(jì)課件:仿真測(cè)試工具和綜合工具_(dá)第4頁
Verilog HDL數(shù)字集成電路高級(jí)程序設(shè)計(jì)課件:仿真測(cè)試工具和綜合工具_(dá)第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

仿真測(cè)試工具和

綜合工具11/11/202417.1數(shù)字集成電路設(shè)計(jì)流程簡(jiǎn)介11/11/202427.1.1設(shè)計(jì)規(guī)范

設(shè)計(jì)規(guī)范文件是一個(gè)包含功能、定時(shí)、硅片面積、功耗、可測(cè)性、故障覆蓋率以及其它的設(shè)計(jì)準(zhǔn)則的詳細(xì)說明書。設(shè)計(jì)規(guī)范描述了項(xiàng)目完成的功能,確定設(shè)計(jì)的總體方案,平衡各個(gè)方面的因素,對(duì)整個(gè)項(xiàng)目有一個(gè)初步的規(guī)劃。在系統(tǒng)設(shè)計(jì)階段,根據(jù)對(duì)設(shè)計(jì)面積、功耗、I/O和IP使用等情況進(jìn)行估算,確定所使用的芯片工藝和設(shè)計(jì)工具。7.1.2設(shè)計(jì)劃分設(shè)計(jì)劃分過程就是把一個(gè)復(fù)雜設(shè)計(jì)逐漸劃分成較小而且較為簡(jiǎn)單的功能單元。這樣一個(gè)過程通常被稱為自頂向下的設(shè)計(jì)方法,或者是分層設(shè)計(jì)法。11/11/202437.1.3設(shè)計(jì)輸入

設(shè)計(jì)輸入是指將設(shè)計(jì)劃分階段定義好的模塊借助一定的設(shè)計(jì)輸入手段轉(zhuǎn)換為EDA工具能接受的信息格式。目前主要的設(shè)計(jì)輸入手段有:高級(jí)硬件描述語言HDL(VerilogHDL/VHDL)和原理圖。HDL語言支持不同層次的描述,不依賴于各個(gè)廠家的工藝器件,便于修改。

邏輯輸入工具的功能是把邏輯圖,狀態(tài)機(jī),真值表,輸入到計(jì)算機(jī)中,并進(jìn)行語法、可綜合性檢查等。目前主流工具有Cadence公司的Composer,Synopsys公司Leda以及UltraEdit,Vim等第三方的編輯工具。11/11/202447.1.4仿真

驗(yàn)證是指通過仿真軟件驗(yàn)證其功能是否符合制定的設(shè)計(jì)規(guī)范,這一階段的驗(yàn)證常被稱為功能仿真或行為仿真。

仿真的結(jié)果取決于設(shè)計(jì)描述是否準(zhǔn)確反映了設(shè)計(jì)的物理實(shí)現(xiàn)。仿真器不是一個(gè)靜態(tài)工具,需要Stimulus和Response。Stimulus由模擬設(shè)計(jì)工作環(huán)境的testbench產(chǎn)生,Response為仿真的輸出,由設(shè)計(jì)者確定輸出的有效性。目前,仿真工具比較多,其中Cadence公司的NC-VerilogHDL,Synopsys公司的VCS和Mentor公司的Modelsim都是業(yè)界廣泛使用的仿真工具。7.1.5綜合

綜合實(shí)際上是根據(jù)設(shè)計(jì)功能和實(shí)現(xiàn)該設(shè)計(jì)的約束條件(如面積、速度、功耗和成本等),將設(shè)計(jì)描述(如HDL文件、原理圖等)變換成滿足要求的電路設(shè)計(jì)方案,該方案必須同時(shí)滿足預(yù)期的功能和約束條件。

目前常用的邏輯綜合工具有Synopsys公司的Synplify和DesignCompiler,PhysicalCompiler,Cadence公司的RTLCompiler等。11/11/202457.1.6適配布線

按照特定的工藝要求和約束條件利用適配器進(jìn)行布局布線,最后生成版圖。對(duì)于芯片設(shè)計(jì)來講,這個(gè)過程通常分3步:(1)布局規(guī)劃。主要是標(biāo)準(zhǔn)單元、I/OPad和宏單元的布局。(2)時(shí)鐘樹生成(CTSClockTreeSynthesis)。(3)布局布線。

適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(1)適配報(bào)告。(2)適配后的仿真模型。(3)器件編程文件。

在FPGA設(shè)計(jì)中各個(gè)廠家都提供了相應(yīng)的布局布線工具,例如Altera公司的QuartusII,Xilinx公司的ISE等。在芯片設(shè)計(jì)領(lǐng)域,有Cadence公司提供的SOCEncounter和Synopsys公司的Astro等布局布線工具。11/11/202467.1.7時(shí)序分析

時(shí)序驗(yàn)證的目的是為了檢查設(shè)計(jì)中是否有時(shí)序上的違規(guī)。同步電路的驗(yàn)證采用靜態(tài)時(shí)序分析實(shí)現(xiàn),異步電路的驗(yàn)證則需要運(yùn)行特殊仿真激勵(lì)確認(rèn)。仿真工具可以用前仿真所用的工具。

靜態(tài)時(shí)序分析(STA)的功能是根據(jù)設(shè)計(jì)規(guī)范的要求檢查所有可能路徑的時(shí)序,不需要通過仿真或測(cè)試向量就可以有效地覆蓋門級(jí)網(wǎng)表中的每一條路徑,在同步電路設(shè)計(jì)中快速地找出時(shí)序上的異常。

可以識(shí)別的時(shí)序故障包括:建立/保持和恢復(fù)/移除檢查(包括反向建立/保持);最小和最大跳變;時(shí)鐘脈沖寬度和時(shí)鐘畸變;門級(jí)時(shí)鐘的瞬時(shí)脈沖檢測(cè);總線競(jìng)爭(zhēng)與總線懸浮錯(cuò)誤;不受約束的邏輯通道;計(jì)算經(jīng)過導(dǎo)通晶體管、傳輸門和雙向鎖存的延遲;自動(dòng)對(duì)關(guān)鍵路徑、約束性沖突、異步時(shí)鐘域和某些瓶頸邏輯進(jìn)行識(shí)別與分類。 PrimeTime是Synopsys公司開發(fā)的進(jìn)行靜態(tài)時(shí)序分析(STA)的工具,它可以進(jìn)行精確的RC延遲計(jì)算,先進(jìn)的建模和時(shí)序驗(yàn)收11/11/202477.1.8物理驗(yàn)證

物理驗(yàn)證通常包括設(shè)計(jì)規(guī)則檢測(cè)(DRC)、版圖與原理圖對(duì)照(LVS)和信號(hào)完整性分析(SI)等。

目前主要的物理驗(yàn)證工具有Mentor公司的Calibre,Cadence公司的Dracula和Diva以及Synopsys公司的Hercules。此外各大廠商也推出了針對(duì)信號(hào)完整性分析的工具。11/11/202487.1.9設(shè)計(jì)結(jié)束

在所有設(shè)計(jì)約束都已滿足,也達(dá)到了定時(shí)約束條件的情況下,就會(huì)發(fā)出最終設(shè)計(jì)結(jié)束的信號(hào)。這時(shí)可用于制造集成電路的掩膜集就準(zhǔn)備好了。掩膜集的描述是由幾何數(shù)據(jù)(通常為GDS-II格式)構(gòu)成的,這些數(shù)據(jù)決定了集成電路制造過程中的光掩膜步驟的順序。

將適配器布局布線后形成的器件編程文件通過下載工具載入到具體的FPGA或CPLD芯片中,可以方便的實(shí)現(xiàn)設(shè)計(jì)要求。如果是大批量產(chǎn)品開發(fā),通過更換相應(yīng)的廠家綜合庫,便可以轉(zhuǎn)由ASIC實(shí)現(xiàn)。11/11/202497.2測(cè)試和仿真工具

用HDL描述完一個(gè)硬件系統(tǒng)后要進(jìn)行仿真驗(yàn)證,而想要在在計(jì)算機(jī)終端上看到硬件描述語言的輸出的話,則需要通過硬件描述語言的仿真器來完成。常用的HDL仿真器有很多種,例如VCS,NCsim,VerilogHDL-XL,Modelsim,ActiveHDL等。根據(jù)所使用的編程語言不同可以將仿真器分為VerilogHDL語言仿真器和VHDL語言仿真器;也可以根據(jù)工作方式不同分為事件驅(qū)動(dòng)(event-driven)的仿真器和時(shí)鐘驅(qū)動(dòng)(cycle-driven)的仿真器等類型。這些工具中有的側(cè)重于IC設(shè)計(jì)(如NCsim,VCS等),有的側(cè)重于FPGA/CPLD的設(shè)計(jì),如Modelsim和ActiveHDL等。11/11/202410 Modelsim仿真器在FPGA/CPLD設(shè)計(jì)中應(yīng)用廣泛,這是因?yàn)镸odelsim的出品公司為各種FPGA/CPLD廠家提供了OEM版本的Modelsim工具。Modelsim仿真器可以用于仿真VerilogHDL語言,也可以用于仿真VHDL語言,同時(shí)也支持兩種語言混合仿真。 NCsim(根據(jù)使用語言不同分為NC-Verilog和NC-VHDL)和VCS分別由知名的EDA工具廠商Cadence和Synopsys公司提供,在IC設(shè)計(jì)中應(yīng)用廣泛。11/11/2024117.2.1Modelsim的使用11/11/2024121.建立庫并映射建立并映射庫有兩種方法:在Modelsim中選擇File/New/Library,在彈出的對(duì)話框中填入庫名稱,點(diǎn)擊OK就完成了庫的建立和映射。在Modelsim>提示符下運(yùn)行命令:vlibwork2vmapworkwork22.新建工程項(xiàng)目選擇下拉菜單File/New/Project命令,新建一個(gè)工程。在ProjectName中輸入工程名,在ProjectLocation下的對(duì)話框中,輸入保存該工程所有文件的文件夾的路徑名。DefaultLibraryName對(duì)話框使用默認(rèn)設(shè)置work即可。11/11/2024133.輸入源代碼選擇主控Main窗口的下拉菜單File/New/Source/VerilogHDL選項(xiàng),出現(xiàn)源代碼編輯窗口。將源代碼輸入并保存。源代碼文件shiftregist.v如下:moduleshiftregist(data_out,clk,rst_n,load,data_load,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft);parametershiftregist_width=4;output[shiftregist_width-1:0]data_out;input[shiftregist_width-1:0]data_load;inputload,clk,rst_n,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft;reg[shiftregist_width-1:0]data_out;always@(posedgeclkornegedgerst_n)

if(!rst_n)data_out<=0;

elseif(load)data_out<=data_load;

elseif(ctr_shiftright)data_out<={data_shiftright,data_out[shiftregist_width-1:1]};

elseif(ctr_shiftleft)data_out<={data_out[shiftregist_width-2:0],data_shiftleft};

elsedata_out<=data_out;endmodule11/11/2024144.將文件添加到工程中剛才輸入的文件已經(jīng)保存在當(dāng)前Project的文件夾中。在Main窗口選擇Project/AddtoProject/ExistingFile…選項(xiàng)將文件添加到工程中。5.編譯源代碼在Workplace窗口Project對(duì)話框中選中shiftregist.v,然后在主控Main窗口中選中Compile/Compileselected選項(xiàng)對(duì)源代碼進(jìn)行編譯。編譯成功后,transcript對(duì)話框中將報(bào)告“#Compileofshiftregist.vwassuccessful”。如果當(dāng)前工程中有多個(gè).v文件,則可以選擇Compile/Compileselected選項(xiàng)完成對(duì)源代碼文件的批量編譯,也可以一次選擇多個(gè)文件進(jìn)行編譯。11/11/2024156.建立并添加測(cè)試文件用VerilogHDL編寫測(cè)試激勵(lì)文件,然后進(jìn)行仿真的操作。先輸入測(cè)試激勵(lì)文件,然后進(jìn)行仿真的操作。先輸入測(cè)試激勵(lì)文件的源代碼,并存盤;然后將該文件添加到當(dāng)前的工程項(xiàng)目中,再對(duì)該文件進(jìn)行編譯,其操作過程與前面介紹的相同。帶控制端的移位寄存器的測(cè)試激勵(lì)源代碼文件testbench_shiftregist.v如下:moduletestbench_shiftregist;parametershiftregist_width=4;reg[shiftregist_width-1:0]data_load;regload,clk,rst_n,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft;wire[shiftregist_width-1:0]data_out;always#5clk=~clk;initialbegindata_load=0;load=0;rst_n=1;ctr_shiftright=0;ctr_shiftleft=0;clk=0;data_shiftright=0;data_shiftleft=0;end11/11/202416initialbegin#10rst_n=0;#3rst_n=1;endinitialbegin#15load=1;data_load=4'b1010;#10load=0;endinitialbegin#30ctr_shiftright=1;#20data_shiftright=1;#20ctr_shiftright=0;#20ctr_shiftleft=1;#25data_shiftleft=1;#20data_shiftleft=0;endshiftregistU1(.clk(clk),.rst_n(rst_n),.load(load),.ctr_shiftright(ctr_shiftright),.ctr_shiftleft(ctr_shiftleft),.data_shiftright(data_shiftright),.data_shiftleft(data_shiftleft),.data_load(data_load),.data_out(data_out));endmodule11/11/2024177.打開仿真器在主控窗口中選擇Simulate/StartSimulation…命令,得到仿真設(shè)置對(duì)話框(注意:將當(dāng)前工作庫work前面的加號(hào)“+”點(diǎn)開,選擇testbench_shiftregist作為頂層文件進(jìn)行仿真)。在Design選項(xiàng)卡相應(yīng)的庫名下選擇testbench_shiftregist模塊,再單擊OK按鈕。下圖顯示的就是打開仿真器后的界面。11/11/2024188.打開調(diào)試窗口在Modelsim的Main窗口的View下面有各種全面反映用戶設(shè)計(jì)模塊的各個(gè)方面的特性與內(nèi)容的窗口,非常便于用戶管理和調(diào)試。用戶對(duì)一個(gè)窗口的修改將會(huì)自動(dòng)影響到相關(guān)窗口的變化,同時(shí)用戶也可以方便地利用鼠標(biāo)在窗口之間進(jìn)行選擇和拖放。打開窗口的操作方法是:在主控Main窗口的View下拉菜單中,單擊相應(yīng)的窗口名即可。已打開的窗口名前有“√”符號(hào)提示,再次單擊該窗口名將關(guān)閉相應(yīng)窗口,前面的“√”符號(hào)也將消失。例如,選擇View/Wave命令,將打開仿真波形窗口等。11/11/2024199.添加需要觀察的信號(hào)

在Workplace窗口的sim對(duì)話框中單擊需要觀察的模塊名,在Objects窗口中則會(huì)列出該模塊的各個(gè)端口名及內(nèi)部信號(hào)。可以單擊選中其中一個(gè)需要觀察的信號(hào)名,如果按住Ctrl鍵,則可以通過單擊選中多個(gè)需要觀察的信號(hào)名,然后在選擇下拉菜單Add/Wave/SlectedInstance命令打開Wave窗口,而且剛才被選中的信號(hào)已經(jīng)被添加到Wave窗口中。設(shè)計(jì)者還可以根據(jù)調(diào)試和測(cè)試需要,刪除Wave窗口中的信號(hào),或向其中添加新的信號(hào)。11/11/20242010.運(yùn)行仿真器在主控Main窗口的下拉菜單Simulate選項(xiàng)下有控制仿真器運(yùn)行的多個(gè)命令選項(xiàng)。點(diǎn)擊Simulate/Run,仿真會(huì)運(yùn)行100ns(默認(rèn)的仿真長(zhǎng)度)后停止。在主窗口的VSIM>提示符下,輸入“run500”,仿真器會(huì)再進(jìn)行另外500ns的仿真,共計(jì)仿真了600ns。在主菜單、波形窗口或源代碼窗口的工具條上,單擊Run-all圖標(biāo),仿真連續(xù)運(yùn)行,直到被中斷或在代碼中遇到諸如VerilogHDL中的$stop語句等,暫停仿真。單擊break圖標(biāo),終止仿真運(yùn)行。在主控Main窗口中,單擊Simulate/EndSimulation…選項(xiàng),即可結(jié)束仿真。11/11/20242111.調(diào)試debugModelsim的調(diào)試手段有很多,主要包括:在代碼中設(shè)置斷點(diǎn)、步進(jìn)調(diào)試;觀察波形窗口(Wave),測(cè)量時(shí)間;通過數(shù)據(jù)流窗口(Dataflow),分析物理連接;通過Memory窗口,觀察設(shè)計(jì)中存儲(chǔ)器的數(shù)值;統(tǒng)計(jì)測(cè)試代碼覆蓋率;波形比較。利用Wave窗口、Dataflow窗口和List窗口是常用的分析手段。11/11/202422(1)使用波形窗口觀察設(shè)計(jì)波形是調(diào)試設(shè)計(jì)的一種方法,加載仿真后,就可以使用波形窗口了??梢杂貌藛蝪iew/wave打開波形窗口,圖7.2-3是波形窗口打開之后的界面。在波形窗口中可以采用向波形窗口添加項(xiàng)目,對(duì)波形顯示的圖像縮放,在波形窗口中使用游標(biāo),設(shè)置斷點(diǎn),存儲(chǔ)波形窗口格式,將當(dāng)前的仿真結(jié)果存儲(chǔ)到波形記錄格式文件(WLF)中等手段進(jìn)行調(diào)試。11/11/202423Modelsim中保存波形文件大致有以下三種方法:Format文件:在波形窗口的主菜單中選擇File/Save保存waveformat,在新打開的窗口中填入DO文件的存儲(chǔ)路徑E:/shiftregist/wave.do,單擊OK完成文件存儲(chǔ)。如果需要加載該文件,在打開的波形窗口中選擇“FileOpenFormat”,在OpenFormat窗口中選擇wave.do文件,單擊Open按鈕打開該文件。Modelsim將恢復(fù)該窗口的信號(hào)和游標(biāo)的前一次狀態(tài)。WLF文件(Datasets):Modelsim仿真結(jié)果也可以存儲(chǔ)到一個(gè)波形格式記錄文件中,用于以后瀏覽和與當(dāng)前的仿真結(jié)果的比較。通常使用術(shù)語“Dataset”表示已創(chuàng)建并可重加載的WLF文件。可在主菜單中選擇“File/Datasets/Saveas”,在Saveas對(duì)話框中輸入要保存的波形文件名稱,點(diǎn)擊OK就完成了波形文件的保存。使用File/datasets/open,在彈出的OpenDataset對(duì)話框中在Browse中輸入dataset的路徑,即可打開以保存的波形文件。11/11/202424VCD文件:VCD文件是一個(gè)IEEE1364標(biāo)準(zhǔn)(VerilogHDL語言標(biāo)準(zhǔn))中定義的一種ASCII文件。它是一種EDA工具普遍支持的通用的波形信息記錄文件。在前面的章節(jié)的內(nèi)容已經(jīng)詳細(xì)介紹了如何使用VerilogHDL中的系統(tǒng)函數(shù)來dumpVCD文件。11/11/202425(2)使用數(shù)據(jù)流窗口Dataflow窗口能夠?qū)HDL信號(hào)或者VerilogHDL的線網(wǎng)型變量進(jìn)行圖示化追蹤,在界面中驅(qū)動(dòng)信號(hào)或驅(qū)動(dòng)線網(wǎng)變量的進(jìn)程顯示在左邊,反之被驅(qū)動(dòng)信號(hào)顯示在右邊??梢酝ㄟ^雙擊Wave窗口中需要追蹤的信號(hào)打開Dataflow窗口。下圖顯示的是數(shù)據(jù)流窗口的界面。11/11/202426數(shù)據(jù)流窗口有四個(gè)功能:觀察設(shè)計(jì)的連續(xù)性:可以檢查設(shè)計(jì)的物理連接性,可以逐個(gè)單元地觀測(cè)所關(guān)注的信號(hào)、互聯(lián)網(wǎng)絡(luò)或寄存器的輸入/輸出情況。追蹤事件:跟蹤一個(gè)非預(yù)期輸出的事件,使用嵌入波形觀察器,可以由一個(gè)信號(hào)的跳變回溯追蹤,查到事件源頭。追蹤未知態(tài):數(shù)據(jù)流窗口追蹤不定態(tài)的功能是工程師比較親睞的,在Dataflow窗口中使用Trace/ChaseX功能,會(huì)不斷往驅(qū)動(dòng)級(jí)追蹤不定態(tài)傳遞的源頭。當(dāng)選擇ChaseX時(shí),圖形界面不再變化時(shí),就是不定態(tài)的源頭了。之后就可以根據(jù)數(shù)據(jù)流窗口的結(jié)果,去定位源代碼產(chǎn)生不定態(tài)的語句,并加以改正。顯示層次結(jié)構(gòu):可以使用層次化實(shí)例顯示設(shè)計(jì)的連通性。11/11/202427(3)使用列表窗口List窗口以表格化的方式顯示數(shù)據(jù),可以方便的通過搜索特殊值或者特定條件的數(shù)據(jù),簡(jiǎn)化分析數(shù)據(jù)的過程??梢杂胿iew/list打開List窗口。在List窗口的左邊顯示的是仿真的時(shí)間點(diǎn),右邊顯示的是每個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的變量值。圖7.2-5顯示的是列表窗口。11/11/202428(3)使用列表窗口List窗口以表格化的方式顯示數(shù)據(jù),可以方便的通過搜索特殊值或者特定條件的數(shù)據(jù),簡(jiǎn)化分析數(shù)據(jù)的過程。可以用view/list打開List窗口。在List窗口的左邊顯示的是仿真的時(shí)間點(diǎn),右邊顯示的是每個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的變量值。下圖顯示的是列表窗口。11/11/202429與Wave窗口一樣,List窗口可以保持?jǐn)?shù)據(jù)的列表格式和列表內(nèi)容。在List窗口中選擇File/Save,在彈出的SaveFormat對(duì)話框中輸入保存列表的名稱,點(diǎn)擊保存就可以了。數(shù)據(jù)列表也是一個(gè).do的可執(zhí)行腳本文件,可以通過命令dofile_name.do打開列表文件。在File/WriteList選項(xiàng)下選擇一種格式,完成對(duì)列表內(nèi)容的保存。列表內(nèi)容文件是lst格式的文件,要查看文件內(nèi)容是可通過記事本打開該文件。11/11/20243012.Modesim常用交互命令Modelsim圖形提供了多種指令,既可以是單步指令,通過在主窗口的命令窗口中輸入命令;也可以構(gòu)成批處理文件(如DO文件),用來控制編輯、編譯和仿真流程。run指令指令格式:Run[<timesteps>][<time_unit>]其中,參數(shù)timesteps(時(shí)間步長(zhǎng))和time_unit(時(shí)間單位)是可選項(xiàng),time_unit可以是fs(10-15s),ps(10-12s),ns(10-9s),ms(10-6s),sec(s)這幾種。例如,“run”表示運(yùn)行;“run1000表示運(yùn)行1000個(gè)默認(rèn)的時(shí)間單元(ps)”;“run3500ns”表示運(yùn)行3500ns;“run-continue”表示繼續(xù)運(yùn)行;“run-all”表示運(yùn)行全程。11/11/202431force指令指令格式:force<item_name><value>[<time>],[<value>][<time>]其中,參數(shù)item_name不能默認(rèn),它可以是端口信號(hào),也可以是內(nèi)部信號(hào),而且還支持通配符號(hào),但只能匹配一個(gè);參數(shù)value也不能默認(rèn),其類型必須與item_name一致;time是可選項(xiàng),支持時(shí)間單元。例如,“forceclr1”;“forceclr1100”表示經(jīng)歷100個(gè)默認(rèn)時(shí)間單元延遲后為clr賦值為1;“forceclr1,01000”表示為clr賦值1后,經(jīng)歷1000默認(rèn)時(shí)間單元延遲后為clr賦值0。11/11/202432force-repeat指令格式:force<開始時(shí)間><開始電平值>,<結(jié)束電平值><忽略時(shí)間>-repeat<周期>指令功能:每隔一定的周期(period)重復(fù)一定的force命令。該指令常用來產(chǎn)生時(shí)鐘信號(hào)。例如,“forceclk00,130-repeat100”(-repeat指令可以用-r替代)表示強(qiáng)制clk從0時(shí)間單元開始,起始電平為0,結(jié)束電平為1,忽略時(shí)間(即0電平保持時(shí)間)為30個(gè)默認(rèn)時(shí)間單元,周期為100個(gè)默認(rèn)時(shí)間單元,占空比為(100-30)/100=70%。11/11/202433force-cancel指令指令格式:force-cancel<period>指令功能:執(zhí)行period周期時(shí)間后取消force命令。例如,“forceclk00,130-repeat60-cancel1000”表示強(qiáng)制clk從0時(shí)間單元開始,直到1000個(gè)時(shí)間單元結(jié)束。view指令指令格式:view窗口名指令功能:打開Modelsim的窗口例如,“viewsource”是打開源代碼窗口;“viewwave”是打開波形窗口;“viewdataflow”是打開數(shù)據(jù)流窗口。11/11/20243413.DO文件在Modelsim中創(chuàng)建一個(gè)DO文件,在該DO文件中要完成向波形窗口添加信號(hào),并給這些信號(hào)提供激勵(lì),而后進(jìn)行仿真。

選擇File/New/Source/Do,創(chuàng)建一個(gè)DO文件。在窗口中敲入以下命令行:vlibwork//新建work庫vmapwork//將work庫映射到當(dāng)前工作目錄vlogshiftregist.vtestbench_shiftregist.v//編譯shiftregist.vtestbench_shiftregist.v文件vsimshiftregist.v//仿真work庫中名為testbench_shiftregist模塊addwave/testbench_shiftregist.v/*//將testbench_shiftregist所有信號(hào)加入到波形圖中run2000viewdataflow將以上文件保存為shiftregist.do文件,每次用命令doshiftregist.do就可以自動(dòng)執(zhí)行想要的仿真動(dòng)作。11/11/2024357.2.2NC-Verilog的使用1.工作模式的選擇運(yùn)行NCsim的命令是nclunch。第一次運(yùn)行NCSim的時(shí)候,需要用戶選擇工作模式。這里可供選擇的主要是MultipleStep和SingleStep,請(qǐng)選擇Multiple模式,此模式對(duì)應(yīng)的仿真流程是ncvlog、ncelab、ncsim三步。對(duì)于兩種工作模式在參考手冊(cè)內(nèi)有詳細(xì)說明。右圖顯示的是NC-Verilog的啟動(dòng)界面。11/11/2024362.建立工作環(huán)境選擇File/SetDesignDirectory菜單進(jìn)行設(shè)置,彈出的對(duì)話框會(huì)要求填寫如下的選項(xiàng)。DesignDirectory:一般就是項(xiàng)目所在的目錄,即啟動(dòng)nclaunch時(shí)所在的目錄。LibraryMappingFile:點(diǎn)擊“Createcds.libFile”按鈕,會(huì)彈出一個(gè)“Createacds.libfile”的對(duì)話框,里面的文件名是“cds.lib”,選擇“Save”,此時(shí)在彈出的對(duì)話框中選擇“IncludeDefualtLibraries”,將會(huì)在當(dāng)前項(xiàng)目目錄下建立INCA_lib文件夾用來保存整個(gè)設(shè)計(jì)中全部的庫信息;WorkLibrary:在建立了cds.lib之后將出現(xiàn)worklib的默認(rèn)選項(xiàng),無需更改。11/11/2024373.編譯用鼠標(biāo)左鍵選擇Nclaunch左面窗口里的源文件“counter.v”,“counter_tb.v”可以按ctrl鍵以同時(shí)選擇多個(gè)文件。第一次編譯的時(shí)候選Tool/VerilogHDLCompiler菜單,以后就可以直接點(diǎn)擊工具欄中的“vlog”按鈕。編譯文件。特別注意,請(qǐng)?jiān)诰幾g成功第一個(gè)文件后,重新載入工作目錄(File/SetDesignDirectory)以確保警告消失。11/11/2024384.載入設(shè)計(jì)文件

用鼠標(biāo)左鍵選擇Nclaunch右面窗口里工作目錄(worklib)下的頂層實(shí)體worklib/counter_tb/module。選Tool/Elaborator菜單,在彈出的對(duì)話框里選中“Accessvisibility”的READ屬性,然后確定。載入設(shè)計(jì)文件后的NC界面如右圖所示。11/11/2024395.仿真

用鼠標(biāo)左鍵選擇Nclaunch右面窗口里snapshots里的頂層實(shí)體的實(shí)體對(duì)snapshots/worklib.shiftregist_tb:module)選Tool/Simulator菜單,在彈出的對(duì)話框里選“確定”,將彈出仿真器窗口。彈出的默認(rèn)窗口有兩個(gè),點(diǎn)擊DesignBrowser/SimVision窗口的工具欄中的波形按鈕開啟波形仿真窗口。在DesignBrowser/SimVision窗口內(nèi)展開左邊瀏覽器中的Simulator在右邊的列表中選擇希望觀察的信號(hào),選中后,點(diǎn)擊鼠標(biāo)右鍵選擇sendtoWaveformWindows。根據(jù)實(shí)際波形的需要,在Waveform/SimVision窗口內(nèi)把時(shí)間顯示單位煥成us、ns或ps,然后開始仿真,有兩種方法:選擇Simulation/Run或者直接點(diǎn)擊工具欄中“開始”按鈕開始波形仿真。如果加入了新的信號(hào),需要重新仿真點(diǎn)擊復(fù)位,然后再次仿真。在Console窗口直接輸入命令,仿真一段時(shí)間,例如:run2000ns11/11/2024407.3綜合工具邏輯綜合是前端電路模塊設(shè)計(jì)的重要步驟之一,邏輯綜合在標(biāo)準(zhǔn)單元庫和特定的設(shè)計(jì)約束的基礎(chǔ)上,把設(shè)計(jì)的高層次描述轉(zhuǎn)換成優(yōu)化的門級(jí)網(wǎng)表的過程。DesignCompiler是Synopsys公司用于電路邏輯綜合的核心工具,它可以方便地將HDL語言描述的電路轉(zhuǎn)換到基于工藝庫的門級(jí)網(wǎng)表,它是ASIC設(shè)計(jì)領(lǐng)域使用較多的邏輯綜合工具之一。在FPGA邏輯綜合領(lǐng)域存在多種邏輯綜合工具,其中Synplify以其邏輯綜合速度快、邏輯綜合效果好而備受關(guān)注,成為FPGA設(shè)計(jì)邏輯綜合和常用工具。11/11/2024417.3.1Synplify的使用11/11/2024421.創(chuàng)建工程

在File菜單選擇“New”,選擇“ProjectFile”,然后填入工程名,點(diǎn)擊“OK”保存。創(chuàng)建工程后,其中rev_1表示版本一,Synplify允許對(duì)同一個(gè)設(shè)計(jì)根據(jù)不同的綜合約束條件,創(chuàng)建多個(gè)不同的綜合版本。2.添加文件接下來的步驟是把設(shè)計(jì)的源文件添加到工程中,設(shè)計(jì)文件可以是一個(gè),也可以是多個(gè)。添加方法是選擇Project/AddSourceFile或者軟件界面左邊的“AddFile”按鈕,在彈出的對(duì)話框中選擇要添加的源文件即可。如果事先沒有源文件,可以選擇新建“VHDL”或者“VerilogHDL”源文件,然后在HDL編輯器中編寫代碼并保存。11/11/2024433.保存工程點(diǎn)擊工具欄中save的圖標(biāo),對(duì)工程及源文件進(jìn)行保存。4.語法和綜合檢測(cè)可以用“RUN”菜單中的“Syntaxcheck”和“Synthesis”對(duì)源程序進(jìn)行檢測(cè),檢測(cè)的結(jié)果保存在“Syntax.log”文件中,如果有錯(cuò)誤用紅色標(biāo)出。雙擊可以對(duì)錯(cuò)誤進(jìn)行定位。另外,在RUN菜單中的compileronly也可以對(duì)源文件進(jìn)行檢測(cè)。11/11/2024445.編譯綜合前的設(shè)置選擇“Project”菜單中的“ImplementationOptions”或者軟件界面左側(cè)的“ImplementationOptions”按鈕,即可出現(xiàn)設(shè)置對(duì)話框。在設(shè)置對(duì)話框中設(shè)計(jì)者可以選擇器件、添加一些簡(jiǎn)單約束等。選擇“AlteraCycloneII”器件,在選擇器件的同時(shí),還可以對(duì)與器件映射有關(guān)的選項(xiàng)進(jìn)行設(shè)定,包括最大扇出、IO、Pipelining等。在“options”中可以對(duì)“PhysicalSynthesis”、“FSMcompiler”、“ResourceSharing”、“Retiming”等優(yōu)化選項(xiàng)進(jìn)行設(shè)定。在“Constraints”中可以對(duì)時(shí)鐘頻率進(jìn)行約束。在“TimingReport”中可以設(shè)定關(guān)鍵路徑的數(shù)量。在“VerilogHDL”中的“TopLevelModule”中填入shiftregist。11/11/2024456.編譯選擇菜單“RUN”中的“compileronly”就可以對(duì)設(shè)計(jì)進(jìn)行單獨(dú)編譯。在編譯后產(chǎn)生的文件中擴(kuò)展名為“srr”的文件是工程報(bào)告文件,包括工程檢錯(cuò)、編譯、綜合和時(shí)序等所有工程信息。擴(kuò)展名為“tlg”的文件是工程組織結(jié)構(gòu)信息文件。擴(kuò)展名為“srs”的為RTL視圖文件,是設(shè)計(jì)者經(jīng)常要檢查的一個(gè)。雙擊該文件或者點(diǎn)擊工具欄的

圖標(biāo),移位寄存器的RTL視圖如下圖所示。11/11/2024467.綜合選擇菜單“Run”中的“Synthesize”或者面板上的“Run”按鈕,就進(jìn)行了綜合。綜合后主要產(chǎn)生了設(shè)計(jì)的門級(jí)網(wǎng)表,門級(jí)網(wǎng)表可以拿到布局布線工具中進(jìn)行設(shè)計(jì)的最后實(shí)現(xiàn)。綜合后還產(chǎn)生了一些其它的文件,包括綜合報(bào)告、Log文件、腳本文件等。綜合后已經(jīng)根據(jù)所選的器件產(chǎn)生了門級(jí)電路,設(shè)計(jì)者可以通過Technology視圖功能觀察門級(jí)電路,方法是選擇菜單“HDLAnalyst/RTL/HierarchicalView”,或者點(diǎn)擊工具欄的

圖標(biāo)即可,這種方法可以查看層次結(jié)構(gòu)顯示的工藝相關(guān)的綜合結(jié)果。移位寄存器的Technology視圖如下圖所示。11/11/202447在Technology視圖下可以利用Push/Pop層次功能進(jìn)入硬件的更底層,也可以在此圖上顯示關(guān)鍵路徑;還可以把Technology視圖展平成門級(jí),方法是選擇“HDLAnalyst/RTL/FlattenedtoGatesView”,如下圖所示可查看到門級(jí)電路的工藝相關(guān)綜合結(jié)果。11/11/2024488.分析綜合結(jié)果綜合通過后,設(shè)計(jì)者可以點(diǎn)擊“ViewLog”按鈕來查看綜合報(bào)告。綜合報(bào)告包括了如圖所示的信息。通過檢查綜合結(jié)果,檢查系統(tǒng)設(shè)計(jì)是否滿足要求,如系統(tǒng)時(shí)鐘頻率是否達(dá)到要求,資源消耗了多少等等。同時(shí)還可以找出系統(tǒng)設(shè)計(jì)中存在的問題,如較差路徑的起點(diǎn)和較差路徑的終點(diǎn)、最差路徑等信息。其中,比較重要的是時(shí)序方面的報(bào)告。下圖展示了綜合報(bào)告所包含的信息。11/11/202449綜合產(chǎn)生的時(shí)序報(bào)告時(shí)估計(jì)值,設(shè)計(jì)的實(shí)際時(shí)序狀況極度程度的依賴于布局布線工具,如果調(diào)整布局布線工具的時(shí)間約束,可以很容易的讓設(shè)計(jì)的工作頻率在10%~20%的范圍內(nèi)變化。在TimingReport中設(shè)計(jì)者可以看到用戶要求的工作頻率(RequestedFrequency)和Synplify綜合后系統(tǒng)估計(jì)最高允許的工作頻率(EstimatedFrequency)。同時(shí)也可以看到用戶要求的工作周期(RequestedPeriod)、系統(tǒng)估計(jì)允許的工作周期(EstimatedPeriod)以及裕量(Slack)。其中裕量=要求周期-估計(jì)周期。如果裕量大于0,則滿足時(shí)序要求,如果裕量小于0,則不滿足時(shí)序要求。圖7.3-6所示的是時(shí)序報(bào)告。11/11/202450如果裕量小于0,不滿足時(shí)序要求時(shí),就要分析較差路徑的起點(diǎn)信息(StartingPointswithWorstSlack)如圖7.3-7所示。ArrivalTime是時(shí)鐘從開始端到達(dá)該路徑終點(diǎn)的延時(shí)時(shí)間(也可以說是傳播時(shí)間)。最差路徑的裕量是最小的,在不符合時(shí)序要求時(shí)最差路徑的裕量會(huì)是負(fù)值。同樣在最差路徑的終點(diǎn)信息的報(bào)告中,最差路徑的Slack也是最小的,在不符合時(shí)序要求時(shí)最差路徑的裕量也是負(fù)值。11/11/202451最差路徑信息是對(duì)最差路徑做的一個(gè)總結(jié),指出最差路徑的時(shí)間裕量以及路徑的起點(diǎn)和終點(diǎn)。圖7.3-8顯示的是最差路徑信息。這條最差路徑通常叫做關(guān)鍵路徑(criticalpath)。設(shè)計(jì)者可以通過分析這些路徑,尋找到優(yōu)化這些路徑的方法。11/11/2024527.3.2DesignCompiler的使用11/11/2024531.編寫HDL文件輸入DesignCompiler的設(shè)計(jì)文件通常都是用諸如VHDL和VerilogHDL等硬件描述語言編寫。這些設(shè)計(jì)描述必須小心地編寫以獲得可能的最好的綜合結(jié)果。在編寫HDL代碼時(shí),設(shè)計(jì)者需要考慮設(shè)計(jì)數(shù)據(jù)的管理、設(shè)計(jì)劃分和HDL編碼風(fēng)格。劃分和編碼風(fēng)格直接影響綜合和優(yōu)化過程。雖然流程中包含該步驟,但實(shí)際上它并不是DesignCompiler的一個(gè)步驟。設(shè)計(jì)者不能用DesignCompiler工具來編寫HDL文件。11/11/2024542.指定庫選擇File/Setup,通過link_library,target_library,symbol_library和synthetic_library命令為DesignCompiler指定鏈接庫、對(duì)象庫、符號(hào)庫和綜合庫。鏈接庫和對(duì)象庫是工藝庫,對(duì)象庫是指將RTL級(jí)的HDL描述門級(jí)時(shí)所需要的標(biāo)準(zhǔn)單元綜合庫,它是由芯片制造商(Foundry)提供的,包含了物理信息的單元模型。鏈接庫可以是同target_library一樣的單元庫,或者是已綜合到門級(jí)的底層模塊設(shè)計(jì),其作用如下:在由下向上的綜合過程中,上一層的設(shè)計(jì)調(diào)用底層已綜合的模塊時(shí),將從link_library中尋找并鏈接起來。符號(hào)庫定義了設(shè)計(jì)電路圖所調(diào)用的符號(hào)。如果設(shè)計(jì)者想應(yīng)用DesignAnalyzer圖形用戶界面,就需要這個(gè)庫。另外,設(shè)計(jì)者必須通過synthetic_library命令來指定任何一種特殊的有許可的設(shè)計(jì)工具庫(不需要指定標(biāo)準(zhǔn)設(shè)計(jì)工具庫)。11/11/2024553.讀入設(shè)計(jì)DesignCompiler使用HDLCompiler將RTL級(jí)設(shè)計(jì)和門級(jí)網(wǎng)表作為設(shè)計(jì)輸入文件讀入。選擇File/Read,在打開的文件對(duì)話框中選中要打開的文件,例如設(shè)計(jì)者選擇shiftregist.v文件。在Log框中出現(xiàn)successfully字樣表明讀入文件成功。

點(diǎn)擊symbol按鈕可以查看該電路的symbol圖。如果設(shè)計(jì)者用read_file或read命令讀入RTL設(shè)計(jì),等于實(shí)現(xiàn)了analyze和elaborate命令組合的功能。4.定義設(shè)計(jì)環(huán)境DesignCompiler要求設(shè)計(jì)者模擬出待綜合設(shè)計(jì)的環(huán)境。這個(gè)模型由外部的操作環(huán)境(制造流程、溫度和電壓)、負(fù)載、驅(qū)動(dòng)、扇出、線負(fù)載模型等組成。它直接影響到設(shè)計(jì)綜合和優(yōu)化的結(jié)果。11/11/2024565.設(shè)置設(shè)計(jì)約束最優(yōu)化約束則定義了時(shí)序(時(shí)鐘、時(shí)鐘錯(cuò)位、輸入延時(shí)和輸出延時(shí))和面積(最大面積)等設(shè)計(jì)目標(biāo)。在最優(yōu)化過程中,DesignCompiler試圖去滿足這些目標(biāo),但不會(huì)去違反任何設(shè)計(jì)規(guī)則。為能夠正確地優(yōu)化設(shè)計(jì),必須設(shè)置更接近現(xiàn)實(shí)情況的約束。

(1)設(shè)置時(shí)鐘約束在symbol圖上選中clk端口,選擇Attributes/SpecifyClock,出來設(shè)置時(shí)鐘約束對(duì)話框,例如設(shè)計(jì)者可以進(jìn)行如下設(shè)置,給時(shí)鐘取名為clock,周期20ns,上升沿0ns,下降沿10ns。點(diǎn)擊OK,時(shí)鐘約束設(shè)置完成。相應(yīng)命令:creat_clock。11/11/202457(2)設(shè)置復(fù)位信號(hào)約束在symbol圖中選中rst_n端口(在本例中它是復(fù)位端口),選擇Attibutes/OptimizationDirectives/InputPort。勾選Don’ttouchnetwork選項(xiàng),點(diǎn)擊OK。相應(yīng)命令:set_dont_touch_network。(3)設(shè)置輸入信號(hào)延遲約束同時(shí)選中輸入端口,例如選擇a,b,c選擇Attributes/OperatingEnvironment/InputDelay。設(shè)置Relativetoclock為clock(即剛才加約束的時(shí)鐘信號(hào)),并設(shè)置上升延遲為8ns(根據(jù)經(jīng)驗(yàn),該值是時(shí)鐘周期的40%,本例中設(shè)置了時(shí)鐘周期為20ns,20*0.4=8ns)相應(yīng)命令:set_input_delay11/11/202458(4)設(shè)置輸出端口約束在symbol圖上選中輸出端口。選擇Attributes/OperatingEnvironment/OutputDelay設(shè)置輸出延遲為8ns。相應(yīng)指令:set_output_delay(5)設(shè)置面積約束選擇Attributes/OptimizationConstraints/DesignConstraints,設(shè)置Maxarea的值為0,表明讓DC向電路面積為0的方向來優(yōu)化電路,使面積最小。當(dāng)然,面積為0是達(dá)不到的。Maxfanout為4,Maxtransition為0.5(具體含義參見SYNTHESIS.pdf)。相應(yīng)命令:set_max_area,set_max_fanout,set_max_transition。11/11/2024596.優(yōu)化設(shè)計(jì)利用compiler命令啟動(dòng)DesignCompiler的綜合和優(yōu)化進(jìn)程。有幾個(gè)可選的編譯選項(xiàng)。特別的,map_effort選項(xiàng)可以設(shè)置為low、mediu或high。初步編譯,如果設(shè)計(jì)者想對(duì)設(shè)計(jì)面積和性能有一個(gè)快速的概念,將map_effort設(shè)置為low;默認(rèn)編譯,如果設(shè)計(jì)者在進(jìn)行設(shè)計(jì)開發(fā),將map_effort設(shè)置為medium;當(dāng)在進(jìn)行最后設(shè)計(jì)實(shí)現(xiàn)編譯時(shí),將map_effort設(shè)置為high。通常設(shè)置map_effort為medium。7.查看約束通常DesignCompiler根據(jù)設(shè)計(jì)綜合和優(yōu)化的結(jié)果生成眾多的報(bào)告。設(shè)計(jì)者根據(jù)諸如面積、約束和時(shí)序報(bào)告來分析和解決任何設(shè)計(jì)問題,或者改進(jìn)綜合結(jié)果。設(shè)計(jì)者可以用check命令來檢查綜合過的設(shè)計(jì),也可用其它的check_命令。8.保存設(shè)計(jì)數(shù)據(jù)利用write命令來保存綜合過的設(shè)計(jì)。DesignCompiler在退出時(shí)并不自動(dòng)保存設(shè)計(jì)。11/11/2024607.4測(cè)試和綜合舉例工作的思路是:1.設(shè)計(jì)一個(gè)帶控制端的移位寄存器,利用Modelsim做功能仿真;2.利用進(jìn)行綜合,生成shiftregist.vqm文件;3.利用QuartusII導(dǎo)入shiftregist.vqm進(jìn)行自動(dòng)布局布線,并生成shiftregist.vo(VerilogHDLOutputFile)網(wǎng)表文件與shiftregist.sdo(StandardDelayOutputFile)時(shí)延文件用做后仿真(Post-Sim);4.利用Modelsim做后仿真,看是否滿足要求。11/11/2024617.4.1自動(dòng)布局布線1.開啟QuartusII,然后建立一個(gè)Project。選擇File/NewProjectWizard新建工程設(shè)定WorkDirectory,ProjectName與Top-LevelEntityName,再按Next。

2.加入設(shè)計(jì)文件點(diǎn)選Add,將Synplify合成出來的shiftregist.vpm加入再按Next。3.定Family和Device設(shè)定Family為Statix,Device為EP1S10F780C6,然后按Next。4.設(shè)定相關(guān)的EDATools在DesignEntry/Synthesis的ToolName下拉點(diǎn)選是Synplifypro,F(xiàn)omats下拉列表點(diǎn)選VQM。在Simulation的ToolName下拉點(diǎn)選Modelsim,F(xiàn)omats下拉列表點(diǎn)選VerilogHDL。5.確認(rèn)信息,點(diǎn)Finish完成Project的設(shè)定和保存。11/11/2024626.編譯點(diǎn)擊Processing/StartCompilation,即可開始編譯。編譯成功后,會(huì)在F:\shiftregist\apr目錄下生成Simulation子目錄,打開發(fā)現(xiàn)在F:\shiftregist\apr\simulation\Modelsim下有設(shè)計(jì)者后仿真需要的shiftregist.vo和shiftregist.sdo文件。右圖所示的是新建工程向?qū)Ы⒐こ涛募男畔ⅰ?1/11/2024637.4.2后仿真1.新建工程啟動(dòng)Modelsim,然后建立一個(gè)Project。建立的方法和前面介紹功能仿真時(shí)的方法一樣,注意ProjectLocation要填為F:\shiftregist\post-sim,ProjectName要填為shiftregist。2.加入文檔首先將用QuartusII生成的網(wǎng)表文件shiftregist.vo加入。由于設(shè)計(jì)采用Altera的CellLibrary來合成電路,所以合成后的Netlist里所包括的那些LogicGates與Flip-Flop都是出自于CellLibrary,所以模擬時(shí)要將此CellLibrary加入。設(shè)計(jì)時(shí)所選用的Family是Stratix,所以到QuartusIIedasim_lib里將Stratix的CellLibrary(stratix_atoms.v)加入。stratix_atoms.v可以在目錄C:\altera\81\quartus\eda\sim_lib下找到。最后加入Pre-Sim的測(cè)試平臺(tái)testbench_shiftregist.v,并在測(cè)試平臺(tái)里加上`timescale1ns/100ps。11/11/2024643.編譯選擇Compile/CompileAll,即可編譯工程中所有文件。4.仿真設(shè)置在Modelsim主菜單中,選擇Simulate/StartSimulation在彈出的對(duì)話框中要做如下的工作。首先,在design選項(xiàng)卡下的work2庫下選擇測(cè)試文件testbench_shiftregist。其次打開Library選項(xiàng)卡,在SearchLibrary項(xiàng)目下點(diǎn)擊添加,將庫work2添加進(jìn)來。這里因?yàn)閯偛啪幾g的時(shí)候已經(jīng)將stratix_atoms.v庫的信息加進(jìn)了work2,所以添加work2庫的同時(shí)也就添加了Altera的statix器件庫。最后在SDF選項(xiàng)卡下添加延時(shí)反標(biāo)文件,點(diǎn)擊Add,在彈出的AddSDFEntry對(duì)話框中,點(diǎn)擊Browse找到.sdo文件的路徑并加入。在作用區(qū)域(ApplytoRegion)下所填的是測(cè)試模塊名和測(cè)試模塊中例化文件名,格式是“/測(cè)試文件頂層模塊名/測(cè)試文件中例化文件名”。在本例中填寫為“/testbench_shiftregist/U1”。

以上工作完成后,點(diǎn)擊OK后Modelsim自動(dòng)按照設(shè)定完成對(duì)仿真目標(biāo)的加載。11/11/202465

5.仿真調(diào)試在以上工作都做完之后。按照7.2.1節(jié)的方法,運(yùn)行仿真器。打開波形窗口,將信號(hào)添加進(jìn)去,點(diǎn)擊RUN。將后仿真的波形與前仿真的波形進(jìn)行對(duì)比。波形對(duì)比能快速定位設(shè)計(jì)在修改前后的區(qū)別,在進(jìn)行波形對(duì)比前要先保存原設(shè)計(jì)的波形文件,此文件稱為對(duì)比對(duì)象。在Modelsim中使用波形對(duì)比向?qū)?,可以方便的完成波形?duì)比功能。具體的工作可以分為幾個(gè)步驟:打開波形對(duì)比向?qū)гO(shè)置。在Wave界面上選擇Tools/WaveformCompare/ComparisionWizard選項(xiàng),打開波形對(duì)比向?qū)?。?dǎo)入波形

溫馨提示

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

評(píng)論

0/150

提交評(píng)論