設(shè)計(jì)綜合與行為仿真_第1頁
設(shè)計(jì)綜合與行為仿真_第2頁
設(shè)計(jì)綜合與行為仿真_第3頁
設(shè)計(jì)綜合與行為仿真_第4頁
設(shè)計(jì)綜合與行為仿真_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

設(shè)計(jì)綜合與行為仿真第1頁,課件共63頁,創(chuàng)作于2023年2月

設(shè)計(jì)綜合和行為仿真-本章概要

本章詳細(xì)介紹了設(shè)計(jì)綜合和行為仿真的流程和方法。在設(shè)計(jì)綜合部分,介紹了綜合的概念、綜合屬性配置方法和綜合實(shí)現(xiàn),以及RTL原理圖查看。在行為仿真部分,介紹了測(cè)試向量的生成、行為仿真工具、基于Modelsim軟件的行為仿真和基于ISE仿真器的行為仿真的實(shí)現(xiàn),同時(shí)還介紹了使用波形和VHDL語言建立測(cè)試向量的方法。第2頁,課件共63頁,創(chuàng)作于2023年2月

設(shè)計(jì)綜合和行為仿真-行為綜合在集成電路設(shè)計(jì)領(lǐng)域,綜合是指設(shè)計(jì)人員使用高級(jí)設(shè)計(jì)語言對(duì)系統(tǒng)邏輯功能的描述,在一個(gè)包含眾多結(jié)構(gòu)、功能、性能均已知的邏輯元件的邏輯單元庫的支持下,將其轉(zhuǎn)換成使用這些基本的邏輯單元組成的邏輯網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)。這個(gè)過程一方面是在保證系統(tǒng)邏輯功能的情況下進(jìn)行高級(jí)設(shè)計(jì)語言到邏輯網(wǎng)表的轉(zhuǎn)換,另一方面是根據(jù)約束條件對(duì)邏輯網(wǎng)表進(jìn)行時(shí)序和面積的優(yōu)化。第3頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-行為綜合行為級(jí)綜合可以自動(dòng)將系統(tǒng)直接從行為級(jí)描述綜合為寄存器傳輸級(jí)描述。行為級(jí)綜合的輸入為系統(tǒng)的行為級(jí)描述,輸出為寄存器傳輸級(jí)描述的數(shù)據(jù)通路。行為級(jí)綜合工具可以讓設(shè)計(jì)者從更加接近系統(tǒng)概念模型的角度來設(shè)計(jì)系統(tǒng)。同時(shí),行為級(jí)綜合工具能讓設(shè)計(jì)者對(duì)于最終設(shè)計(jì)電路的面積、性能、功耗以及可測(cè)性進(jìn)行很方便地優(yōu)化。行為級(jí)綜合所需要完成的任務(wù)從廣義上來說可以分為分配、調(diào)度以及綁定。第4頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-行為綜合分配包括決定系統(tǒng)實(shí)現(xiàn)所需要的各個(gè)功能組件的個(gè)數(shù)以及種類。這些組件以及資源來自采用寄存器傳輸級(jí)描述的元件庫,包括諸如運(yùn)算邏輯單元、加法器、乘法器和多路復(fù)用器等。分配同時(shí)也決定了系統(tǒng)中總線的數(shù)量、寬度、以及類型。第5頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-行為綜合

調(diào)度為行為級(jí)描述中的每個(gè)操作指派時(shí)間間隙,這也成為控制執(zhí)行步驟。數(shù)據(jù)流從一級(jí)寄存器流向下一級(jí)寄存器并按調(diào)度所指定的執(zhí)行步驟在功能單元上執(zhí)行。每一個(gè)執(zhí)行步驟的時(shí)間長(zhǎng)度通常為一個(gè)時(shí)鐘周期,并且在這一個(gè)執(zhí)行步驟中的操作被綁定到特定寄存器傳輸級(jí)描述的組件上。上述這些操作都完成后,系統(tǒng)所完成的功能被分配到各個(gè)功能單元模塊,變量被存儲(chǔ)在各個(gè)存儲(chǔ)單元,并且不同功能單元之間的互連關(guān)系也建立起來了。在實(shí)際的PLD設(shè)計(jì)流程中,邏輯綜合將使用硬件邏輯描述語言如Verilog、VHDL等描述的寄存器傳輸級(jí)(RTL)描述,轉(zhuǎn)換成使用邏輯單元庫中基本邏輯單元描述的門級(jí)網(wǎng)表電路。第6頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-XST綜合工具概述

當(dāng)所有的設(shè)計(jì)完成,并且進(jìn)行完語法檢查后,就可以使用Xilinx的XST工具或Synplify工具進(jìn)行綜合了,綜合工具使用HDL代碼,然后生成支持的網(wǎng)表格式EDIF或NGC,然后Xilinx的實(shí)現(xiàn)工具將使用這些網(wǎng)表文件完成隨后的處理過程。在ISE的主界面的處理子窗口的synthesis的工具可以完成下面的任務(wù):查看綜合報(bào)告(viewSynthesisReport)查看RTL原理圖(ViewRTLschematic)查看技術(shù)原理圖(ViewTechnologySchematic)檢查語法(CheckSyntax)產(chǎn)生綜合后仿真模型(GeneratePost-SynthesisSimulationModel)。第7頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-XST綜合工具概述

綜合工具在對(duì)設(shè)計(jì)的綜合過程中,主要執(zhí)行以下三個(gè)步驟:

1)語法檢查過程,檢查設(shè)計(jì)文件語法是否有錯(cuò)誤;

2)編譯過程,翻譯和優(yōu)化HDL代碼,將其轉(zhuǎn)換為綜合工具可以識(shí)別的元件序列;

3)映射過程,將這些可識(shí)別的元件序列轉(zhuǎn)換為可識(shí)別的目標(biāo)技術(shù)的基本元件;第8頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-綜合選項(xiàng)的設(shè)置和綜合

綜合選項(xiàng)能夠使設(shè)計(jì)人員根據(jù)設(shè)計(jì)的要求進(jìn)行設(shè)置來影響綜合行為。一種最常使用的綜合選項(xiàng)是選擇基于面積或者速度,來實(shí)現(xiàn)綜合優(yōu)化目標(biāo)。其它選項(xiàng)包括控制觸發(fā)器輸出的最大扇出以及所希望的設(shè)計(jì)頻率等。第9頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-綜合選項(xiàng)的設(shè)置和綜合根據(jù)下面的步驟進(jìn)入綜合選項(xiàng)設(shè)置:

1.在源文件(Source)視圖中選擇stopwatch.vhd文件

2.在處理(Process)視圖中,用鼠標(biāo)右擊“Synthesis”(綜合)選項(xiàng),在出現(xiàn)的菜單中選擇“Properties”(屬性)。

3.如圖8.1所示,確保在屬性設(shè)置窗口下的“Propertydisplaylevel”的選項(xiàng)設(shè)置為“Advanced”,這允許設(shè)計(jì)者可以看到所有可用的綜合屬性設(shè)置;

4.在圖8.1的界面左側(cè)選擇“SynthesisOption”標(biāo)簽選項(xiàng),將“NetlistHierarchy”屬性設(shè)置為“Rebuild”,點(diǎn)擊“OK”按鈕。第10頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-綜合選項(xiàng)的設(shè)置和綜合圖8.1綜合屬性設(shè)置窗口第11頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-綜合選項(xiàng)的設(shè)置和綜合準(zhǔn)備對(duì)設(shè)計(jì)進(jìn)行綜合,然后生成網(wǎng)表(Netlist)文件,下面給出綜合的步驟;

1.選擇stopwatch.vhd2.在“Process”(處理)子窗口中,雙擊“Synthesis”,開始對(duì)設(shè)計(jì)進(jìn)行綜合。第12頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-RTL符號(hào)查看在綜合完成后,XST將生成HDL代碼所對(duì)應(yīng)的原理圖描述(RTLSchematic)??梢酝ㄟ^RTL原理圖查看工具,看到綜合后的邏輯連接關(guān)系。這里有兩種原理圖描述:

1.RTL原理圖(RTLSchmatic)是優(yōu)化前的HDL代碼的邏輯;

2.技術(shù)原理圖(TechnologySchematic)是HDL綜合完成后的設(shè)計(jì)和目標(biāo)技術(shù)的映射。第13頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-RTL符號(hào)查看通過下面的步驟,查看HDL設(shè)計(jì)的原理圖描述:

1.在處理子窗口,點(diǎn)擊“+Synthesize–XST”選項(xiàng),將其下面的功能分層展開;

2.如果出現(xiàn)“SetRTL/TechViewerStartupMode”(設(shè)置RTL/Tech查看器啟動(dòng)模式)對(duì)話框,則選擇“StartwiththeExploredWizard”。

3.如圖8.2的“CreateRTLSchemaitc”(創(chuàng)建RTL符號(hào))開始界面,從“AvailableElement”列表中,選擇clk_divider和debounce元件,然后點(diǎn)擊“Add”按鈕將選擇的元件移動(dòng)到“SelectedElementsList”列表中。

4.點(diǎn)擊“CreateSchematic”(創(chuàng)建原理圖)按鈕。第14頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-RTL符號(hào)查看圖8.2CreateRTLSchemaitc開始界面第15頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-RTL符號(hào)查看

RTL查看器允許設(shè)計(jì)者選擇設(shè)計(jì)的一部分作為原理圖進(jìn)行顯示。如圖8.3所示,當(dāng)顯示原理圖時(shí),雙擊符號(hào),進(jìn)入到原理圖和查看不同設(shè)計(jì)元件和連接性。鼠標(biāo)右擊原理圖來查看在原理圖查看器中可以執(zhí)行的各種操作。圖8.3RTL原理圖第16頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-RTL符號(hào)查看當(dāng)完成綜合后,在工程目錄下,將存在一個(gè)NGC文件。對(duì)于基于其它綜合工具的綜合實(shí)現(xiàn)可以參考XST綜合過程和相關(guān)綜合工具的使用手冊(cè)。第17頁,課件共63頁,創(chuàng)作于2023年2月行為仿真的實(shí)現(xiàn)-生成測(cè)試向量

VHDL還可以描述變化的測(cè)試信號(hào)。描述測(cè)試信號(hào)的變化和測(cè)試過程的模塊叫做測(cè)試平臺(tái)(Testbench),它可以對(duì)任何一個(gè)Verilog/VHDL模塊進(jìn)行動(dòng)態(tài)的全面測(cè)試。通過對(duì)被測(cè)試模塊的輸出信號(hào)的測(cè)試,可以驗(yàn)證邏輯系統(tǒng)的設(shè)計(jì)和結(jié)構(gòu),并對(duì)發(fā)現(xiàn)的問題及時(shí)修改。測(cè)試平臺(tái)是為邏輯設(shè)計(jì)仿真而編寫的代碼,它能直接與邏輯設(shè)計(jì)接口。如圖8.2所示,通過向邏輯設(shè)計(jì)施加激勵(lì),檢測(cè)被測(cè)模塊的輸出信號(hào)。

邏輯設(shè)計(jì)激勵(lì)響應(yīng)圖8.2測(cè)試平臺(tái)的作用測(cè)試平臺(tái)結(jié)果顯示平臺(tái)第18頁,課件共63頁,創(chuàng)作于2023年2月行為仿真的實(shí)現(xiàn)-生成測(cè)試向量

測(cè)試平臺(tái)通常使用VHDL、Verilog、e或者OpenVera編寫,同時(shí)還能調(diào)用外部的文件和C函數(shù)。測(cè)試平臺(tái)可以使用同邏輯設(shè)計(jì)不同的描述語言,仿真器通常提供支持不同描述語言的混合仿真功能。

第19頁,課件共63頁,創(chuàng)作于2023年2月行為仿真的實(shí)現(xiàn)-生成測(cè)試向量硬件描述語言如Verilog和VHDL等,都提供了兩種基本的建模方式:行為級(jí)和寄存器傳輸級(jí)。寄存器傳輸級(jí)是對(duì)硬件邏輯進(jìn)行可綜合性的描述,使用的是VHDL語言中可綜合邏輯設(shè)計(jì)激勵(lì)響應(yīng)測(cè)試平臺(tái)結(jié)果顯示平臺(tái)的描述部分。寄存器傳輸級(jí)代碼可以由邏輯綜合工具直接轉(zhuǎn)換成門級(jí)電路。行為級(jí)描述是對(duì)硬件邏輯更為靈活和抽象的描述,描述的重點(diǎn)在于硬件邏輯的功能,通常不考慮時(shí)序問題。行為級(jí)代碼通常不能被邏輯綜合工具轉(zhuǎn)換成門級(jí)電路。測(cè)試平臺(tái)以行為級(jí)描述為主,不使用寄存器傳輸級(jí)的描述形式。第20頁,課件共63頁,創(chuàng)作于2023年2月行為仿真的實(shí)現(xiàn)-生成測(cè)試向量測(cè)試平臺(tái)主要由兩個(gè)組件構(gòu)成:激勵(lì)生成和響應(yīng)檢測(cè)。它們同被測(cè)單元(DUT,DeviceUnderTest)的關(guān)系如圖8.3所示。激勵(lì)生成被測(cè)單元響應(yīng)檢測(cè)圖8.3測(cè)試平臺(tái)構(gòu)成第21頁,課件共63頁,創(chuàng)作于2023年2月行為仿真的實(shí)現(xiàn)-生成測(cè)試向量

DUT是待測(cè)的邏輯電路。通常,DUT是使用硬件邏輯描述語言HDL編寫的寄存器傳輸級(jí)電路。激勵(lì)生成模塊的主要功能是根據(jù)DUT輸入接口的信號(hào)時(shí)序,對(duì)DUT產(chǎn)生信號(hào)激勵(lì),將測(cè)試信號(hào)向量輸入到DUT中。響應(yīng)檢測(cè)模塊根據(jù)DUT輸入接口的信號(hào)時(shí)序,響應(yīng)DUT的輸出請(qǐng)求,并檢查輸出結(jié)果的正確性。第22頁,課件共63頁,創(chuàng)作于2023年2月第8章設(shè)計(jì)綜合和行為仿真-行為仿真的實(shí)現(xiàn)

生成測(cè)試向量建立測(cè)試平臺(tái)時(shí),首先應(yīng)針對(duì)DUT的功能定義測(cè)試向量;然后根據(jù)每一個(gè)測(cè)試向量的要求分別設(shè)計(jì)激勵(lì)生成和響應(yīng)檢測(cè)模塊,要求激勵(lì)生成模塊能夠能在DUT的接口上產(chǎn)生該測(cè)試向量所需的信號(hào)激勵(lì),響應(yīng)檢測(cè)模塊能夠?qū)UT在這種信號(hào)激勵(lì)下的結(jié)果輸出進(jìn)行響應(yīng)和檢測(cè);最后將激勵(lì)生成模塊、DUT和響應(yīng)檢測(cè)模塊相連,組成驗(yàn)證環(huán)境,在仿真器上進(jìn)行仿真,根據(jù)響應(yīng)檢測(cè)模塊的檢測(cè)報(bào)告來判斷測(cè)試向量是否通過測(cè)試。第23頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-設(shè)置仿真工具

Xilinx的ISE工具提供了集成設(shè)計(jì)流程,該設(shè)計(jì)流程支持基于MentorGraphics公司Modelsim仿真工具和ISE仿真工具,這兩種仿真工具均可從工程向?qū)е羞\(yùn)行。只有安裝Modelsim軟件才能使用Modelsim仿真工具,ModelSimPE和ModelSimSE是MentorGraphics公司ModelSim軟件的完全版本。為配合ISE11庫的仿真,需要使用ModelSim6.0或更高版本。ModelSimXE是基于ModelSimPE的ModelSimXinlinx版本。當(dāng)安裝ISE軟件時(shí),ISE仿真工具就自動(dòng)安裝完成,所以不需要進(jìn)行額外安裝。第24頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-配置Xilinx仿真庫

當(dāng)設(shè)計(jì)中有需要例化的Xilinx基本元件、Core生成器元件和其它IP核時(shí),必須要使用Xilinx的仿真庫才能對(duì)這樣的設(shè)計(jì)進(jìn)行仿真。這些仿真庫保存了每一個(gè)元件的模型。這些模型描述了每一個(gè)元件的功能,為仿真工具提供了仿真時(shí)所需要的信息。

Modelsim軟件使用modelsim.ini文件確定編譯庫的位置。比如,將UNISIM庫編譯到c:\lib\UNISIM路徑下,在該文件中必須有下面的映射描述:UNISIM=C:\lib\UNISIM。第25頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-添加HDL測(cè)試平臺(tái)

下面給出添加測(cè)試平臺(tái)文件步驟和過程:

1.如果建立一個(gè)新的測(cè)試平臺(tái)文件,可選擇Project→NewSource,選擇文件類型為VHDLTestBench或VerilogTextFixture,生成一個(gè)仿真文件,可以在這個(gè)文件中定義所需要的測(cè)試平臺(tái)及其測(cè)試向量。

2.如果添加已經(jīng)設(shè)計(jì)完成的測(cè)試平臺(tái)文件,可選擇Project→AddSource,在該設(shè)計(jì)中選擇測(cè)試平臺(tái)文件stopwatch_tb.vhd。第26頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真-添加HDL測(cè)試平臺(tái)

3.點(diǎn)擊“Open”按鈕。

4.檢查該文件的“Association”屬性選擇為“Simulation”。

5.點(diǎn)擊“OK”按鈕。

ISE會(huì)自動(dòng)識(shí)別頂層設(shè)計(jì)文件并將其與測(cè)試文件進(jìn)行關(guān)聯(lián)。第27頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真

--基于Modelsim行為仿真實(shí)現(xiàn)

下面所介紹的行為仿真是基于前面的秒表設(shè)計(jì)完成,并完成了設(shè)計(jì)綜合。為了實(shí)現(xiàn)對(duì)該設(shè)計(jì)的行為仿真,需要下面的文件:設(shè)計(jì)文件,測(cè)試平臺(tái)(Testbench)文件和Xinlinx仿真庫。

1、設(shè)計(jì)文件:VHDL、Verilog或原理圖文件。

2、Testbench文件:仿真設(shè)計(jì)過程中需要一個(gè)測(cè)試平臺(tái)文件作為仿真激勵(lì)源。

3、Xinlinx仿真庫:當(dāng)在設(shè)計(jì)中涉及IP核時(shí),應(yīng)該創(chuàng)建Xinlinx仿真庫,庫中包含了DCM數(shù)字時(shí)鐘管理和核產(chǎn)生器(COREGenerator)元件。第28頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真

--基于Modelsim行為仿真實(shí)現(xiàn)如果在工程中已經(jīng)添加了一個(gè)測(cè)試平臺(tái)文件,那么就可以用ModelSim完成行為仿真,ISE與ModelSim已經(jīng)完全一體化,ISE能使用ModelSim創(chuàng)建工作路徑,編譯源文件,下載設(shè)計(jì)文件,并進(jìn)行仿真。下面給出ISE的工程調(diào)用ModelSim仿真的步驟:

1.在SourceTab選項(xiàng)卡中,右鍵單擊器件名,如xc3s700A-4fg484,選擇Properties(屬性)選項(xiàng);

2.在ProjectProperties(工程屬性)對(duì)話框的仿真器域(Simulatorfield)中選擇所使用的ModelSim類型,并和所使用的HDL語言進(jìn)行關(guān)聯(lián)。第29頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真

--基于Modelsim行為仿真實(shí)現(xiàn)如果在工程中已經(jīng)添加了一個(gè)測(cè)試平臺(tái)文件,那么就可以用ModelSim完成行為仿真,ISE與ModelSim已經(jīng)完全一體化,ISE能使用ModelSim創(chuàng)建工作路徑,編譯源文件,下載設(shè)計(jì)文件,并進(jìn)行仿真。使用ISE軟件或ModelSim軟件,仿真結(jié)果是相同的。第30頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--定位仿真程序

在ISE的仿真過程中能夠使用ModelSim軟件對(duì)設(shè)計(jì)進(jìn)行仿真,下面給出定位ModelSim仿真程序的步驟:

1、在SourceTab選項(xiàng)卡中,選擇行為仿真(BehavioralSimulation);

2、選擇Testbench測(cè)試文件(stopwatch_tb);

3、在Processestab選項(xiàng)卡中,單擊+旁邊的ModelSimSimulator展開程序目錄層次;如果沒有ModelSim仿真程序,那么有可能是在ProjectProperties(工程屬性)對(duì)話框沒有將ModelSim選為仿真器,或者是ProjectNavigator無法找到modelsim.exe文件。第31頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--定位仿真程序

下面給出設(shè)置ModelSim單元的步驟

1、選擇Edit→Preferences;

2、單擊+展開ISEpreferences;

3、單擊IntegratedTools;

4、在右欄中,ModelTechSimulator下,定位modelsim.exe文件。如:c:\modeltech_xe\win32xoem\modelsim.exe;第32頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性

在ISE中可以設(shè)置包括網(wǎng)表屬性的多個(gè)ModelSim仿真屬性,下面給出設(shè)置行為仿真屬性的步驟:

1.在SourceTab選項(xiàng)卡中,選擇stopwatch_tb(Testbench測(cè)試文件);

2.在Processestab選項(xiàng)卡中,單擊+旁邊的ModelSimSimulator展開程序目錄層次;

3.右鍵單擊SimulateBehavioralModel,選擇Properties(屬性);

4.在ProcessProperties對(duì)話框中,見圖8.6設(shè)置Propertydisplaylevel為Advanced這個(gè)全局性的設(shè)置,可看到所有可用的屬性;第33頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性第34頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性

5、將仿真運(yùn)行時(shí)間改為2000ns,單擊OK;通過上面步驟完成仿真屬性設(shè)置。第35頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--運(yùn)行仿真

仿真屬性設(shè)置完成后,就可以準(zhǔn)備運(yùn)行ModelSim仿真軟件。雙擊SimulateBehavioralModel,啟動(dòng)行為仿真。ModelSim仿真工具可以創(chuàng)建工作目錄,編譯源文件,添加設(shè)計(jì),并進(jìn)行指定時(shí)間的仿真模擬過程。該設(shè)計(jì)的工作頻率為100赫茲,因此需要設(shè)定足夠的時(shí)間長(zhǎng)度來仿真。第一次復(fù)位后,輸出過渡的SF_D和LCD_E控制信號(hào)在大約33毫秒。這就是為什么計(jì)數(shù)器不在短時(shí)間的仿真中使用,只有通過對(duì)DCM信號(hào)監(jiān)測(cè)來驗(yàn)證計(jì)數(shù)器工作是否正常。第36頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)為了觀察仿真過程中的內(nèi)部信號(hào),必須將這些信號(hào)添加入到波形窗口中。ISE會(huì)自動(dòng)將頂層端口信號(hào)加入到波形窗口,其它信號(hào)在基于被選結(jié)構(gòu)的信號(hào)窗口中顯示,可以通過兩種基本方法將其它信號(hào)加入仿真波形窗口:

1、從Signal/Objectwindow中拖動(dòng)到信號(hào)波形窗口;

2、在Signal/Objectwindow中選擇信號(hào),選擇Add→Wave→SelectedSignals;下面介紹將DCM信號(hào)加入到波形窗口中的步驟(如果使用的是ModelSim6.0或更高版本,在默認(rèn)狀態(tài)下,所有窗口均是docked,可選擇undock圖標(biāo)來取消):第37頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)

1、在Structure/Instance窗口中,單擊+展開uut目錄層次。圖8.5為Verilog的Structure/Instance窗口。當(dāng)然原理圖或是VHDL的Structure/Instance窗口可能有所不同;

2、在Structure/Instance窗口中選擇dcm1,那么在Signal/Object窗口中的信號(hào)列表將被更新;

3、單擊并將Signal/Object窗口中的CLKIN_IN信號(hào)拖動(dòng)到波形窗口中;

4、在Signal/Object窗口中,選擇下列信號(hào):RST_IN、CLKFX_OUT、CLK0_OUT、LOCKED_OUT;

5、在Signal/Object窗口中右鍵單擊;

6、選擇AddtoWave→SelectedSignals;第38頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)第39頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)分割在ModelSim中,可以在波形窗口中添加分割,使得更容易區(qū)分不同的信號(hào),下面給出在窗口中添加DCM信號(hào)分割窗口的步驟:

1、右鍵單擊波形窗口信號(hào)部分的任意位置,如果需要可先將窗口最大化;

2、選擇InsertDivider;

3、在DividerName框中輸入DCMSignals;

4、單擊OK;

5、將新建的信號(hào)拖到CLKIN_IN信號(hào)上方;第40頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)分割新增信號(hào)的波形還未給出,這是因?yàn)镸odelSim還未記錄這些信號(hào)的數(shù)據(jù)。在默認(rèn)情況下,只有重新經(jīng)過仿真后,ModelSim才會(huì)記錄新添加到波形窗口中的信號(hào)。當(dāng)波形窗口添加新信號(hào)后,需要重新進(jìn)行仿真。第41頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)分割第42頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--重新仿真為了在ModelSim中重新完成仿真過程,需要執(zhí)行以下操作步驟:

1、單擊RestartSimulation圖標(biāo);

2、在Restart對(duì)話框中,單擊Restart;

3、在ModelSim命令行中,輸入run2000ns,按下Enter鍵;仿真運(yùn)行2000ns,仿真結(jié)束后,在波形窗口中可見DCM新波形。圖8.7重新仿真對(duì)話框第43頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--分析信號(hào)通過分析DCM信號(hào)來驗(yàn)證計(jì)數(shù)器工作是否正常。CLK0_OUT信號(hào)需為50MHz,CLKFX_OUT需為26MHz。只在LOCKED_OUT信號(hào)為高時(shí),DCM輸出信號(hào)有效。所以只在LOCKED_OUT信號(hào)為高時(shí),才能分析DCM信號(hào)。ModelSim中可通過光標(biāo)來測(cè)量信號(hào)之間的距離。下面給出測(cè)量CLK0_OUT信號(hào)的步驟:

1、選擇Add→Wave→Cursor,定位兩個(gè)光標(biāo)(Cursors);

2、在LOCKED_OUT信號(hào)為高后,單擊拖拽CLK0_OUT信號(hào)的第一個(gè)上升沿;

3、單擊拖拽第二個(gè)光標(biāo);

4、單擊FindNextTransition圖標(biāo)兩次將光標(biāo)移到CLK0_OUT信號(hào)的下一個(gè)上升沿;第44頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--分析信號(hào)

5、可觀察波形底部?jī)蓚€(gè)光標(biāo)之間的距離。測(cè)量值為20000ps(50MHz),即為測(cè)試平臺(tái)的輸入頻率,也是DCM的CLK0信號(hào)輸出;

6、同樣使用上述方式測(cè)量CLKFX_OUT。測(cè)量值為38462ps,約為26MHz;通過上面步驟,完成對(duì)CLK0_OUT信號(hào)的測(cè)量和分析。第45頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--保存仿真

ModelSim可保存列表中的所有信號(hào),也可保存波形窗口中經(jīng)過重新仿真后的新增信號(hào)。下面給出保存信號(hào)的步驟:

1、在波形窗口中,選擇File→Saveas;

2、在保存類型對(duì)話框中,將默認(rèn)的wave.do重新命名為dcm_signal.do;

3、單擊Save;在重新啟動(dòng)仿真之后,在波形窗口中選擇File→Load重新加載此文件。第46頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--基于ISim行為仿真實(shí)現(xiàn)

如果在工程中已經(jīng)生成了一個(gè)測(cè)試平臺(tái)文件,那么就可以在ISim中進(jìn)行行為仿真。ISE能創(chuàng)建工作路徑,編譯源文件,下載設(shè)計(jì)文件,并根據(jù)仿真屬性進(jìn)行仿真。下面給出了使用ISE仿真器進(jìn)行仿真的步驟:

1、在SourceTab選項(xiàng)卡中,右鍵單擊器件名,如xc3s700A-4fg484;

2、選擇Properties(屬性)選項(xiàng);

3、在ProjectProperties(工程屬性)對(duì)話框的Simulatorfield中選擇ISim(VHDL/Verilog);第47頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--定位仿真程序

在仿真過程中能夠使用ISim仿真器對(duì)設(shè)計(jì)進(jìn)行仿真,并定位ISE仿真程序。下面給出定位仿真程序的步驟:

1、在SourceTab選項(xiàng)卡中的Sourcefor區(qū)域選擇Simulation(仿真),然后在下拉框中選擇Behavioral(行為);

2、選擇Testbench測(cè)試文件(stopwatch_tb);

3、在Processestab選項(xiàng)卡中,單擊+旁邊的ISimSimulator展開程序目錄層次;第48頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--定位仿真程序下面是可使用的仿真過程:

1、CheckSyntax:這個(gè)過程檢查測(cè)試平臺(tái)文件中的語法錯(cuò)誤;

2、SimulateBehavioralModel:這一過程開始設(shè)計(jì)仿真;第49頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性

在ISE中可以設(shè)置包括網(wǎng)表屬性的多個(gè)ISE仿真器的仿真屬性。下面給出設(shè)置行為仿真屬性的步驟:

1、在SourceTab選項(xiàng)卡中,選擇測(cè)試平臺(tái)文件(stopwatch_tb);

2、在Processestab選項(xiàng)卡中,單擊+旁邊的ISimSimulator展開程序目錄層次;

3、右鍵單擊SimulateBehavioralModel(仿真行為模型);

4、選擇ProcessProperties(處理屬性);圖8.11行為仿真屬性設(shè)置第50頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性5、如圖8.11所示,在ProcessProperties對(duì)話框中,設(shè)置Propertydisplaylevel為Advanced.這個(gè)全局性的設(shè)置,可看到所有可用的屬性

第51頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--設(shè)置仿真屬性

6、將仿真運(yùn)行時(shí)間改為2000ns;

7、單擊“OK”按鈕;第52頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--運(yùn)行仿真

一旦將ProcessProperties設(shè)置完成,那么已經(jīng)準(zhǔn)備好運(yùn)行ISESimulator。啟動(dòng)行為仿真,雙擊SimulateBehavioralModel。ISESimulator創(chuàng)建工作目錄,編譯源文件,加的設(shè)計(jì),并進(jìn)行指定時(shí)間的仿真模擬。大多數(shù)設(shè)計(jì)運(yùn)行速度為100赫茲,并設(shè)定一定意義的時(shí)間來仿真。第一次復(fù)位后,輸出過渡的SF_D和LCD_E控制信號(hào)在大約33毫秒。這就是為什么計(jì)數(shù)器不在短時(shí)間的仿真中使用,只有DCM信號(hào)監(jiān)測(cè)來驗(yàn)證它們是否正常工作。第53頁,課件共63頁,創(chuàng)作于2023年2月設(shè)計(jì)綜合和行為仿真--添加信號(hào)

為了觀察仿真過程中的內(nèi)部信號(hào),必須將內(nèi)部信號(hào)添加到波形窗口中,ISE會(huì)自動(dòng)將頂層端口信號(hào)加入到波形窗口,其它信號(hào)在基于被選結(jié)構(gòu)的信號(hào)窗口中顯示。下面將給出將DCM信號(hào)加入到波形窗口的步驟:1、在SimHierarchy窗口中的InstancesandProcesses面板中,點(diǎn)擊stopwatch_tb旁邊的>展開層次;2、點(diǎn)擊UUT旁的>展開目錄層次;圖8.12為VHDL的SimHierarchy窗口。用于原理圖的圖或者窗口布局可能有所不同

第54頁,課件共63頁,創(chuàng)作于202

溫馨提示

  • 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)論