專用集成電路試驗指導書_第1頁
專用集成電路試驗指導書_第2頁
專用集成電路試驗指導書_第3頁
專用集成電路試驗指導書_第4頁
專用集成電路試驗指導書_第5頁
免費預覽已結束,剩余39頁可下載查看

下載本文檔

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

文檔簡介

1、實驗一開發(fā)平臺軟件安裝與認知實驗實驗性質(zhì):驗證性、實驗目的:軟件的功能。的VHDL輸入方法。的原理圖文件輸入和元件庫的調(diào)用方法。軟件元件的生成方法和調(diào)用方法。編譯、功能仿真和時序仿真。原理圖設計、管腳分配、綜合與實現(xiàn)、數(shù)據(jù)流下載方法。7、了解所編電路器件資源的消耗情況。、實驗器材:計算機、QuartusII軟件或xilinxISE三、實驗內(nèi)容:1、本實驗以三線八線譯碼器(LS74138)為例,在XilinxISE9.2軟件平臺上完成設計電路的VHDL文本輸入、語法檢查、編譯、仿真、管腳分配和編程下載等操作。下載芯片選擇Xilinx公司的CoolRunnerII系歹UXC2c256-7PQ208

2、乍為目標仿真芯片。2、用1中所設計的的三線八線譯碼器(LS74138)生成一個LS74138元件,在XilinxISE9.2軟件原理圖設計平臺上完成LS74138元件的調(diào)用,用原理圖的方法設計三線八線譯碼器(LS74138),實現(xiàn)編譯,仿真,管腳分配和編程下載等操作。四、實驗步驟:1、三線八線譯碼器(LS74138)VHDL電路設計(1)、三線八線譯碼器(LS74138)的VHDL源程序的輸入打開XilinxISE9.2編程環(huán)境軟件ProjectNavigator,執(zhí)行file菜單中的 【NewProject命令, 為三線八線譯碼器 (LS74138)建立設計項目。項目名稱【ProjectNa

3、me為Shiyan,工程建立路徑為C:XilinxbinShiyan,其中頂層模塊類型(Top-LevelModuleType)”為硬件描述語言(HDL,如圖1所不。EnterEntera aNiineNiineandandLocai.Locai.i.i.onforthePir&jectonforthePir&ject開課單位:信息與通信工程學院通信工程系學時:2學時實驗級別:必做1、了解XilinxISE9.2/QuartusI2、掌握XilinxISE9.2/QuartusI3、掌握XilinxISE9.2/QuartusI4、掌握XilinxISE9.2/QuartusI

4、5、掌握XilinxISE9.2/QuartusI6、掌握XilinxISE9.2/QuartusIFroj*etFroj*et電:PrProjectoject卜hijraijhijraij|C|C:JCilinzbijiSkiyaiiJCilinzbijiSkiyaii| |SelectthetyjeSelectthetyjeo o TopLevelmoduleTopLevelmodulefoxfoxthePrtheProjojecect tTop-LevelNtodLuleTypeTop-LevelNtodLuleType:5圖1點擊【下一步】,彈出【SelecttheDeviceandD

5、esignFlowfortheProject對話框,在該對話框內(nèi)進行硬件芯片選擇與工程設計工具配置過程。各標簽具體含義如下:【DeviceFamily:定義所選芯片器件族【Device:定義器件名【Package:定義器件封裝形式【SpeedGrade:定義芯片工作速度等級Top-LevelModuleType:定義頂層模塊類型SynthesisTool】:定義綜合工具Simulator:定義仿真測試工具【GeneratedSimulationLanguage:定義硬件描述語言針對本試驗所用開發(fā)板我們選擇“CoolRunner2CPLDs”系列的“XC2c256-7PQ208器件作為目標芯片進

6、行仿真,如圖2所示。MewProjectVizard-DevicePropertiesMewProjectVizard-DeviceProperties5號工eGtthgBeTjqeuidthgPropertyHaaePropertyHaaeValueProductCategoryProductCategory悍V VFamilyFamilyt tC&olRunntr2CFLDsC&olRunntr2CFLDsV VDevice1XC2C256XC2C256V VPackagePackage的駿V V-&*Top*LtvelSourctTypeTop*LtvelSour

7、ctTypeKELSyiLthesisToolSyiLthesisToolKST(VXDL/riL6s)KST(VXDL/riL6s)-v-vSimuLatorSimuLatorMdelsim-SIVHDLMdelsim-SIVHDLY YPreferredLanguagt;PreferredLanguagt;VHDLVHDLV V圖2圖2的選項卡中asimulator選項,如果選擇xilinx自帶的仿真器,則選擇ISEsimulator如果選擇第三方仿真軟件,則如圖所示。完成具體選擇后點擊【下一步】彈出如圖3所示對話框,在該對話框內(nèi)創(chuàng)建文件資源。打開【NewSource標簽,彈出如圖4所示對

8、話框,在左側方框中包含了用戶可以創(chuàng)建的文件類型,包括以下內(nèi)容:Schematic:原理圖類型文件StateDiagram】:狀態(tài)圖類型文件TestBenchWaveform】:波形類型測試文件【UserDocument:用戶類型文件VerilogModule】:Verilog類型文件VerilogTestFixture】:Verilog語言描述類型測試文件【VHDLLibrary:VHDL庫文件【VHDLModule:VHDL類型模塊文件VHDLPackage:VHDL類型文件封裝庫VHDLTestBench:VHDL言描述類型測試文件明SchSche ematmati ic cStateSt

9、ateDiDi#1#1T*itBenchVBenchVamfomamfom國UmrDocwentUmrDocwentVVModuleModuleHlHlXerilojXerilojTestFixtureTestFixturefjVMDLfjVMDLLiLibrarybrary蟲VWlFisksVWlFisks薩33VHDLTtVHDLTtststbwiuhbwiuh在File標簽下對話框內(nèi)寫入用戶自定義的文件名稱,標簽【Locatior下顯示了新定義文件的創(chuàng)建路徑,選中標簽【Addtoproje前的對號標記,將新創(chuàng)建的文件741s138添加到工程“Shiyan”中。點擊【下一步】,彈出如圖5所

10、示對話框,在此對話框中輸入三線八線譯碼器(LS74138)的的端口信息。FiltFilt|LS7413|LS7413a aLoc.ati.oiLoc.ati.oiSourceVizard-DefineloduleSourceVizard-Definelodule點擊【完成】返回資源創(chuàng)建對話框,I.EzitityName1s7413E-rchirchitecturetectureNameBNameBehaviehavioraloral點擊【下一步】彈出【NewSourceInformation對話框,在該對話框內(nèi)顯示了新建文件的屬性及信息,如圖6所不。圖6線8線譯碼器的VHDL源程序,如圖7所示

11、:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;- -Uncommentthefollowinglinestousethedeclarationsthatare- -providedforinstantiatingXilinxprimitivecomponents.- -libraryUNISIM;- -useUNISIM.VComponents.all;entityls74138isPort(g1:instd_logic;g2:instd_lo

12、gic;inp:instd_logic_vector(2downto0);y:outstd_logic_vector(7downto0);endls74138;architectureBehavioralofls74138isbeginprocess(g1,g2,inp)beginif(g1andg2)=1)thenG GTiJL*UiAPir.uTiJL*UiAPir.u八N.N.LjpLjp1 1.*.*H3H3一1 1島島次9 9。0 盧廣友*j j 囪區(qū).氈三白 c陶腌如國就引探戈布就寬 y二=工 N4 4壽影叱翅2二口:&二yr3三口孑二匚勺亡匚;createcreateoa

13、nes91/ZB/2C13oanes91/ZB/2C13:/=K*rw;7哽口分】金耳鼻一:13135-Behs-vlcrg:!ra3ectMELOEE9-T&rae-vicea2D-Taalwxaliens:i-g,m-13&S=TILUE二二1Hd:L-13-上電CH1616, ,ReTiaicitt0.01-FileReTiaicitt0.01-FileCreawaCreawa1TdiiticrlU=inn產(chǎn):nt.s:;192Q2QliteraryliteraryIEEE/IEEE/IlIl:EKEK* *二C C;8 8:K K二”,仁二j j E Euseuse二三

14、五;匚二二二;二三.七L(L(23口工三J-3T廠二-1;:-U322HEDrX二:24;5三一二一3=c_JIL=QUULLHXll.LugllDxax.,=:二叁工自。工二口1二口3;a.:1311-y1313皿,XllunxEX1Z1VC91ZZAL3XllunxEX1Z1VC91ZZAL30808、27-libraryUHISIM:253V3K二 y工; lTlLie.vMlTlLie.vM點擊【完成】標簽結束新建工程過程。進入XilinxISE文本編輯方式,在文本框中編輯輸入七七口由m mmjmjGrGrqwqw1 1HlHlp*p*;Ltbi/1Ltbi/1Prnc+siePrnc

15、+sie圖8圖9完成程序代碼輸入后單擊高亮“l(fā)s74138-behavioral(LS74138.vhdl)”標簽(圖8),此時工具窗口將顯示ProcessforSource(ls74138-behavioral)”。用鼠標右鍵點擊Process窗口中【CheckSyntax】標簽,點擊運行選項,進行程序語法檢查,當顯示一綠色對號標志時即表示程序中不存在語法問題,如圖9所示?;螂p擊【Synthesize-XST,當顯示一綠色對號標志時即表示程序綜合成功。如圖10所示caseinpiswhen000=yyyyyyyyy=00000000;endcase;elsey1111SourcesSourc

16、esX XAddAddExistingSoureeExistingSoureeSyiktlieEisSyiktlieEis運行行為仿真選項卡【BehavioralSimulation,如圖12所示,在測試向量文件中填寫代碼,完成后保存,XilinxISE自動調(diào)用ModelSimSE6.1c仿真平臺作為仿真工具。運行ModelSimSE6.1c,。在transcript】窗口中輸入仿真時間rum10Ous。在波形【W(wǎng)avd窗口內(nèi)使用戲以色按鈕實現(xiàn)仿真圖的“放大”“縮小”“全局”功能。圖13即為電路仿真結果,由圖中時序及邏輯關系可知該三線八線譯碼器行為仿真正常。圖12wave+default/tb

17、_vhd/g1他一vhd,g2/tbvhd/inp.33.33 IJ*IJ*7657654 432321 1:,/tb_vhd/y-IJ-2 21010CurscrCurscr100swavewave圖13測試向量參考程序如下:LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.numeric_std.ALL;ENTITYls74138_tb_74138_vhd_tbISENDls74138_tb_74138_vhd_tb;ARCHITECTUREbehaviorOFls74138_tb_74138_vhd_tbISCOMPONENTls74138PO

18、RT(G1:INstd_logic;G2:INstd_logic;INP:INstd_logic_vector(2downto0);Y:OUTstd_logic_vector(7downto0);ENDCOMPONENT;SIGNALG1:std_logic;SIGNALG2:std_logic;SIGNALINP:std_logic_vector(2downto0);SIGNALY:std_logic_vector(7downto0);BEGINuut:ls74138PORTMAP(G1=G1,G2=G2,INP=INP,Y=Y);-*TestBench-UserDefinedSection

19、*u1:PROCESSBEGING1=0;waitfor10us;G1=1;waitfor90us;G1=0;wait;ENDPROCESSu1;u2:PROCESSBEGING2=0;waitfor10us;G2=1;waitfor90us;G2=0;wait;ENDPROCESSu2;u3:PROCESSBEGININP=000;waitfor20us;INP=001;waitfor10us;INP=010;waitfor10us;INP=011;waitfor10us;INP=100;waitfor10us;INP=101;waitfor10us;INP=110;waitfor10us;

20、INP=111;wait;endPROCESSu3;-*EndTestBench-UserDefinedSection*ENDbehavior;(4)芯片管腳定義如前所述添加用戶定義限制文件,如圖14所示,運行【AssignPackagePins選項卡,XilinxISE將彈出管腳分配窗口,在如圖15,輸入各個端口管腳位置并保存,完成芯片管腳定義。(5)編譯與綜合NyDfisigri.ucfNyDfisigri.ucf.一ModuleUienftj口Srtap&hoi臉沖心LibraryVieiA)forSourceforSource:uet/uet/AddExistingAddExi

21、stingSpiffSpiffceceCrCr utut K K日臂5-curce5-curceITIT號電野CtiFLetriintsCtiFLetriints:TimiTimiitgitgCOIILEiriraiaintnts sRunRunI/OI/O 3 3I/ODitiI/ODitiL LOGOGBonkBonkFimrlFimrlYOutputOutput?2?2EAKE2EAKE21 1YOutputOutputBIK2BIK22YOutputOutputp6p62YOutputOutput闔2 2YOutputOutputplOplOBOK2BOK22 2YOutputOutp

22、utP P陞BA1IT2BA1IT2TQutpu,Qutpu,p!4p!42丫OutputOutputpl5pl54 4工InputInputpl6pl6BAM2BAM24 4INFInputInputP17P174 4InputInputpl3pl3BWJE24GEInputInputp!9p!9FANK?q qInputInput運行【ProcessforSource】中的【ImplementDesign(圖16),ISE將自動完成編譯并調(diào)用內(nèi)嵌的綜合工具XST完成綜合過程,運行結果如圖17所示。編譯通過后即自動生成了電路燒錄下載文件(*.jed)以及資源消耗報告,通過該報告即可了解所設計

23、電路的資源消耗情況。 即設計中使用了幾個宏單元 (Macrocells) ,幾個乘積項(Pterms) ,幾個寄存器單元(Registers) ,幾個用戶引腳(Pins)及幾個功能輸入塊(FunctionBlock)。(6)編程下載本試驗用并行電纜將開發(fā)實驗平臺與計算機接在一起。確認下載電纜連接無誤后執(zhí)行XilinxISE的【iMPACT】命令,將三線八線譯碼器(LS74138)設計文件下載到目標芯片XC2c256-7PQ208中,硬件驗證所設計電路功能。2、元件的生成、調(diào)用和仿真如圖19所示,選擇createschematicsymbol”雙擊,將新建立的實體ls74138生成元件,放在庫中

24、;新建原理圖文件,命名為“Sch_LS74138并添加到工程“Shiyan”中,如圖20。點擊【下一步】完成原理圖文件的創(chuàng)建。在彈出的原理圖編輯框內(nèi)選擇【Symbols!標簽,在其目錄列表內(nèi)顯示了所有可用電路器件,其中包括了我們所設計的LS74138(圖21)。Pt-icfeEEEPt-icfeEEEEar:Ear:Le74138Le74138- -Beka.Beka.1 1RerurReruriAll田口POpenWloutUpdatingSyutheEijeTranSyutheEijeTranslateslateFitFitFOptittnOptittn:alalI IDen上學nE ET

25、ITItryLTti1L LtieE E1JserConstraintsPunPunProperties.,EdiEdit tConstraiitisConstraiitis-國*fjQh工小。工巨魁tD”iR(J|lS7iitheEize-ItST(Qiyi(QiyiewewSynthes!Synthes!(eratPi-d尋ainirnOpti中口。Znpl畢nenHProcessesforScurct:s74138-behavio.圖16圖170OCO辯E-E-;.ImplementBeELU UPrOcasseEfor!lsT4138-BfthavLorLAdd.Add.EKistin

26、SourceEKistinSourceCreatgiCreatgiHewHewSourceSourceDesiUtiLsitiesCreateCreate5chm5chmmtismtisViewViewCdmnriaiidCdmnriaiidLineLineLogFileLogFileViViewewKDLInstajitia.tionTempiKDLInstajitia.tionTempiUserCdikEtriintsUserCdikEtriintsCreatigCreatigTiming:Timing:ConstriatConstriats sA-ssignA-ssignF F船已k k

27、盤邕包TinsTinsE Edidi C ConstrLiktonstrLiktE(TextText)U|U|I I pLinentfitiorkC&nstfiint?FilpLinentfitiorkC&nstfiint?Fil_ _4 4二CiQlnplCiQlnplcmentDesign.cmentDesign.- -fjQSynthesizefjQSynthesize- -X5TX5TQQviQQvi ScathesiScathesis sReporReport t2 2V3V3MLMLScteatieScteatie區(qū):hematic童YiewYiewTechnolo

28、gySchematicTechnologySchematicf|QiCh.achf|QiCh.achSyntaxSyntax王1 1任 1 寫 1 式.田tiQrxttiQrxt, ,tlOGftlOGf白/式皂FmFm咬孫小irigirigFilFil電l-hOplionalImpLementatiOILTool回StitaDiapStitaDiap m m3 3T5SLBelchHav*farnBelchHav*farn=1=1齒盯DocmntDocmntQYtril4eQYtril4eloddLtloddLt國V VEFL1 1匹甚TestFiJ!LuieTestFiJ!LuieVHDL

29、lilrsy3LHMSP PYXDLPackageYXDLPackageMVtQLTestEencaEihEih|Scl_IST413B|Scl_IST413BLocatio|c:XilirkKbiMSli?圖19圖20“AdiAdiLoLoprojeproje圖213雙擊“1S74138”將其放置到原理圖編輯區(qū)內(nèi)。點擊 W 為器件添加外圍端口,如圖22所示。-Is74138Y(7-:0)G2INP(2。)-InstanceInstance=Xbl_1TypType e= =Is7413SIs7413SInput:G1=G1Input:G2=G2Input:INP(2:lj=INPniih-i

30、i*-Yf7-m=y圖22將原理圖文件保存后返回【XilinxProjectNavigator平臺,此時已經(jīng)將程序所設計的器件“LS74138”配置給了原理圖文件“sch_ls74138”,其余電路仿真、管腳配置、編譯、綜合以及電路下載等過程與文本設計方式一致,在此不在重復說明。G1G1G2G2五、預習與思考:思考:比較VHDLL言和原理圖的設計方法,這兩種設計各有哪些優(yōu)缺點。實驗二組合邏輯電路的VHDL語言實現(xiàn)實驗性質(zhì):驗證性實驗級別:必做開課單位:信息與通信工程學院通信工程系學時:2學時一、實驗目的:1、掌握VHDL語言設計基本單元及其構成2、掌握用VHDL語言設計基本的組合邏輯電路的方法

31、。3、掌握VHDL語言的主要描述語句。二、實驗器材:計算機、QuartusII軟件或XilinxISE三、實驗內(nèi)容:以下三個內(nèi)容選擇兩個完成(一)、用VHDL語言實現(xiàn)八位加法器的設計并實現(xiàn)功能仿真。(二)、用VHDL語言實現(xiàn)優(yōu)先編碼器的設計并實現(xiàn)功能仿真(三)、用VHDL語言實現(xiàn)四選一選擇器的設計并實現(xiàn)功能仿真。四、實驗步驟:(一)、用VHDL語言實現(xiàn)八位加法器的設計并實現(xiàn)功能仿真。1、完成1位全加器設計,在XilinxISE軟件平臺上完成設計電路的VHDL文本輸入,編輯,編譯,仿真,管腳分配和編程下載等操作。下載芯片選擇Xilinx公司的CoolRunnerII系列XC2c256-7PQ20

32、8作為目標仿真芯片。2、用實驗內(nèi)容1所設計的全加器的VHDL文件生成一個adder的元件,在XilinxISE軟件原理圖設計平臺上完成adder元件的調(diào)用,用原理圖的方法設計一個8位二進制加法器,實現(xiàn)編譯,仿真,管腳分配和編程下載等操作。原理:全加器是帶進位信號的加法器,其邏輯表達式為:SumdataAdataBcarryin。它的真值表如表1所示,其中dataA和dataB為加數(shù)與被加數(shù),carryin是輸入的進位位信號,而Sum是和數(shù),carryout是輸出進位位信號。參考真值表,實現(xiàn)八位全加器的功能。表1輸入輸出carryindataAdataBSumcarryout0000000110

33、010100110110010101011100111111一)1位加法器的VHDL源程序參考如下:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;- -Uncommentthefollowinglinestousethedeclarationsthatare- -providedforinstantiatingXilinxprimitivecomponents.- -libraryUNISIM;- -useUNISIM.VComponents.a

34、ll;entityadderisPort(a:instd_logic;b:instd_logic;cin:instd_logic;sum:outstd_logic;cout:outstd_logic);endadder;architectureBehavioralofadderisbeginsum=(axorb)xorcin;couta,b=b,cin=cin,sum=sum,cout=cout);u1:PROCESSBEGINa=0;waitfor10us;a=1;waitfor20us;a=0;waitfor10us;a=1;waitfor10us;a=0;waitfor20us;a=1;

35、waitfor10us;a=0;waitfor10us;a=1;wait;ENDPROCESSu1;u2:processbeginb=1;waitfor10us;b=0;waitfor10us;b=1;waitfor10us;b=0;waitfor10us;b=1;waitfor20us;waitfor10us;b=1;waitfor10us;b=0;waitfor20us;b=1;wait;ENDPROCESSu2;u3:processbegincin=0;waitfor40us;cin=1;waitfor20us;cin=0;wait;endprocessu3;ENDbehavior;仿真

36、圖如下圖1所示:圖1管腳分配和編程下載如實驗一,這里不再累述。二)用實驗內(nèi)容1所設計的全加器的VHDL文件生成一個adder的元件,在XilinxISE軟件原理圖設計平臺上完成adder元件的調(diào)用,用原理圖的方法設計一個8位二進制加法器:步驟一)在processerforSource:adder”窗口點擊CreateSchematicSymbol如下圖2所示,生成adder的元件,在SourcesinProject窗口新建Schematic文件命名adder8,如下圖3所示,在XilinxECS平臺上點Symbols如圖4所示,添加8個adder到原理圖編輯區(qū)域,連接各元件并添加引腳,如圖5F

37、ee*=nEorSpurcfe:“虱d力工mplenientmplenienta atLtLJjleJjleAddExistingSourceCreateN。邛Source里二i i EntryUtilitiesEntryUtilities0/CreateSchematicSymbolCreateSchematicSymbolLaunchLaunchHodLSimSiiuLiter=|JViaCcmm皿dLineLogFiLViewViewVKDLVKDLInstantiationTInstantiationTUserCoikstraintsUserCoikstraintsorruntorru

38、ntSymb9l?sSymb9l?sC.tE E?X X 工eaAZLLSymbolu-1&-&1u-1&-&1e eo oEcccEcccF-GIF-GISymbolsadder-星SchSch niiticniitic國StatStatDikpraiTiDikpraiTi7|7|Test3en.chlMaveTest3en.chlMave c c rmUsarlarmUsarlacuj*cuj* ntnt3YtrilogModule3YtrilogModuleVerilogTestFijtturVerilogTestFijtturjVHDLLitrjVHDL

39、Litr ryryvv1 1,VMDLVMDLfofoU Ue e5 5YKDLIYKDLIaukagEaukagEV)YTIDLlestEHL(-nNMnce”103136rftdcfbut*-Mi&Q5adder FilealdurFilealdur9|9|LocatioirwiiTJiJim madderc4nc4nadderOiOil lI I0 0I I*情*adderadderjfid.司仿真結果如下圖:ife色期Jmnfe旌間為岫史屈,為此匐住Aofe意歸力他。械Jnddcl02和:.Fttfel勝杭八曲總血fnckh眈飪由 源 建 怔Aob蝗怦, abiE2帕力他法怔入

40、ok總由:.aadbiG2/aJJaoiE2/cflJJaofei/i,岫i如門她皎fdi為曲正邛旗Jiakii自儂艮住.、0總如(二)、用VHDL語言實現(xiàn)優(yōu)先編碼器的設計并實現(xiàn)功能仿真優(yōu)先計編碼器常用于中斷的優(yōu)先級控制,以8位輸入,3位二進制輸出的優(yōu)先級編碼器為例,當其中一個輸入有效時,就可以輸出一個對應得3位二進制編碼。另外,當同時有幾個輸入有效時,將輸出優(yōu)先級最高的那個輸入所對應得二進制編碼。其真值表如下所示:表2優(yōu)先編碼器真值表輸入二進制編碼輸出Input7Input6Input5Input4Input3Input2Input1Input0Y2Y1Y0 xxxxxxx0111xxxxx

41、x01110 xxxxx011101xxxx0111100 xxx01111011xx011111010 x0111111001x1111111000用VHD用言實現(xiàn)優(yōu)先編碼器的設計并實現(xiàn)功能仿真驗證其功能。參考程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYpriorityencoderISPORT(input:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC_VECTOR(2DOWNTO0);ENDpriorityencoder;ARCHITECTURErtlOFpriorityencoderISBE

42、GINPROCESS(input)BEGINIF(input(0)=0)THENy=111;ELSIF(input(1)=0)THENy=110;ELSIF(input(2)=0)THENy=101;ELSIF(input(3)=0)THENy=100;ELSIF(input(4)=0)THENy=011;ELSIF(input(5)=0)THENy=010;ELSIF(input(6)=0)THENy=001;ELSEyinput,y=y);- -*TestBench-UserDefinedSection*tb:PROCESSBEGINinput=11011010”;waitfor10us;

43、input=11101101”;waitfor10us;input=10110011”;waitfor10us;input=11010111”;waitfor10us;input=01101111”;waitfor10us;input=11011111;waitfor10us;input=10111111;waitfor10us;input=11111111;waitfor10us;input=01111111;waitfor10us;input=11011011”;waitfor10us;input=11011111;waitfor10us;input=11111001;waitfor10u

44、s;ENDPROCESStb;*EndTestBench-UserDefinedSection*ENDbehavior;選擇輸入數(shù)據(jù)輸入數(shù)據(jù)輸出baInput0Input1Input2Input3y000 xxx0001xxx101x0 xx001x1xx110 xx0 x010 xx1x111xxx0011xxx11用VHDL語言實現(xiàn)四選一選擇器的設計并實現(xiàn)功能仿真。參考程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(input:INSTD_LOGIC_VECTOR(3DOWNTO0);a,b:INSTD_LOGIC;

45、y:OUTSTD_LOGIC);ENDmux4;ARCHITECTURErt1OFmux4ISSIGNALse1:STD_LOGIC_VECTOR(1DOWNTO0);BEGINse1=b&a;PROCESS(input,se1)BEGINIF(se1=00)THENy=input(0);ELSIF(se1=01)THENy=input(1);ELSIF(se1=10)THENy=input(2);ELSEyinput,a=a,b=b,y=y);-*TestBench-UserDefinedSection*u1:PROCESSBEGINa=0;waitfor30us;a=1;waitf

46、or30us;a=0;waitfor10us;a=1;wait;ENDPROCESSu1;u2:processbeginb=0;b=1;waitfor40us;b=0;waitfor10us;b=1;waitfor10us;b=0;wait;endprocessu2;u3:processbegininput=1101;waitfor20us;input=1010;waitfor20us;input=0111;waitfor40us;input=0001;wait;endprocessu3;-*EndTestBench-UserDefinedSection*ENDbehavior;六、預習與思考

47、預習:在實驗前編好實驗程序,做實驗時驗證。實驗三時序邏輯電路的VHDL語言實驗實驗性質(zhì):設計性開課單位:信息與通信工程學院通信工程系一、實驗目的:1、掌握用VHDL語言設計基本的時序邏輯電路及仿真。2、掌握VHDL順序語句和并行語句的異同3、掌握觸發(fā)器同步復位和異步復位的實現(xiàn)方式。4、掌握軟件時鐘的加入方法。5、掌握信號和變量的主要區(qū)別。二、實驗器材:計算機、QuartusII軟件或xilinxISE三、實驗內(nèi)容:(3選1)(一)、設計一個60進制的計數(shù)器(二)、設計一帶使能的同步復位清零的遞增8位二進制計數(shù)器(三)、設計一帶使能的異步清零復位的遞增8位二進制計數(shù)器四、實驗步驟:1、設計一個6

48、0進制的計數(shù)器并實現(xiàn)仿真2、設計一帶使能的同步復位清零的遞增計數(shù)器并實現(xiàn)時序仿真。3、設計一帶使能的異步復位清零的遞增計數(shù)器并實現(xiàn)時序仿真。4、測試向量設計部分參考程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityycounterisport(clk,clear,ld,enable:instd_logic;d:instd_logic_vector(7downto0);qk:outstd_logic_vector(7downto0);endycounter;architecturea_yc

49、ounterofycounterisbeginVARIABLEcnt:std_logic_vector(7downto0);實驗級別:必做學時:3學時BEGINIF(clkEVENTANDclk=1)THENIF(clear=0)THENcnt:=00000000;ELSEIF(ld=0)THENcnt:=d;ELSEIF(enable=1)THENcnt:=cnt+00000001;ENDIF;ENDIF;ENDIF;ENDIF;qkclk,clear=clear,ld=ld,enable=enable,d=d,qk=qk);-*TestBench-UserDefinedSection*BE

50、GINclk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle

51、/2;clk=0;waitforclk_cycle/2;clk=1;waitforclk_cycle/2;clk=0;clk=1;wait;ENDPROCESSu1;u2:processbeginclear=0;waitforclk_cycle;clear=1;wait;endprocess;u3:processbeginld=1;waitforclk_cycle*6;ld=0;wait;endprocessu3;u4:processbeginenable=1;wait;endprocessu4;u5:processbegind=00001111;wait;endprocessu5;-*End

52、TestBench-UserDefinedSection*ENDbehavior;仿真圖圖下:i ir11om忙onieujmrL0pcanlef_3jcajpcanlef_3jcajr rt t.EJ-EJ-帕皿叱整如匕00:C11-MIL6周叮LIJL111cooun imi1WTiQWQ1KJB101加1六、預習與思考:思考:VHDL語言中信號和變量有什么區(qū)別?實驗四VHDL層次化設計方法實驗實驗性質(zhì):驗證性實驗級別:必做開課單位:信息與通信工程學院通信工程系學時:3學時一、實驗目的:1、掌握用VHDL語言層次化設計的基本方法。2、掌握GENERATE句的用法。二、實驗器材:計算機、Qu

53、artusII軟件或xilinxISE三、實驗內(nèi)容:設計一個8位移位寄存器。各個D觸發(fā)器模塊采用VHDL語言編寫,分別用原理圖、VHDL語言元件例化語句和生成語句的方法實現(xiàn)8位移位寄存器的設計。四、實驗步驟:(一)、在原理圖中調(diào)用VHDL生成的D觸發(fā)器模塊實現(xiàn)8位移位寄存器的設計1、在xilinxISE環(huán)境中新建vhdl文本編輯文件,設計帶清零端的D觸發(fā)器并編譯仿真。2、將步驟1所設計的D觸發(fā)器生成一個元件。3、新建原理圖文件,調(diào)用步驟2所生成的D觸發(fā)器元件,在原理圖中實現(xiàn)8位移位寄存器。(二)、用VHDL的COMPONENT語句調(diào)用VHDL生成的D觸發(fā)器模塊實現(xiàn)8位異步計數(shù)器設計。1、在xi

54、linxISE環(huán)境中新建vhdl文本編輯文件,設計帶清零端的D觸發(fā)器并編譯仿真。2、在同一個程序中用COMPONENT句實現(xiàn)8位移位寄存器的設計。D觸發(fā)器參考源程序libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;- -Uncommentthefollowinglinestousethedeclarationsthatare- -providedforinstantiatingXilinxprimitivecomponents.-libraryUNI

55、SIM;-useUNISIM.VComponents.all;entityDchuisPort(CLK:inSTD_LOGIC;D:inSTD_LOGIC;Q:outSTD_LOGIC;CLEAR:inSTD_LOGIC;Q_N:outSTD_LOGIC);endDchu;ARCHITECTUREBEHOFDchuISSIGNALQ1:STD_LOGIC;BEGINPROCESS(CLEAR,CLK,Q1)BEGINIFCLEAR=0THENQ1=0;ELSIFCLKEVENTANDCLK=1THENQ1=D;ENDIF;ENDPROCESS;Q=Q1;Q_Nd,clear=clear,clk

56、=clk,q=q,q_n=q_nBEGINclk=0;waitfor10us;clk=1;waitfor10us;clk=0;waitfor10us;clk=1;waitfor10us;clk=0;waitfor10us;clk=1;waitfor10us;clk=0;waitfor10us;clk=1;waitfor10us;clk=0;waitfor10us;clk=1;wait;endprocessu1;u2:processbegind=0;waitfor30us;d=1;waitfor50us;d=0;wait;endprocessu2;u3:processbeginclear=1;w

57、aitfor70us;clear=0;waitfor20us;clear=1;wait;endprocessu3;-*EndTestBench-UserDefinedSection*ENDbehavior;新建原理圖文件,調(diào)用步驟1所生成的D觸發(fā)器元件,在原理圖中實現(xiàn)8位異步計數(shù)器:原理圖連接(略):(二)元件例化語句調(diào)用D觸發(fā)器模塊實現(xiàn)8位移位寄存器參考源程序(三)測試向量設計五、實驗結果(仿真結果)與分析實驗五綜合實驗實驗性質(zhì):綜合性實驗級別:開課單位:信息與通信工程學院通信工程系學時:4學時一、實驗目的:1、學習用VHDL語言實現(xiàn)比較大型的電路的方法。2、繼續(xù)鞏固cpld技術層次化設計方法。二、實驗器材:計算機、QuartusII軟件或xilinxISE三、實驗內(nèi)容:設計一數(shù)字時鐘,要求具有時、分、秒、計數(shù)顯示功能,以24小時循環(huán)計時;具有清零,調(diào)節(jié)小時,分鐘功能;具有整點報時功能。四、實驗步驟:1、根據(jù)電路特點,用層次設計的概念,將此任務分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口。讓幾個學生分作和調(diào)試其中之一,然后再將各模塊合起來聯(lián)試。以培養(yǎng)學生之間的合作精神,同時加深層次化設計概念。2、了解軟件的元件管理深層含義,以及模塊元件之間的連接概念,對于不同目錄下的同一設計,如何融合。3、模塊說明:各種進制的計數(shù)及日鐘控制模塊(10進制、6

溫馨提示

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

評論

0/150

提交評論