Decodificadores
Um decodificador é um circuito combinacional usado para ativar ou habilitar um (e somente um) dentre m componentes. É assumido que cada componente possui um índice entre 0 e m-1, representado por um endereço em binário.
Um decodificador n : m, possui n entradas e m saídas, com m 2n.
No caso de um decodificador 3:8, serão 8 saídas, onde cada saída pode ser encarada como um endereço diferente. Para ativar uma dentre 8 saídas são necessárias 3 variáveis de entrada. Cada combinação das variáveis de entrada seleciona um e somente uma dentre as 8 saídas, de modo que cada saída somente será selecionada por uma das 8 combinações. Desta forma, é natural que se associe a cada saída um índice decimal que represente a combinação de entradas responsável pela sua ativação. Assumindo-se ativação em lógica direta, isto é, que uma saída está ativada se ela vale 1, então a tabela verdade para um decodificador 3:8 será:
Note que cada saída só vale 1 para uma determinada combinação das variáveis de entrada. Além disso, cada combinação de entrada só ativa uma dentre todas as 8 saídas.
O circuito de um decodificador 3:8 terá, portanto, 8 saídas, sendo cada saída um dentre os 8 mintermos possíveis para uma função Booleana de 3 variáveis. A figura mostra o símbolo para o decodificador 3:8, enquanto a segunda figura mostra um circuito possível para o mesmo decodificador, utilizando portas E de 3 entradas e inversores.
Um decodificador pode possuir uma entrada de habilitação (enable, em inglês). Esta entrada tem a função de habilitar ou desabilitar seu funcionamento. Assim, se esta entrada valer 0, nenhuma saída estará ativada, independente dos valores das demais entradas. Por outro lado, se a entrada de habilitação valer 1, o decodificador estará ativando uma das saídas.
Neste exemplo, foi considerado que a habilitação do decodificador se dá com lógica direta, isto é, quando a entrada de habilitação valer 1. A lógica de habilitação poderia