1、4选1数据选择器1设计背景和设计方案11设计背景该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。12设计方案用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证四选一数据选择器设计的正确性。使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。其逻辑电路图如下:其示意框图如下:其中输入数据端口为D0、D1、D2、D3,A、A为控制信号,Y为输出。 令AA=“00”时,输出Y=D0; 令AA=“01”时,输出Y=
2、D1; 令AA=“10”时,输出Y=D2;令AA=“11 时,输出Y=D3; 4 选 1 数 据 选 择 器 D0 输入 D 1 Y 数据 D 2 D 3 A A真值表如下:输入输出D A1 A0 Y D0 0 0 D0D1 0 1 D1D2 1 0 D2 D3 1 1 D3 2方案实施1)程序1211设计思路 四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号
3、时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。212程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 isPORT (a,b,c,d :IN STD_LOGIC; s :IN STD_LOGIC_VECTOR(1 DOWNTO 0); z : OUT STD_LOGIC);END mux41;ARCH
4、ITECTURE one OF mux41 ISBEGIN PROCESS( s,a,b,c,d) BEGIN CASE s IS WHEN 00 = z z z z z q q q q null;end case;end process;END b_mux4;223运行结果当输入信号“00”时,输出信号z的值为i0; 当输入信号“01”时,输出信号z的值为i1; 当输入信号“10”时,输出信号z的值为i2; 当输入信号“11”时,输出信号z的值为i3;224波形仿真及描述输入:a的波形周期为20ns,b的波形周期为15ns,c的波形周期为20ns,d的波形周期为15ns,s1的波形周期为8ns,s2的波形周期为16ns。输出:3结果和结论经过对以上程序的运行和编译,可得出以下仿真图结论和所设计一致。4参考文献1 余孟尝主编数字电子技术基础简明教程, 1998-12。2 潘松 黄继业 编著EDA技术使用个教程, 2006-9。