资源描述:
《北邮数字电路与逻辑设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京邮电大学数字电路与逻辑设计实验报告学院信息与通信工程学院班级2013211119姓名阮光鑫学好2013210554序号08实验一Quartus2原理图输入法设计实验目的(1)熟悉用Quartus2原理图输入法进行电路设计和仿真(2)掌握Quartus2图形模块单元的生成与调用(3)熟悉实验板的使用实验内容(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元(2)用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输
2、出信号(3)用3线--8线译码器和逻辑门设计实现函数F=CBA+CBA+CBA+CBA,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。实验过程(1)半加器生成符号(1)全加器实验二用VHDL设计与实现逻辑电路(1)8421转余3码LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYysmzhISPORT(a:INSTD_LOGIC_VECTOR(3DOWNTO0);y:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDysmzh;
3、ARCHITECTUREaOFysmzhISBEGINPROCESS(a)BEGINCASEaISWHEN"0000"=>y<="0011";WHEN"0001"=>y<="0100";WHEN"0010"=>y<="0101";WHEN"0011"=>y<="0110";WHEN"0100"=>y<="0111";WHEN"0101"=>y<="1000";WHEN"0110"=>y<="1001";WHEN"0111"=>y<="1010";WHEN"1000"=>y<="1011";WHEN"1001"=>y<="110
4、0";WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDa;(2)数码管译码器libraryieee;useieee.std_logic_1164.all;entityyimaisport(l:outstd_logic_vector(5downto0);d0,d1,d2,d3:instd_logic;a,b,c,d,e,f,g:outstd_logic);endyima;architecturebehavofyimaissignalm:std_logic_vector(3downto0);signa
5、lseg7:std_logic_vector(6downto0);beginl<=”011111”;m<=d3&d2&d1&d0;withmselectseg<=”011111”when”0000”,“0000110”when“0001”,“1011011”when“0010”,“1001111”when“0011”,“1100110”when“0100”,“1101101”when“0101”,“1111101”when“0110”,“0000111”when“0111”,“1111111”when“1000”,“11001
6、11”when“1001”,“1110111”when“1010”,“0111001”when“1011”,“0111001”when“1100”,“1011110”when“1101”,“1111001”when“1110”,“1110001”when“1111”,“0000000”whenothers;g<=seg7(6);f<=seg7(5);e<=seg7(4);d<=seg7(3);c<=seg7(2);b<=seg7(1);a<=seg7(0);endbehav;(3)实验三用VHDL设计与实现时序逻辑电路(1)分
7、频器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdiv_12ISPORT(clk:INSTD_LOGIC;clear:INSTD_LOGIC;clk_out:OUTSTD_LOGIC);ENDdiv_12;ARCHITECTUREaOFdiv_12ISSIGNALtmp:INTEGERRANGE0TO5;SIGNALclktmp:STD_LOGIC;BEGINPROCESS(clear,clk)BEGINIFclear=
8、'1'THENtmp<=0;ELSIFclk'eventANDclk='0'THENIFtmp=5THENtmp<=0;clktmp<=NOTclktmp;ELSEtmp<=tmp+1;ENDIF;ENDIF;ENDPROCESS;clk_out<=clktmp;ENDa;(