北邮数电实验报告_第1页
北邮数电实验报告_第2页
北邮数电实验报告_第3页
北邮数电实验报告_第4页
北邮数电实验报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京邮电大学学院:信息与通信工程学院班级:学号:班内序号:日期:一一. 实验一:QuartusII原理图输入法设计1 .实验名称和实验任务要求(i)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块 元。(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号入信号。(3)用3线-8线译码器(74LS138)和逻辑门设方t实现函数 F=CBA + CBA + CBA +CBA。2 .实验原理图及波形图(1)半加器(2)全加器(3) 74LS38(1)半加器:输入为a, b,输出S, CO

2、(进位)。当ab都为0时,半加和s=0,进位端co=0。当ab都为1时,半加和s=0,进位端co=1。当a=1,b=0或a=0,b=1时,半加和 s=1,进位端 co=0。(2)全加器:输入a, b,输出S, CO(进位),ci (低进位)。当 a=0, b=0,ci=0,输出 s=0, co=0。当 a=0, b=1 或 a=1, b=0 又 ci=0,输出 s=1 , co=0。当 a=0, b=0,ci=1,输出 s=1, co=0。 74LS138输入A,B,C,输出为3。四个输出对应F中的四个最小项,丫0、丫2、Y4、Y7,以实现函数功能。实验二:用VHDL设计与实现组合逻辑电路1

3、.实验名称和实验任务要求(1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能。要求用拨码开关设定输入信号,7段数码管显示输出信号。(2)用VHDL语言设计实现一个 8421码转换为余3码的代码转换器,仿真验证其功能。 要求用拨码开关设定输入信号,发光二极管显示输出信号。(3)用 VHDL 语言设计实现一个4 位二进制奇校验器,输入奇数个 1时,输出为 1,否 则输出 0,仿真验证其功能。要求用拨码开关设定输入信号,发光二极管显示输出信号。 2实验代码及波形图( 1) 共阴极 7 段数码管译码器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USE

4、IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYGUANISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);B:OUTSTD_LOGIC_VECTOR(6DOWNTO0);C:OUTSTD_LOGIC_VECTOR(5DOWNTO0);ENDGUAN;ARCHITECTUREencoder_archOFGUANISBEGINPROCESS(A)BEGINC<="011111"CASEAISWHEN"0000"=>B<="1111110"-0WHEN"0001&qu

5、ot;=>B<="0110000"-1WHEN"0010"=>B<="1101101"-2WHEN"0011"=>B<="1111001"-3WHEN"0100"=>B<="0110011"-4WHEN"0101"=>B<="1011011"-5WHEN"0110"=>B<="1011111"-6WHEN&

6、quot;0111"=>B<="1110000"-7WHEN"1000"=>B<="1111111"-8WHEN"1001"=>B<="1111011"-9WHENOTHERS=>B<="ZZZZZZZ"ENDCASE;ENDPROCESS;ENDencoder_arch;(2) 8421码转换为余3码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UN

7、SIGNED.ALL;ENTITYYUSANISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);B:OUTSTD_LOGIC_VECTOR(3DOWNTO0);ENDYUSAN;ARCHITECTUREtrans_ex3OFYUSANISBEGINPROCESS(A)BEGINCASEAISWHEN"0000"=>B<="0011"WHEN"0001"=>B<="0100"WHEN"0010"=>B<="0101"W

8、HEN"0011"=>B<="0110"WHEN"0100"=>B<="0111"WHEN"0101"=>B<="1000"WHEN"0110"=>B<="1001"WHEN"0111"=>B<="1010"WHEN"1000"=>B<="1011"WHEN"1001"

9、;=>B<="1100"WHENOTHERS=>B<="ZZZZ"ENDCASE;ENDPROCESS;ENDtrans_ex3;(3) 4位二进制奇校验器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYJIOUISPORT(a,b,c,d:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDJIOU;ARCHITECTUREbehavOFJIOUISBEGINPROCESS(a,b,c,d)VARIABLEcomb:STD_LOGIC_VECTOR(3DOWNTO0);BEGI

10、Ncomb:=a&b&c&d;CASEcombISWHEN"0000"=>y<='0'WHEN"0001"=>y<=T;WHEN"0010"=>y<=T;WHEN"0011"=>y<='0'WHEN"0100"=>y<=T;WHEN"0101"=>y<='0'WHEN"0110"=>y<='0&

11、#39;WHEN"0111"=>y<=T;WHEN"1000"=>y<=T;WHEN"1001"=>y<='0'WHEN"1010"=>y<='0'WHEN"1011"=>y<=T;WHEN"1100"=>y<='0'WHEN"1101"=>y<=T;WHEN"1110"=>y<=T;WHEN&

12、quot;1111"=>y<='0'WHENOTHERS=>y<='0'ENDCASE;ENDPROCESS;ENDbehav;3.仿真波形分析(1) 8421码转为余三码:输出在输入基础上加0 1 1(2)四位二进制奇校验码:当输入有奇数个一时,输出 1,偶数个一时,输出 0。三. 实验三:用VHDL设计与实现组合逻辑电路1 .实验名称和实验任务要求(1)用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能,并下载到实验版测试。要求用按键设定输入信号,发光二极管显示输出信号;(2)用VHDL语言设计实现

13、一个分频系数为12,分频输出信号占空比为 50%勺分频器,仿真验证其功能;(3)将(1), (2)和数码管译码器 3个电路进行链接,并下载到实验板显示计数结果。2 .实验代码及波形图(1) 8421码十进制计数器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjishuqiISPORT(clk,reset:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);ENDjishuqi;ARCHITECTUREaOFjishuqiISSIGNALq_temp:ST

14、D_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(clk,reset)BEGINIFreset='0'THENq_temp<="0000"ELSIFclk'EVENTANDclk='1'THENIFq_temp="1001"THENq_temp<="0000"ELSEq_temp<=q_temp+1;ENDIF;ENDIF;ENDPROCESS;q<=q_temp;(2)分频器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.

15、ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfenpinqiISPORT(clk:INSTD_LOGIC;clear:INSTD_LOGIC;clk_out:OUTSTD_LOGIC);ENDfenpinqi;ARCHITECTUREaOFfenpinqiISSIGNALtemp:INTEGERRANGE0TO6;BEGINp1:PROCESS(clear,clk)BEGINIFclear='0'THENtemp<=0;ENDa;IT 5上 MIlM白人就T.lTusrc Set.Vtl* i MaserAELSIFclk'E

16、VENTANDclk='1'THENIFtemp=11THEN temp<=0;ELSEtemp<=temp+1;ENDIF;ENDIF;ENDPROCESSpI; p2:PROCESS(temp) BEGINIFtemp<6THEN clk_out<='0'ELSEclk_out<='1'ENDIF;ENDPROCESSp2;ENDa;3.模块端口说明(1)带异步复位的四位二进制减计数器J“5耳s IQ £415,单m 即颦ut 篇9京 加学碓更,学好17晤5.MEq lends .01¥0rL

17、rLruuirLrLruuT rLrjuuuuuirrLrLTmnRrLrLiRruirLrLrLrLruu(2)分频器(3)三个连接4.波形分析(1)8421十进制计数器由波形图可见,随着时钟不停的变化,输出也从09不停的显示。到9之后,会自动复位,回复到 0,继续循环。此外,计数器还可以手动复位。Reset为1时,计数器复位,重新开始计数,当 reset为0时,计数器正常工作。(2)分频器由波形可见,时钟进行 12个周期,输出为1个周期,即周期变为原来的 12倍,频率变 为原来的1/12,实现分频系数为12。实验中用到分频为 50MHz,需将VHDL代码中的6改 成 2499999。四.

18、实验四:用VHDL设计与实现相关电路1 .实验名称和实验任务要求(1)用VHDLL言设计并实现六个数码管串行才3描电路,要求同时显示xxxxxx这6个不同的数字图形带6个数码管上,仿真验证其功能。(2)用VHDL语言设计并实现六个数码管滚动显示电路。循环左滚动,时钟点亮6个数码管,左出右进。状态为:xxxxxx 。仿真验证其功能,并下载到实验板上测试。2 . 实验代码及仿真图( 1 )扫描LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYbugundongISPORT(CLK:INSTD_LO

19、GIC;SG:OUTSTD_LOGIC_VECTOR(6DOWNTO0);CAT:OUTSTD_LOGIC_VECTOR(5DOWNTO0);END;ARCHITECTUREarcOFbugundongIScomponentdivport(clk_in:instd_logic;clk_out:outstd_logic);endcomponent;SIGNALCNT6:INTEGERRANGE0TO6;SIGNALL :INTEGERRANGE0TO5;SIGNALclk_tmp:STD_LOGIC;BEGINu1:divportmap(clk_in=>CLK,clk_out=>cl

20、k_tmp);P1:process(CNT6)BEGINCASECNT6ISWHEN0=>CAT<="011111"L<=0;WHEN1=>CAT<="101111"L<=1;WHEN2=>CAT<="110111"L<=2;WHEN3=>CAT<="111011"L<=3;WHEN4=>CAT<="111101"L<=4;WHEN5=>CAT<="111110"L<=

21、5;WHENOTHERS=>NULL;ENDCASE;IFclk_tmp'EVENTANDclk_tmp='1'THENCNT6<=CNT6+1;ifCNT6=5thenCNT6<=0;endif;ENDIF;CASELISWHEN0=>SG<="0101110"WHEN1=>SG<="0001110"WHEN2=>SG<="1111011"WHEN3=>SG<="0000101"WHEN4=>SG<="

22、1001101"WHEN5=>SG<="0000001"WHENOTHERS=>NULL;ENDCASE;ENDPROCESSP1;ENDarc;(2) 滚动LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsoamiaoISPORT(CLK:INSTD_LOGIC;tubeout:OUTSTD_LOGIC_VECTOR(6DOWNTO0);catout:OUTSTD_LOGIC_VECTOR(5DOWNTO0); constlow:OUTSTD

23、_LOGIC);ENDENTITY;ARCHITECTUREbehaveOFsoamiaoISSIGNALtube:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALcat:STD_LOGIC_VECTOR(5DOWNTO0);SIGNALnumber:STD_LOGIC_VECTOR(5DOWNTO0);SIGNALtempclk:STD_LOGIC;SIGNALmove:STD_LOGIC;SIGNALtemp:INTEGERRANGE0TO24999;SIGNALtemp1:INTEGERRANGE0TO24999999;SIGNALa:INTEGERRANGE0TO1;

24、SIGNALb:INTEGERRANGE0TO1;BEGINconstlow<='0'p1:PROCESS(CLK)-fenpinqi1kHzBEGINIFCLK'EVENTANDCLK='1'THENIFtemp=24999THENtemp<=0;tempclk<=NOTtempclk;ELSEtemp<=temp+1;ENDIF;ENDIF;ENDPROCESSp1;p2:PROCESS(tempclk)BEGINIFtempclk'EVENTANDtempclk='1'THENCASEcatISWHE

25、N"011111"=>cat<="101111"WHEN"101111"=>cat<="110111"WHEN"110111"=>cat<="111011"WHEN"111011"=>cat<="111101"WHEN"111101"=>cat<="111110"WHEN"111110"=>cat<=&qu

26、ot;011111"WHENothers=>cat<="011111"ENDCASE;ENDIF;ENDPROCESSp2;catout<=cat;p3:PROCESS(CLK)-fenpinqi1HzBEGINIFCLK'EVENTANDCLK='1'THENIFtemp1=24999999THENtemp1<=0;move<=NOTmove;ELSEtemp1<=temp1+1;ENDIF;ENDIF;ENDPROCESSp3;p4:PROCESS(tempclk,move)BEGINIFmove&#

27、39;EVENTANDmove='1'THENa<=1;ENDIF;IFtempclk'EVENTANDtempclk='1'THENIFa=0THENCASEnumberISWHEN"011111"=>number<="101111"WHEN"101111"=>number<="110111"WHEN"110111"=>number<="111011"WHEN"111011"

28、;=>number<="111101"WHEN"111101"=>number<="111110"WHEN"111110"=>number<="011111"WHENothers=>number<="011111"ENDCASE;b<=0;ELSECASEnumberISWHEN"011111"=>number<="110111"WHEN"101111"

29、;=>number<="111011"WHEN"110111"=>number<="111101"WHEN"111011"=>number<="111110"WHEN"111101"=>number<="011111"WHEN"111110"=>number<="101111"WHENothers=>number<="011111"ENDCASE;b<=1;ENDIF;ENDIF;IFb=1THENa<=0;ENDIF;ENDPROCESSp4;p5:PROCESS(number)BEGINCASEnumberISWHEN"011111"=>tube<="0110000"WHEN"101111"=>tube<="0111001"WHEN"110111&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论