解碼器
解碼器是電子技術中的一種多輸入多輸出的組合邏輯電路,負責將二進制代碼翻譯為特定的對象(如邏輯電平等),功能與編碼器相反。解碼器一般分為通用解碼器和數位顯示解碼器兩大類。
數位電路中,解碼器(如n線-2n線BCD解碼器)可以擔任多輸入多輸出邏輯閘的角色,能將已編碼的輸入轉換成已編碼的輸出,這裡輸入和輸出的編碼是不同的。輸入使能訊號必須接在解碼器上使其正常工作,否則輸出將會是一個無效的碼字。解碼在多路復用、 七段顯示器和主記憶體位址解碼等應用中是必要的。
二進制解碼器通常實現為獨立積體電路(IC)或更複雜的IC的一部分。在後一種情況下,可以通過諸如VHDL或Verilog等的硬體描述語言來合成解碼器。廣泛使用的解碼器通常以標準化IC的形式提供。
原理
編輯解碼器可以由及閘或反及閘來負責輸出。若使用及閘,當所有的輸入均為高電平時,輸出才為高電平,這樣的輸出稱為「高電平有效」的輸出;若使用反及閘,則當所有的輸入均為高電平時,輸出才為低電平,這樣的輸出稱為「低電平有效」的輸出。
更複雜的解碼器是n線-2n線類型的二進制解碼器。這類解碼器是一種組合邏輯電路,能從已編碼的n個輸入,將二進制資訊轉換為2n個獨特的輸出中最大個數的輸出。我們說2n個輸出的最大個數,是因為當n位已編碼資訊中有未使用的位組合時,解碼器可能會有少於2n個輸出。
解碼器包括2線-4線解碼器、3線-8線解碼器或4線-16線解碼器。在有使能訊號輸入的情況下,2個2線-4線解碼器可以組成1個3線-8線解碼器,同樣,2個3線-8線解碼器可以組成1個4線-16線解碼器。在這類電路設計中,2個3線-8線解碼器的使能輸入都來自於第四個輸入端,這一輸入在2個3線-8線解碼器間起到了選擇器的作用t。這使得第四個輸入端可以使2個解碼器中的任何一個工作,其中第一個解碼器產生輸出D(0)至D(7),第二個解碼器產生輸出D(8)至D(15)。包含使能輸入的解碼器又稱解碼器-多路分配器。因此,將第四個輸入端作為2個解碼器共享的輸出就能組成1個4線-16線解碼器,能產生16個輸出。[1]
二進制解碼器通常實現為獨立積體電路(IC)或更複雜的IC的一部分。在後一種情況下,可以通過諸如VHDL或Verilog之類的硬體描述語言來合成解碼器。廣泛使用的解碼器通常以標準化IC的形式提供。
二進制到一元解碼器
編輯二進制到一進制解碼器將每個二進制值轉換為其關聯的一進製表示形式。與n選1(單發)解碼器不同,可以為每個輸入值聲明多個輸出位。這些解碼器可用於每個位均等加權的DAC,以及需要二進制掩碼或窗口的電路。
功能表
編輯- 輸入:s0,s1,s2
- 輸出:最小項m0,m1,…,m7
行選擇
編輯指令解碼器
編輯在CPU設計中,指令解碼器是CPU的一部分,能將儲存在指令暫存器或微程式指令中的位元轉換為能控制CPU其他部分的控制訊號。
8個暫存器組成的簡單CPU會使用指令解碼器中的3線-8線邏輯解碼器來選擇暫存器檔案的源暫存器並輸出到ALU以及目的暫存器中,以接受ALU的輸出。典型的CPU指令解碼器也包括其他很多組件。[3]
參見
編輯參考資料
編輯- ^ Binary to unary decoder for a video digital to analog converter. 1992-08-10 [2021-03-24]. (原始內容存檔於2021-04-09).
- ^ Abdelhadi, Ameer M. S. Architecture of block-RAM-based massively parallel memory structures : multi-ported memories and content-addressable memories. University of British Columbia. 2016 [2021-04-28]. (原始內容存檔於2021-04-30).
- ^ AmeerAbdelhadi/Indirectly-Indexed-2D-Binary-Content-Addressable-Memory-BCAM. GitHub. [2020-02-29]. (原始內容存檔於2020-12-10) (英語).