您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 实验七 4选1多路选择器设计实验
实验七4选1多路选择器设计实验一、实验目的进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。二、实验原理四选一多路选择器设计时,试分别用IF_THEN语句、WHEN_ELSE和CASE语句的表达方式写出此电路的VHDL程序,要求选择控制信号s1和s2的数据类型为STD_LOGIC;当s1=‘0’,s0=‘0’;s1=‘0’,s0=‘1’;s1=‘1’,s0=‘0’和s1=‘1’,s0=‘1’时,分别执行y=a、y=b、y=c、y=d。三、程序设计其示意框图如下:其中输入数据端口为a、b、c、d,s1、s2为控制信号,Y为输出。令s0s1=“00”时,输出y=a;令s0s1=“01”时,输出y=b;令s0s1=“10”时,输出y=c;令s0s1=“11’时,输出y=d;a输入by数据cds0s1真值表如下:输入输出xs0s1ya00ab01bc10cd11d4选1数据选择器四、VHDL仿真实验(1)用IF_THEN语句设计4选1多路选择器1.建立文件夹D:\alteral\EDAzuoye\if_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1利用NewProjectWizard创建工程mux412.打开文本编辑。NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。图2选择编辑文件类型源程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41ISPORT(a,b,c,d:INSTD_LOGIC;s0:INSTD_LOGIC;s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDENTITYmux41;ARCHITECTUREif_mux41OFmux41ISSIGNALs0s1:STD_LOGIC_VECTOR(1DOWNTO0);BEGINs0s1=s0&s1;PROCESS(s0s1,a,b,c,d)BEGINIFs0s1=00THENy=a;ELSIFs0s1=01THENy=b;ELSIFs0s1=10THENy=c;ELSEy=d;ENDIF;ENDPROCESS;ENDARCHITECTUREif_mux41;3.综合运行,检查设计是否正确。图3全程编译无错后的报告信息4.生成symbol。图4生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5设置时钟CLK的周期图6仿真波形输出报告从上图时序仿真可以看出:s0s1=“00”时,输出y=a;s0s1=“01”时,输出y=b;s0s1=“10”时,输出y=c;s0s1=“11’时,输出y=d;6.查看RTL电路。选择Tools-NetlistViewers-RTLViewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7RTL电路图(2)用WHEN_ELSE语句设计4选1多路选择器1.建立文件夹D:\alteral\EDAzuoye\when_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1利用NewProjectWizard创建工程mux412.打开文本编辑。NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。图2选择编辑文件类型源程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41ISPORT(a,b,c,d:INSTD_LOGIC;s0:INSTD_LOGIC;s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDENTITYmux41;ARCHITECTUREwhen_mux41OFmux41ISSIGNALs:STD_LOGIC_VECTOR(1DOWNTO0);BEGINs=s0&s1;y=aWHENs=00ELSEbWHENs=01ELSEcWHENs=10ELSEdWHENs=11ELSE'0';ENDwhen_mux41;3.综合运行,检查设计是否正确。图3全程编译无错后的报告信息4.生成symbol。图4生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5设置时钟CLK的周期图6仿真波形输出报告从上图时序仿真可以看出:s0s1=“00”时,输出y=a;s0s1=“01”时,输出y=b;s0s1=“10”时,输出y=c;s0s1=“11’时,输出y=d;6.查看RTL电路。选择Tools-NetlistViewers-RTLViewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7RTL电路图(3)用CASE语句设计4选1多路选择器1.建立文件夹D:\alteral\EDAzuoye\case_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1利用NewProjectWizard创建工程mux412.打开文本编辑。NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。图2选择编辑文件类型源程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41ISPORT(a,b,c,d:INSTD_LOGIC;s0:INSTD_LOGIC;s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDENTITYmux41;ARCHITECTUREcase_mux41OFmux41ISSIGNALs0s1:STD_LOGIC_VECTOR(1DOWNTO0);BEGINs0s1=s0&s1;PROCESS(s0s1,a,b,c,d)BEGINCASEs0s1ISWHEN00=y=a;WHEN01=y=b;WHEN10=y=c;WHEN11=y=d;WHENOTHERS=NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREcase_mux41;3.综合运行,检查设计是否正确。图3全程编译无错后的报告信息4.生成symbol。图4生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5设置时钟CLK的周期图6仿真波形输出报告从上图时序仿真可以看出:s0s1=“00”时,输出y=a;s0s1=“01”时,输出y=b;s0s1=“10”时,输出y=c;s0s1=“11’时,输出y=d;6.查看RTL电路。选择Tools-NetlistViewers-RTLViewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7RTL电路图
本文标题:实验七 4选1多路选择器设计实验
链接地址:https://www.777doc.com/doc-4227330 .html