欢迎来到天天文库
浏览记录
ID:38695367
大小:38.44 KB
页数:4页
时间:2019-06-17
《四选一多路选择器设计实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA试验实验二四选一多路选择器设计实验一、实验目的进一步熟悉QuartusII的VHDL文本设计流程、组合电路的设计仿真和测试。二、实验内容实验内容一:根据以下流程,利用QuartusII完成四选一多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。创建工程。新建文件夹。输入正确的源程序,保存,编译。波形仿真,分配引脚,编译。下载到试验箱,进行功能验证。(原理图及仿真的波形界面在备注)实验内容二:在试验系统上硬件测试,验证此设计的功能,对于引脚锁定以及硬件下载测试。输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验。实验内容三:对VHDL不同描述方式的四
2、选一多路选择器进行硬件实验,比较他们的特性。三、程序设计其示意框图如下:其中输入数据端口为a、b、c、d,s1、s2为控制信号,Y为输出。令s1s2=“00”时,输出Y=a;令s1s2=“01”时,输出Yb;令s1s2=“10”时,输出Y=c;令s1s2=“11’时,输出Y=d;4选1数据选择器a输入bY数据cdS1s2真值表如下:输入输出Xs1s2Ya00ab01bc10cd11d第一种方案:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41aISPORT(a,b,c,d,s0,s1:INSTD_LOGIC;
3、--输入信号y:OUTSTD_LOGIC);--输出信号ENDENTITYmux41a;ARCHITECTUREoneOFmux41aISSIGNALS:STD_LOGIC_VECTOR(1DOWNTO0);BEGINS<=s0&s1;--并置操作,获得二维矢量数据类型PROCESS(s0,s1,a,b,c,d)--敏感信号BEGINCASESISWHEN"00"=>y<=a;WHEN"01"=>y<=b;WHEN"10"=>y<=c;WHEN"11"=>y<=d;WHENOTHERS=>NULL;--其它情况为空值ENDCASE;--CASE语句结束ENDP
4、ROCESS;--PROCESS进程语句结束ENDARCHITECTUREone;第二种方案:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYMUX41ISPORT(S1:INBIT;S0:INBIT;a:INBIT;b:INBIT;c:INBIT;d:INBIT;Y:OUTBIT);ENDMUX41;ARCHITECTURELOGICOFMUX41ISBEGINY<=(aAND(NOTS1)AND(N
5、OTS0))OR(bAND(NOTS1)ANDS0)OR(cANDS1AND(NOTS0))OR(dANDS1ANDS0);ENDLOGIC;程序分析:四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号y的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR(1DOWNTO0).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给y,进而输出y的值,输入信号为“11”是,将a的值给y,进而输出y
6、的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。四、仿真波形S0=0S1=1则输出信号为b的输入波形S0=0S1=0则输出信号为a的输入波形S0=1S1=1则输出信号为d的输入波形S0=1S1=0则输出信号为c的输入波形分析:从上图时序仿真可以看出:s1s2=“00”时,输出Y=a;s1s2=“01”时,输出Yb;s1s2=“10”时,输出Y=c;s1s2=“11’时,输出Y=d;(如图中注释)
此文档下载收益归作者所有