Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Circuitos lógicos combinacionais
Apresentação de circuitos combinacionais clássicos e suas aplicações em sistemas digitais.
Prof. Felipe Gonçalves Serrenho
1. Itens iniciais
Propósito
Conhecer os circuitos combinacionais clássicos para compreender a estrutura de sistemas digitais de maior
complexidade, como a dos computadores.
Objetivos
Descrever o funcionamento dos circuitos aritméticos: somadores e subtratores.
 
Descrever o funcionamento dos codificadores e decodificadores.
 
Descrever o funcionamento de multiplexadores, demultiplexadores e buffers.
Introdução
A característica que define um circuito como combinacional é que sua saída depende única e exclusivamente
do estado atual das variáveis de entrada. Neste tema, estudaremos circuitos combinacionais clássicos muito
utilizados em sistemas digitais no geral, do teclado de calculadoras ao núcleo dos processadores de
computadores, celulares etc.
Estudo dos circuitos combinacionais
Neste vídeo, conheça mais sobre Circuitos Combinacionais.
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
• 
• 
• 
1. Circuitos aritméticos: somadores e subtratores
Representação numérica dos sistemas digitais
Neste módulo, estudaremos os circuitos aritméticos, responsáveis por realizar operações como soma e
subtração de números binários. Uma das utilizações mais notáveis desses circuitos é para compor a unidade
lógica aritmética (ULA), o “coração” dos processadores.
Antes de abordarmos os circuitos aritméticos, devemos falar das diferenças entre as contas feitas na
matemática tradicional e as realizadas em sistemas digitais.
Quando realizamos operações matemáticas, podemos utilizar quantos dígitos forem necessários para
escrever o resultado. Isso quer dizer que os números , na matemática tradicional, não possuem limites
inferior ou superior.
Porém, em sistemas digitais, eles são representados por um conjunto de bits de tamanho
predeterminado, o que limita a quantidade dos valores que podem ser representados. 
Neste tema, trabalharemos com os números inteiros. Eles possuem duas características principais: a
quantidade de bits utilizada e a existência (ou não) de sinal.
O número “sem sinal” é considerado sempre positivo. Então, por exemplo, se tivermos um número inteiro sem
sinal de 1 nibble, ele poderá assumir os valores de 0 (0000b) a 15 (1111b). Vejamos a tabela a seguir:
nibble
o nibble corresponde a uma sucessão de quatro cifras binárias, em que 1 nibble = 4 bits, 2 nibble = 1
byte = 8 bits, 4 nibble = 1 word = 2 bytes = 16 bits etc.
 Número decimal Nibble correspondente
 0 0000
 1 0001
 2 0010
 3 0011
 4 0100
 5 0101
 6 0110
 7 0111
 8 1000
 9 1001
 10 1010
 11 1011
 12 1100
 13 0001
 14 1101
 15 1111
 
 Números inteiros sem sinal de 1 nibble (4 bits). Fonte: (Felipe Gonçalves Serrenho, 2020)
Observe que, independentemente do número representado, ele sempre ocupa a quantidade de bits
designada.
Exemplo
Apesar de o número decimal “2” poder ser expresso somente em 2 bits na forma 10b, são utilizados
todos os bits que o sistema emprega na representação numérica, como, por exemplo, 4 bits (como se
verifica na tabela acima: 0010b). A faixa de valores que um número sem sinal pode assumir vai de 0 até
2N-1, em que N é a quantidade de bits utilizados. No exemplo da tabela, são utilizados 4 bits, sendo
possível representar até 24-1=15. 
Ao tratar os números inteiros com sinal, a primeira pergunta que vem à tona é: como devemos representar um
número negativo, já que o computador só entende “0” e “1”?
Sugestão
A primeira sugestão que nos parece viável é considerar o primeiro dígito o de sinal; assim, 0010b
representaria 2, e 1010b o -2. Apesar de intuitiva, essa forma de representação não traz vantagens
para a implementação em hardware.
Então, em vez de utilizá-la, empregaremos a notação em complemento dois para representar os
números negativos. Dessa forma, -23 = (23)2,C, onde é o complemento dois do número N.
O cálculo do complemento dois é simples: basta inverter todos os bits (esta operação é chamada de
complemento) e somar 1.
Exemplo
Calcule a representação do número -23 em um sistema que utilize 1 byte para os
inteiros. Solução: Inicialmente, escreveremos o número 23 em binário com 1 byte:23 = 0001 0111bA
seguir, inverteremos todos os bits, ou seja, calcularemos o complemento:1110 1000bPor fim, somaremos
1:(23)2,C =1110 1000b + 1 = 1110 1001bAssim, temos que -23 = 1110 1001b. 
Utilizando a representação dos negativos em complemento dois, o primeiro bit (o mais significativo) será
sempre um indicativo do sinal. Se ele for 0, o número é positivo; se for 1, negativo. Por isso, este bit é
conhecido como “bit de sinal”.
Atenção
Nota: em eletrônica digital, o número 0 é considerado positivo. 
Um sistema que utilize N bits para armazenar um inteiro com sinal pode representar valores na faixa de -
2N-1 a 2N-1 - 1.
Podemos observar nesta tabela a representação de números inteiros com sinal de 1 nibble:
 Número decimal Nibble correspondente
 -8 1000
 -7 1001
 -6 1010
 -5 1011
 -4 1100
 -3 1101
 -2 1110
 -1 1111
 0 0000
 1 0001
 2 0010
 3 0011
 4 0100
 5 0101
 6 0100
 7 0111
 Números inteiros com sinal de 1 nibble (4 bits). Fonte: ((Felipe Gonçalves Serrenho, 2020)
Faremos agora a operação: 6 + (-4), utilizando 4 bits para armazenar os números inteiros:
 
Repare que o resultado possui 5 bits, mas, como o sistema
utiliza apenas 4 bits, o mais significativo é desconsiderado.
Desse modo, o resultado da operação é: 0010b=2.
Isso mostra que, ao usar a representação dos números
negativos com
complemento dois, os circuitos digitais
podem fazer a operação de soma com números negativos
sem nenhuma alteração.
Note que, se quisermos fazer uma subtração, como, por
exemplo, 14 – 8, ela poderá ser feita da seguinte forma: 14 + (–8). Ou seja, o sistema pode realizá-la por
meio de uma soma!
Contudo, para fazer a subtração dessa forma, o circuito deve ser capaz de calcular o complemento dois do
termo que se deseja subtrair. Essa propriedade permite a simplificação do projeto de hardware, uma vez que
não é necessário incluir dois circuitos separados: um para a adição e outro para a subtração.
 
Neste momento, você pode estar se perguntando:
Como fica a subtração entre os números quando utilizamos a representação sem sinal?
Veja que interessante: a notação em complemento dois também funciona neste caso!
Exemplo
Calcule 202 – 49 utilizando uma representação
com 8 bits e sem sinal.
 
Solução:
 
Calcularemos inicialmente as representações
em binário:
202 = 1100 1010b
49 = 0011 0001b
 
Agora faremos o cálculo do complemento dois de 49:
(49)2,C = 1100 1111b
Somaremos, por fim, 202 + (49)2,C:
Descartando o bit mais significativo já que o sistema utiliza apenas 8 bits na representação, verificamos que 
202 +(49)2,C = 1001 1001b =153!
 
Exemplo:
Para finalizarmos esta parte do estudo, apresentaremos a seguir o conceito de overflow. Como estamos
trabalhando com um número fixo de bits para armazenar os números, é possível que uma operação dê um
resultado que exceda a capacidade de representação daquele sistema.
Por exemplo, utilizando 4 bits e a notação sem
sinal, podemos representar, como vimos
anteriormente, valores de 0 a 15. O que ocorre
então se somarmos, por exemplo, 10 + 7?
Como nosso número é composto por 4 bits, o
resultado é 0001b, que representa 1! Ou seja:
 
 10
+ 7 = 1
 
Apesar de este resultado ser incorreto do ponto
de vista matemático, é o que ocorre nos sistemas digitais quando se excede a capacidade de representação.
 
Tal fenômeno é chamado de overflow. Note que esse transbordamento de dados também pode ocorrer com
os números negativos.
 
Veja o que acontece quando somamos -6 e -8 utilizando um sistema de representação de 4 bits com sinal:
Vemos que - 6 – 8 = 0010b = 2!
Observando a segunda tabela, podemos perceber que -8 -
1 = 7 e 7 + 1 = -8, assim como, na tabela anterior, tínhamos
visto que 15 + 1 = 0 e 0 - 1 = 15. Isso é conhecido como
lógica circular.
Em sistemas digitais, quando ocorre um overflow em uma
operação com números inteiros, o resultado “naturalmente”
salta para o extremo oposto da capacidade de
representação.
 No exemplo visto, a operação -6 -8 poderia ser feita por partes: (-8 - 1)-5 = 7 - 5 = 2.
Meio somador (half-adder)
O projeto de um circuito combinacional segue os seguintes passos
Considerando A um número de 8 bits sem sinal e 09
6 6 complemento de A , faça o que se
pede: a) Calcule quanto vale em função de A . b) Calcule o valor da expressão ,
onde "+" e "." são as operac̣ões matemáticas de adição e multiplicação, não as operações
lógicas OU e E. Solução: a) Temos que Logo 
b) Sabemos que . Então: Aplicando a relação do
complemento dois em , temos isto: 
 
1º passo: Levantamento das especificações, entradas, saídas do sistema e comportamento desejado;
2º passo: Confecção da tabela verdade;
3º passo: Obtenção da expressão simplificada;
4º passo: Esquematização do circuito.
 
Destacaremos agora cada um deles para projetar o meio somador:
1º passo
Queremos um circuito que some dois bits (Ai e Bi) e tenha como saídas o bit resultante (Si) e o carry out (Co), 
que é o bit que pode “sobrar” na operação.
2º Passo:
A tabela verdade da soma é a seguinte:
 
 Ai Bi Co Si
 0 0 0 0
 0 1 0 1
 1 0 0 1
 1 1 1 0
3º passo: 
Pela tabela verdade do circuito anterior, temos que:
4º Passo: 
Finalmente, podemos sintetizar o circuito do meio somador:
 
C o = A i ⋅ B i S i = A i ― ⋅ B i + A i ⋅ B ¯ i = A i ⊕ B i 
 Meio Somador
Somador completo (full-adder)
Abordado anteriormente, o meio somador soma 2 bits, mas não pode ser utilizado para somar números com
mais de 1 bit cada. Para resolvermos esse problema, projetaremos agora o somador completo, ou seja, um
circuito capaz de somar 3 bits. Como mostra as informações a seguir:
1º Passo:
Queremos um circuito que some três bits - Ai, Bi e Ci (carry in) – e tenha como saídas o bit resultante (Si) e o 
carry out.
2º Passo:
Fazendo a soma entre os três bits, obtemos a seguinte tabela verdade:
 Ci Ai Bi Co Si
 0 0 0 0 0
 0 0 1 0 1
 0 1 0 0 1
 0 1 1 1 0
 1 0 0 0 1
 1 0 1 1 0
 1 1 0 1 0
 1 1 1 1 1
3º Passo:
Utilizaremos o mapa de Karnaugh para obter as expressões simplificadas de 
Co e Si:
4º Subtítulo
Podemos finalmente esquematizar o circuito do somador
 Somador completo
Para a soma de números com mais de 1 bit, podemos cascatear somadores completos. A soma de 2 números
de 4 bits (A = A3A2A1A0 e B = B3B2B1B0), em que A0 e B0 representam os bits menos significativos, pode ser
realizada com o seguinte circuito:
 
Colocando e em evidência na expressão de , vemos que: 
 Como 
, chegamos a: 
Chamando de X , temos que: Logo: 
 Somador de 4 bits
Nesta soma, consideramos que o nível de tensão do referencial terra (0 Volts) corresponde ao nível lógico 0.
Analogamente, consideraremos, no resto deste tema, que o nível lógico 1 corresponde à tensão + VCC.
 
Note que o esquema proposto na figura acima realiza a operação de maneira similar ao modo que fazemos na
mão:
Nesta operação, o bit mais significativo do resultado (o 
carry out do somador completo) já está desconsiderado por
exceder a capacidade de representação. O cascateamento
de somadores completos pode ser estendido para somar
dois números com uma quantidade qualquer de bits.
Neste vídeo, conheça mais sobre Somador completo (full-
adder).
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
Subtrator
Como vimos no tópico que abordava a representação numérica nos sistemas digitais, podemos fazer a
subtração por meio do cálculo do complemento dois do subtraendo. Dessa forma, conseguimos construir um
subtrator a partir do somador.
 
Utilizaremos como exemplo o circuito da figura acima para fazer um subtrator de quatro bits:
 Subtrator de 4 bits
Note que cada bit da entrada é invertido e que o carry in é utilizado para somar 1, ou seja, calcula-se o
complemento dois de B. Dessa forma, o circuito esquematizado na figura acima possui saída S:
 
 S = A + (B)2,C = A - B
Exemplo:
Projete um circuito que realize a soma ou a subtração de um número de 4 bits de acordo com um sinal de
controle que siga a seguinte lógica:
Solução:
 
Para realizar as operações desejadas, podemos nos basear no circuito da figura acima.
Porém, para que o
sistema funcione, precisamos achar uma maneira de fazer com que a realização do complemento dois seja
condicionada ao valor da variável Op.
Examinaremos a tabela verdade da porta XOR:
 Porta XOR
 X Y S
 0 0 0
 0 1 1
 1 0 1
 1 1 0
 
Observe que, quando , temos que . Por outro lado, se , verifica-se que . Dessa
maneira, podemos gerar o circuito pedido da seguinte forma:
 Circuito somador/subtrator
Observe que, se , os bits da entrada são invertidos pelas portas XOR e o carry in é igual a 1.
Portanto, é calculado o complemento dois da entrada , sendo calculado . Já quando , os 
bits de não são invertidos ; logo, calcula-se .
Verificando o aprendizado
Questão 1
A e B são números de 8 bits. Dado que o operador "+" se refere à soma e não à operação lógica , que 
 representam o complemento de A e B , o resultado da expressão é:
A
B
C
D
A alternativa D está correta.
Sabemos que . Logo, podemos rescrever a expressão como:
Questão 2
Pretende-se projetar um somador de números com 2 bits sem o carry in, tendo os seguintes dados à
disposição:
 
Entradas: e 
Saidas: e 
Nấo está sendo realizado o encadeamento de somadores de 1 bit. É preciso, portanto, projetar um circuito
novo que realize a soma em 2 bits diretamente. Qual alternativa possui a expressão lógica correta desse
somador?
A
 
 
B
 
 
C
 
 
D
 
 
A alternativa C está correta.
Primeiramente, montaremos a tabela verdade do circuito pretendido:
Em seguida, utilizaremos o mapa de Karnaugh para obter as expressões simplificadas das saídas:
2. Codificadores e decodificadores
Código BCD
Neste módulo, apresentaremos os circuitos utilizados para permitir o compartilhamento de meios, sejam eles
barramentos de comunicação ou a entrada de outros dispositivos. Versaremos sobre os multiplexadores, 
demultiplexadores e buffers de três estados.
Neste vídeo, conheça mais sobre Código BCD.
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
BCD é a sigla para binary coded decimal, que significa decimal codificado em binário. Existem vários
tipos de códigos BCD, mas o BCD 8421 é o mais comum. Por isso, muitas vezes, nos referimos ao
BCD 8421 simplesmente como BCD.
Neste código, são utilizados quatro dígitos binários para representar cada dígito decimal. No BCD 8421, o
número descrito é o valor de cada digito binário em ordem, ou seja, o código 0110, em BCD 8421, representa 4
+ 2 = 6.
Atenção
Note que a formação do dígito decimal a partir do código BCD 8421 é igual à formação dos números
binários, mas isso decorre da convenção utilizada pelo código. Essa “coincidência” não acontece em
outros BCD, como, por exemplo, o BCD 7421. 
Esta tabela contém os códigos BCD 8421, BCD 7421, BCD 5211 e BCD 2421:
 Decimal BCD 8421 BCD 7421 BCD 5211 BCD 2421
 0 0000 0000 0000 0000
 1 0001 0001 0001 0001
 2 0010 0010 0011 0010
 3 0011 0011 0101 0011
 4 0100 0100 0111 0100
 5 0101 0101 1000 1011
 6 0110 0110 1001 1100
 7 0111 1000 1011 1101
 8 1000 1001 1101 1110
 9 1001 1010 1111 1111
 
 Tabela: Códigos BCD. Fonte: (YDUQS, 2020)
Código 9876543210
No código 9876543210, cada dígito decimal é codificado em 10 bits binários de forma que o bit codificado
possua apenas uma saída em nível alto. Tal saída será, como podemos ver nesta tabela, a correspondente à
posição do dígito decimal:
Decimal
bit binário
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 1 0 0
3 0 0 0 0 0 0 1 0 0 0
4 0 0 0 0 0 1 0 0 0 0
5 0 0 0 0 1 0 0 0 0 0
6 0 0 0 1 0 0 0 0 0 0
7 0 0 1 0 0 0 0 0 0 0
8 0 1 0 0 0 0 0 0 0 0
9 1 0 0 0 0 0 0 0 0 0
 
 Código 9876543210. Fonte: (Felipe Gonçalves Serrenho, 2020)
Código Gray
A característica que distingue o código Gray dos outros códigos é que, entre números adjacentes, existe a
variação de apenas 1 bit. Esse código pode ser gerado com uma quantidade qualquer de bits.
 
Mostraremos a seguir como funciona o código Gray de 4 bits e o compararemos ao número binário tradicional:
Número decimal Número binário Código Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
 
 Código Gray. Fonte: (Felipe Gonçalves Serrenho, 2020)
O código Gray já foi muito usado no passado. Entretanto, hoje em dia, sua aplicação é mais restrita. Ele ainda
é utilizado em alguns sensores, como, por exemplo, encoders absolutos, no projeto de máquinas de estados e
nos mapas de Karnaugh.
 Uso do código de Gray no mapa de Karnaugh.
Codificador decimal/binário
Definir um circuito como codificador ou decodificador é, em geral, uma questão de ponto de vista. Por
exemplo, ao se apertar um botão do controle remoto, um codificador transformará esse evento em um
comando binário que será processado e depois enviado à TV.
No exemplo acima, pensamos no circuito como um codificador, pois o observamos como um usuário. No
entanto, se o analisássemos a partir do ponto de vista do processador do controle remoto, veríamos um
decodificador, já que ele transforma o pressionar de um botão em um comando conhecido.
Consideraremos que, quando passarmos de um código qualquer para o código binário, estaremos falando de
um codificador. Consequentemente, quando o circuito converter o código binário para outro código, o
consideraremos um decodificador.
 
No codificador decimal/binário, a entrada do valor decimal pode ser realizada pressionando uma chave
conectada à terra. O circuito então converte essa entrada no código binário correspondente de acordo com o
código BCD.
 Codificador decimal/binário
Esta figura possui um esquema de codificador decimal/binário. Observe os símbolos de inversão nas entradas
do conversor: isso indica que, no caso dessas entradas, elas são ativadas com o nível lógico 0.
 
Dessa forma, ao se pressionar determinada chave, a entrada correspondente é conectada à terra (nível lógico
0), enquanto a saída do circuito segue o que será descrito na próxima tabela.
Atenção
Ao trabalhar com circuitos integrados comerciais, deve-se observar a ordem dos bits. Por exemplo, no
codificador apresentado, a saída D é a mais significativa, enquanto a A é a menos significativa. 
Essa ordem pode mudar de acordo com o fabricante e o modelo do circuito integrado utilizado.
Entrada com nível lógico “0”
Saída
D C B A
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Codificador decimal/binário. Fonte: (Felipe Gonçalves Serrenho, 2020)
Repare que o codificador decimal/binário descrito nesta tabela define o valor da saída pela entrada com nível
lógico 0. Então, para projetar seu circuito, podemos utilizar as portas NAND. Afinal, como podemos ver pela
sua tabela verdade, uma entrada com nível lógico 0 força a saída a ser 1:
 Porta NAND
 X Y S
0 0 0
0 1 1
1 0 1
1 1 0
 
Obtemos, com isso, o seguinte circuito para o codificador proposto:
 Circuito do codificador decimal/binário
Note que o codificador decimal/binário descrito só prevê uma entrada ativa – que, neste caso, é com nível
lógico 0 – por vez. Caso mais de uma entrada seja ativada simultaneamente, o comportamento do circuito não
está especificado e vai depender da implementação realizada.
Codificador de prioridade
Trata-se de um circuito com função parecida, podendo lidar com diferentes entradas ativas simultaneamente.
Nesse codificador, a saída indica a entrada ativa de maior prioridade.
 
Um codificador de prioridade com três entradas ativadas no nível lógico 1 apresenta, por exemplo, a seguinte
tabela verdade:
3 2 1 B A
1 X X 1 1
0 1 X 1 0
0 0 1 0 1
0 0 0 0 0
 
 Tabela verdade de um codificador de prioridade. Fonte: (Felipe Gonçalves Serrenho, 2020)
Observe que, nesta tabela, o don’t care foi utilizado na entrada. Essa é uma notação empregada para
simplificar e tornar mais clara a tabela verdade.
Decodificador binário/decimal
O decodificador binário/decimal, que também pode ser chamado apenas de decodificador, converte o código
BCD 8421 para o código decimal 9876543210:
BCD 8421 Código 9876543210
D C B A S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 1 0 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0 0 0
 
 Decodificador binário/decimal. Fonte: (Felipe Gonçalves Serrenho, 2020)
Decodificador BCD/7 segmentos
O display de 7 segmentos é constituído por 8 leds (7 segmentos e um ponto) a fim de poder representar
algarismos decimais e alguns outros números. Na figura a seguir, podemos ver o esquema de um display de
sete segmentos com a indicação da nomenclatura de cada led :
led
 Disposição dos leds no display de sete segmentos
Existem dois tipos de displays de sete segmentos: os de catodo comum, nos quais os leds acendem com
tensão positiva, e os de anodo comum, cujos leds acendem quando conectados à terra.
Atenção
Na conexão com o display, devem ser utilizados resistores em série para limitar a corrente que passa
pelos leds. 
Os dígitos decimais são representados da seguinte maneira:
 Representação dos dígitos decimais em um display de sete segmentos
Com base nas duas últimas figuras e considerando um display do tipo catodo comum, podemos
determinar as entradas e saídas do decodificador BCD/7 segmentos. Por exemplo, para formar o
número 1, é preciso acender os leds b e c, enquanto os demais são mantidos apagados.
Montaremos agora a tabela de entradas/saídas do decodificador BCD/7 segmentos:
Dígito Decimal
Código BCD Código para o display de 7 segmentos
D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
 
 Entradas/saídas do decodificador BCD/7 segmentos. Fonte: (Felipe Gonçalves Serrenho, 2020)
Exemplo:
Projetaremos agora o circuito do decodificador responsável por acionar o led a do display de sete
segmentos.
Utilizaremos as informações da tabela acima para montar o mapa de Karnaugh. Note que, como as
entradas possíveis só vão de 0000 a 1001, as combinações de 1010 até 1111 são don’t cares.
Verificando o aprendizado
Questão 1
Quantos bits são necessários para escrever o número 8Ah no código BCD 8421?
A
2
B
10
C
12
D
3
A alternativa C está correta.
Como queremos a representação em BCD, primeiramente devemos passar o número para decimal:
8Ah = 8 x 16 + 10 = 138
Cada dígito decimal corresponde a quatro dígitos no código BCD. Portanto, serão necessários 12 bits.
Questão 2
Um codificador de prioridade que possua 12 entradas (12, 11, 10, ..., 1) deve ter saída com o mínimo de quantos
bits?
A
7
B
12
C
3
D
4
A alternativa D está correta.
A saída do codificador de prioridade precisa possuir bits suficientes para representar qual entrada de maior
prioridade está ativa. Dessa forma, ele deve possuir quatro saídas. Com 4 bits, podemos escrever de 0 até
15, que é o suficiente para cobrir até a entrada 12 (a de maior prioridade). Se a saída tivesse apenas 3 bits,
poderíamos cobrir apenas as entradas de 7 a 1. Logo, 3 bits de saída são insuficientes para um codificador
de prioridade com 12 entradas.
Esquema do multiplexador de quatro entradas
3. Multiplexadores, demultiplexadores e buffers
Multiplexador
Neste módulo, apresentaremos os circuitos utilizados para permitir o compartilhamento de meios, sejam eles
barramentos de comunicação ou a entrada de outros dispositivos. Versaremos sobre os multiplexadores, 
demultiplexadores e buffers de três estados.
Neste vídeo, conheça mais sobre Multiplexador
Conteúdo interativo
Acesse a versão digital para assistir ao vídeo.
O multiplexador é um circuito que permite à saída ser a cópia de umas das entradas. A seleção sobre a
entrada a ser passada para a saída é definida de acordo com uma entrada de seleção.
A figura a seguir ilustra a ideia por trás de
multiplexador de 4 entradas e 2 saídas.
 
Repare que, como o multiplexador proposto
possui 4 entradas, são necessários 2 bits na
entrada de seleção. Outro fato importante é
que apenas uma entrada pode ser copiada para
a saída por vez.
 
Observamos nesta figura que isso seria o
equivalente a dizer que não pode haver mais de
uma chave fechada a cada instante:
Montaremos agora a tabela verdade do
multiplexador proposto:
B A Y
0 0 D0
0 1 D1
1 0 D2
1 1 D3
 
Entrada/saída com o nível lógico 1 sendo o estado ativo.
Atenção
Muitos circuitos possuem uma entrada habilitadora (também chamada de enable). A lógica normal deste
tipo é que, caso ela esteja em nível alto, o circuito funciona normalmente. Em nível baixo, por sua vez,
todas as saídas do circuito ficam desativadas (normalmente nível lógico baixo). 
Como a entrada habilitadora não participa da lógica que expressa a função do circuito propriamente dita, não
é comum incluir o enable na tabela verdade.
 Multiplexador de 4 entradas com entrada
habilitadora
A implementação do enable pode ser realizada de formas diferentes. A mais simples é o uso de uma porta E
com uma entrada habilitadora e uma saída “normal” do circuito. Podemos vê-la nesta figura, que mostra o
circuito do multiplexador proposto, com sendo a entrada habilitadora.
 
Nos circuitos comerciais, o mais comum é observar sinais que são ativados em nível lógico alto, embora
também haja muitos circuitos com entradas e/ou saídas ativadas em nível lógico baixo. Podemos identificar o
nível que ativa a saída de acordo com o diagrama esquemático.
 
 
 
 
Uma entrada/saída em que o estado ativo é o
nível lógico 1 emprega a representação que
temos usado normalmente:
Entrada/saída com o nível lógico 0 sendo o estado ativo
 
 
Já quando a entrada/saída tem estado ativo no
nível
 lógico 0, usa-se qualquer uma das três formas
a seguir:
Os
multiplexadores são utilizados
principalmente em três aplicações:
Comutação controlada das entradas;
Multiplexação temporal (serialização) de sinais digitais;
Na implementação de funções booleanas.
Comutação
A comutação das entradas ocorre quando
queremos que uma delas possa receber o sinal
de múltiplas fontes em momentos distintos.
Exemplo: se tivermos diversos sensores e
apenas um mostrador, poderemos usar um
multiplexador com chaves controlando as
entradas de seleção. Assim, o usuário pode
decidir qual informação deseja ver.
Multiplexação temporal
A multiplexação temporal é uma aplicação
avançada; nela, cada sinal de entrada pode
ocupar o meio em que é feita a transmissão da
informação em slots de tempo bem definidos.
Isso permite que, em apenas um único canal de transmissão, possam circular informações provenientes de
diferentes circuitos. O multiplexador controla quem vai transmitir a cada momento por meio de um circuito
conectado às entradas de seleção.
A multiplexação temporal também é chamada de serialização, porque, ao ser implementada, os sinais
são transmitidos em sequência, um de cada vez, no tempo – ou seja, em série.
Na implementação de funções booleanas os multiplexadores podem ser empregados para gerar funções
arbitrárias.
Exemplo:
Projetemos o circuito que implementa o mapa de Karnaugh a seguir utilizando apenas um multiplexador de
quatro entradas e as portas NÃO:
• 
• 
• 
Solução:
 
Para projetar o circuito, devemos escolher duas variáveis para serem utilizadas na entrada de seleção,
enquanto o restante o será nas entradas de dados.
 
Neste caso, ficamos com as variáveis e para serem os sinais de controle do multiplexador.
 
Dessa forma, refazemos o mapa de Karnaugh introduzindo a variável C.
 
Esse passo é feito olhando cada combinação de A e B e vendo se a saída corresponde a 0,1 , ou C :
Basta agora desenhar o circuito com as conexões indicadas pelo mapa de Karnaugh modificado:
Se for utilizado um multiplexador com oito entradas, as três variáveis poderão ser colocadas como sendo de
controle. Além disso, as entradas de dados, de acordo com o mapa de Karnaugh original, ficam sempre
conectadas à terra ou ao +VCC.
Pelo exemplo resolvido, podemos afirmar que um codificador com 2N entradas de dados pode realizar
qualquer expressão booleana de N + 1 variáveis utilizando apenas o multiplexador e uma porta inversora.
Além disso, também vimos que esse codificador pode representar qualquer expressão booleana de 
N variáveis sem a necessidade de se utilizar nenhuma porta lógica.
Demultiplexador
Como seu nome sugere, o demultiplexador realiza a operação inversa à do multiplexador. Sua tabela verdade
é muito similar à do decodificador binário/decimal.
 
No entanto, por não estar relacionado a um código específico, ele pode ter tantos bits de entrada quanto
queira. Por essa razão, o demultiplexador também é denominado decodificador.
B A Y3 Y2 Y1 Y0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0
 
 Demultiplexador de duas entradas. Fonte: (Felipe Gonçalves Serrenho, 2020)
Note que, com N bits, são possíveis 2N combinações de entrada. Logo, um demultiplexador com N entradas
deverá ter 2N saídas, já que cada saída deve estar ativa para apenas uma combinação da entrada.
Exemplo:
Qual é a lógica implementada em cada uma das saídas do demultiplexador de oito canais?
Solução:
 
Para haver 8 canais de saída, são necessários 3 sinais de entrada, pois 23 = 8. Estruturaremos a seguir a
tabela verdade do multiplexador:
C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
 
Como as saídas estão ativas em apenas uma combinação da entrada, não há como simplificar a expressão.
Basta, portanto, pegar o mintermo de quando a saída está ativa:
Buffer de três estados
O buffer de três estados é um circuito muito simples e, ao mesmo tempo, muito prático. A saída do buffer de
três estados copia a entrada desde que o sinal habilitador esteja ativado.
 
Se o sinal habilitador estiver desativado, a saída do buffer será “desconectada” do circuito. Essa “desconexão”
é, na verdade, um estado de alta impedância (Z). A figura a seguir demonstra a ideia por trás do buffer:
 Esquema do buffer de três estados.
Já o símbolo do buffer de três estados é:
 Símbolo do buffer de três estados.
O buffer de três estados nos permite conectar a saída de mais de um dispositivo no mesmo fio e fazer o
controle de quem está enviando sinal por ele. Neste caso, a saída de cada um dos circuitos deve ser
conectada ao fio comum por meio de um buffer. Apenas um pode estar ativo por vez.
 
Se tentarmos conectar duas saídas sem a utilização do buffer de três estados, eventualmente haverá um
curto-circuito. Isso ocorrerá quando uma das saídas estiver em nível lógico 1 e a outra, em nível lógico 0.
Lembre-se de que cada nível lógico corresponde, no mundo físico, a um valor de tensão diferente.
Verificando o aprendizado
Questão 1
Assinale a alternativa que contém a expressão correta da lógica implementada pelo circuito a seguir.
A
B
C
D
A alternativa B está correta.
Primeiramente, montaremos o mapa de Karnaugh do circuito:
Questão 2
No circuito a seguir, qual a saída (XYZW) quando A=0 e B=1?
Tiraremos dele esta expressão booleana: 
Com a prática, é possível obter o circuito diretamente sem precisar escrever o mapa de
Karnaugh.
A
1011
B
0100
C
0010
D
0011
A alternativa A está correta.
No diagrama esquemático, a entrada é ativada em nível alto e a saída, em nível baixo. Como a entrada é BA
= 10, a saída ativada será Y2. Assim, como o estado ativo da saída está em nível baixo, XYZW = 1011.
4. Conclusão
Considerações finais
Apresentamos neste tema os principais circuitos combinacionais da eletrônica digital. Além disso, vimos
algumas das suas aplicações mais comuns.
 
Durante a apresentação dos circuitos combinacionais, descrevemos por diversas vezes os passos necessários
para o seu projeto. Dessa forma, você, além de conhecer os circuitos combinacionais mais comuns, também é
capaz agora de projetar os próprios circuitos!
Podcast
Ouça o Podcast sobre Circuitos lógicos combinacionais com o professor Felipe Serrenho.
Conteúdo interativo
Acesse a versão digital para ouvir o áudio.
Referências
CAPUANO, F. G. Sistemas digitais circuitos combinacionais e sequenciais. 1. ed. São Paulo: Érica, 2014.
 
DACHI, E. P; HAUPT, A. G. Eletrônica digital. 1. ed. São Paulo: Blucher, 2018.
 
IDOETA, I. V.; CAPUANO, F. G. Elementos de eletrônica digital. 41. ed. São Paulo: Érica, 2012.
 
MENDONÇA, A.; ZELENOVSKY, R. Eletrônica digital: curso prático e exercícios. 2. ed. São Paulo: MZ Editora,
2007.
Explore+
Pesquise sobre o código ASCII para descobrir maiores curiosidades, como, por exemplo, os caracteres
exibidos no seu computador.
 
Aprenda a escrever no display de 7 segmentos lendo o terceiro capítulo deste livro:
 
CAPUANO, F. G. Sistemas digitais: circuitos combinacionais e sequenciais. São Paulo: Érica, 2014. Cap. 3.
 
Conheça uma abordagem formalizada sobre a projeção circuitos combinacionais no quarto capítulo desta
obra:
 
CAPUANO, F. G.; IDOETA, I. V. Elementos de eletrônica digital. São Paulo: Érica, 2012. Cap. 4.
Conteudista
Felipe Gonçalves Serrenho
 
https://buscatextual.cnpq.br/buscatextual/
visualizacv.do;jsessionid=385D4BF783A94E2FF06F45F074E3C7AA.buscatextual_0
https://buscatextual.cnpq.br/buscatextual/visualizacv.do;jsessionid=385D4BF783A94E2FF06F45F074E3C7AA.buscatextual_0
https://buscatextual.cnpq.br/buscatextual/visualizacv.do;jsessionid=385D4BF783A94E2FF06F45F074E3C7AA.buscatextual_0
	Circuitos lógicos combinacionais
	1. Itens iniciais
	Propósito
	Objetivos
	Introdução
	Estudo dos circuitos combinacionais
	Conteúdo
interativo
	1. Circuitos aritméticos: somadores e subtratores
	Representação numérica dos sistemas digitais
	Exemplo
	Sugestão
	Exemplo
	Atenção
	Exemplo
	Exemplo:
	Meio somador (half-adder)
	1º passo
	2º Passo:
	3º passo:
	4º Passo:
	Somador completo (full-adder)
	1º Passo:
	2º Passo:
	3º Passo:
	4º Subtítulo
	Conteúdo interativo
	Subtrator
	Exemplo:
	Verificando o aprendizado
	Questão 1
	2. Codificadores e decodificadores
	Código BCD
	Conteúdo interativo
	Atenção
	Código 9876543210
	Código Gray
	Codificador decimal/binário
	Atenção
	Codificador de prioridade
	Decodificador binário/decimal
	Decodificador BCD/7 segmentos
	Atenção
	Exemplo:
	Verificando o aprendizado
	3. Multiplexadores, demultiplexadores e buffers
	Multiplexador
	Conteúdo interativo
	Atenção
	Comutação
	Multiplexação temporal
	Exemplo:
	Demultiplexador
	Exemplo:
	Buffer de três estados
	Verificando o aprendizado
	Questão 1
	Questão 2
	4. Conclusão
	Considerações finais
	Podcast
	Conteúdo interativo
	Referências
	Explore+
	Conteudista

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina