欢迎来到天天文库
浏览记录
ID:59145115
大小:436.50 KB
页数:8页
时间:2020-09-11
《电子技术基础实验_实验三.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告实验目的:1.学习并掌握硬件描述语言(VHDL或VerilogHDL);熟悉门电路的逻辑功能,并用硬件描述语言实现门电路的设计。2.熟悉中规模器件译码器的逻辑功能,用硬件描述语言实现其设计。3.熟悉时序电路计数器的逻辑功能,用硬件描述语言实现其设计。4.熟悉分频电路的逻辑功能,并用硬件描述语言实现其设计。5.利用已经实现的VHDL模块文件,采用原理图方法,实现0-F计数自动循环显示,频率10Hz。实验设备:1.软件QuartusⅡ9.12.DEO开发板3.数据线以及电脑设备实验内容:1:参考“参考内
2、容1”中给出的与门源程序,编写一个异或门逻辑电路。与门逻辑的VHDL的源文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexa3_1ISPORT(A,B:INSTD_LOGIC;C:OUTSTD_LOGIC);ENDexa3_1;ARCHITECTUREfwmOFexa3_1ISBEGINC<=AANDB;END;1)用QuartusII波形仿真验证。2)下载到DE0开发板验证。2:参考“参考内容2”,“参考内容3”,“参考内容4”,综合2,3,4要求,实现0-
3、F计数自动循环显示,频率10Hz。步骤:1)参考“参考内容2”中给出的将8421BCD码转换成0-9的七段码译码器源程序,编写一个将二进制码转换成0-F的七段码译码器。2)参考“参考内容3”中给出的四位二进制加减计数器的源程序,编写一个加法计数器。3)。参考“参考内容4”中给出的50M分频器的源程序,编写一个能输出信号频率10Hz的分频器。2.8421BCD转换成七段码译码器VHDL的源文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexa3_2ISPORT(d
4、ata_in:INSTD_LOGIC_VECTOR(3DOWNTO0);dis_out:OUTSTE_LOGIC_VECTOR(6DOWNTO0));ENDexa3_2;ARCHITECTUREfwmOFexa3_2ISBEGINPROCESS(data_in)BEGINCASEdata_inISWHEN”0000”=>dis_out<=””;--显示0WHEN”0001”=>dis_out<=””;--显示1WHEN”0010”=>dis_out<=””;--显示2WHEN”0011”=>dis_out<
5、=””;--显示3WHEN”0100”=>dis_out<=””;--显示4WHEN”0101”=>dis_out<=””;--显示5WHEN”0110”=>dis_out<=””;--显示6WHEN”0111”=>dis_out<=””;--显示7WHEN”1000”=>dis_out<=””;--显示8WHEN”1001”=>dis_out<=””;--显示9WHENOTHERS=>dis_out<=””;--灭灯,不显示ENDCASE;ENDPROCESS;ENDfwm;3.带一个清零端,一个进位输出
6、端十进制器计数器的VHDL源文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYexa3_3ISPORT(clk,RST:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);四位计数COUT:OUTSTD_LOGIC);进位位ENDexa3_3;ARCHITECTUREfwmOFexa3_3ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0)
7、;BEGINPROCESS(clk,RST)BEGINIFRST='0'THENQ1<=(OTHERS=>'0');COUT<='0';ELSIFclk’EVENTANDclk=’1THENQ1<=Q1+1;COUT<='0';IFQ1>="1001"THENQ1<=(OTHERS=>'0');COUT<='1';ENDIF;ENDIF;ENDPROCESS;DOUT<=Q1;ENDfwm;4.50M分频器的VHDL源文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTI
8、TYexa3_4ISPORT(clk:INSTD_LOGIC;clk_out:OUTSTD_LOGIC);ENDexa3_4;ARCHITECTUREfwmOFexa3_4ISCONSTANTm:INTEGER:=;--50M分频到1Hz时=。SIGNALtmp:STD_LOGIC;BEGINPROCESS(clk,tmp)VARIABLEcout:INTEGER:=0;BEGINIFclk'EVENTANDcl
此文档下载收益归作者所有