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

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

發(fā)布時間: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各種資源中,可編程邏輯塊是實現(xiàn)用戶功能的基本單元,每個可編程邏輯塊包含1個互連開關(guān)矩陣和4個SLICEs,其中每個SLICE包括2個查找表(Look-Up-Table,LUT)、2個觸發(fā)器和一些多路選擇器。互連開關(guān)矩陣主要由不同長度導(dǎo)線和多個布線開關(guān)組成,典型的布線開關(guān)結(jié)構(gòu)如圖1所示。
 
 
由圖1可見:每個布線開關(guān)由多路選擇器、緩沖器和一些可編程的SRAM單元構(gòu)成。其中多路選擇器是連接各布線軌道和可編程邏輯塊的橋梁,其結(jié)構(gòu)對FPGA的性能和功耗都有較大的影響。根據(jù)多路選擇器所驅(qū)動的導(dǎo)線長度不同,F(xiàn)PGA中多路選擇器的規(guī)模從4選1到30選1不等。圖2所示為16選1的多路選擇器晶體管級電路結(jié)構(gòu)。
 
  
多路選擇器的左邊是 16 條輸入線,用于連接布線軌道或可編程邏輯塊等資源,S1~S6 代表 6 個可編程SRAM 單元,通過配置 SRAM 單元的內(nèi)容可以從 16條輸入線中選出 1 條作為有效輸入端,例如,當(dāng) S1~S6存儲單元的存儲值為“000100”時,輸入線 I3被選擇中,信號所經(jīng)過的有效路徑如圖 2 中虛線所示。多路選擇器的主體部分是傳輸晶體管,由于 NMOS 晶體管載流子的遷移效率高,電路速度快,因此,多路選擇器中的傳輸晶體管均采用 NMOS 晶體管實現(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ù)選擇端。
 
  
由邏輯功能表可以寫出輸出與輸入之間的表達式為
 
  
由邏輯表達式畫出4選1數(shù)據(jù)選擇器邏輯電路2所示。
 
  
74LS153是一種集成的雙4選1數(shù)據(jù)選擇器邏輯器件。圖3所示為74LS153的邏輯電路圖和框圖。
 
  
由圖3(a)可知,74LS153的邏輯電路中包含兩個4選1數(shù)據(jù)選擇器,它們的數(shù)據(jù)輸入端分別為D10、D11、D12、D13和D20、D21、D22、D23,數(shù)據(jù)輸出端分別為Y1和Y2。它們有公共的地址選擇輸入端A0、A1。除此之外,還各自有有一個使能控制端
 

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

 
時,數(shù)據(jù)選擇器才能正常工作,否則數(shù)據(jù)輸出端鎖定在低電平。故使能控制端為低電平有效。
  
74LS153的邏輯功能表如表2所示。
  
表2 74LS153的邏輯功能表
 
多路選擇器的應(yīng)用
 
(1)多路選擇器的擴展應(yīng)用
  
可以用多片少數(shù)據(jù)輸入的數(shù)據(jù)選擇器設(shè)計多數(shù)據(jù)輸入的多路選擇器。
  
例1:用74LS153設(shè)計一個8選1的數(shù)據(jù)選擇器。
  
解:74LS153是一個雙4選1多路選擇器。有兩個公用的地址選擇輸入端,8個數(shù)據(jù)輸入端。8選1數(shù)據(jù)選擇器需要3個地址輸入端(23=8),因此需要用使能控制端來補充地址輸入端的不足。用雙4選1數(shù)據(jù)選擇器芯片74LS153設(shè)計的8選1數(shù)據(jù)選擇器的電路如圖4所示。
 
  
當(dāng)A2=0時,上邊的4選1數(shù)據(jù)選擇器工作,根據(jù)地址輸入端A0、A1的狀態(tài),輸出端Y1選擇輸出D0~D3,此時Y2=0,故Y=Y1;當(dāng)A2=1時,下邊的4選1數(shù)據(jù)選擇器工作,根據(jù)地址輸入端A0、A1的狀態(tài),輸出端Y2選擇輸出D4~D7,此時Y1=0,故Y=Y2。邏輯函數(shù)式為
 
  
也可以添加使能控制端對所接成的8選1數(shù)據(jù)選擇器的工作狀態(tài)進行控制。添加使能控制端的8選1數(shù)據(jù)選擇器的電路如圖5所示。
 
  
由圖5可知,當(dāng)=0時,8選1數(shù)據(jù)選擇器正常工作;當(dāng)=1時,8選1數(shù)據(jù)選擇器的輸出被鎖定在低電平。
  
(2)用多路選擇器設(shè)計組合邏輯電路
  
由表2可知,具有兩位地址輸入A0、A1的4選1數(shù)據(jù)選擇器,當(dāng)使能控制端=0時,輸出與輸入之間的邏輯關(guān)系式為
 
  
若將A0、A1作為兩個輸入變量,同時令D0~D3為第三個變量的適當(dāng)狀態(tài)(包括原變量、反變量、0和1),就可以用4選1數(shù)據(jù)選擇器實現(xiàn)任何形式的三變量組合邏輯函數(shù)。
  
同理,用由n位地址輸入端的多路選擇器可以實現(xiàn)任何形式的變量數(shù)不大于n+1的組合邏輯函數(shù)。
  
例2:用4選1數(shù)據(jù)選擇器實現(xiàn)以下組合邏輯函數(shù):
 
  
解:將式(4)化成與式(5)相對應(yīng)的形式:
 
  
將式(6)與式(4)比較可知,只要令數(shù)據(jù)選擇器的數(shù)據(jù)輸入端為
 
  
則多路選擇器的輸出就是所要表達的組合邏輯函數(shù)。
  
多路選擇器的設(shè)計實現(xiàn)
  
設(shè)計一個二位4路選擇器,由于選擇器使用條件觸發(fā)的方法對應(yīng)真值表進行匹配輸出與輸入,因此可以聯(lián)想到在C程序設(shè)計中的條件語句“If”和“Case”兩種,那么這兩種設(shè)計從硬件的角度出發(fā)有什么不同呢?
  
代碼如下:
 
  
為了區(qū)別兩種設(shè)計的不同,可以查看ISE提供的綜合報告,操作如下:
 
  
綜合報告對比:
 
  
使用Case條件語句 使用IF條件語句
  
由綜合報告查看可知,if語句運用的元器件多于case語句運用的元器件,同時,if語句中每一個分支之間具有優(yōu)先級(串行),得到類似級聯(lián)的結(jié)構(gòu);而case語句所有分支處于同一優(yōu)先級(并行),綜合可以得到一個多路選擇器。因此,對于設(shè)計多路選擇器而言,if語句所造成的延時往往比case語句的大,所以對于多路選擇器而言,運用case語句的效果會更好。
  
Case語句下可能出現(xiàn)鎖存器。注釋case條件下的case語句塊的某一行可以得到不完整的case語句下的2位四路選擇器。由不完整case語句下的2位四路選擇器可知:由于case語句所有分支處于同一優(yōu)先級,所以當(dāng)條件不完整時,對于處理結(jié)果,它不取決于語句的先后順序,只取決于待處理信號,而處理結(jié)果為與待處理信號相差1’b1的信號的處理結(jié)果,在這一條件下相當(dāng)于與待處理信號相差1’b1的信號的處理結(jié)果得到了鎖存,鎖存器因此產(chǎn)生。
  
對與鎖存器而言,鎖存器在待處理信號存在Glitch的情況下,可能會對Glitch產(chǎn)生鎖存,從而導(dǎo)致鎖存出現(xiàn)嚴(yán)重錯誤,是目標(biāo)信號處理結(jié)果與預(yù)期目的產(chǎn)生極大的偏差,因此鎖存器存在不穩(wěn)定因素,所以在使用鎖存器時,要牢記優(yōu)先消除待處理信號的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ù):眼動追蹤技術(shù)帶你走向更真實的虛擬世界
還在為采用線性電壓調(diào)整器還是DC/DC轉(zhuǎn)換器而煩惱嗎?
提高輕負載時效率,降低IC消耗電流的幾種方法
福祿克70年匠心:傳承經(jīng)典 保持創(chuàng)新,助力智能制造新未來
要采購開關(guān)么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉