数据选择器的VHDL设计

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

实验名称:数据选择器的VHDL设计

一、用WHEN_ELSE语句编写具有低电平使能端的4选1数据选择器

1.实体框图

2.程序设计

①编译前的程序

Library ieee;

Use ieee.std_logic_1164.all;

Entity Mux41A is

port(D0,D1,D2,D3,EN:in std_logic;

A0,A1:in std_logic;

Y:out std_logic);

End Mux41A;

Architecture one of Mux41A is

signal B:std_logic

Begin

B<=EN & A1 & A0;

Y<=D0 when B="000" else

D1 when B="001" else

D2 when B="010" else

D3 when B="011" else

'Z';

End architecture one;

②程序编译错误情况

错误1:

Error (10500): VHDL syntax error at Mux41A.vhd(10) near text "Begin";

expecting ";", or ":=", or "bus", or "register"

③正确的程序

Library ieee;

Use ieee.std_logic_1164.all;

Entity Mux41A is

port(D0,D1,D2,D3,EN:in std_logic;

A0,A1:in std_logic;

Y:out std_logic);

End Mux41A;

Architecture one of Mux41A is

signal B:std_logic_vector(2 downto 0);

Begin

B<=EN & A1 & A0;

Y<=D0 when B="000" else

D1 when B="001" else

D2 when B="010" else

D3 when B="011" else

'Z';

End architecture one;

3.仿真波形图

4.仿真波形分析

EN为低电平有效的使能端,A1、A0为控制端,D0、D1、D2、D3为选通端,Y为输出端当EN=‘1’时,输出为高阻状态;

当EN=‘0’时,低电平有效 A1A0=“00”时,选择D0输出

A1A0=“01”时,选择D1输出

A1A0=“10”时,选择D2输出

A1A0=“11”时,选择D3输出

相关文档
最新文档