版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、示例1:基于原理圖的分頻器工程設(shè)計(jì)利用原理圖進(jìn)行輸入設(shè)計(jì)時(shí),對(duì)設(shè)計(jì)人員的編程技術(shù)沒有太高的要求,在沒有掌握硬件描述語言的情況下就能進(jìn)行FPGA的開發(fā)設(shè)計(jì)。學(xué)習(xí)利用軟件QuartusII為原理圖輸入提供的原理圖編輯器(BlockEditor)來完成工程設(shè)計(jì)的方法。設(shè)計(jì)過程主要包括工程建立、編輯設(shè)計(jì)圖形、編譯綜合和仿真測(cè)試。對(duì)于編程下載和硬件測(cè)試過程,這里涉及具體的硬件平臺(tái),實(shí)現(xiàn)的方法是相同的。建立工程文件(1)指定工程文件名稱運(yùn)行QuartusII軟件,選擇FileNewProjecWizard打開過程生成向?qū)?。在彈出的?duì)話框中分別輸入新建工程所在的文件夾名稱、工程名稱和頂層實(shí)體名稱。如圖4.1
2、所示。點(diǎn)擊Next。注意,QuartusII要求工程文件名一定要與頂層實(shí)體名稱相同。圖4.1新建工程對(duì)話框(2)選擇添加的文件和庫如果,工程文件夾不存在,則彈出提示對(duì)話框,按照提示單擊Yes按鈕就會(huì)自動(dòng)建立。單擊Next按鈕,就會(huì)出現(xiàn)圖4.2的界面。如果需要添加文件或者庫,按照提示操作。否則單擊Next按鈕,本實(shí)驗(yàn)就不需要添加文件或者庫。圖4.2添加文件或庫對(duì)話框(3)目標(biāo)器件選擇進(jìn)入目標(biāo)器件選擇,這里在Family器件種類欄選擇Cyclone系列,各項(xiàng)的選擇如圖4.3所示。點(diǎn)擊Next就會(huì)進(jìn)行第三方EDA工具的選擇。FPGA器件選型常識(shí)。FPGA器件的選型非常重要,不合理的選型會(huì)導(dǎo)致一系列的
3、后續(xù)設(shè)計(jì)問題,有時(shí)甚至?xí)乖O(shè)計(jì)失?。缓侠淼倪x型不光可以避免設(shè)計(jì)問題,而且可以提高系統(tǒng)的性價(jià)比,延長產(chǎn)品的生命周期,獲得預(yù)想不到的經(jīng)濟(jì)效果。FPGA器件選型有以下7個(gè)原則:器件的供貨渠道和開發(fā)工具的支持、器件的硬件資源、器件的電氣接口標(biāo)準(zhǔn)、器件的速度等級(jí)、器件的溫度等級(jí)、器件的封裝和器件的價(jià)格。PagNewPfCJSCrWizSraTFamily&DevireSeCTingspSgJISelectthefamily日nddeviceyouw日nttotargetforcompilation.Availabledevices:Package:Pincount:Speedgrade:NameCore
4、v.LEsUserI/.Memor.Embed.PLLEP2C35F672CS1.2V33216475433040EP2C35F672IS1.2V33216475403040EP2C50F672CS1.2V50528450594432EP2C50F672I81.2V50528450594432EP2C70F672CS1.2V604164221152000EP2C70F672IS1.2V6S41642211520007Showadvanu胡devices廠HardCopycompatibleonlvConii3anionoweHardCopv:|I啟LimitDSP&:RAMtoHardCopy
5、deviceresourcesIlli1IFinish取消圖4.3目標(biāo)器件選擇對(duì)話框本例沒有用到第三方工具,點(diǎn)擊Next,如圖4.4所示。圖4.4第三方EDA工具選擇對(duì)話框4)工程結(jié)束如圖4.5所示,完成設(shè)置工程的信息描述。查看設(shè)置信息是否正確,如果正確,則單擊Finish按鈕。就會(huì)出現(xiàn)4.6所示工程建立完成后的界面。圖4.5完成設(shè)置工程的信息描述圖4.6建立后的工程界面2.輸入原理圖(1)建立文件。在圖4.6窗口中,選擇FileNew命令,出現(xiàn)如圖4.7所示的對(duì)話框,在該對(duì)話框中,共有8種設(shè)計(jì)文件輸入方式,分別對(duì)應(yīng)相應(yīng)的編輯器。原理圖輸入選擇BlockDiagram/SchematicFil
6、e,點(diǎn)擊OK,就會(huì)出現(xiàn)如圖4.8所示的圖形編輯窗口。圖4.7新建文件類型選擇對(duì)話框(2)放置元器件符號(hào)。在圖4.8所示的圖形編輯器窗口的空白處雙擊左鍵。就會(huì)彈出如圖4.9所示的電路,可以根據(jù)需要進(jìn)行器件選擇。這里用7490器件。惜Blockl.bdfProjectNavigator*xEntity險(xiǎn)CycloneII:EF2C35F672C8reg_iifiverTasksFlow:|Compi1ationA口尋包k踴一fteDrFr日*+l+ll+liyi由Compi1eIIeeignArL:lyEis&SjFitter(PlaceAsEembler(.Ge:”ClassicTiminEDA
7、NetlistW:Fr口grainDeviceQj1III圖4.8空白圖形編輯窗口SymbolLibraries:74837484174841b74S4274842b7484374844748457484674857486748774907.-1Q1Name:7490.Flepeat-in$etmode廠nsertsymbolasblock廠Launchh4已gaWizardPlugnMegawizardFlug-lnManager.在此輸入所需的器件名稱KCancelISET9AISET9BACLRAQBCLRBQCCLKAQD|(:LK日7490hE4COUNTER圖4.9選擇電路元器件符
8、號(hào)窗口(3)命名和連接各元器件。按照第2步同樣的方法,可以添加INPUT和OUTPUT并按照?qǐng)D4.10連接電路圖。連接方法是把光標(biāo)移到連線處,當(dāng)光標(biāo)變成十字時(shí)按住鼠標(biāo)左鍵不放,將連線接到連接處,連線處不應(yīng)出現(xiàn)“x”號(hào)。274907490o惓Block1.bdfx鬧4.1fre_drivider/freq_drividei.bdfFitter(Fl屏AiualysieProjectNavigator;亠xEntityICycloneII:EF2C35F6T2C8=regiriverSET9ASET9BOACLRAQBCLRBQCCLKAQDCLKB7490SET9ASET9BACLRAQBCLR
9、BQCCLKAQDCLKB;inst2COUNTERSET9ASET9BQACLRAQBCLRBQCCLKAQDCLKBCOUNTER|Compilation日CompileDesi0-FR-0E-屏Asseiriblert.Ge:解ClassicTimin!EDAUetliEtW:h:GNDi圖4.10分頻器的電路原理圖窗口3.編譯工程文件單擊ProcessingfStartcompilation進(jìn)行編譯。若在編譯工程中出現(xiàn)錯(cuò)誤,根據(jù)提示信息進(jìn)行相應(yīng)修改。直至編譯成功。出現(xiàn)5個(gè)對(duì)號(hào),如圖4.11所示。EriAity險(xiǎn)CycloneII:EF2C35F672C8由蠡freqdrivider希k
10、JJSTipiilattoniRepLegalNoticeFlowSuimmcFlowSetting:FlowNon-DeFlowElapsecFlowOSSunFlowLogAnalysis&S1FitterAssemblerTiimiiingAnalyFlowSummaryTask|?4VCumpilHIip5igr呼AAnalysis&V母Fitter(PlVElAssemblerV田ClassicTiE1-EDANetlisfvTasks?low:|cornpilationFlowStatugQu:=j-tusIIVersionRevisionN:=ljtihTop-levelEnti
11、tyN:=uneF:=jtiilyDeviceTimingMijielEMettimingrequirementsTotallogicelementsTotalcomLinatiorL:ilfunctionsLiniiicatedlogicregieteirETotalregistetsTotalpinsTotalvirtualpinsTotalmemorybitsEmtiHdiiedMultiplieir9-bitpiemenTotalFLLeSuccessful-WedAprOT11:43:1320109.0Build23506/17/2009SF2SJWebEditifrt!q_iii-
12、ivid北freq_iirividerCycloneIIEP2C35F6T2C8FmalNo12/33,216(1%)12/33,216(1%)12/33,216(1%)122/475(1%)0/483,840(0%)0/TO(0%)0/4(0%)圖4.11編譯結(jié)果4.建立仿真測(cè)試的矢量波形文件(1)建立波形文件。打開FileNew,選擇VectorWaveformFile如圖4.12所示。單擊OK按鈕,出現(xiàn)如圖4.13所示波形編輯對(duì)話框。NewNewQuartusIIProjectSOPCBuilderSystem+DesignFiles-MemoryFilesHexadecimal(Int
13、el-Format)FileMemoryInitializationFile-Verification/DebuggingFilesIn-SystemSourcesandProbesFileLogicAnalyzerInterfaceFileSignalTapIILogicAnalyzerFileVectorWaveformFile-OtherFilesAHDLIncludeFileBlockSymbolFileChainDescriptionFileSnopsvsDesignConstraintsFileTextFileOKICancel圖4.12新建文件類型選擇對(duì)話框惜freqdrivid
14、er.bdf尋CompilationReport-FlowSummaryInterval:-12.0nsStart:En.mimiV:dlueat12.05nsFlow:|Cornpilati日Compi1eHeeigr田AiL:ilyEie&E-Fit+nr(Fl田AESHmblHrClaEsicTi由!EDAIktl讓叼ProjectNavigator遠(yuǎn)Waveforml.vwfMasterTimeBar:12.05nsJjjPointer:|50ps1在此處雙擊鼠標(biāo)左i鍵,彈出添加引腳和節(jié)點(diǎn)對(duì)話框圖4.13波形編輯窗口(2)添加引腳和節(jié)點(diǎn)。在圖4.13的Name下方的空白處雙擊鼠標(biāo)左鍵,
15、會(huì)彈出圖4.14的對(duì)話框,在該對(duì)話框中單擊NodeFinder按鈕。就會(huì)彈出如圖4.15所示的對(duì)話框。選擇輸入、輸出引腳添加到右欄里,如圖4.16所示。單擊OK,就回到4.17的界面。InsertNodeorBusName:Ivpe:Valuetype:Radix:Buswidth:Startindex:NodeFinder.CancelDisplayravcodecountasbinarycount圖4.14添加節(jié)點(diǎn)和總線對(duì)話框圖4.15NodeFinder對(duì)話框圖4.16選擇輸入、輸出引腳對(duì)話框3)編輯波形。由于默認(rèn)波形文件的時(shí)間為lys,在圖4.17中,單擊EditEndTime命令,在
16、彈出的對(duì)話框中,在Time文本框中輸入10,其他不變。并設(shè)置輸入信號(hào)為時(shí)鐘信號(hào),設(shè)置對(duì)話框的相應(yīng)項(xiàng)。最后保存文件為.vwf型。CompilationReport-FlowSummary1J1Waveforml.vw產(chǎn)TasksProjectNavigator亠x惓fredrivider.bdfEntityStart:MasterTimeBar:12.05ns4_d卩厲門怕:11.7nsInterval:-350psA日Compi1pIIpeigr3S1*AiL:dlyEieSlFit+erijl全V田屏AEEHmblHrVS-ClassicTiSt-EDANetlisvraFlow:|Comp
17、ilation波形賦值快捷鍵圖4.17添加節(jié)點(diǎn)后的波形窗口5.仿真QuartusII軟件仿真分為功能仿真和時(shí)序仿真。二者區(qū)別是,功能仿真是忽略延時(shí),按照邏輯關(guān)系仿真,而時(shí)序仿真則是加上一些延時(shí)仿真。如圖4.18所示。Settings-freqdrividerC呂t已gory:GeneralFilesLibrariesD已”i匚:已+匚ip已rating已ttingsand匚uriditiuns+CumpilatiunProcessSettings+ED此TuulS已ttings+.Analysis&SynthesisSettingsFitterSettings+Timing.AnalysisS
18、ettinqsAssemblerD已sign.AssistantSignalTapIILogic.nalvzerLogic.AnalirizerIM已rface+Simuldto|5ettingsP匚吶已PlciiAier.AnalyzerSettingsSSNAnalimulatorSettingsSelectsimulationoptions.;在此選擇進(jìn)行功能仿真或者時(shí)序仿真Simulationmode:魏Simulationiriput:h已q_di”id已.屮川f勺AddMultipleFiles.Simulationperiodf*Flunsimulationuntilallvec
19、torstimuliareusedEndsimulationat:Glitchfilteringoptions:MoreSettings.|AuId在此選擇進(jìn)行功能-仿真或者時(shí)序仿真的輸入文件*.vwf在此選擇SimulatorSettingsDescription:圖4.18軟件仿真設(shè)置界面開始仿真前,必須通過為時(shí)序仿真編譯設(shè)計(jì),或通過選擇用于功能仿真的GenerateFunctionalSimulationNetlist命令,來生成合適的仿真網(wǎng)表。此外,還要建立并指定一個(gè)向量源文件為仿真輸入向量的源。Simulator使用向量源文件所包含的輸入向量,來仿真同一條件下編程器將要產(chǎn)生的輸出信號(hào)
20、。(1)功能仿真選擇AssignmentSettings命令,如圖4.18所示的界面。再選擇ProcessingGenerateFunctionalSimulationNetlist命令,自動(dòng)創(chuàng)建功能仿真網(wǎng)絡(luò)表。單擊仿真按鈕即可。結(jié)果如圖4.19所示。圖4.19軟件功能仿真結(jié)果(2)時(shí)序仿真設(shè)置方法如圖4.18所示。仿真結(jié)果如圖4.20所示。最終要下載到芯片里,只需進(jìn)行引腳分配,編譯下載即可。圖4.20軟件時(shí)序仿真結(jié)果示例2:基于VHDL語言的文本工程設(shè)計(jì)QuartusIITextEditor是一個(gè)靈活的工具,用于以AHDL、VHDL和VerilogHDL語言輸入文本型設(shè)計(jì)。本例即以共陽七段譯
21、碼器為例,學(xué)習(xí)基于VHDL硬件描述語言的工程設(shè)計(jì)。七段數(shù)碼顯示譯碼器是純組合電路,可以用小規(guī)模專用芯片實(shí)現(xiàn),較方便靈活的還是利用譯碼程序在FPGA上實(shí)現(xiàn)。表4.1為十六進(jìn)制譯碼顯示的功能表。表4.1為十六進(jìn)制譯碼顯示的功能(共陽)DGGAabodef.宇璀費(fèi)宇DGBAabGdcfiQ00000000001Q000000081000110011111孑i(ni000010092001000100102101010001000A00110000110Z1110111100000B斗0100100110041211000110001c01010100100&1;11011000010DE-01100
22、100000f1斗11100110000E70111000110171511110111000F下面按照設(shè)計(jì)流程進(jìn)行介紹。1.建立工程文件工程文件的建立過程和方法與示例1的類似。主要包括指定工程文件名稱、選擇添加的文件和庫及選擇目標(biāo)器件幾個(gè)過程。這里取新建工程的文件夾名為hex_decoder_7sg、工程名稱和頂層實(shí)體名稱為hex_decoder_7sg。工程創(chuàng)建結(jié)束的對(duì)話框如圖4.21所示。信息正確后,點(diǎn)擊Finish,工程建立完成后的界面如圖4.22所示。NewPraJecrWizara?Summ5ryWhenyouclickFinish,theprojectwillbecreated艸
23、i岀thefollowingsettings:Projectdirectory:D:/altera/myworks/test/heX-decoder-?sg/Projectname:hex_decoder_7sgT叩eveldesignentity:hex_decoder_7sgNumberoffilesadded:0Numberofuserlibrariesadded:0Deviceassignments:Familyname:CycloneIIDevice:EP2C35F672C8EDAtools:Designentry/synthesis:Simulation:Timinganalysi
24、s:peratingucinditions:Corevoltage:1.2VJunctiontemperaturerange:0-85BackINextFFinish.f取消圖4.21工程創(chuàng)建結(jié)束的對(duì)話框lJd?miEntity|匚妙1皿己口:EFECSEFETECE;hez:der_7egFlow:CompilationTazk曲H屛CompileIIeeigrL0“許ArL:lyEie4lSy.E-許Fi11er(FlaceHAiEerTibleri:Gm:H“屏ClassicTiminfflEDANetlistW:ProjectNavigatorQuartuseIIv9.1Service
25、Pack2NowAvailableQUARTi圖4.21工程建立完成后的界面2.輸入VHDL語言程序代碼建立文件。在工程建立完成后的界面里的FileNew,在彈出的對(duì)話框中選擇VHDLFile并單擊OK。進(jìn)入文本編輯窗口。輸入VHDL語言程序代碼。在實(shí)際的文本編輯中設(shè)計(jì)程序文件時(shí),可以直接利用QuartusII軟件提供的模板進(jìn)行語法結(jié)構(gòu)的輸入和編輯。具體方法如下。將鼠標(biāo)放到要插入模板的文本行。在當(dāng)前鼠標(biāo)位置單擊鼠標(biāo)右鍵,在彈出的菜單中選擇InsertTemplate命令。如圖4.22所示。在對(duì)話框的LanguageTemplates列表中,選擇需要插入的語言的語法結(jié)構(gòu)模板,按提示完成操作。如圖
26、4.23所示。霽Vhdll.vhd躺%III268ab/1卜UndoCtrl+ZRedoCtrl+YCutCtrl+XCopyCtrl+CPasteCtrl+VDeleteDelLocateIncreaseIndentDecteaseIndentFindMatchingDelimiterCtrl+MInsertFile.InsertTemplate.OpenSelectedEntitypenSymbolFileOpenAHDLIncludeFileCommentSelectionUncommentSelection圖4.22步驟顯示的對(duì)話框圖4.23插入模板的對(duì)話框在圖4.24輸入程序代碼。-
27、Alibraryclausedeclaresanameasalibrary.It-doesnotcreatethelibrary;itsimplyforwarddeclares-it.Libraryieee;Useieee.std_logic_1164.all;entityhex_decoder_7segisport(data_in:instd_logic_vector(3downto0);en:instd_logic;data_out:outstd_logic_vector(6downto0);endentity;architecturearchofhex_decoder_7segisbeg
28、inprocess(data_in,en)begindata_out1);ifen=1thencasedata_iniswhen0000=data_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outdata_outnull;endcase;endif;endprocess;endarchitecture;保存程序。保存類型為.vhd選中Addfiletocurrentproject,完成文件的保存。編譯工程文件點(diǎn)擊編
29、譯按鈕即可完成,有錯(cuò)誤需要更正,直至完全正確為止。建立仿真測(cè)試的矢量波形文件。按照前面建立仿真測(cè)試的矢量波形文件的方法,先建立波形文件,添加引腳和節(jié)點(diǎn)。編輯波形。選擇EditEndTime命令,在結(jié)束時(shí)間設(shè)置對(duì)話框的Time文本框中輸入10(默認(rèn)為1)卩s。設(shè)置使能信號(hào)EN。使能信號(hào)EN為1譯碼器工作,否則不工作。單擊Name下方的EN,再單擊波形編輯器工具欄中的1電平符號(hào),設(shè)置為1結(jié)束。設(shè)置數(shù)據(jù)輸入信號(hào)data_in。單擊Name下方的data_in,單擊波形編輯器工具欄中的計(jì)數(shù)值,在彈出的對(duì)話框中完成相應(yīng)設(shè)置。設(shè)置數(shù)據(jù)輸出信號(hào)data_out。單擊Name下方的data_out,選中該波形
30、并單擊鼠標(biāo)右鍵,彈出對(duì)話框,選擇Properties命令,彈出對(duì)話框。在基數(shù)Radix中選擇二進(jìn)制方式。保存測(cè)試波形文件。5.仿真可以進(jìn)行功能仿真或時(shí)序仿真。(1)選擇AssignmentSettings命令。進(jìn)行相關(guān)設(shè)置。(2)選擇ProcessingGenerateFunctionSimulationNetlist命令,自動(dòng)建立功能仿真網(wǎng)絡(luò)表。單擊仿真按鈕,顯示波形如4.24所示。結(jié)果正確。圖4.24功能仿真的波形示例3:基于狀態(tài)機(jī)的工程設(shè)計(jì)狀態(tài)機(jī)的一個(gè)極度確切的描述是它是一個(gè)有向圖形,由一組節(jié)點(diǎn)和一組相應(yīng)的轉(zhuǎn)移函數(shù)組成。狀態(tài)機(jī)通過響應(yīng)一系列事件而“運(yùn)行”。每個(gè)事件都在屬于“當(dāng)前”節(jié)點(diǎn)的轉(zhuǎn)
31、移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點(diǎn)的一個(gè)子集。函數(shù)返回“下一個(gè)”(也許是同一個(gè))節(jié)點(diǎn)。這些節(jié)點(diǎn)中至少有一個(gè)必須是終態(tài)。當(dāng)?shù)竭_(dá)終態(tài),狀態(tài)機(jī)停止。編譯器識(shí)別狀態(tài)機(jī)的條件:表現(xiàn)狀態(tài)機(jī)的信號(hào)或變量必須為枚舉類型。狀態(tài)轉(zhuǎn)移必須由elk觸發(fā),并且是用IF語句檢測(cè)的上升沿進(jìn)行轉(zhuǎn)移。狀態(tài)轉(zhuǎn)移到下一個(gè)狀態(tài)由CASE語句判斷。所有信號(hào),變量賦值都要放在狀態(tài)機(jī)進(jìn)程里進(jìn)行。狀態(tài)機(jī)的狀態(tài)必須多于兩個(gè)狀態(tài)。QuartusII狀態(tài)機(jī)編輯器(StateMachineEdit)是一個(gè)靈活的工具,用于以圖形方式表示時(shí)序電路的狀態(tài)圖,而且不需要編寫任何VHDL或VerilogHDL源代碼。在狀態(tài)機(jī)編輯器中完成狀態(tài)圖的輸入以后
32、,直接通過GenerateHDLFile命令,就會(huì)生成VHDL或VerilogHDL源代碼。這個(gè)示例就是利用狀態(tài)編輯器設(shè)計(jì)一個(gè)4位二進(jìn)制計(jì)數(shù)器。1.建立工程文件工程文件的建立過程和方法與示例1的類似。主要包括指定工程文件名稱、選擇添加的文件和庫及選擇目標(biāo)器件幾個(gè)過程。這里取新建工程的文件夾名為cnt4b_state、工程名稱和頂層實(shí)體名稱為cnt4b_state。工程創(chuàng)建結(jié)束信息正確后,點(diǎn)擊Finish,工程建立完成后的界面如圖4.25所示。ProjectNavigatnr亠xTask日ACompileIIeeign0-AiL:lysis&Sy.0-Fitter(Place0-AssHmble
33、rI.Ge:0-ClassicTimin0-EDANetlistWTasksFlow:CompilaticmProktamDevice(HFileEditViewProjectAssignmentsProcessingToolsWindowHelpDQ9晝|cnt4bstateQuartusGIIv9.1ServicePack2NowAvailableQUAR圖4.25工程建立完成后的界面2.輸入狀態(tài)機(jī)(1)建立文件在圖4.25中選擇FileNew命令,在彈出的對(duì)話框中選擇StateMachineFile并點(diǎn)擊OK按鈕,進(jìn)入如圖4.26所示的對(duì)話框。圖4.26狀態(tài)機(jī)編輯窗口2)創(chuàng)建狀態(tài)機(jī)選擇T
34、oolsStateMachineWiza命d令,打開狀態(tài)機(jī)創(chuàng)建向?qū)нx項(xiàng)對(duì)話框。選擇Reset信號(hào)描模式:Synchronous(同步)或Asynchronous(異步)。這里選項(xiàng)異步。選擇Reset為高電平有效;選擇市出為寄存器方式。單擊Next。如圖4.27所示。設(shè)置輸入信input2狀態(tài)轉(zhuǎn)換表輸入狀態(tài)名稱SourceState1DestinationState-.Transition3statE2statedinputl&input24ststeSstate斗OTHERS5stste4statfi5inputl|inputZ6state5state6OTHERS7statesstate?圖
35、4.27狀態(tài)機(jī)創(chuàng)建向?qū)Р襟E在對(duì)話框內(nèi)的State欄輸入狀態(tài)名稱state0-statel5(雙擊state進(jìn)行改寫),在輸入端口欄中取默認(rèn)情況。在狀態(tài)轉(zhuǎn)換表輸入狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換條件默認(rèn)。如圖4.28所示。Outputports:OutputPortNameOutputStste1qoutput3:0Currentdockcyde2IlliBackNextFinish取消Actionconditions:OutputPartOutputValueInStateAdditionalConditionsA12iut3:0blOllstate1113iut3:0blUQOstate121斗iut3:0b
36、llOlstate13ll15iut3:0blUOstate1416iut3:0bllllstate15vldr11-,.L_lIlli1也圖4.28設(shè)置好輸出變量和輸出值的對(duì)話框在圖4.28中,在輸出端口欄填寫輸出向量名稱qout3:0,在輸出狀態(tài)下選擇Currentclockcycle;在狀態(tài)輸出下輸入各個(gè)狀態(tài)對(duì)應(yīng)輸出編碼。設(shè)置完成,單擊Next。進(jìn)入如圖4.29界面。圖4.29狀態(tài)機(jī)的生成信息單擊Finish生成如圖4.30所示的十六進(jìn)制計(jì)數(shù)器狀態(tài)機(jī)。OutputTable:電xOutputPortqoutput3:0圖4.30十六進(jìn)制計(jì)數(shù)器狀態(tài)機(jī)(3)保存文件。保存生成的狀態(tài)機(jī)。文件類
37、型為.smf,選中Addfiletocurrentproject。(4)生成VHDL文件。在Tools欄下選中GenerateHDLFile命令,選擇VHDL選項(xiàng),即可生成VHDL文件打開的源文件如圖4.31所示。如此生成VHDL源文件很方便。圖4.31VHDL源文件3.編譯工程進(jìn)行編譯工程,等出現(xiàn)如圖4.32所示的信息。說明編譯成功了。圖4.32編譯成功的信息說明4.建立仿真測(cè)試的矢量波形文件建立仿真測(cè)試的矢量波形文件的方法可參考前兩種方法。仿真結(jié)果如圖4.33所示圖4.33十六進(jìn)制功能仿真波形示例4:基于LPM宏功能模塊的工程設(shè)計(jì)LPM是參數(shù)可設(shè)置模塊庫LibraryofParameter
38、izedModules的英語縮寫,Altera提供的可參數(shù)化宏功能模塊和LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。在許多實(shí)用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲(chǔ)器、DSP模塊、LVDS驅(qū)動(dòng)器、嵌入式PLL以及SERDES和DDIO電路模塊等等。這些可以以圖形或硬件描述語言模塊形式方便調(diào)用的宏功能塊,使得基于EDA技術(shù)的電子設(shè)計(jì)的效率和可靠性有了很大的提高。設(shè)計(jì)者可以根據(jù)實(shí)際電路的設(shè)計(jì)需要,選擇LPM庫中的適當(dāng)模塊,并為其設(shè)定適當(dāng)?shù)膮?shù),就能滿足自己的設(shè)計(jì)需要,從而在自己的項(xiàng)目中十分方便地調(diào)用優(yōu)秀的電子工程技術(shù)人員的硬件設(shè)計(jì)成果。LP
39、M功能模塊內(nèi)容豐富,每一模塊的功能、參數(shù)含義、使用方法、硬件描述語言模塊參數(shù)設(shè)置及調(diào)用方法都可以在QuartusII中的Help中查閱到,方法是選擇“Help”菜單中的“MegafUnctions/LPM命令。Altera提供的宏功能模塊與LPM函數(shù)主要有以下幾種。算術(shù)組件:包括累加器、加法器、乘法器和LPM算術(shù)函數(shù)。門電路:包括多路復(fù)用器和LPM門函數(shù)。I/O組件:包括時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)、鎖相環(huán)(PLL)、雙數(shù)據(jù)速率(DDR)、千兆位收發(fā)器塊(GXB)、LVDS接收器和發(fā)送器、PLL重新配置和遠(yuǎn)程更新宏功能模塊。(4)存儲(chǔ)器編譯器:包括FIFOPartitioner、RAM和ROM宏功能
40、模塊。(5)存儲(chǔ)組件:包括存儲(chǔ)器、移位寄存器宏模塊和LPM存儲(chǔ)器函數(shù)。在Tools下運(yùn)行MegaWizardPlugManager命令打開后顯示如圖4.34所示。已安裝的LPM模塊如圖4.35所示。TheMegaV/izardPlugnManagerhelpsvoucreateormodifvdesignfilesthatcontaincustomvariationsofmegafunctions.Whichactiondoyouwanttoperform?*CreateanewcustommegafunctionvariatiodEdit日nexistingcustommegafunctio
41、nvariationCopyanexistingcustommegafunctionvariationCopyright(C)1991-2009AlteraCorporation圖4.34選擇創(chuàng)建一個(gè)新的宏功能模塊已經(jīng)安裝的LPM模塊,可供用戶選擇riiCrInlAQfunctioiiwould5ot(-ik嚴(yán)page2aJSelectamegafunctionfromth.,listbelowWhichdevicefamilywillyoubeusing?StratixInstalledPlug-Ins/|AlteraSOPCBuilderSalArithmeticKilCommunicat
42、ions畫DSPKa|Gates魚JI/OWhichtypeofoutputfiledoyouwanttocreate?CAHDL*VHDLCVerilogHDL+IPMegctoreBalInterfacesKilJTAG-accessibleExtensionsKilMemoryCompilerBalStorageV/hatnamedoyouwantfortheoutputfile?D:alteramvworkstestBrowse.;未安裝的;LPM模塊ReturntothispageforanothercreateoperationNote:Tocompileaprojectsucce
43、ssfullyintheQuartusIIsoftware,yourdesignfilesmustbeintheprojectdirectory,intheglobaluserlibrariesspecifiedintheOptionsdialogbox(Toolsmenu,orauserlibraryspecifiedintheUserLibrariespageoftheSettingsdialogbox(Assignmentsmenu.Yourcurrentuserlibrarydirectoriesare:Cancel圖4.35已安裝的LPM現(xiàn)從以下幾個(gè)方面介紹工程文件的建立、編譯和仿真
44、過程。通過定制1000進(jìn)制的計(jì)數(shù)器,掌握基于MegaWizard管理器定制LPM宏功能模塊的基本方法,掌握LPM宏功能模塊在數(shù)字系統(tǒng)設(shè)計(jì)的應(yīng)用方法和技巧。1.建立工程文件建立工程文件的過程和方法與前面的示例1、示例2相同。工程名和頂層文件名均為cntlOOO,最終的顯示界面如圖4.36所示。圖4.36工程創(chuàng)建結(jié)束對(duì)話框2定制LPM宏功能模塊及其應(yīng)用在Tools下運(yùn)行MegaWizardPlugManager命令打開后顯示如圖4.34所示。已安裝的LPM模塊如圖4.35所示。具體創(chuàng)建工程如下。(1)打開MegaWizardPlugManager對(duì)話框。(2)在圖4.35中,選擇Installed
45、Plug-InsArithmeticLPMCOUNTER。在彈出的對(duì)話框中,目標(biāo)器件類選擇CyclonicII、編程語言選擇為VHDL及輸入生成的輸出文件名為cntlOOO,其他取默認(rèn)值。單擊Next。(3)進(jìn)入如圖4.37所示界面。設(shè)置輸出端q的數(shù)據(jù)寬度為10bits,選擇計(jì)數(shù)方式為Uponly。單擊Nexto如圖4.38所示的界面。點(diǎn)擊Next。圖4.37LPM步驟(3)的設(shè)置界面4)設(shè)置計(jì)數(shù)器的類型(計(jì)數(shù)的模)和計(jì)數(shù)器的控制端,設(shè)置計(jì)數(shù)的模為1000,完成(5)清零端和置位端設(shè)置情況如圖4.39所示。單擊Next。LegJWiHFflPlug-1nMSnSgeiLPM_COUNTER巾?
46、5方辺迪LPM_COUNTER|i|ParameterSettingsGeneral|T|EDAGeneral2AboutDocumentation|3|SummaryyOptionalInputsResourceUsage10lut+1QregCancelFinish圖4.38設(shè)置計(jì)數(shù)器的類型和計(jì)數(shù)器的控制端在4.40所示的對(duì)話框中勾選Generatenetlist。單擊Next。Set*LoadSet亙-nxDoyouwant日nyoptionmlinputs?SynchronousinputsAsynchronousinputsDocumentationClearSettoalllsOS
47、etto00bearLoadSettoalllsOSetto0cntlOOOupcounteimoduluBq9.OCDUtdata9.OResourceUsage10lut+10別GeneralGeneral2|Optian日IInputsMegaWfzardPlug-InManager-LPM_COUNTER卡LPM.COUNTERAbout|i|ParameterSettingsCancslFinish圖4.39清零端和置位端設(shè)置圖4.40產(chǎn)生網(wǎng)絡(luò)列表勾選圖示的選項(xiàng),完成設(shè)置情況如圖4.41所示。最后單擊Finish,完成后界面如圖4.42所示。Turnonthefilesyouwish
48、togenerate.Agraycheckmarkindicates日filethatisautDmaticallygeneratEcljandaredcheckmarkindicatesanoptionalfile.ClickFinishtngeneratetheselectedfiles.ThestateofeachcheckboxismaintsinedinsubsequentMegaWizardPlug-InManagersessions.TheMegaWizardPlug-In啊日nagercreatestheselectedfilesinthefollowingdirertary:
49、D:ltEraVnyworkstEstYrtlOOOResourceUsage10lut+10egFileDescription01cntlOOO.vhdVariationfilecntlOOO.incAHDLIncludefile回cntlOOO.cmpVHDLcomponentdeclarationfile0*cntlOOO.bsfQuartusIIsymbolfileHcnt1000_inst.vhdInstantiationtemplatefileQcnt1000_waveforms.htmlSamplewaveformsinsummarycnt1000waveK.jpgSamplew
50、aveformfile圍Q*cnt1000_syn.vSynthesisareaandtimingestimationnetlistCancslFinish圖4.41LPM_counter設(shè)置結(jié)束對(duì)話框a1111D目H“Analysis&Sy.H“Fitter(Fla2mH“許Aeeembler(.Ge:H屏ClassicTiminHEDANetlistW:Fr:gi-:iiTiDevice(.0TaskscntlOOOFlow:)C:mpilati:nS屛Compi1eUmwignProjectNavigator3FilesH-=|cntlOOO.qipL廡crLtll:lOO.vhdQUA
51、RTQuartus6IIv3.1ServicePack2NowAvailable圖4.42標(biāo)準(zhǔn)工程設(shè)計(jì)窗口(6)建立原理圖文件。方法與前面的示例相同。選擇BlockDiagram/SchematicFile。單擊OK。(7)輸入LPM模塊的圖形符號(hào)。在圖形的編輯器窗口的空白處雙擊鼠標(biāo)左鍵,即可彈出選擇電路元器件符號(hào)的對(duì)話框,在project目錄下,選中cntlOOO,如圖4.43所示。圖4.43選擇電路元器件符號(hào)的對(duì)話框。單擊界面OK按鈕,如圖4.44所示。圖4.44LPM宏模塊放置完成(8)按照添加模塊的方法再添加輸入輸出引腳(input和output),并完成連線如圖4.45所示。連接方法
52、同示例1、示例2。保存文件,注意勾選Addfiletocurrentproject。園Blockl.bdf*A口涓一氐DcntlOOOdksloadIdata9:C)upcounteisloadrrKxiuluts1OOCdata9.Oq9.OclockCDUtcnt_en黃firtst圖4.45連接電路圖3.編譯工程文件編譯工程文件,需要等待一定時(shí)間。編譯結(jié)束的畫面如圖4.46所示,出現(xiàn)5個(gè)對(duì)號(hào)表示編譯正確無誤。ProjectNavigator:*xt3Files&1=1crLtlLHJU.qipL朝cntlOOO.vhd;*2Blockl.bdfTasksFlow:|Compilation
53、E-Analysis&Sy.毎Fi+er(PlaceVE-AEEHmblHi-IGp:國.ClassicTiminEEDAKetlistW:Frogi:amDevicet.OpllJTipilatiIFlowSummaryLegalFlow!Flow:Flow1Flow1FlowStatusSuccessful-MonApr1210:59322010FlowiQu:=li-tn:;IIVersion9.0Build23506/17/2009SF2SJWebEditionFlow1RevisionN:=ljtihcn+1000Analy:Top-levelEntityN:=jneent1000F
54、ilterF:=jtiilyCycloneIIAssenDeviceEP2C35F672C8TiminTimingModel5FinalMettimingrequirementsYesTotallogicelements28/33,216(1%)Totalcombinatiuniilfiirn:tionm28/33,216(1%)Iledicate己logicregisters10/33,216(:rLt_enH匚Hl+1dataH3:田qH01sloadH1V:ilue12.OE圖4.49仿真波形圖4.50仿真波形cout有進(jìn)位輸出示例5:基于混合模式的工程設(shè)計(jì)在復(fù)雜的數(shù)字系統(tǒng)中,設(shè)計(jì)過程通
55、常采用基于模塊結(jié)構(gòu)的設(shè)計(jì)方法,利用QuartusII軟件設(shè)計(jì)時(shí)常常使用混合模式的工程設(shè)計(jì)方法。本例采用位寬為6位的分頻器、模為15的計(jì)數(shù)器及7段譯碼器來設(shè)計(jì)一個(gè)簡(jiǎn)單的系統(tǒng)分別利用前面的幾種設(shè)計(jì)方法來完成各個(gè)模塊的設(shè)計(jì)。1.建立工程文件建立名稱為disp_top的工程項(xiàng)目,按照以前的方法建立后,如圖4.51所示。圖4.51建立工程項(xiàng)目建立文件(1)建立一個(gè)空白的原理圖文件。(2)建立一個(gè)位寬為6位的分頻器。單擊原理圖的BlockTool按鈕,出現(xiàn)如圖4.52所示的界面。Blockl.bdP憶.F_0呵一涓二二二二二;二;二m二二二二二二;二二二二m二mm單擊:i;:;:;:;:;:;block_
56、namsBlockToolI/OTypeO;:;:;:-鼠標(biāo)右鍵;單擊圖4.52添加Block模塊右鍵單擊模塊,從彈出的的菜單中選擇BlockProperties命令,出現(xiàn)如圖4.53所示的界面。在Name欄輸入設(shè)計(jì)的名稱,在Instancename欄輸入模塊名稱。圖4.53BlockProperties的General選項(xiàng)對(duì)話框再選中I/Os標(biāo)簽欄,在Name文本框中填寫輸入或輸出端的名稱,在Type中選擇相應(yīng)的信號(hào)輸入或輸出類型,單擊Add,完成端口的設(shè)置。也可以進(jìn)行刪除,如圖4.54所示。圖4.54BlockProperties的I/Os選項(xiàng)對(duì)話框忝加模塊引線并設(shè)置屬性,再雙擊如圖4.5
57、5所示的地方彈出Mapping所對(duì)話框,如圖4.56所示。單擊此按鈕T尋orthogonalNodeTool,.然后給模塊添加連線。.:.:雙擊此按鈕彈出I;jMapperProperties對(duì)話框。I/OTypeclockINPUTresetINPUTqout2HzOUTPUT圖4.55添加模塊引線圖4.56MapperProperties對(duì)話框Mappings選項(xiàng)完成模塊內(nèi)部節(jié)點(diǎn)與外部引線的映射關(guān)系。在I/OsonBlock中選擇模塊內(nèi)部節(jié)點(diǎn)名稱為clock,在Signalsinnode中選擇引線名稱elk,然后單擊Add按鈕,就完成了一對(duì)外部引線與模塊內(nèi)部端口的映射關(guān)系,同樣的方法完成r
58、st與reset、qout與qout_2Hz的映射關(guān)系,完成了設(shè)置如圖4.57所示。;:;fenpinBlockJodclockelkMBlockJodiresetrstI/OTvcjeclockINPUTresetINPUTqout2HzOUTPUTBlockNodeqout2Hzclkent圖4.57完成外部引線與模塊內(nèi)部端口的映射設(shè)置創(chuàng)建設(shè)計(jì)文件。在圖4.57所示模塊符號(hào)上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇CreatDesignFilefromSelectedBlock命令,在彈出的對(duì)話框中,可以選擇AHDL、VHDL、VerilogHDL和Schematic共4個(gè)可供選擇建立文件的描述電
59、路行為的方法。這里選擇VHDL,單擊確定按鈕后,就進(jìn)入VHDL文本編輯器窗口。輸入以下文件代碼。完成六位寬,即64分頻的分頻計(jì)。-CreatedonThuApr1510:03:572010LIBRARYieee;USEieee.std_logic_1164.all;USEieee.numeric_std.all;USEieee.std_logic_unsigned.all;EntityDeclarationENTITYfenpinIS-ALTERA_IO_BEGINDONOTREMOVETHISLINE!generic(DWIDTH:integer:=6);PORT(clock:INSTD_L
60、OGIC;reset:INSTD_LOGIC;qout_2Hz:OUTSTD_LOGIC);-ALTERA_IO_ENDDONOTREMOVETHISLINE!ENDfenpin;-ArchitectureBodyARCHITECTUREartOFfenpinISSIGNALtemp:STD_LOGIC_vector(DWIDTH-1downto0);BEGINPROCESS(clock)BEGINIFreset=1THENIFclockEVENTANDclock=1THENtemp=temp+1;ELSEnull;ENDIF;ENDIF;ENDPROCESS;qout_2Hz=temp(DW
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工企業(yè)2025年春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專項(xiàng)方案 (合計(jì)3份)
- 下午考前囑咐囑咐什么?發(fā)言提綱
- 古詩文初賽答案(正稿)
- 《電路原理圖繪制》課件
- 傳統(tǒng)服飾設(shè)計(jì)師職責(zé)概述
- 鋼鐵結(jié)構(gòu)設(shè)計(jì)師職責(zé)說明
- 煤炭行業(yè)美工工作總結(jié)
- 特需科護(hù)士工作總結(jié)
- 財(cái)務(wù)工作資金管理總結(jié)
- 專業(yè)技能與教研水平
- 人教部編版三年級(jí)語文上冊(cè)古詩詞日積月累默寫模板
- 高危急性胸痛的快速診斷和誤診病案分析
- (完整版)綜合醫(yī)院康復(fù)醫(yī)學(xué)科建設(shè)與管理指南
- GB/T 41649-2022木制玩具中甲醛釋放量的測(cè)定燒瓶法
- JJF 1384-2012開口/閉口閃點(diǎn)測(cè)定儀校準(zhǔn)規(guī)范
- GB/T 33720-2017LED照明產(chǎn)品光通量衰減加速試驗(yàn)方法
- 教師政治紀(jì)律方面存在的問題及整改措施集合5篇 教師政治紀(jì)律方面存在的問題及整改措施怎么寫
- GB/T 16552-2017珠寶玉石名稱
- GB/T 14982-2008粘土質(zhì)耐火泥漿
- GB 15618-1995土壤環(huán)境質(zhì)量標(biāo)準(zhǔn)
- Unit4 Video time 課件-高中英語人教版(2019)選擇性必修第一冊(cè)
評(píng)論
0/150
提交評(píng)論