你的位置:首頁 > 互連技術(shù) > 正文

解析多路選擇器的工作原理及電路實(shí)現(xiàn)

發(fā)布時(shí)間:2018-04-27 責(zé)任編輯:lina

【導(dǎo)讀】多路選擇器是數(shù)據(jù)選擇器的別稱。在多路數(shù)據(jù)傳送過程中,能夠根據(jù)需要將其中任意一路選出來的電路,叫做數(shù)據(jù)選擇器,也稱多路選擇器或多路開關(guān)

什么是多路選擇器
  
多路選擇器是數(shù)據(jù)選擇器的別稱。在多路數(shù)據(jù)傳送過程中,能夠根據(jù)需要將其中任意一路選出來的電路,叫做數(shù)據(jù)選擇器,也稱多路選擇器或多路開關(guān)。
  
FPGA中多路選擇器結(jié)構(gòu)
  
典型的FPGA器件主要包含3類基本資源:可編程邏輯塊(configurablelogicblock,CLB)、布線資源和可編程輸入/輸出模塊??删幊踢壿媺K四周被預(yù)制的布線資源通道包圍,可編程輸入/輸出模塊分布在FPGA四周,除了上述3種資源以外,通常在FPGA中還包含塊RAM、乘法器等可選資源。
  
在FPGA各種資源中,可編程邏輯塊是實(shí)現(xiàn)用戶功能的基本單元,每個(gè)可編程邏輯塊包含1個(gè)互連開關(guān)矩陣和4個(gè)SLICEs,其中每個(gè)SLICE包括2個(gè)查找表(Look-Up-Table,LUT)、2個(gè)觸發(fā)器和一些多路選擇器?;ミB開關(guān)矩陣主要由不同長度導(dǎo)線和多個(gè)布線開關(guān)組成,典型的布線開關(guān)結(jié)構(gòu)如圖1所示。
 
 
由圖1可見:每個(gè)布線開關(guān)由多路選擇器、緩沖器和一些可編程的SRAM單元構(gòu)成。其中多路選擇器是連接各布線軌道和可編程邏輯塊的橋梁,其結(jié)構(gòu)對(duì)FPGA的性能和功耗都有較大的影響。根據(jù)多路選擇器所驅(qū)動(dòng)的導(dǎo)線長度不同,F(xiàn)PGA中多路選擇器的規(guī)模從4選1到30選1不等。圖2所示為16選1的多路選擇器晶體管級(jí)電路結(jié)構(gòu)。
 
  
多路選擇器的左邊是 16 條輸入線,用于連接布線軌道或可編程邏輯塊等資源,S1~S6 代表 6 個(gè)可編程SRAM 單元,通過配置 SRAM 單元的內(nèi)容可以從 16條輸入線中選出 1 條作為有效輸入端,例如,當(dāng) S1~S6存儲(chǔ)單元的存儲(chǔ)值為“000100”時(shí),輸入線 I3被選擇中,信號(hào)所經(jīng)過的有效路徑如圖 2 中虛線所示。多路選擇器的主體部分是傳輸晶體管,由于 NMOS 晶體管載流子的遷移效率高,電路速度快,因此,多路選擇器中的傳輸晶體管均采用 NMOS 晶體管實(shí)現(xiàn)。
  
多路選擇器工作原理
  
常用的多路選擇器有4選1、8選1、16選1等多種類型。下面以4選1數(shù)據(jù)選擇器為例介紹數(shù)據(jù)選擇器的工作原理。根據(jù)前面介紹的數(shù)據(jù)選擇器的功能,可以列出4選1數(shù)據(jù)選擇器的邏輯功能表,如表5-7-1所示。其中D0~D3為數(shù)據(jù)輸入端,A0、A1為數(shù)據(jù)選擇端。
 
  
由邏輯功能表可以寫出輸出與輸入之間的表達(dá)式為
 
  
由邏輯表達(dá)式畫出4選1數(shù)據(jù)選擇器邏輯電路2所示。
 
  
74LS153是一種集成的雙4選1數(shù)據(jù)選擇器邏輯器件。圖3所示為74LS153的邏輯電路圖和框圖。
 
  
由圖3(a)可知,74LS153的邏輯電路中包含兩個(gè)4選1數(shù)據(jù)選擇器,它們的數(shù)據(jù)輸入端分別為D10、D11、D12、D13和D20、D21、D22、D23,數(shù)據(jù)輸出端分別為Y1和Y2。它們有公共的地址選擇輸入端A0、A1。除此之外,還各自有有一個(gè)使能控制端
 

 
由圖3(a)可以寫出輸入與輸出之間的邏輯函數(shù)式為
 
  
由式(2)可以看出,只有當(dāng)使能控制端

 
時(shí),數(shù)據(jù)選擇器才能正常工作,否則數(shù)據(jù)輸出端鎖定在低電平。故使能控制端為低電平有效。
  
74LS153的邏輯功能表如表2所示。
  
表2 74LS153的邏輯功能表
 
多路選擇器的應(yīng)用
 
(1)多路選擇器的擴(kuò)展應(yīng)用
  
可以用多片少數(shù)據(jù)輸入的數(shù)據(jù)選擇器設(shè)計(jì)多數(shù)據(jù)輸入的多路選擇器。
  
例1:用74LS153設(shè)計(jì)一個(gè)8選1的數(shù)據(jù)選擇器。
  
解:74LS153是一個(gè)雙4選1多路選擇器。有兩個(gè)公用的地址選擇輸入端,8個(gè)數(shù)據(jù)輸入端。8選1數(shù)據(jù)選擇器需要3個(gè)地址輸入端(23=8),因此需要用使能控制端來補(bǔ)充地址輸入端的不足。用雙4選1數(shù)據(jù)選擇器芯片74LS153設(shè)計(jì)的8選1數(shù)據(jù)選擇器的電路如圖4所示。
 
  
當(dāng)A2=0時(shí),上邊的4選1數(shù)據(jù)選擇器工作,根據(jù)地址輸入端A0、A1的狀態(tài),輸出端Y1選擇輸出D0~D3,此時(shí)Y2=0,故Y=Y1;當(dāng)A2=1時(shí),下邊的4選1數(shù)據(jù)選擇器工作,根據(jù)地址輸入端A0、A1的狀態(tài),輸出端Y2選擇輸出D4~D7,此時(shí)Y1=0,故Y=Y2。邏輯函數(shù)式為
 
  
也可以添加使能控制端對(duì)所接成的8選1數(shù)據(jù)選擇器的工作狀態(tài)進(jìn)行控制。添加使能控制端的8選1數(shù)據(jù)選擇器的電路如圖5所示。
 
  
由圖5可知,當(dāng)=0時(shí),8選1數(shù)據(jù)選擇器正常工作;當(dāng)=1時(shí),8選1數(shù)據(jù)選擇器的輸出被鎖定在低電平。
  
(2)用多路選擇器設(shè)計(jì)組合邏輯電路
  
由表2可知,具有兩位地址輸入A0、A1的4選1數(shù)據(jù)選擇器,當(dāng)使能控制端=0時(shí),輸出與輸入之間的邏輯關(guān)系式為
 
  
若將A0、A1作為兩個(gè)輸入變量,同時(shí)令D0~D3為第三個(gè)變量的適當(dāng)狀態(tài)(包括原變量、反變量、0和1),就可以用4選1數(shù)據(jù)選擇器實(shí)現(xiàn)任何形式的三變量組合邏輯函數(shù)。
  
同理,用由n位地址輸入端的多路選擇器可以實(shí)現(xiàn)任何形式的變量數(shù)不大于n+1的組合邏輯函數(shù)。
  
例2:用4選1數(shù)據(jù)選擇器實(shí)現(xiàn)以下組合邏輯函數(shù):
 
  
解:將式(4)化成與式(5)相對(duì)應(yīng)的形式:
 
  
將式(6)與式(4)比較可知,只要令數(shù)據(jù)選擇器的數(shù)據(jù)輸入端為
 
  
則多路選擇器的輸出就是所要表達(dá)的組合邏輯函數(shù)。
  
多路選擇器的設(shè)計(jì)實(shí)現(xiàn)
  
設(shè)計(jì)一個(gè)二位4路選擇器,由于選擇器使用條件觸發(fā)的方法對(duì)應(yīng)真值表進(jìn)行匹配輸出與輸入,因此可以聯(lián)想到在C程序設(shè)計(jì)中的條件語句“If”和“Case”兩種,那么這兩種設(shè)計(jì)從硬件的角度出發(fā)有什么不同呢?
  
代碼如下:
 
  
為了區(qū)別兩種設(shè)計(jì)的不同,可以查看ISE提供的綜合報(bào)告,操作如下:
 
  
綜合報(bào)告對(duì)比:
 
  
使用Case條件語句 使用IF條件語句
  
由綜合報(bào)告查看可知,if語句運(yùn)用的元器件多于case語句運(yùn)用的元器件,同時(shí),if語句中每一個(gè)分支之間具有優(yōu)先級(jí)(串行),得到類似級(jí)聯(lián)的結(jié)構(gòu);而case語句所有分支處于同一優(yōu)先級(jí)(并行),綜合可以得到一個(gè)多路選擇器。因此,對(duì)于設(shè)計(jì)多路選擇器而言,if語句所造成的延時(shí)往往比case語句的大,所以對(duì)于多路選擇器而言,運(yùn)用case語句的效果會(huì)更好。
  
Case語句下可能出現(xiàn)鎖存器。注釋case條件下的case語句塊的某一行可以得到不完整的case語句下的2位四路選擇器。由不完整case語句下的2位四路選擇器可知:由于case語句所有分支處于同一優(yōu)先級(jí),所以當(dāng)條件不完整時(shí),對(duì)于處理結(jié)果,它不取決于語句的先后順序,只取決于待處理信號(hào),而處理結(jié)果為與待處理信號(hào)相差1’b1的信號(hào)的處理結(jié)果,在這一條件下相當(dāng)于與待處理信號(hào)相差1’b1的信號(hào)的處理結(jié)果得到了鎖存,鎖存器因此產(chǎn)生。
  
對(duì)與鎖存器而言,鎖存器在待處理信號(hào)存在Glitch的情況下,可能會(huì)對(duì)Glitch產(chǎn)生鎖存,從而導(dǎo)致鎖存出現(xiàn)嚴(yán)重錯(cuò)誤,是目標(biāo)信號(hào)處理結(jié)果與預(yù)期目的產(chǎn)生極大的偏差,因此鎖存器存在不穩(wěn)定因素,所以在使用鎖存器時(shí),要牢記優(yōu)先消除待處理信號(hào)的Glitch。
  
測試文件:
  
initial begin  
// Initialize Inputs  
d0 = 0; 
d1 = 1;
d2 = 2;
d3 = 3;
select = 0;
#100;
select = 1;
#100;
select = 2;
#100;
select = 3;
#100;
// Add stimulus here
end
  
仿真結(jié)果:
 


推薦閱讀:
通過管理MCU軟件的方法來解決電池問題
智能追蹤技術(shù):眼動(dòng)追蹤技術(shù)帶你走向更真實(shí)的虛擬世界
還在為采用線性電壓調(diào)整器還是DC/DC轉(zhuǎn)換器而煩惱嗎?
提高輕負(fù)載時(shí)效率,降低IC消耗電流的幾種方法
福祿克70年匠心:傳承經(jīng)典 保持創(chuàng)新,助力智能制造新未來
要采購開關(guān)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉