




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
11.1數(shù)字系統(tǒng)設(shè)計流程1.2常用的FPGA設(shè)計EDA工具軟件1.3QuartusⅡ簡介1.4設(shè)計實例1.5設(shè)計的編譯1.6設(shè)計的仿真驗證1.7仿真工具ModelSimFPGA設(shè)計EDA工具軟件21.1數(shù)字系統(tǒng)設(shè)計流程一、設(shè)計輸入二、設(shè)計處理三、模擬仿真四、編程下載內(nèi)容概要31.1數(shù)字系統(tǒng)設(shè)計流程圖-1數(shù)字系統(tǒng)設(shè)計流程分析系統(tǒng)功能和性能要求1劃分功能模塊2設(shè)計各子模塊3各子模塊進行綜合、優(yōu)化、仿真4對系統(tǒng)模擬仿真5自上而下的方式如果仿真結(jié)果與預(yù)期要求不符,應(yīng)修改設(shè)計,再重新仿真!41.1數(shù)字系統(tǒng)設(shè)計流程圖-2用PLD實現(xiàn)數(shù)字系統(tǒng)的設(shè)計流程設(shè)計輸入圖形HDL文本網(wǎng)表輸入設(shè)計處理綜合優(yōu)化器件適配布局、布線功能仿真(前仿真)時序仿真(后仿真)在線測試下載編程模擬仿真123451.1數(shù)字系統(tǒng)設(shè)計流程(1)圖形輸入(GraphicDesignEntry)圖形化、最直接的輸入方式采用自頂向下邏輯分塊的方法優(yōu)點:適合描述連接關(guān)系和接口關(guān)系;便于進行接口設(shè)計和引腳鎖定;容易實現(xiàn)仿真,便于觀察信號;執(zhí)行效率高、運行速度快。缺點:輸入效率較低;不便于描述復(fù)雜邏輯功能。1.設(shè)計輸入將設(shè)計者所設(shè)計的電路以開發(fā)軟件要求的某種形式表達出來,并輸入到軟件中。61.1數(shù)字系統(tǒng)設(shè)計流程(2)HDL文本輸入優(yōu)點:適于描述復(fù)雜邏輯功能;便于設(shè)計的保存、移植和復(fù)用;結(jié)果易仿真,便于觀察;適于規(guī)范、易于語言描述、易于綜合、速率較低的電路。缺點:依賴于好的綜合器;描述連接關(guān)系和接口關(guān)系不直觀。71.1數(shù)字系統(tǒng)設(shè)計流程(3)標準EDA設(shè)計輸入(StandardEDADesignEntry)可直接移植其它EDA工具設(shè)計的電路,無須重新輸入可接受的網(wǎng)表有EDIF、VHDL、VerilogHDL格式網(wǎng)表輸入時,兩個系統(tǒng)中采用的庫必須一一對應(yīng)但仿真時信號不易于觀測PLD器件的設(shè)計往往采用層次化的設(shè)計方法:將系統(tǒng)劃分為幾個功能模塊;描述系統(tǒng)總功能的模塊放置在最上層,稱為頂層設(shè)計,一般用圖形文件表示各子模塊間的連接關(guān)系和芯片內(nèi)部邏輯與管腳的接口關(guān)系;描述系統(tǒng)最基本功能的模塊放置在最下層,稱為底層設(shè)計,一般用HDL語言描述各子模塊的邏輯功能。
網(wǎng)表輸入81.1數(shù)字系統(tǒng)設(shè)計流程(1)綜合和優(yōu)化綜合:將模塊化設(shè)計產(chǎn)生的多個文件合并為一個網(wǎng)表文件,并使設(shè)計層次平面化,即將邏輯描述轉(zhuǎn)換成一些基本模塊(如觸發(fā)器、邏輯門等)。優(yōu)化:進行邏輯化簡,去除冗余項,盡量減少器件資源的耗用。(2)器件適配(映射)將設(shè)計分為多個適合具體器件內(nèi)部邏輯資源實現(xiàn)的邏輯小塊的形式。(3)布局和布線布局:將已分割的邏輯小塊放到器件內(nèi)部邏輯資源的具體位置,使易于連線,且連線最少;布線:利用器件的布線資源完成各功能塊之間和反饋信號之間的連接。(4)生成編程文件生成供器件編程使用的數(shù)據(jù)文件——編程目標文件。2.設(shè)計處理從設(shè)計輸入文件到熔絲圖文件(CPLD)或位流文件(FPGA)的編譯過程。91.1數(shù)字系統(tǒng)設(shè)計流程(1)功能仿真(前仿真)在設(shè)計輸入階段進行,不考慮信號時延的仿真——主要驗證功能是否正確。(2)時序仿真(后仿真)在選擇了具體器件、并完成了布局布線后進行的含有定時關(guān)系的仿真——主要驗證功能和時序是否正確。(3)在線測試當器件編程后,利用實驗手段在線測試器件的功能和性能指標。3.模擬仿真用戶可在設(shè)計過程的每個階段對每個模塊或整個系統(tǒng)進行模擬仿真。101.1數(shù)字系統(tǒng)設(shè)計流程
4.綜合查看綜合結(jié)果:tools/netlistviewers/RTLviewer111.1數(shù)字系統(tǒng)設(shè)計流程兩種編程方式:在系統(tǒng)編程(ISP,In-SystemProgrammable):PLD不必從電路板上取下來,通過下載電纜利用計算機直接對器件進行編程,使器件、電路板或整個電子系統(tǒng)的邏輯功能可隨時進行修改或重構(gòu)。電路板上必須預(yù)留編程接口(如JTAG接口)。專用的編程器編程:PLD必須從電路板上取下來,插入編程器上的器件插座中,對器件進行編程。
5.編程下載將設(shè)計階段生成的編程目標文件裝入到PLD器件中。121.2常用的PLD設(shè)計EDA工具軟件一、Synopsys的SOC設(shè)計工具二、Synplify三、ispDesignEXPERT四、QuartusⅡ五、仿真工具ModelSim
內(nèi)容概要131.2常用的PLD設(shè)計EDA工具軟件1.由芯片制造商提供提供了一個CPLD/FPGA
的完全集成化設(shè)計環(huán)境只支持本公司的PLDPLD設(shè)計EDA工具軟件的分類EDAToolProviderDescriptionMAX+PLUSⅡAltera早期PLD開發(fā)工具,易于學(xué)習(xí)和使用QuartusⅡAltera第4代EDA工具,功能強大,并適于SOPC開發(fā)FoundationXilinxXilinx的早期PLD開發(fā)工具ISEXilinxXilinx的最新PLD開發(fā)工具ispDesignEXPERT,ispLEVERLattice2002年推出ispLEVER可以使用幾種不同的EDA工具完成整個設(shè)計!即不同的階段選用不同的工具141.2常用的PLD設(shè)計EDA工具軟件2.由專業(yè)EDA軟件商提供——第三方設(shè)計軟件支持多家公司的PLDEDAToolProviderDescriptionFPGAAdvantageMentorGraphics包括HDLDesignerSeries
(可視化的設(shè)計輸入工具),ModelSim(仿真工具),PrecisionRTLSynthesis
(最新的邏輯綜合器)。SynplifySynplicity優(yōu)秀的邏輯綜合工具LeonardoSpectrumMentorGraphicsMentor早期的邏輯綜合工具FPGACompilerIISynopsys新的邏輯綜合工具ModelSimMentorGraphics高效、功能強大的仿真工具ActiveHDLAldec仿真工具,簡單易用NC-Verilog/NC-VHDL/NC-SIMCadence優(yōu)秀的仿真工具151.2常用的PLD設(shè)計EDA工具軟件一、Synopsys的SOC設(shè)計工具由美國Synopsys
(新思)公司開發(fā)的第三方設(shè)計軟件最著名的是其編譯器(綜合器)FPGACompilerⅡ——優(yōu)化工具,處于領(lǐng)先地位優(yōu)化程度高(面積最省、速度最快)支持的HDL語言子集較完整優(yōu)化次序:設(shè)計規(guī)則→時間約束→面積約束能將VerilogHDL和VHDL源代碼翻譯為通用原理圖,再進行優(yōu)化設(shè)計元件庫DesignWare——提供許多SOC設(shè)計必需的IP核模塊算術(shù)邏輯單元庫(ALU庫)基本時序電路單元庫復(fù)雜的數(shù)學(xué)運算單元庫容錯單元庫控制邏輯單元庫由于Synopsys的綜合工具功能強,所以許多EDA工具都支持Synopsys,接受Synopsys生成的設(shè)計文件。161.2常用的PLD設(shè)計EDA工具軟件二、Synplify由美國Synplicity公司開發(fā)的FPGA/CPLD邏輯綜合工具第三方設(shè)計軟件,綜合優(yōu)化性能優(yōu)異,應(yīng)用廣泛特色:符號化的FSM編譯器(SymbolicFinite–State-MachineCompile)綜合優(yōu)化過程:(1)語言綜合將高層的HDL語言描述轉(zhuǎn)換為結(jié)構(gòu)單元(如邏輯門、觸發(fā)器)(2)優(yōu)化采用優(yōu)化算法簡化設(shè)計,去除冗余項,提高系統(tǒng)運行速度(3)工藝映射把設(shè)計分為多個適應(yīng)具體PLD器件內(nèi)部邏輯資源實現(xiàn)的邏輯小塊支持眾多廠商的PLD(如Actel、Altera、Lattice、Xilinx)171.2常用的PLD設(shè)計EDA工具軟件支持的HDL語言VerilogHDL95的優(yōu)化子集VHDL93的優(yōu)化子集Synplify綜合后生成的文件標準的門級結(jié)構(gòu)網(wǎng)表文件.edf文件(用作QuartusII的輸入);用于綜合后門級仿真的.vm文件(用作ModelSim的輸入)181.2常用的PLD設(shè)計EDA工具軟件三、ispDesignEXPERT由美國Lattice公司開發(fā)的新一代EDA軟件,只支持本公司的PLD√一套完整的EDA工具,支持數(shù)字系統(tǒng)設(shè)計的全過程特點:支持Lattice公司的所有芯片系列集成化的開發(fā)環(huán)境支持多種輸入方式:原理圖輸入、HDL文本輸入(ABELHDL,VHDL,VerilogHDL)、混合設(shè)計輸入編譯器具有結(jié)構(gòu)綜合、邏輯優(yōu)化、映射等功能具有功能仿真和時序仿真功能可與許多第三方EDA軟件實現(xiàn)無縫連接(Synplify,DataI/O)191.2常用的PLD設(shè)計EDA工具軟件四、QuartusⅡ美國Altera公司自行設(shè)計的第四代PLD開發(fā)軟件目前版本:12.1特點1.完全集成化的設(shè)計工具將設(shè)計輸入、邏輯綜合、布局與布線、仿真、時序分析、器件編程集成在同一開發(fā)環(huán)境下;可加快動態(tài)調(diào)試,縮短開發(fā)周期。2.與器件結(jié)構(gòu)無關(guān)其核心Compiler支持Altera所有PLD器件:StratixII,CycloneII,StratixGX,MAXII,StratixHardCopy,Stratix,Cyclone,APEXII,APEX20K/E/C,Excalibur,&MercuryDevicesFLEX10K/A/E,ACEX1K,FLEX6000,MAX7000S/AE/B,MAX3000ADevices1.2常用的PLD設(shè)計EDA工具軟件3.LogicLock優(yōu)化工具LogicLock設(shè)計方法:首先在支持LogicLock特性的器件中建立LogicLock區(qū)域;再將設(shè)計邏輯指定到該區(qū)域中。然后進行邏輯優(yōu)化,并通過反向標注鎖定邏輯布局和布線結(jié)果。則當該區(qū)域與設(shè)計的其它部分合到一起時,該區(qū)域的性能保持不變。優(yōu)點:被邏輯鎖定的模塊被集成到頂層工程時仍可保持該模塊的性能。模塊只需進行一次優(yōu)化,設(shè)計者可以在其它設(shè)計中重用優(yōu)化好的設(shè)計模塊,從而可顯著縮短設(shè)計和驗證的周期。如果設(shè)計中的每個子模塊都由唯一的網(wǎng)表文件描述,則當編譯整個設(shè)計時,只有設(shè)計中被更新的部分需要重新綜合。設(shè)計者可以改變、優(yōu)化和重新綜合某個子模塊而不影響其它部分。支持LogicLock特性的器件Stratix、StratixⅡ、StratixGX、MAXⅡ、Cyclone、CycloneⅡ;APEX、APEXⅡ;Excalibur;Mercury。20211.2常用的PLD設(shè)計EDA工具軟件4.內(nèi)嵌MegaWizard和SOPCBuilder工具支持系統(tǒng)級設(shè)計MegaWizard可對QuartusⅡ中的參數(shù)化模塊庫LPM或IP宏功能進行參數(shù)設(shè)置和初始化操作,從而節(jié)省設(shè)計輸入時間,優(yōu)化設(shè)計性能;SOPCBuilder可自動完成SOPC的IP核添加、參數(shù)設(shè)置和連接等操作,系統(tǒng)集成簡單、快捷。5.集成了多個第3方EDA工具通過NativeLink技術(shù)實現(xiàn)與MentorGraphics、Synopsys和Synplicity等公司的EDA工具的無縫連接,可直接在QuartusⅡ中自動調(diào)用這些工具。221.2常用的PLD設(shè)計EDA工具軟件6.可采用各種HDL語言進行設(shè)計輸入支持VHDL1987和1993標準,VerilogHDL1995標準和部分VerilogHDL2001標準完全支持AHDL7.支持基于HardCopy的ASIC允許設(shè)計人員使用和FPGA完全相同的設(shè)計工具、IP核和驗證方式支持HardCopyStratix器件系列,來進行結(jié)構(gòu)化的ASIC設(shè)計。可以方便地將在FPGA中的設(shè)計無縫移植到引腳兼容的HardCopy器件(結(jié)構(gòu)化ASIC)中。8.使用全新的命令行和腳本功能自動化設(shè)計流程設(shè)計人員可使用命令行或QuartusⅡ中的圖形用戶界面獨立運行軟件中的綜合、布局布線、時序分析以及編程等模塊;提供工具命令語言(Tcl)界面,允許用戶使用Tcl創(chuàng)建和定制設(shè)計流程和需求。231.2常用的PLD設(shè)計EDA工具軟件五、仿真工具ModelSim美國MentorGraphics公司的子公司ModelTechnology開發(fā)的仿真工具目前版本:6.1特點1.業(yè)界使用最廣泛的HDL語言仿真器之一能夠進行VHDL仿真和Verilog仿真,以及這兩種語言的混合仿真OEM版不支持兩種語言的混合仿真241.2常用的PLD設(shè)計EDA工具軟件2.ModelSim的產(chǎn)品線ModelSim/OEM集成在Xilinx公司、Altera公司的EDA軟件中,只提供主要功能ModelSim/PEModelSim/VHDL或ModelSim/VerilogModelSim/LNL可以仿真VHDL或Verilog,但不能進行兩種語言的混合仿真ModelSim/PLUS可以進行兩種語言的混合仿真ModelSim/SE最高級版本,具有強大的調(diào)試能力,屬FPGAAdvantage套裝軟件中的一種。具有PLUS版的全部功能,另有一些附加特性251.2常用的PLD設(shè)計EDA工具軟件3.不具備的特性不能指定編譯的器件不具有編程下載能力在時序仿真時無法編輯輸入波形,需要編寫測試臺(Testbench)程序完成初始化、模塊輸入,或者通過外部宏文件提供激勵4.ModelSimSE的主要功能支持VHDL、VerilogHDL或混合HDL語言設(shè)計提供一整套的調(diào)試特性:代碼覆蓋、波形比較、可視追蹤引擎ChaseX以及C調(diào)試器261.3QuartusⅡ簡介一、QuartusⅡ的設(shè)計流程二、QuartusⅡ的圖形用戶界面三、QuartusⅡ的圖形用戶界面功能內(nèi)容概要271.3QuartusⅡ簡介一、QuartusⅡ的設(shè)計流程(1)(2)(4)(5)(3)設(shè)計要求設(shè)計輸入功能仿真綜合布局布線時序分析時序仿真編程、配置設(shè)計修改(6)(7)可以使用QuartusⅡ圖形用戶界面、EDA工具界面或命令行界面!全編譯281.3QuartusⅡ簡介291.3QuartusⅡ簡介(3)Synthesis-TranslateDesignintoDeviceSpecificPrimitives-OptimizeDesigntoMeetRequiredArea&PerformanceConstraintsDesignSpecification(4)Place&Route-MapPrimitivestoSpecificLocationsInsideTargetTechnologywithReferencetoArea&PerformanceConstraints-SpecifyRoutingResourcestoBeUsed(1)DesignEntry/RTLCoding-BehavioralorStructuralDescriptionofDesign(2)FunctionSimulation
-VerifyLogicModel&DataFlow(NoTimingDelays)
LEM512M4KI/O301.3QuartusⅡ簡介(5)TimingAnalysis-VerifyifDesignMeetsTimingPerformanceSpecifications(6)TimingSimulation-Verifyifthelogicfunctionandtimingperformancearecorrect(WithTimingDelays)
(7)PCBSimulation&Test-
SimulateBoardDesign-Program&TestDeviceonBoard
tclk幾乎所有這些步驟可由
EDA工具自動完成!設(shè)計人員只需簡單地以適當?shù)脑O(shè)計輸入方式來描述其設(shè)計.311.3QuartusⅡ簡介二、QuartusⅡ的圖形用戶界面2Status窗口3
主工作區(qū)域4ChangeManager窗口1ProjectNavigator窗口5Messages窗口6Tclconsole窗口321.3QuartusⅡ簡介三、QuartusⅡ的圖形用戶界面功能1DesignEntry(設(shè)計輸入)TextEditor
Block&SymbolEditorMegaWizardPlug-InManagerAssignmentEditorFloorplanEditor2Synthesis(綜合)Analysis&SynthesisVHDL,VerilogHDL&AHDLDesignAssistantRTLViewerTechnologyMapViewerIncrementalSynthesis3Place&Route(布局布線)FitterAssignmentEditorFloorplanEditorChipEditorReportWindowResourceOptimizationAdvisorDesignSpaceExplorer4TimingAnalysis(時序分析)TimingAnalyzerReportWindowTechnologyMapViewer5Simulation(仿真)SimulatorWaveformEditor331.3QuartusⅡ簡介10EDAInterface(EDA界面)EDANetlistWriter11PowerAnalysis(功耗分析)PowerPlayAnalyzerToolPowerPlayEarlyPowerEstimator12TimingClosure(時序逼近)FloorplanEditorLogicLockWindowTimingOptimizationAdvisorDesignSpaceExplorer6Programming(編程)AssemblerProgrammerConvertProgrammingFiles7System-LevelDesign(系統(tǒng)級設(shè)計)SOPCBuilderDSPBuilder8SoftwareDevelopment(軟件開發(fā))SoftwareBuilder9Block-BasedDesign(基于塊的設(shè)計)LogicLockWindowFloorplanEditorVQMWriter341.3QuartusⅡ簡介13Debugging(調(diào)試)SignalTapIISignalProbeIn-SystemMemoryContentEditorRTLViewerTechnologyMapViewerChipEditor14EngineeringChangeManagement(工程變動管理)ChipEditorResourcePropertyEditorChangeManage351.3QuartusⅡ簡介按F1鍵,可打開幫助窗口,即時訪問對話框上的信息、高亮度的菜單命令或彈出式信息;或按Shift+F1鍵,鼠標變?yōu)橐粋€問號,在圖元、宏單元符號等屏幕顯示的任何項目上單擊鼠標左鍵,可獲得該項目的幫助;或單擊工具欄上的幫助按鈕,鼠標也會變?yōu)橐粋€問號,然后單擊想要獲得幫助的項目。如何獲取在線幫助呢??QUARTUSII工程建立向?qū)?/p>
選:file/newprojectwizard…啟動工程建立向?qū)?。選:openproject…打開已有的工程。
工程建立向?qū)Чぷ鬟^程如下:
36373839404142431.4設(shè)計實例設(shè)計要求設(shè)計一個數(shù)字系統(tǒng):(1)使其能按1Hz的頻率從0開始加1計數(shù),當計到99時,再來一個時鐘信號則產(chǎn)生一個進位信號,并清零,然后又從0開始加1計數(shù)。(2)該系統(tǒng)還有一個清零信號,當其為1時,計數(shù)值被清零。(3)兩位計數(shù)結(jié)果用兩位7段顯示器顯示,進位信號用一個LED顯示。(4)假設(shè)實驗板的系統(tǒng)時鐘為50MHz,F(xiàn)PGA器件為EP1S10F780C6。441.4設(shè)計實例設(shè)計思路——自頂向下的設(shè)計方法:需要一個分頻器,將50MHz分頻為1Hz;需要一個兩位BCD計數(shù)器,按012…99012…
循環(huán)計數(shù);需要一個譯碼器,將BCD計數(shù)器的輸出譯碼為7段顯示器的7段輸入。功能框圖highclk_50MHzclk_1Hz分頻器兩位BCD計數(shù)器譯碼器譯碼器lowhigh_seglow_segcnclr451.4設(shè)計實例設(shè)計方法:1.首先在資源管理器下創(chuàng)建一個工作目錄。2.在QuatusII中創(chuàng)建一個工程,工程名最好與頂層圖形文件同名。3.子模塊設(shè)計:每個模塊可以用HDL語言描述(模塊名最好與程序文件名同名!),對每個模塊進行編譯、仿真,通過后然后生成模塊符號。4.頂層設(shè)計:創(chuàng)建一個頂層圖形文件,將各模塊符號放到圖中,添加輸入、輸出引腳,連線;編譯,仿真。5.給輸入、輸出引腳分配引腳號碼,編程下載。千萬記住哦!461.4設(shè)計實例第1步:在資源管理器下創(chuàng)建一個工作目錄counter_7seg。第2步:啟動QuatusII,執(zhí)行菜單命令“File>NewProjectWizard”,創(chuàng)建一個工程,工程名為counter_7seg。第3步:設(shè)計子模塊(1)執(zhí)行菜單命令“
File>New”,新建一個文本文件f50MHz_to_1Hz.v,采用VerilogHDL語言描述;(2)存盤;(3)編譯:執(zhí)行“Processing>Start>StartAnalysis&Synthesis”命令,或單擊工具條上的分析與綜合快捷按鈕,進行分析與綜合。(4)產(chǎn)生功能仿真用網(wǎng)表文件:執(zhí)行“Processing>GenerateFunctionalSimulationNetlist”命令參見4.5的一、創(chuàng)建工程模塊名最好與程序文件名同名!注意:對于子模塊,進行分析與綜合即可,不必進行全編譯——太慢!471.4設(shè)計實例[模塊1]50MHz到1Hz的分頻電路(采用VerilogHDL語言描述)modulef50MHz_to_1Hz(clk_1KHz,clk_1Hz,clkin);outputclk_1KHz,clk_1Hz;//輸出端口聲明
inputclkin;//輸入端口聲明
reg[15:0]count1;reg[9:0]count2;regclk_1KHz,clk_1Hz;parametercount_width=50000;
(2)I/O說明(1)端口定義模塊名(同文件名)注意:模塊名可以由字母、數(shù)字、下劃線和$符號組成,但第一個字符不能是數(shù)字或$符號!481.4設(shè)計實例續(xù)前頁
always@(posedgeclkin)//(1)50MHz到1KHz的分頻
beginif(count1[15:0]==count_width-1)count1[15:0]=0;elsecount1[15:0]=count1[15:0]+1;clk_1KHz=count1[15];//計數(shù)器最高位作為時鐘信號輸出
endalways@(posedgeclk_1KHz)//(2)1KHz到1Hz的分頻
beginif(count2==1000-1)count2=0;elsecount2=count2+1;clk_1Hz=count2[9];endendmodule(3)功能描述491.4設(shè)計實例[模塊2]兩位BCD計數(shù)器(加1)
modulebcd_counter(high,low,cn,clr,clk);output[3:0]high,low;//high:高4位輸出,low:低4位輸出
outputcn;//高4位的進位
inputclr,clk;reg[3:0]high,low;regcn;always@(posedgeclkorposedgeclr)beginif(clr)//異步清零
begincn=0;//進位信號也必須清零!
high[3:0]=0;low[3:0]=0;endelse //計數(shù),采用2個if語句的嵌套
501.4設(shè)計實例
begin if(low[3:0]==9)//低4位是否為9?
beginlow[3:0]=0;if(high[3:0]==9)//高4位是否為9?
beginhigh[3:0]=0;cn=1;endelsehigh[3:0]=high[3:0]+1;end else begin low[3:0]=low[3:0]+1;cn=0; endendend endmodule續(xù)前頁511.4設(shè)計實例第3步:(5)功能仿真執(zhí)行“File>New”命令,新建一個仿真波形文件.vwf(如bcd_counter.vwf);在Edit菜單中設(shè)置EndTime(這里為100s)、GridSize(如1s),編輯輸入波形(如這里給時鐘信號clk設(shè)置時鐘周期為1s);執(zhí)行“Tools>SimulationTool”命令,打開仿真器工具窗口,進行功能仿真。參見4.7設(shè)計的仿真驗證521.4設(shè)計實例建議:初學(xué)QuartusII時,不要直接執(zhí)行“Processing>StartSimulation”命令,或直接單擊工具條上的仿真快捷按鈕(因為這樣是對已打開且上次剛剛仿真過的文件進行仿真)!而應(yīng)執(zhí)行“Tools>SimulationTool”命令,打開仿真器工具窗口,在其中設(shè)置仿真類型為Timing或Functional,并確認“Simulationinput”欄中顯示的是當前需要仿真的波形文件,再單擊“Start”,開始仿真。531.4設(shè)計實例bcd_counter.vwf(5)仿真通過后,執(zhí)行“Create/Update>CreateSymbolFilesforCurrentFile”菜單命令,創(chuàng)建模塊符號。
注意:執(zhí)行“View>FitinWindow”命令,可以使波形縮小到窗口大小,以便于觀察整個波形!541.4設(shè)計實例[模塊3]7段LED顯示器(共陽極)譯碼器。
moduledecoder_7seg(segment,data);output[6:0]segment;//segment[6:0]對應(yīng)a,b,c,d,e,f,ginput[3:0]data;reg[6:0]segment;always@(data)begincase(data)4'd0:segment=7'b0000001;4'd1:segment=7'b1001111;4'd2:segment=7'b0010010;4'd3:segment=7'b0000110;
551.4設(shè)計實例
4'd4:segment=7'b1001100;4'd5:segment=7'b0100100;4'd6:segment=7'b0100000;4'd7:segment=7'b0001111;4'd8:segment=7'b0000000;4'd9:segment=7'b0000100;default:segment=7‘b1111111;//當輸入不是0~9時,數(shù)碼管不亮
endcaseendendmodule561.4設(shè)計實例第4步:設(shè)計頂層圖形文件(1)創(chuàng)建一個頂層圖形文件counter_7seg.bdf
,將各模塊符號放到圖中,添加輸入、輸出引腳,連線;counter_7seg.bdf參見1.5五、創(chuàng)建頂層圖形設(shè)計文件571.4設(shè)計實例(2)將該圖形文件設(shè)置為頂層實體:執(zhí)行“Project>SetasTop-LevelEntity”命令,或在ProjectNavigator中右擊該文件名,選擇“SetasTop-LevelEntity”;(3)進行編譯器選項設(shè)置:執(zhí)行“Assignments>Settings…”命令①在Settings對話框的Category欄中選擇“Device”,在Device頁面中指定目標器件(一定要與實際器件型號完全一致?。?;參見1.6設(shè)計的編譯千萬別忘了!581.4設(shè)計實例②將未使用引腳指定為輸入:然后在Device頁面中單擊“Device&PinOptions”按鈕,打開“Device&PinOptions”
對話框;591.4設(shè)計實例選擇“UnusedPins”標簽,在“Reserveallunusedpins”域中選擇“Asinputs,tri-stated”單選鈕。不要選其它項!千萬不要將未使用引腳指定為輸出,否則無法成功下載設(shè)計!601.4設(shè)計實例③進行編譯過程設(shè)置等(在Settings對話框的Category欄中選擇“CompilationProcess”
,選中“UseSmartCompilation”復(fù)選框——增量編譯)。(4)全編譯:執(zhí)行“Processing>StartCompilation”命令,或單擊工具條上的全編譯快捷按鈕;(5)仿真(如果必要的話)。如果系統(tǒng)分頻級數(shù)太多,而各子模塊已通過仿真的話,則不必對頂層設(shè)計文件進行仿真,否則仿真時間太長!參見4.6設(shè)計的編譯611.4設(shè)計實例第5步:給輸入、輸出引腳分配引腳號碼,編程下載(1)對頂層圖形文件counter_7seg.bdf
進行引腳鎖定;執(zhí)行“
Assignnments>AssignmentEditor”菜單命令參見4.6的四、引腳鎖定信號名引腳號621.4設(shè)計實例引腳鎖定后counter_7seg.bdf631.4設(shè)計實例(2)全編譯;(3)編程下載;連接開發(fā)板,執(zhí)行“Tools>Programmer”命令,或單擊編程快捷按鈕,在編程器窗口中選中“Program/Configure”復(fù)選框;單擊Start按鈕,開始編程下載。若完成編程,則在Message窗口中顯示“Configurationsucceeded”。(4)驗證設(shè)計。
利用實驗板上的按鈕SW0產(chǎn)生清零信號,觀察數(shù)碼管和LED的顯示,看是否與預(yù)定的功能相符。參見1.9器件編程為什么明明顯示編程成功,但實驗板上的Safe燈一直亮著,實際運行的仍是板子自帶的參考設(shè)計呢??獨立完成此設(shè)計實例的全過程課后練習(xí)641.5設(shè)計的編譯一、QuartusⅡ的編譯器的功能二、編譯的步驟三、在底層圖編輯器中觀察或調(diào)整適配結(jié)果四、引腳鎖定內(nèi)容概要651.5設(shè)計的編譯一、QuartusⅡ的編譯器的功能編譯器既能接受多種輸入文件格式,又能輸出多種文件格式。輸入文件圖形文件(.bdf);文本文件,如:VerilolgHDL文件(.v),AHDL文件(.tdf),VHDL文件(.vhd);波形輸入文件(.wdf)第三方EDA工具輸入文件,如EDIF文件(.edf),庫映射文件(.lmf),OrCAD文件(.sch),Xilinx文件(.xnf),VQM文件(.vqm)輸出文件設(shè)計校驗文件,如模擬器網(wǎng)表文件(.snf),第三方EDA工具(如Modelsim)所用的網(wǎng)表文件(.vo,.vho)編程目標文件,如MAX系列(CPLD)的.pof文件,F(xiàn)LEX10K、ACEX1K、Cyclone、Stratix系列FPGA的.sof文件SimulatorNetlistFileProgrammableObjectFileSRAMObjectFile661.5設(shè)計的編譯處理與設(shè)計項目有關(guān)的所有設(shè)計文件。檢查句法錯誤及普通易犯的設(shè)計錯誤。進行邏輯綜合(選擇合適的邏輯化簡算法,去除冗余邏輯)。布局布線。為仿真和定時分析產(chǎn)生輸出文件(.snf或.vo,.vho)。為編程目標器件產(chǎn)生輸出文件(.pof或.sof
)。編譯器的功能注:編程文件名與工程名同名;編程文件名不一定同頂層設(shè)計文件名;一個工程只有一個編程文件。671.5設(shè)計的編譯功能模塊功能描述Analysis&Synthesis將設(shè)計映射到具體器件的基本模塊上(如觸發(fā)器、邏輯門)Fitter在器件中布局布線TimingAnalyzer進行時序分析和性能分析,將延時信息加到網(wǎng)表文件中Assembler產(chǎn)生器件編程文件(.pof,.sof,.hexout,.ttf,.rbf)EDANetlistWriter*產(chǎn)生第三方EDA工具所用的網(wǎng)表文件(如VerilogHDL的輸出文件.vo,VHDL的輸出文件.vho)表4-1QuartusⅡ編譯器功能模塊描述681.5設(shè)計的編譯QuartusⅡ編譯器的典型工作流程各種設(shè)計輸入文件.vo、.vho輸出文件.pof、.sof編程文件691.5設(shè)計的編譯二、編譯的步驟1.打開要編譯的工程用“File>OpenProject…”或“File>RecentProjects”命令2.打開編譯器窗口執(zhí)行“Tools>CompilerTool”命令開始全編譯開始分析和綜合必須先指定要編譯的文件為頂層實體!開始適配開始裝配開始時序分析開始EDA網(wǎng)表復(fù)寫701.5設(shè)計的編譯3.編譯器選項設(shè)置用以控制編譯過程:指定目標器件系列、CompilationProcess設(shè)置、Analysis&Synthesis設(shè)置、Fitter設(shè)置等——所有選項通過Settings對話框進行設(shè)置。打開Settings對話框的兩種方法:方法一:執(zhí)行“Assignments>Settings”命令;方法二:單擊工具條上的Settings按鈕。
711.5設(shè)計的編譯Settings對話框的Device頁面指定未使用引腳的狀態(tài)721.5設(shè)計的編譯(1)指定目標器件系列在Settings對話框的Category欄中選擇“Device”,或直接執(zhí)行“Assignments>Device…”命令;然后在Device頁面中進行設(shè)置。注意未使用引腳一定要指定為輸入、三態(tài)引腳?。?)CompilationProcess設(shè)置在Settings對話框的Category欄中選擇“CompilationProcessSettings”
;然后在CompilationProcessSettings頁面中進行設(shè)置:采取增量編譯技術(shù):打開“UseSmartcompilation”選項;節(jié)省磁盤空間:打開“Preservefewernodenamestosavediskspace”選項為使重編譯速度加快,一定選中此項!731.5設(shè)計的編譯(3)Analysis&Synthesis設(shè)置
——用于優(yōu)化設(shè)計的分析綜合過程。在Settings對話框的Category欄中選擇“Analysis&SynthesisSettings”
;然后在Analysis&SynthesisSettings頁面中進行設(shè)置:OptimizationTechnique(Speed,Balanced或Area);選擇支持VHDL和VerilogHDL的版本;綜合網(wǎng)表優(yōu)化(PerformWYSIWYGPrimitiveResynthesis,PerformGate-LevelRegisterRetiming)741.5設(shè)計的編譯(4)
Fitter設(shè)置
——用于控制器件的適配情況及編譯速度。在Settings對話框的Category欄中選擇“FittingSettings”
;然后在FittingSettings頁面中進行設(shè)置:Timing-drivencompilation;Fittereffort(StandardFit,F(xiàn)astFit,AutoFit);PhysicalSynthesisOptimizations:將適配過程和綜合過程緊密結(jié)合起來(基于適配器輸出重新進行綜合):包括組合邏輯的物理綜合、寄存器復(fù)制的物理綜合。然后單擊OK,完成設(shè)置751.5設(shè)計的編譯組合邏輯的物理綜合:在PhysicalSynthesisOptimizations頁面中選擇Performphysicalsynthesisforcombinationallogic例如:交換LE中查找表的端口,以減小關(guān)鍵路徑的延遲。fgab-criticalLUTLUTcdeLUTLUTfgaecdb交換(a)關(guān)鍵路徑信號經(jīng)過兩個查找表到達輸出(b)關(guān)鍵路徑信號只經(jīng)過一個查找表到達輸出761.5設(shè)計的編譯4.進行分析綜合分析設(shè)計文件,建立工程數(shù)據(jù)庫進行分析和綜合有3種方法方法一:在編譯器窗口中,單擊StartAnalysis&Synthesis按鈕;方法二:執(zhí)行“Processing>Start>StartAnalysis&Synthesis”命令;方法三:單擊工具條上的StartAnalysis&Synthesis快捷按鈕。771.5設(shè)計的編譯分析綜合窗口StatusMessages分析綜合報告781.5設(shè)計的編譯5.啟動編譯器可以單獨運行編譯器的某個模塊,也可以進行全編譯。啟動全編譯過程:(1)執(zhí)行“Processing>StartCompilation”命令,或單擊工具條上的全編譯快捷按鈕
在編譯過程中,自動顯示狀態(tài)窗口、消息窗口和編譯報告窗口。注:編譯是在后臺運行的,此時計算機還可進行其他工作!791.5設(shè)計的編譯設(shè)計的全編譯過程StatusMessagesReport窗口801.5設(shè)計的編譯(2)檢查錯誤所有信息、錯誤和警告會在自動打開的Message窗口中顯示:在一條消息上雙擊左鍵,或單擊右鍵,然后從彈出菜單中選擇“Locate>LocateinDesignFile”,可給錯誤信息定位;選擇“Help”
,可查看錯誤信息的詳細說明??梢远ㄎ诲e誤在設(shè)計文件中的位置!
(3)閱讀編譯報告如果編譯報告窗口已關(guān)閉,單擊快捷按鈕可以打開編譯報告。在編譯報告左邊窗口點擊要查看部分前的加號,然后選擇要查看的部分。811.6設(shè)計的仿真驗證一、QuartusⅡ仿真器的功能二、創(chuàng)建仿真文件三、進行仿真四、仿真結(jié)果分析內(nèi)容概要82一、QuartusⅡ仿真器的功能1.功能仿真(前仿真)檢驗邏輯功能是否正確。在仿真開始前,必須將要仿真的設(shè)計文件設(shè)為頂層實體,然后執(zhí)行“Processing>GenerateFunctionalSimulationNetlist”命令,進行功能編譯,產(chǎn)生功能仿真網(wǎng)表文件。編譯過程快。只運行仿真網(wǎng)表的提取,不作布局布線,故輸出相對于輸入沒有延時。需加入激勵信號(用波形編輯器輸入,或用文本編輯器生成)。所有節(jié)點信號均可觀測到。
1.6設(shè)計的仿真驗證83decoder_7seg.vwf(功能仿真)參考線輸出輸入輸出相對于輸入沒有延時!1.6設(shè)計的仿真驗證842.時序仿真(后仿真)檢驗邏輯功能是否正確,并驗證器件配置后的時序關(guān)系是否正確。在仿真開始前必須執(zhí)行“Processing>StartCompilation”命令,對設(shè)計進行全編譯,產(chǎn)生時序仿真網(wǎng)表文件。編譯過程較慢。仿真所有綜合結(jié)果,輸出相對于輸入有時間延遲。需加入激勵信號,或利用功能仿真時生成的激勵波形。組合邏輯的節(jié)點信號有可能觀測不到。可以觀察到競爭冒險!1.6設(shè)計的仿真驗證什么是競爭冒險?一定要避免嗎??85decoder_7seg.vwf(時序仿真)輸出相對于輸入有延時!競爭冒險1.6設(shè)計的仿真驗證86功能仿真時序仿真作用檢驗邏輯功能是否正確檢驗邏輯功能、時序關(guān)系是否正確編譯過程執(zhí)行“Processing>GenerateFunctionalSimulationNetlist”命令帶延時的全編譯,執(zhí)行“Processing>StartCompilation”命令編譯速度√快較慢輸出相對輸入無延遲有延遲節(jié)點信號的觀測√可觀測到有可能觀測不到競爭冒險的觀測觀測不到√可觀測到功能仿真與時序仿真的比較1.6設(shè)計的仿真驗證87QuartusⅡ仿真器支持的輸入文件矢量波形文件(.vwf);矢量表輸出文件(.tbl);MAX+PLUSⅡ產(chǎn)生的向量文件(.vec)或仿真器通道文件(.scf)1.6設(shè)計的仿真驗證當在QuartusⅡ中打開MAX+PLUSⅡ產(chǎn)生的向量文件(.vec)或仿真器通道文件(.scf)后,不能按原來的文件形式保存,只能將其保存為矢量波形文件(.vwf)或矢量表輸出文件(.tbl)。88二、創(chuàng)建仿真文件1.建立一個仿真文件(.vwf)
(1)執(zhí)行File>New命令在New對話框中選擇OtherFiles標簽,文件類型選擇“VectorWaveformFile”;單擊OK,則打開一個空的波形編輯器窗口。設(shè)計文件必須已通過編譯!1.6設(shè)計的仿真驗證演示:對counter_7seg文件夾中的bcd_counter.v進行功能仿真。89(2)設(shè)置仿真的結(jié)束時間
默認為1s可根據(jù)需要用Edit>EndTime命令設(shè)置(如這里設(shè)置為100s)(3)設(shè)置網(wǎng)格間距用Edit>GridSize命令(如這里設(shè)置為1s)(4)保存文件執(zhí)行“File>SaveAs…”命令,仿真文件名為與工程文件名同名,后綴為.vwf,并選中“Addfiletocurrentproject”復(fù)選框,將其加入到本工程中。1.6設(shè)計的仿真驗證一般根據(jù)輸出信號的時鐘周期來設(shè)置一般設(shè)置為與輸入時鐘信號的時鐘周期相同902.在波形文件中添加節(jié)點(1)查找設(shè)計中的節(jié)點名(有兩種方法)方法一:執(zhí)行“View>UtilityWindows>NodeFinder”命令,彈出NodeFinder界面;方法二:在波形編輯器左邊Name列的空白處單擊右鍵,在彈出菜單中選擇“InsertNodeorBus…”命令,或雙擊左鍵,則彈出對話框InsertNodeorBus,在其中選擇“NodeFinder…”按鈕。1.6設(shè)計的仿真驗證91(2)列出設(shè)計中的所有節(jié)點名在NodeFinder界面中,在Filter列表中選擇Pins:all,在Named欄中鍵入“*”,然后單擊List按鈕,則在“NodesFound”中會出現(xiàn)所有節(jié)點名。1.6設(shè)計的仿真驗證右箭頭92(3)選擇節(jié)點加入波形文件在NodeFound欄中選擇要加入波形文件中的節(jié)點(可用Shift鍵或Ctrl鍵選擇多個連續(xù)或不連續(xù)的節(jié)點),單擊右箭頭,將所選擇節(jié)點送入“SelectedNodes”欄中。單擊“OK”,則所選的信號和組出現(xiàn)在波形編輯器中。1.6設(shè)計的仿真驗證總線信號最好不要選擇單個信號,而是選擇一組信號!一般將輸入信號放在波形編輯器中的上方,輸出信號放在下方——便于觀察波形!93未編輯的輸入信號波形默認為低電平;輸出信號和隱含節(jié)點默認為未定義(X)電平。1.6設(shè)計的仿真驗證943.編輯輸入波形——指定輸入節(jié)點的邏輯電平變化(1)時鐘節(jié)點波形的輸入在時鐘節(jié)點名(如clk)上單擊右鍵,在彈出菜單中選擇“Value>Clock…”命令,或選擇時鐘節(jié)點名后直接單擊圖形工具按鈕OverwriteClock,則彈出Clock對話框;在其中設(shè)置時鐘周期(如這里為1s)、相位和占空比。1.6設(shè)計的仿真驗證95(2)總線信號波形的輸入在總線節(jié)點名(如data)上單擊右鍵,在彈出菜單中選擇“Value>CountValue…”命令,或直接單擊圖形工具按鈕CountValue,則彈出CountValue對話框;在Counting標簽中設(shè)置總線為計數(shù)輸入;在Timing標簽中設(shè)置起始、終止時間,計數(shù)的時間間隔。1.6設(shè)計的仿真驗證96若在總線節(jié)點名(如data)上單擊右鍵,在彈出菜單中選擇“Value>ArbitraryValue…”命令,或用鼠標選中某段波形,然后雙擊該段波形,則彈出“ArbitraryValue”對話框,可在其中設(shè)置整個總線或總線的一段為任意固定值輸入。1.6設(shè)計的仿真驗證97(3)任意信號波形輸入在波形編輯器中選擇某輸入節(jié)點,單擊窗口左部的圖形工具按鈕,編輯整個波形;或拖動鼠標選定信號在某個時間段的區(qū)域,單擊圖形工具按鈕;或在選中區(qū)域上單擊右鍵,在Value菜單中選擇需要設(shè)置的值,編輯該段波形。若選擇“View>SnaptoGrid”命令,或單擊SnaptoGrid工具按鈕,則拖動鼠標,只能選定網(wǎng)格的整數(shù)倍的波形段。1.6設(shè)計的仿真驗證1298高電平未定義邏輯電平使高低電平反相定義一個時鐘定義一個計數(shù)序列低電平高阻態(tài)圖形工具按鈕1.6設(shè)計的仿真驗證對齊網(wǎng)格99可用復(fù)制、粘貼按鈕快速復(fù)制某段波形;對于相鄰的幾個信號,若某時間段的波形相同,可同時選定這幾個信號的該時間段,編輯該段波形。若要定義一組總線的某一段為一個連續(xù)的計數(shù)序列(如1,2,3……),則可利用“定義一個計數(shù)序列”按鈕??筛鶕?jù)需要,采用不同的進制來表示總線信號:右擊該總線名,選擇“Properties”,打開“NodeProperties”對話框,在“Radix”域可選擇BIN(二進制)、UnsignedDecimal(無符號十進制)、OCT(八進制)、HEX(十六進制)技巧基數(shù)1.6設(shè)計的仿真驗證1004.存盤(用“File-SaveAs”命令)
(文件名與設(shè)計文件名相同!)1.6設(shè)計的仿真驗證如果進行的是全編譯,則在Simulation欄中一定要選擇Timing!否則仿真會出錯!三、進行仿真1.指定仿真器設(shè)置(1)執(zhí)行“Assignments>Settings…”命令,打開Settings對話框。(2)在Category列表中選擇Simulator,則顯示Simulator頁面。(3)若要進行功能仿真,則在Simulation欄中選擇Functional;若要進行時序仿真,則在Simulation欄中選擇Timing。(4)指定仿真文件(5)若希望用仿真結(jié)果覆蓋仿真輸入文件,則選中“Overwritesimulationinputfilewithsimulationresults”復(fù)選框。1011.6設(shè)計的仿真驗證仿真類型仿真文件用仿真結(jié)果覆蓋仿真輸入文件1022.啟動仿真器方法一:執(zhí)行“Processing>StartSimulation”命令,開始仿真。方法二:執(zhí)行“Tools>SimulatorTool”命令,打開“SimulatorTool”窗口,進行仿真設(shè)置、啟動或停止仿真器;單擊“Start”,開始仿真。仿真是在后臺進行的,開始仿真后可切換到其他應(yīng)用程序做其它工作!1.6設(shè)計的仿真驗證若要采用不同的仿真方式,則需重新選擇編譯的“Processing”菜單,對項目重新進行編譯!開始仿真停止仿真仿真輸入文件1031.6設(shè)計的仿真驗證當一個工程中有多個子模塊時(1)打開該子模塊文件,執(zhí)行“Project>SetasTop-LevelEntity”菜單命令,然后編譯。(2)創(chuàng)建仿真文件:新建一個.vwf文件,則可將該子模塊中的節(jié)點調(diào)入,編輯輸入節(jié)點波形,存盤。(3)仿真:執(zhí)行“Tools>SimulatorTool”命令,打開“SimulatorTool”窗口,指定仿真文件為剛創(chuàng)建的仿真文件,單擊Start,開始仿真。如何對每個子模塊進行仿真呢??1043.保存仿真結(jié)果對仿真結(jié)果的保存執(zhí)行“File>SaveCurrentReportSectionAs…”命令,可將仿真結(jié)果保存為.sim文件;也可以存為.vwf文件,則覆蓋了原仿真文件。或者在仿真器設(shè)置時選中“Overwritesimulationinputfilewithsimulationresults”復(fù)選框,則將用仿真結(jié)果覆蓋原仿真文件。1.6設(shè)計的仿真驗證建議先不選中“Overwritesimulationinputfilewithsimulationresults”復(fù)選框,在確認仿真結(jié)果正確后,再用“File>SaveCurrentReportSectionAs…”命令,將其保存為.vwf文件!記得隨時保存正確的仿真結(jié)果!105四、仿真結(jié)果分析仿真結(jié)束時,若無錯誤,則顯示“零錯誤零警告”消息框。1.6設(shè)計的仿真驗證1.查看仿真報告(SimulationReport)(1)打開SimulationReport窗口執(zhí)行“Processing>SimulationReport”命令或在“SimulatorTool”窗口單擊Report按鈕(2)查看仿真波形在仿真報告窗口中,默認打開的即是仿真結(jié)果波形;移動參考線,在Value域觀察對應(yīng)時刻各輸出的邏輯狀態(tài)值是否正確。1062.使用仿真波形SimulationReport窗口中的波形為只讀的,可進行如下操作:對節(jié)點排序;給波形添加注釋;選擇節(jié)點顯示的基數(shù)(Radix);改變網(wǎng)格大小;與其它波形進行比較當對只讀波形進行操作時,將彈出EditInputVectorFile對話框:1.6設(shè)計的仿真驗證若認為仿真結(jié)果是正確的,則選擇第一項,單擊OK,則將用仿真結(jié)果覆蓋原仿真文件,并進入波形編輯器;否則選擇第二項,不覆蓋原仿真文件,直接進入波形編輯器。1071.7仿真工具ModelSim一、ModelSim用戶界面二、使用ModelSim進行功能仿真三、使用QuartusⅡ進行綜合、布局布線四、使用ModelSim進行布線后仿真內(nèi)容概要1081.7仿真工具ModelSim一、ModelSim用戶界面這里使用的是ModelSimSEPLUS5.6版本執(zhí)行“開始>所有程序>ModelSimSE5.6>ModelSim”,啟動ModelSim,則出現(xiàn)“WelcometoModelSim5.6”畫面(單擊Close按鈕可關(guān)閉之)和ModelSim的主窗口工作區(qū)命令行操作區(qū)庫標簽1091.7仿真工具ModelSim主窗口設(shè)計加載以前,命令行操作區(qū)的提示符為ModelSim>無需加載設(shè)計,可以查看幫助,編輯庫,編輯源代碼設(shè)計加載以后,提示符為VSIM>
記錄仿真器動作命令消息斷言聲明只有將設(shè)計加載,才能進行仿真。1101.7仿真工具ModelSimModelSim用戶界面主窗口(main)結(jié)構(gòu)窗口(structure)進程窗口(process)信號和變量窗口(signals&variables)數(shù)據(jù)流窗口(dataflow)源代碼窗口(source)波形和列表窗口(wave&list)1111.7仿真工具ModelSimModelSim用戶界面的特點有9種窗口:main,structure,source,signals,process,variables,dataflow,wave,list利用菜單View可以打開所有窗口或某個窗口1121.7仿真工具ModelSim每個窗口都可以有多個副本支持拖放操作在一個窗口中選中HDL條目,運用鼠標器左鍵,可以把這些條目從一個窗口拖放到另一個窗口HDL條目可從下列窗口中拖出:dataflow,list,signals,source,structure,variables,
wave它們可以被拖進list或wave窗口中例如:可以在structure窗口中選中指定信號,然后將其拖進wave窗口中進行觀察1131.7仿真工具ModelSim各窗口的用途main——創(chuàng)建新庫,選擇要加載的設(shè)計,編譯、仿真設(shè)計structure——顯示設(shè)計結(jié)構(gòu)的層次化視圖source——分色顯示源代碼,可設(shè)置斷點,可單步運行代碼signals——顯示structure窗口當前范圍內(nèi)HDL條目的信號名稱和值,內(nèi)容可隨structure窗口選定內(nèi)容改變
process——顯示明顯的和隱含的進程
variables——列出HDL條目的名稱(Verilog:寄存器型變量)dataflow——對VHDL信號或Verilog網(wǎng)線進行圖示化的跟蹤,內(nèi)嵌波形窗口wave——查看仿真結(jié)果的波形list——以表格形式顯示仿真結(jié)果1141.7仿真工具ModelSim二、使用ModelSim進行功能仿真既可以在ModelSim中進行設(shè)計輸入(即編寫VerilogHDL源程序和測試文件),也可以在QuartusⅡ中完成。但在ModelSim中不支持中文顯示,注釋只能是英文!1.設(shè)計一個八位計數(shù)器,每來一個時鐘,加1計數(shù),并具有異步復(fù)位功能(高有效);2.使用ModelSim進行設(shè)計輸入、功能仿真;3.使用QuartusⅡ進行綜合、布局布線;4.使用ModelSim進行布線后仿真。設(shè)計實例1151.7仿真工具ModelSim1設(shè)計輸入(使用ModelSim)
(1)啟動ModelSim執(zhí)行“開始>所有程序>ModelSimSE5.6>ModelSim”,啟動ModelSim,則出現(xiàn)
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生態(tài)修復(fù)項目環(huán)境監(jiān)測與綜合治理技術(shù)服務(wù)協(xié)議
- 2025年度綠色鐵路貨運物流環(huán)保技術(shù)應(yīng)用合同
- 2025年企業(yè)營業(yè)執(zhí)照變更房屋租賃協(xié)議書含租金支付及押金退還細則
- 2025年度市中心公園生態(tài)修復(fù)工程合作協(xié)議
- 2025年新型工業(yè)場地租賃與智能化設(shè)備維護服務(wù)協(xié)議
- 2025年綠色建筑項目BIM咨詢服務(wù)與技術(shù)支持協(xié)議
- 2025年醫(yī)療設(shè)備全面維護及快速響應(yīng)服務(wù)保障合同
- 2025年度特色草花市場分析與銷售代理服務(wù)合同
- 2025年協(xié)議離婚子女撫養(yǎng)權(quán)確認及財產(chǎn)分割服務(wù)協(xié)議
- 2025年家居布藝定制生產(chǎn)與銷售代理合同
- 關(guān)于成立社會工作服務(wù)中心的可行性報告(民辦非企業(yè)單位成立可行性報告標準示范)
- 研究生心理適應(yīng)與卓越發(fā)展-南京大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 男性乳房發(fā)育課件
- 初中班會課:開學(xué)第一課《清澈的愛,只為中國》(課件)
- 超聲邁瑞超dp8800操作手冊
- 人教版高中(水平五)《體育與健康》全一冊《籃球基本戰(zhàn)術(shù)-策應(yīng)戰(zhàn)術(shù)配合》教學(xué)設(shè)計
- YY/T 0196-2005一次性使用心電電極
- LY/T 2497-2015防護林體系生態(tài)效益監(jiān)測技術(shù)規(guī)程
- GB/T 29790-2020即時檢驗質(zhì)量和能力的要求
- GB/T 26358-2010旅游度假區(qū)等級劃分
- 2023年版下肢動脈硬化閉塞癥診治指南
評論
0/150
提交評論