×

EDA四选一多路选择器的设计资料下载

消耗积分:0 | 格式:pdf | 大小:306.18KB | 2021-04-20

张涛

分享资料个

多路选择器(又称为数据选择器)①功能在选择变量控制下,从多路输入数据中选中某一路数据送至输出端。对于一个具有2n个输入和1个输出的多路选择器,有n个选择变量。②典型芯片典型中规模多路选择器有双4路数据选择器74153,其引脚排列图和逻辑符号如图1(a)、(b)所示。数据选择器74153芯片含两个4路数据选择器,每个选择器接收4路数据输入,产生一个输出,两个4路数据选择器共用两个选择变量。芯片有16条引线,其中1D0~1D3,2D0~2D3为8条数据输入线,A1和A0为选择输入线,1Y、2Y为2条输出线,1G、2G为使能控制端,另外有1条电源线和1条地线。4路数据选择器的输出函数表达式为式中,mi为选择变量构成的最小项。③应用多路选择器除完成对多路数据进行选择的基本功能外,还可用来实现数据的并-串转换、序列信号产生以及实现各种逻辑函数功能。例如采用4路选择器74153实现如下逻辑函数的功能解给定函数为一个3变量函数,由于4路选择器具有2个选择控制变量,所以用来实现3变量函数功能时,应该首先从函数的3个变量中任选2个作为选择控制变量,然后再确定选择器的数据输入。假定选A、B与选择控制端A1、A0相连,则可将函数F的表达式表示成如下形式:显然,要使4路选择器的输出Y与函数F相等,只需:。据此,可画出逻辑电路如图2所示。类似地,也可以选择A、C或B、C作为选择控制变量,选择控制变量不同,数据输入也不同。4选1数据选择器的设计1、设计背景和设计方案设计背景:该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。设计方案:用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证四选一数据选择器设计的正确性。使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。其逻辑电路如下图:其示意框图如下:其中输入数据端口为DO、D1、D2、D3,A、A为控制信号,Y为输出。令AA‘=“OO”时,输出Y=D0;令AA’=“01”时,输出Y=D1;令AA‘=“10”时,输出Y=D2;令AA’=“11”时,输出Y=D3;真值表如下:2、方案实施(1)设计思路四选一多路选择器设计时,定义输入s为标准以内漏记为SIDLOGIC输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR(1DOWNTO0)。使用LBRATY语句和USE语句,来打开IEEE库的程序包STDLOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“OO”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。若输入信号是已经定义的四个信号之外的值时(即当正条件语句不满足时),输出值为x,并将x的值给输出信号Z。这样即可实现四选一数据选择的功能。程序LIBRARY正EE:USEIEEE.STD_LOGIC_1164.ALL:ENTITYmux41isPORT(a,b.c.d:NSTD_LOGIC:INSTD_LOGIC_VECTOR(1DOWNTO0):STD_LOGIC):OUTENDmux41:ISARCHITECTUREoneOFmux41BEGINPROCESS(s,a.b.c.d)BEGINISCASESWHEN“00”=》z《=a:WHEN“01”=》z《=b:WHEN“10”=》z《=c:WHEN“11”=》z《=d:WHENOTHERS=》z《-=null:ENDCASE;ENDPROCESS:ENDone;运行结果当输入信号“OO”时,输出信号z的值为‘a’:当输入信号“01”时,输出信号z的值为‘b’;当输入信号“10”时,输出信号z的值为‘c’:当输入信号“11”时,输出信号z的值为‘d’:波形仿真及描述输入:的波形周期为10ns,b的波形周期为5ns,c的波形周期为15ns,d的波形周期为8nsos[1]的波形周期为5ns.s的波形周期为10ns。(2)设计思路定义6个输入信号,一个输出信号,当控制信号A=‘1’时,muxval 的值加1,即muxval=muxva1+1当控制信号 B= ‘1’时muxval的值加2,即muxval-muxval+2。当输入值为‘i0’时,输出q的值为0,当输入的值为“i1’时,输出q的值为1,当输入值为‘i2’时,输出q的值为2,当输入值为‘i3’时,输出q的值为3。程序USE 正EE.STD LOGIC 1164.ALL;ENTITY mus41IS(i0ji1,i2,i3,a,b :N STD_LOGIC;PORT:OUTSTD_LOGIC );ENS mux4;OFmux4 ISARCH ITE CT URE b_mux4BE G NProcess (i0,il,i2,i3,a,)Variable0;downtomusval:integer rangBeginm uxv al :=0;if (a=‘l’)musval:muxval+ l; end if;thenif (b=‘I’) thenmuxval :muxwal + 2; endif;ismuxvalcasew hen 0= 》 q 《= i0;when l= 》 q 《= il;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !