译码器
译码器是电子技术中的一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。
数字电路中,译码器(如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]
参见
- Endec
- 一進一出,即n解碼器的輸出(或環形計數器的未編碼輸出)的格式
- 優先編碼器
- 總和解碼器