EDA实验二___4选1多路选择器设计实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多路选择器设计实验

一、实验目的

进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。

二、实验内容

实验内容一:根据以下流程,利用QuartusII完成四选一多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。

实验内容二:在试验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试。输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验(通过选择键1、键2,控制S0,S1,可使蜂鸣器输出不同音调)。

实验内容三:对VHDL不同描述方式的四选一多路选择器进行硬件实验,比较他们的特性。

三、程序设计

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux41a IS

PORT (a,b,c,d,s0,s1:IN STD_LOGIC; --输入信号

y:OUT STD_LOGIC); --输出信号

END ENTITY mux41a;

ARCHITECTURE one OF mux41a IS

SIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

S<=s0&s1; --并置操作,获得二维矢量数据类型

PROCESS(s0,s1,a,b,c,d) --敏感信号

BEGIN

CASE S IS

WHEN"00"=> y<=a;

WHEN"01"=> y<=b;

WHEN"10"=> y<=c;

WHEN"11"=> y<=d;

WHEN OTHERS=>NULL; --其它情况为空值

END CASE; --CASE语句结束

END PROCESS; --PROCESS进程语句结束

END ARCHITECTURE one;

四、程序分析

程序分析:四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号y的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给y,进而输出y的值,输入信号为“11”是,将a的值给y,进而输出y的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。

五、波形仿真

分析:从上图时序仿真可以看出:s1s2=“00”时,输出Y=a;

s1s2=“01”时,输出Y=b;

s1s2=“10”时,输出Y=c;

s1s2=“11’时,输出Y=d;

相关文档
最新文档