数据选择器设计实验报告.doc
5页实实 验验 报报 告告数据选择器设计数据选择器设计一、实验目的1.熟悉硬件描述语言软件的使用2.数序数据选择器的工作原理和逻辑功能3.掌握数据选择器的设计方法二、实验原理 数据选择器的逻辑功能是从多路数据输入信号中选出一路数据送到输出端, 输出的数据取决于控制输入端的状态三、实验内容1.设计一个四选一数据选择器 程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUX4_1 IS PORT(D3,D2,D1,D0,A1,A0:IN STD_LOGIC; Y:OUT STD_LOGIC);END ENTITY MUX4_1; ARCHITECTURE ONE OF MUX4_1 ISBEGIN PROCESS(D3,D2,D1,D0,A1,A0) BEGIN IF(A0='0' AND A1='0') THEN Y<=D0 ; ELSIF (A0='0' AND A1='1') THEN Y<=D1 ; ELSIF (A0='1' AND A1='0') THEN Y<=D2 ; ELSIF (A0='1' AND A1='1') THEN Y<=D3 ; END IF; END PROCESS; END ARCHITECTURE ONE; 仿真波形:仿真波形分析:D0-D3 是数据输入端,A1,A0 是控制输入端,Y 是数据输出端。
当 A0=0,A1=0 时 Y=D0;当 A0=0,A1=1 时 Y=D1;当 A0=1,A1=0 时 Y=D2;当 A0=1,A1=1 时 Y=D3;实体框图:2.设计一个八选一数据选择器 程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux8_1 IS PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0); D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; S:IN STD_LOGIC; Y:OUT STD_LOGIC); END mux8_1; ARCHITECTURE dataflow OF mux8_1 IS BEGINPROCESS(A,D0,D1,D2,D3,D4,D5,D6,D7,S) BEGINIF(S='1')THEN Y<='0'; ELSIF(S='0'AND A=“000“)THEN Y<=D0; ELSIF(S='0'AND A=“001“)THEN Y<=D1; ELSIF(S='0'AND A=“010“)THEN Y<=D2; ELSIF(S='0'AND A=“011“)THEN Y<=D3; ELSIF(S='0'AND A=“100“)THEN Y<=D4; ELSIF(S='0'AND A=“101“)THEN Y<=D5; ELSIF(S='0'AND A=“110“)THEN Y<=D6; ELSE Y<=D7; END IF; END PROCESS; END dataflow; 仿真波形:仿真波形分析: S 为使能端,低电平有效。
A0A1A2 为控制输入端D0-7 是数据输入端Y 是数据输 出端S=1 时电路不工作,输出 Y=0S=0 时电路工作, 当 A2=0,A1=0,A0=0 时,输出 Y=D0; 当 A2=0,A1=0,A0=1 时,输出 Y=D1; 当 A2=0,A1=1,A0=0 时,输出 Y=D2; 当 A2=0,A1=1,A0=1 时,输出 Y=D3; 当 A2=1,A1=0,A0=0 时,输出 Y=D4; 当 A2=1,A1=0,A0=1 时,输出 Y=D5;当 A2=1,A1=1,A0=0 时,输出 Y=D6; 当 A2=1,A1=1,A0=1 时,输出 Y=D7; 实体框图:。





