《2022年实验七4选1多路选择器设计实验》由会员分享,可在线阅读,更多相关《2022年实验七4选1多路选择器设计实验(13页珍藏版)》请在金锄头文库上搜索。
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=
2、“00”时,输出 y=a;令 s0s1=“01”时,输出 y=b;令 s0s1=“10”时,输出 y=c;令 s0s1=“11时,输出 y=d;a 输入b y 数据c d s0 s1 真值表如下:输入输出x s0 s1 y a 0 0 a b 0 1 b c 1 0 c d 1 1 d 4 选 1 数 据 选 择 器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 13 页四、VHDL仿真实验(1)用 IF_THEN语句设计 4 选 1 多路选择器 1.建立文件夹 D:alteralEDAzuoyeif_mux41,启动 QuartusI
3、I软件工作平台,打开并建立新工程管理窗口,完成创建工程。图 1 利用 New Project Wizard 创建工程 mux41 2. 打 开 文 本 编 辑 。 NEW VHDL File 相应 的 输 入 源 程序 代 码 存 盘 为mux41.vhd. 。图 2 选择编辑文件类型源程序代码如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 13 页PORT(a,b,c,d:IN STD_LOGIC; s0: IN
4、 STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE if_mux41 OF mux41 IS SIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN s0s1=s0&s1; PROCESS(s0s1,a,b,c,d) BEGIN IF s0s1=00 THEN y=a; ELSIF s0s1=01 THEN y=b; ELSIF s0s1=10 THEN y=c; ELSE yNetlist Viewers-RTL Viewers命令,即 HDL的
5、 RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图 7 RTL 电路图(2) 用 WHEN_ELSE语句设计 4 选 1 多路选择器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 13 页1. 建立文件夹 D :alteralEDAzuoyewhen_mux41,启动 QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图 1 利用 New Project Wizard 创建工程 mux41 2. 打 开 文 本 编 辑 。 NEW VHDL File 相应 的 输 入 源 程序 代 码 存
6、盘 为mux41.vhd. 。图 2 选择编辑文件类型源程序代码如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT(a,b,c,d:IN STD_LOGIC; s0: IN STD_LOGIC; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 13 页s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE when_mux41 OF mux41 IS SIGNAL s:STD_
7、LOGIC_VECTOR(1 DOWNTO 0); BEGIN s=s0&s1; yNetlist Viewers-RTL Viewers命令,即 HDL的 RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图 7 RTL 电路图(3) 用 CASE 语句设计 4 选 1 多路选择器1. 建立文件夹 D :alteralEDAzuoyecase_mux41,启动 QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 13 页图 1 利用 New Pro
8、ject Wizard 创建工程 mux41 2. 打 开 文 本 编 辑 。 NEW VHDL File 相应 的 输 入 源 程 序 代 码 存 盘为mux41.vhd. 。图 2 选择编辑文件类型源程序代码如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT(a,b,c,d:IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC); END ENTITY mux41; ARCHITECTURE case_mux41 OF mux41
9、 IS SIGNAL s0s1:STD_LOGIC_VECTOR(1 DOWNTO 0); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 13 页BEGIN s0s1yyyyNULL; END CASE; END PROCESS; END ARCHITECTURE case_mux41; 3. 综合运行,检查设计是否正确。图 3 全程编译无错后的报告信息4. 生成 symbol。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 13 页图 4 生成 symbol 5. 建立波
10、形编辑文件进行功能仿真,仿真结果如下图所示。图 5 设置时钟 CLK 的周期图 6 仿真波形输出报告从上图时序仿真可以看出:s0s1=“00”时,输出 y=a;s0s1=“01”时,输出 y=b;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 13 页s0s1=“10”时,输出 y=c;s0s1=“11时,输出 y=d;6. 查看 RTL电路。选择 Tools-Netlist Viewers-RTL Viewers命令,即 HDL的 RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图 7 RTL 电路图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 13 页