eda四選一多路選擇器的設(shè)計(jì)
多路選擇器(又稱為數(shù)據(jù)選擇器)①功能
在選擇變量控制下,從多路輸入數(shù)據(jù)中選中某一路數(shù)據(jù)送至輸出端。對(duì)于一個(gè)具有2n個(gè)輸入和1個(gè)輸出的多路選擇器,有n個(gè)選擇變量。
②典型芯片典型中規(guī)模多路選擇器有雙4路數(shù)據(jù)選擇器74153,其引腳排列圖和邏輯符號(hào)如圖1(a)、(b)所示。
數(shù)據(jù)選擇器74153芯片含兩個(gè)4路數(shù)據(jù)選擇器,每個(gè)選擇器接收4路數(shù)據(jù)輸入,產(chǎn)生一個(gè)輸出,兩個(gè)4路數(shù)據(jù)選擇器共用兩個(gè)選擇變量。芯片有16條引線,其中1D0~1D3,2D0~2D3為8條數(shù)據(jù)輸入線,A1和A0為選擇輸入線,1Y、2Y為2條輸出線,1G、2G為使能控制端,另外有1條電源線和1條地線。
4路數(shù)據(jù)選擇器的輸出函數(shù)表達(dá)式為
式中,mi為選擇變量構(gòu)成的最小項(xiàng)。
③應(yīng)用多路選擇器除完成對(duì)多路數(shù)據(jù)進(jìn)行選擇的基本功能外,還可用來(lái)實(shí)現(xiàn)數(shù)據(jù)的并-串轉(zhuǎn)換、序列信號(hào)產(chǎn)生以及實(shí)現(xiàn)各種邏輯函數(shù)功能。
例如采用4路選擇器74153實(shí)現(xiàn)如下邏輯函數(shù)的功能
解給定函數(shù)為一個(gè)3變量函數(shù),由于4路選擇器具有2個(gè)選擇控制變量,所以用來(lái)實(shí)現(xiàn)3變量函數(shù)功能時(shí),應(yīng)該首先從函數(shù)的3個(gè)變量中任選2個(gè)作為選擇控制變量,然后再確定選擇器的數(shù)據(jù)輸入。假定選A、B與選擇控制端A1、A0相連,則可將函數(shù)F的表達(dá)式表示成如下形式:
顯然,要使4路選擇器的輸出Y與函數(shù)F相等,只需:。據(jù)此,可畫出邏輯電路如圖2所示。類似地,也可以選擇A、C或B、C作為選擇控制變量,選擇控制變量不同,數(shù)據(jù)輸入也不同。
4選1數(shù)據(jù)選擇器的設(shè)計(jì)1、設(shè)計(jì)背景和設(shè)計(jì)方案設(shè)計(jì)背景:
該設(shè)計(jì)是以數(shù)字電子技術(shù)為基礎(chǔ),實(shí)現(xiàn)數(shù)據(jù)從四位數(shù)據(jù)中按照輸入的信號(hào)選中一個(gè)數(shù),來(lái)實(shí)現(xiàn)所期望的邏輯功能。
設(shè)計(jì)方案:
用撥碼開關(guān)作四位數(shù)據(jù)及兩位控制端的輸入,LED作輸出,通過(guò)撥碼開關(guān)組成控制輸入端s1和s0不同組合,觀察LED與數(shù)據(jù)輸入端a,b,c,d的關(guān)系,驗(yàn)證四選一數(shù)據(jù)選擇器設(shè)計(jì)的正確性。使用邏輯門電路與、或、非的組合來(lái)表達(dá)4選1數(shù)據(jù)選擇器,通過(guò)控制輸入的信號(hào)來(lái)控制輸出的信號(hào)值。
其邏輯電路如下圖:
其示意框圖如下:
其中輸入數(shù)據(jù)端口為DO、D1、D2、D3,A、A為控制信號(hào),Y為輸出。
令A(yù)A‘=“OO”時(shí),輸出Y=D0;
令A(yù)A’=“01”時(shí),輸出Y=D1;
令A(yù)A‘=“10”時(shí),輸出Y=D2;
令A(yù)A’=“11”時(shí),輸出Y=D3;
真值表如下:
(1)設(shè)計(jì)思路
四選一多路選擇器設(shè)計(jì)時(shí),定義輸入s為標(biāo)準(zhǔn)以內(nèi)漏記為SIDLOGIC輸出的信號(hào)Z的數(shù)據(jù)類型定義為2位標(biāo)準(zhǔn)邏輯矢量位STD_LOGIC_VECTOR(1DOWNTO0)。使用LBRATY語(yǔ)句和USE語(yǔ)句,來(lái)打開IEEE庫(kù)的程序包STDLOGIC_1164.ALL。當(dāng)輸入信號(hào)時(shí),程序按照輸入的指令來(lái)選擇輸出,例如輸入信號(hào)為“OO”時(shí),將a的值給z,進(jìn)而輸出z的值,輸入信號(hào)為“11”是,將a的值給z,進(jìn)而輸出z的值。若輸入信號(hào)是已經(jīng)定義的四個(gè)信號(hào)之外的值時(shí)(即當(dāng)正條件語(yǔ)句不滿足時(shí)),輸出值為x,并將x的值給輸出信號(hào)Z。這樣即可實(shí)現(xiàn)四選一數(shù)據(jù)選擇的功能。
程序
LIBRARY正EE:
USE
IEEE.STD_LOGIC_1164.ALL:
ENTITYmux41is
PORT(a,b.c.d:NSTD_LOGIC:
INSTD_LOGIC_VECTOR(1
DOWNTO0):
STD_LOGIC):
OUT
END
mux41:
IS
ARCHITECTUREoneOF
mux41
BEGIN
PROCESS(s,a.b.c.d)
BEGIN
IS
CASES
WHEN“00”=》z《=a:
WHEN“01”=》z《=b:
WHEN“10”=》z《=c:
WHEN“11”=》z《=d:
WHENOTHERS=》z《-=null:
END
CASE;
ENDPROCESS:
END
one;
運(yùn)行結(jié)果
當(dāng)輸入信號(hào)“OO”時(shí),輸出信號(hào)z的值為‘a(chǎn)’:
當(dāng)輸入信號(hào)“01”時(shí),輸出信號(hào)z的值為‘b’;
當(dāng)輸入信號(hào)“10”時(shí),輸出信號(hào)z的值為‘c’:
當(dāng)輸入信號(hào)“11”時(shí),輸出信號(hào)z的值為‘d’:
波形仿真及描述
輸入:
的波形周期為10ns,b的波形周期為5ns,c的波形周期為15ns,d的波形周期為8nsos[1]的波形周期為5ns.s的波形周期為10ns。
(2)設(shè)計(jì)思路
定義6個(gè)輸入信號(hào),一個(gè)輸出信號(hào),當(dāng)控制信號(hào)A=‘1’時(shí),muxval 的值加1,即muxval=muxva1+1當(dāng)控制信號(hào) B= ‘1’時(shí)muxval的值加2,即muxval-muxval+2。當(dāng)輸入值為‘i0’時(shí),輸出q的值為0,當(dāng)輸入的值為“i1’時(shí),輸出q的值為1,當(dāng)輸入值為‘i2’時(shí),輸出q的值為2,當(dāng)輸入值為‘i3’時(shí),輸出q的值為3。
程序
USE 正EE.STD LOGIC 1164.ALL;
ENTITY mus41
IS
(i0ji1,i2,i3,a,b :N STD_LOGIC;
PORT
:OUT
STD_LOGIC );
ENS mux4;
OF
mux4 IS
ARCH ITE CT URE b_mux4
BE G N
Process (i0,il,i2,i3,a,)
Variable
0;
downto
musval
:integer rang
Begin
m uxv al :=0;
if (a=‘l’)
musval:muxval+ l; end if;
then
if (b=‘I’) then
muxval :muxwal + 2; end
if;
is
muxval
case
w hen 0= 》 q 《= i0;
when l= 》 q 《= il;
when2=》q《=2;
when3=》q《=i3;
others= 》null;
When
end
ca se;
end process;
END b_mux4;
運(yùn)行結(jié)果
當(dāng)輸入信號(hào)“OO”時(shí),輸出信號(hào)z的值為‘i0’:
當(dāng)輸入信號(hào)“01”時(shí),輸出信號(hào)z的值為‘i1’:
當(dāng)輸入信號(hào)“10”時(shí),輸出信號(hào)z的值為‘i2’:
當(dāng)輸入信號(hào)“11”時(shí),輸出信號(hào)z的值為‘i3’;
波形仿真及描述
a的波形周期為20ns,b 的波形周期為15ns,c 的波形周期為20ns,d 的波形周期為15ns,s的波形周期為8ns,s的波形周期為16ns。
輸出
0次