实验七选多路选择器设计实验_第1页
实验七选多路选择器设计实验_第2页
实验七选多路选择器设计实验_第3页
实验七选多路选择器设计实验_第4页
实验七选多路选择器设计实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、实验七 4选1多路选择器设计实验1、 实验目的进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。2、 实验原理 四选一多路选择器设计时,试分别用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”时,输出

2、y=a; 令s0s1=“01”时,输出y=b; 令s0s1=“10”时,输出y=c;令s0s1=“11 时,输出y=d; 4 选 1 数 据 选 择 器 a 输入 b y 数据 c d s0 s1真值表如下:输入输出x s0 s1 y a 0 0 ab 0 1 bc 1 0 c d 1 1 d4、 VHDL仿真实验(1)用IF_THEN语句设计4选1多路选择器 1.建立文件夹D:alteralEDAzuoyeif_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1 利用New Project Wizard创建工程mux41 2.打开文本编辑。NEWVH

3、DL File相应的输入源程序代码存盘为mux41.vhd.。图2 选择编辑文件类型源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT(a,b,c,d:IN STD_LOGIC; s0: IN 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&am

4、p;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 y<=d; END IF;END PROCESS;END ARCHITECTURE if_mux41; 3.综合运行,检查设计是否正确。图3 全程编译无错后的报告信息4.生成symbol。图4 生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5 设置时钟CL

5、K的周期图6 仿真波形输出报告 从上图时序仿真可以看出: s0s1=“00”时,输出y=a; s0s1=“01”时,输出y=b; s0s1=“10”时,输出y=c; s0s1=“11 时,输出y=d;6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7 RTL电路图(2)用WHEN_ELSE语句设计4选1多路选择器1.建立文件夹D:alteralEDAzuoyewhen_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建

6、工程。图1 利用New Project Wizard创建工程mux41 2.打开文本编辑。NEWVHDL File相应的输入源程序代码存盘为mux41.vhd.。图2 选择编辑文件类型源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT(a,b,c,d:IN STD_LOGIC; s0: IN STD_LOGIC; s1: IN STD_LOGIC; y: OUT STD_LOGIC);END ENTITY mux41;ARCHITECTURE when_mux41 OF mux41 IS SIGNAL s:S

7、TD_LOGIC_VECTOR(1 DOWNTO 0);BEGINs<=s0&s1; y<=a WHEN s="00" ELSE b WHEN s="01" ELSE c WHEN s="10" ELSE d WHEN s="11" ELSE '0'END when_mux41; 3.综合运行,检查设计是否正确。图3 全程编译无错后的报告信息4.生成symbol。图4 生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5 设置时钟CLK的周期图6 仿真波形输

8、出报告 从上图时序仿真可以看出: s0s1=“00”时,输出y=a; s0s1=“01”时,输出y=b; s0s1=“10”时,输出y=c; s0s1=“11 时,输出y=d;6.查看RTL电路。选择Tools->Netlist Viewers->RTL Viewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7 RTL电路图 (3)用CASE语句设计4选1多路选择器1.建立文件夹D:alteralEDAzuoyecase_mux41,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1 利用New Proj

9、ect Wizard创建工程mux41 2.打开文本编辑。NEWVHDL File相应的输入源程序代码存盘为mux41.vhd.。图2 选择编辑文件类型源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT(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 IS SIGNAL s0s1:STD_LOGIC_VECT

10、OR(1 DOWNTO 0); BEGIN s0s1<=s0&s1; PROCESS(s0s1,a,b,c,d) BEGIN CASE s0s1 IS WHEN"00"=>y<=a; WHEN"01"=>y<=b; WHEN"10"=>y<=c; WHEN"11"=>y<=d; WHEN OTHERS=>NULL; END CASE; END PROCESS; END ARCHITECTURE case_mux41; 3.综合运行,检查设计是否正确。图3 全程编译无错后的报告信息4.生成symbol。图4 生成symbol5.建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5 设置时钟CLK的周期图6 仿真波形输出报告 从上图时序仿真可以看出: s0s1=“00”时,输出

温馨提示

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

评论

0/150

提交评论