实验七4选1多路选择器设计实验.docx
- 文档编号:12911308
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:14
- 大小:462.44KB
实验七4选1多路选择器设计实验.docx
《实验七4选1多路选择器设计实验.docx》由会员分享,可在线阅读,更多相关《实验七4选1多路选择器设计实验.docx(14页珍藏版)》请在冰点文库上搜索。
实验七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
数据c
d
s0s1
真值表如下:
输入
输出
xs0s1
y
a00
a
b01
b
c10
c
d11
d
四、VHDL仿真实验
(1)用IF_THEN语句设计4选1多路选择器
1.建立文件夹D:
\alteral\EDAzuoye\if_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。
图1利用NewProjectWizard创建工程mux41
2.打开文本编辑。
NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。
图2选择编辑文件类型
源程序代码如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41IS
PORT(a,b,c,d:
INSTD_LOGIC;
s0:
INSTD_LOGIC;
s1:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDENTITYmux41;
ARCHITECTUREif_mux41OFmux41IS
SIGNALs0s1:
STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
s0s1<=s0&s1;
PROCESS(s0s1,a,b,c,d)
BEGIN
IFs0s1="00"THENy<=a;
ELSIFs0s1="01"THENy<=b;
ELSIFs0s1="10"THENy<=c;
ELSEy<=d;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREif_mux41;
3.综合运行,检查设计是否正确。
图3全程编译无错后的报告信息
4.生成symbol。
图4生成symbol
5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。
图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创建工程mux41
2.打开文本编辑。
NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。
图2选择编辑文件类型
源程序代码如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41IS
PORT(a,b,c,d:
INSTD_LOGIC;
s0:
INSTD_LOGIC;
s1:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDENTITYmux41;
ARCHITECTUREwhen_mux41OFmux41IS
SIGNALs:
STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
s<=s0&s1;
y<=aWHENs="00"ELSE
bWHENs="01"ELSE
cWHENs="10"ELSE
dWHENs="11"ELSE
'0';
ENDwhen_mux41;
3.综合运行,检查设计是否正确。
图3全程编译无错后的报告信息
4.生成symbol。
图4生成symbol
5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。
图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创建工程mux41
2.打开文本编辑。
NEW→VHDLFile→相应的输入源程序代码→存盘为mux41.vhd.。
图2选择编辑文件类型
源程序代码如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux41IS
PORT(a,b,c,d:
INSTD_LOGIC;
s0:
INSTD_LOGIC;
s1:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDENTITYmux41;
ARCHITECTUREcase_mux41OFmux41IS
SIGNALs0s1:
STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
s0s1<=s0&s1;
PROCESS(s0s1,a,b,c,d)BEGIN
CASEs0s1IS
WHEN"00"=>y<=a;
WHEN"01"=>y<=b;
WHEN"10"=>y<=c;
WHEN"11"=>y<=d;
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREcase_mux41;
3.综合运行,检查设计是否正确。
图3全程编译无错后的报告信息
4.生成symbol。
图4生成symbol
5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。
图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电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验七 4选1多路选择器设计实验 实验 选择器 设计