收藏 分销(赏)

EDA四选一选择器设计.doc

上传人:天**** 文档编号:3067181 上传时间:2024-06-14 格式:DOC 页数:5 大小:454.54KB 下载积分:6 金币
下载 相关 举报
EDA四选一选择器设计.doc_第1页
第1页 / 共5页
EDA四选一选择器设计.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
4选1数据选择器 1·设计背景和设计方案 1·1设计背景 该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。 1·2设计方案 用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证四选一数据选择器设计的正确性。使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。 其逻辑电路图如下: 其示意框图如下: 其中输入数据端口为D0、D1、D2、D3,A、A’为控制信号,Y为输出。 令AA’=“00”时,输出Y=D0; 令AA’=“01”时,输出Y=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 D0 D1 0 1 D1 D2 1 0 D2 D3 1 1 D3 2·方案实施 1)程序1 2·1·1 设计思路 四选一多路选择器设计时,定义输入S为标准以内漏记为STD_LOGIC,输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。 2·1·2 程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 is PORT (a,b,c,d :IN STD_LOGIC; s :IN STD_LOGIC_VECTOR(1 DOWNTO 0); z : OUT STD_LOGIC); END mux41; ARCHITECTURE one OF mux41 IS BEGIN PROCESS( s,a,b,c,d) BEGIN CASE s IS WHEN "00" => z <= a; WHEN "01" => z <= b; WHEN "10" => z <= c; WHEN "11" => z <= d; WHEN OTHERS => z <=null; END CASE; END PROCESS; END one; 2·1·3 运行结果 当输入信号“00”时,输出信号z的值为‘a’; 当输入信号“01”时,输出信号z的值为‘b’; 当输入信号“10”时,输出信号z的值为‘c’; 当输入信号“11”时,输出信号z的值为‘d’; 2·1·4 波形仿真及描述 输入: a 的波形周期为10ns,b的波形周期为5ns,c的波形周期为15ns,d的波形周期为8ns。s[1]的波形周期为5ns,s[2]的波形周期为10ns。 输出: 2)程序2 2·2·1 设计思路 定义6个输入信号,一个输出信号,当控制信号A=‘1’时,muxval的值加1,即muxval=muxval+1;当控制信号B=‘1’时muxval的值加2,即muxval=muxval+2。当输入值为‘i0’时,输出q的值为0,当输入的值为‘i1’时,输出q的值为1,当输入值为‘i2’时,输出q的值为2,当输入值为‘i3’时,输出q的值为3。 2·2·2程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux41 IS PORT ( i0,i1,i2,i3,a,b : IN STD_LOGIC; q : OUT STD_LOGIC ); ENS mux4; ARCHITECTURE b_mux4 OF mux4 IS BEGIN Process ( i0,i1,i2,i3,a,b ) Variable muxval : integer rang 7 downto 0; Begin muxval :=0; if ( a = '1' ) then muxval : muxval + 1; end if; if ( b = '1' ) then muxval : muxval + 2; end if; case muxval is when 0 = > q < = i0; when 1 = > q < = i1; when 2 = > q < = i2; when 3 = > q < = i3; When others = > null; end case; end process; END b_mux4; 2·2·3 运行结果 当输入信号“00”时,输出信号z的值为‘i0’; 当输入信号“01”时,输出信号z的值为‘i1’; 当输入信号“10”时,输出信号z的值为‘i2’; 当输入信号“11”时,输出信号z的值为‘i3’; 2·2·4 波形仿真及描述 输入: a的波形周期为20ns,b的波形周期为15ns,c的波形周期为20ns,d的波形周期为15ns,s[1]的波形周期为8ns,s[2]的波形周期为16ns。 输出: 3·结果和结论 经过对以上程序的运行和编译,可得出以下仿真图结论和所设计一致。 4·参考文献 [1] 余孟尝主编《数字电子技术基础简明教程》, 1998-12。 [2] 潘松 黄继业 编著《EDA技术使用个教程》, 2006-9。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服