Escolar Documentos
Profissional Documentos
Cultura Documentos
• Definir quais as variáveis de entrada e saída são necessárias para resolver o problema descrito;
• Definir como os valores das variáveis de entrada afetam as variáveis de saída (construção de uma tabela verdade);
• A partir da tabela verdade construída, encontrar uma expressão booleana que represente a função lógica desejada de
forma eficiente (simplificação da expressão algebricamente ou pelo mapa de Karnaugh);
• Exemplo 1: Projete um circuito para controlar o sistema de irrigação de um jardim, onde a água deve ser
liberada apenas quando o solo estiver seco e o tempo estiver ensolarado. Tanto a umidade do solo quanto a
incidência de luz no jardim são monitorados por sensores.
Solução:
• Para esse problema, temos duas variáveis de entrada – o sinal do sensor umidade (chamaremos de 𝑈) e o
sinal do sensor de luminosidade (chamaremos de 𝐿). Temos também um único sinal de saída. Que irá
indicar se o sistema de irrigação deve ser ativado (chamaremos de 𝐼).
𝑈 𝐿 𝐼
𝑈 𝐿 𝐼
ഥ
𝐼 = 𝑈𝐿
0 0 0
0 1 1
𝑈
𝐼
1 0 0
𝐿
1 1 0
A B C Bo Ev
0 0 0 0 1
0 0 0 0 1
Para Bo → 1 X X 0 1
0 0 1 0 1
0 1 0 1 1
𝐵𝑜 = 𝐵 𝐶ҧ
0 1 1 0 1 BC
A 00 01 11 10
1 0 0 X X
0 1 1 1 1
1 0 1 X X
Para Ev → 1 X X 0 0
1 1 0 1 0
1 1 1 0 0 𝐸𝑣 = 𝐴ҧ
𝐴 𝐵 𝐶
𝐵𝑜 = 𝐵 𝐶ҧ
𝐸𝑣 = 𝐴ҧ
• OBS: Ao trabalhar com circuitos de várias saídas, resolver um problema com N saídas equivale a
resolver N problemas de 1 saída.
• Para construir e entender circuitos mais complicados, devemos estudar alguns circuitos combinacionais
especiais, os quais são extensivamente utilizados na construção de circuitos mais complexos;
• Esses circuitos têm funções específicas cujas aplicações são diversas. Lembre-se: um dos “segredos” da
eletrônica é entender como os circuitos básicos funcionam e, então, ligamos esses circuitos mais simples
para construir circuitos mais complexos!
• O primeiro tipo de circuito específico que iremos falar são os codificadores e decodificadores.
• Quando falamos em codificação na eletrônica digital, queremos dizer que uma informação,
escrita de uma determinada forma, será transformada para uma forma diferente;
• Imagine que você deseja traduzir um texto do português para o inglês. Em nossa analogia,
você estará “codificando” a informação em português na língua inglesa;
• Existem vários tipos de códigos usualmente utilizados na eletrônica. Iremos ver os códigos
BCD 8421, Gray, Johnson e o 9876543210, os quais aparecem com frequência em livros
didáticos.
A B C D
• Código Gray: No código Gray,
0 0 0 0 0 apenas um bit varia por vez;
1 0 0 0 1
2 0 0 1 1
• O código Gray é utilizado em
3 0 0 1 0
4 0 1 1 0
situações onde podemos ter
5 0 1 1 1
sensibilidade a ruídos (é mais
6 0 1 0 1 seguro variar só um bit por vez);
7 0 1 0 0
9
1
1
1
1
0
0
0
1
• O código Gray pode ter quantos
10 1 1 1 1
bits forem desejados.
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Para converter um número binário qualquer para código Gray, repetimos o MSB do número
original e somamos os bits adjacentes da esquerda para direita, de dois em dois, ignorando os
carrys. Vamos converter o número 110001102 para a codificação Gray:
• O resultado é 101001012.
• Nessa codificação, cada número decimal é representado pela sua conversão direta para o
sistema binário, mas utilizando 4 bits.
• Vamos converter o número 101011112, que está em código Gray, para o código binário:
• O resultado é 110010102.
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 1 • Código 9876543210: Nesse código,
1 0 0 0 0 0 0 0 0 1 0 cada bit específico representa um
2 0 0 0 0 0 0 0 1 0 0 único dígito decimal
3 0- 0 0 0 0 0 1 0 0 0 correspondente (cada dígito
4 0 0 0 0 0 1 0 0 0 0 decimal é codificado através de 10
5 0 0 0 0 1 0 0 0 0 0 bits).
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
• Basta encontrarmos um circuito combinacional que execute a tabela verdade que descreve a conversão do
nosso código! Os bits de um dos nossos códigos serão as variáveis de entrada do problema, enquanto os bits
do outro código serão as variáveis de saída. Dessa forma, podemos projetar qualquer codificador ou
decodificador!
• Aqui, vale uma ressalva :o termo “codificador” e “decodificador” dependem de uma referência – em geral,
um codificador vai transformar um código conhecido para um desconhecido, enquanto o decodificador vai
transformar um código desconhecido para um conhecido;
• Para uma pessoa que só sabe contar em binário, mas não conhece o código Johnson, o circuito que
transforma a informação de binário para código Johnson é um codificador. Para alguém que conhece o
código Johnson, mas não sabe contar em binário, o mesmo circuito pode ser entendido como um
decodificador!
• O resultado da operação, em binário, é convertido de volta por um decodificador que escreve os valores em um conjunto de
displays de 7 segmentos.
• Perceba que, para o funcionamento do circuito, foram utilizados circuitos combinacionais (os quais estamos estudando agora)
e circuitos aritméticos (os quais estudaremos posteriormente).
B5 0 1 0 1
B6 0 1 1 0
B7 0 1 1 1
B8 1 0 0 0
B1 0 0 0 1
• De forma análoga, temos que:
B2 0 0 1 0
B3 0 0 1 1 𝐵 = 𝐵4 + 𝐵5 + 𝐵6 + 𝐵7
B4 0 1 0 0 𝐶 = 𝐵2 + 𝐵3 + 𝐵6 + 𝐵7
𝐷 = 𝐵1 + 𝐵3 + 𝐵5 + 𝐵7 + 𝐵9
B5 0 1 0 1
B6 0 1 1 0
B7 0 1 1 1
B8 1 0 0 0
A B C D S3 S2 S1 S0 • Exemplo 4 – Projete um
decodificador que converta do código
0 0 1 1 0 0 0 0
Excesso de 3 (o valor em binário
0 1 0 0 0 0 0 1 correspondente está somado com três
0 1 0 1 0 0 1 0 unidades) para BCD 8421.
0 1 1 0 0 0 1 1
0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 1
1 0 0 1 0 1 1 0
1 0 1 0 0 1 1 1
1 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1
S3: S2:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 X X 0 X 00 X X 0 X
01 0 0 0 0 01 0 0 1 0
11 1 X X X 11 0 X X X
10 0 0 1 0 10 1 1 0 1
𝑆3 = 𝐴𝐵 + 𝐴𝐶𝐷 𝑆2 = 𝐵ത 𝐶ҧ + 𝐵ത 𝐷
ഥ + 𝐵𝐶𝐷
S1: S0:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 X X 0 X 00 X X 0 X
01 0 1 0 1 01 1 0 0 1
11 0 X X X 11 1 X X X
10 0 1 0 1 10 1 0 0 1
ҧ + 𝐶𝐷
𝑆1 = 𝐶𝐷 ഥ ഥ
𝑆0 = 𝐷
𝑆2
𝑆1
𝑆0
• Esse tipo de circuito é utilizado para detecção de erro em transmissão de dados (indica
se houve algum a troca de algum bit no sistema que foi indesejada).
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
𝐴𝐵𝐶 𝑃
• Na tabela ao lado, temos o valor do bit de
000 0
paridade P para um conjunto de 3 bits. Na
tabela, é considerado um gerador de 001 1
paridade par. 010 1
011 0
• Para construir o circuito do gerador de
paridade, iremos montar, primeiramente, o 100 1
mapa de Karnaugh para a tabela verdade 101 0
dada.
110 0
111 1
00 0 1 101 0
110 0
01 1 0
111 1
11 0 1
10 1 0
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
𝐴𝐵𝐶 𝑃
• Da tabela verdade, temos que:
000 0
𝑃 = 𝐴ҧ 𝐵 ⊕ 𝐶 + 𝐴 𝐵 ⊙ 𝐶 100 1
101 0
𝑃 = 𝐴ҧ 𝐵 ⊕ 𝐶 + 𝐴 𝐵 ⊕ 𝐶 110 0
111 1
𝑃 = 𝐴⊕𝐵⊕𝐶
𝐵 𝑃
𝐶
• De forma generalizada, um gerador de paridade par com 𝑁 variáveis de entrada tem a seguinte expressão
para sua saída:
𝑃 = 𝐴𝑁−1 ⊕ 𝐴𝑁−2 ⊕ ⋯ ⊕ 𝐴2 ⊕ 𝐴1 ⊕ 𝐴0
𝐵 𝑃
𝐶
• De forma generalizada, um gerador de paridade ímpar com 𝑁 variáveis de entrada tem a seguinte expressão
para sua saída:
𝑃 = 𝐴𝑁−1 ⊕ 𝐴𝑁−2 ⊕ ⋯ ⊕ 𝐴2 ⊕ 𝐴1 ⊕ 𝐴0
• Veremos cinco tipos de circuitos: meio somador, somador completo, meio subtrator, subtrator completo
e o somador/subtrator.
𝐴 𝐵 𝑇𝑆 𝑆
0 0 0 0 𝑆 =𝐴⊕𝐵
0 1 0 1 𝑇𝑆 = 𝐴𝐵
1 0 0 1
1 1 1 0
Perceba: se olharmos só para a saída 𝑆, veremos uma operação XOR entre A e B. Se olharmos para a saída 𝑇𝑠,
perceberemos que ela depende somente do produto lógico entre 𝐴 e 𝐵.
• Exemplo: o circuito abaixo realiza a operação de soma entre um número A = A3A2A1A0 e um número B =
B3B2B1B0, com o resultado sendo S = S4S3S2S1S0. Perceba: uma operação de soma entre dois números de N
bits (nesse caso, 4 bits) pode ser representada por um número de N+1 bits (nesse caso, 5 bits).
𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE
𝑇𝑆 = 𝐴𝐵 + 𝐴𝑇𝐸 + 𝐵𝑇𝐸
• Iremos realizar uma expansão em produtos canônicos na expressão 𝑇𝑠 . Esse processo significa gerar uma soma de
produtos onde todos os produtos possuam todas as entradas da expressão (mintermos). Logo, temos que:
𝑇𝑆 = 𝐴𝐵 𝑇𝐸 + 𝑇𝐸 + 𝐴𝑇𝐸 𝐵 + 𝐵ത + 𝐵𝑇𝐸 𝐴 + 𝐴ҧ
𝑇𝑆 = 𝐴𝐵 + 𝑇𝐸 𝐴 ⊕ 𝐵
𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE
𝑇𝑆 = 𝐴𝐵 + 𝑇𝐸 𝐴 ⊕ 𝐵
• Capazes de construir um somador completo utilizando apenas dois meio somadores e uma porta OR,
conforme ilustra a figura a seguir:
𝐴 𝐵 𝑇𝑆 𝑆 0 1 1 0
0 0 0 0 – 0 – 1 – 0 – 1
0 1 1 1
0 0 1 1
1 0 0 1
1 1 0 0
Analisando a tabela verdade, pode-se perceber que a expressão de saída para 𝑆 é 𝑆 = 𝐴 ⊕ 𝐵, igual ao meio
somador. A diferença está na expressão para 𝑇𝑆 , a qual depende apenas do produto lógico entre 𝐴ҧ e B, e pode ser
ҧ
escrita como 𝑇𝑆 = 𝐴𝐵.
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com base no resultado do slide anterior, podemos desenhar o seguinte diagrama
para um meio subtrator (lado esquerdo), o qual pode ser representado também como
um bloco lógico (lado direito).
• Exemplo: o circuito abaixo realiza a operação de subtração dada por S=A-B entre um número A = A3A2A1A0 e um
número B = B3B2B1B0, com o resultado sendo S = S4S3S2S1S0. Perceba: uma operação de subtração entre dois
números de N bits (nesse caso, 4 bits) pode ser representada por um número de N+1 bits (nesse caso, 5 bits). O bit
S4, nesse caso, representa um bit de sinal (0 indica um resultado positivo e 1 indica um resultado negativo). Quando
o resultado for negativo, o número estará na notação baseada em complemento de 2.
𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE
𝑇𝑆 = 𝐴𝐵 + 𝐴𝑇𝐸 + 𝐵𝑇𝐸
• Iremos realizar uma expansão em produtos canônicos na expressão 𝑇𝑠 . Logo, temos que:
ҧ 𝑇𝐸 + 𝑇𝐸 + 𝐴𝑇
𝑇𝑆 = 𝐴𝐵 ҧ 𝐸 𝐵 + 𝐵ത + 𝐵𝑇𝐸 𝐴 + 𝐴ҧ
ҧ 𝐸 + 𝐴𝐵𝑇
𝑇𝑆 = 𝐴𝐵𝑇 ҧ 𝐸 + 𝐴𝑇
ҧ 𝐸 𝐵 + 𝐴𝑇
ҧ 𝐸 𝐵ത + 𝐵𝑇𝐸 𝐴 + 𝐵𝑇𝐸 𝐴ҧ
ҧ 𝐸 + 𝐴𝐵𝑇
𝑇𝑆 = 𝐴𝐵𝑇 ҧ 𝐸 + 𝐴𝑇
ҧ 𝐸 𝐵ത + 𝐵𝑇𝐸 𝐴
ҧ + 𝑇𝐸 𝐴 ⊕ 𝐵
𝑇𝑆 = 𝐴𝐵
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com as expressões:
𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE
ҧ + 𝑇𝐸 𝐴 ⊕ 𝐵
𝑇𝑆 = 𝐴𝐵
• Capazes de construir um subtrator completo utilizando apenas dois meio subtratores e uma porta OR, conforme
ilustra a figura a seguir:
BTE BTE
MA 00 01 11 10 MA 00 01 11 10
00 0 1 0 1 00 0 0 1 0
01 1 0 1 0 01 0 1 1 1
11 1 0 1 0 11 0 0 1 0
10 0 1 0 1 10 0 1 1 1
ത 𝐸 + 𝐴ҧ𝐵𝑇 ҧ 𝐸
ത 𝐸 + 𝐴𝐵𝑇𝐸 + 𝐴𝐵𝑇 ഥ 𝐸 + 𝑀𝐴𝐵
𝑇𝑆 = 𝐵𝑇𝐸 + 𝑀𝐴𝑇 ഥ ҧ 𝐸 + 𝑀𝐴𝐵
+ 𝑀𝐴𝑇 ҧ
𝑆 = 𝐴𝐵𝑇
ҧ 𝐸 + 𝐵 𝐴𝑇𝐸 + 𝐴𝑇
ҧ 𝐸 ഥ + 𝑀𝐴ҧ + 𝐵 𝑀𝐴
𝑇𝑆 = 𝐵𝑇𝐸 + 𝑇𝐸 𝑀𝐴 ഥ + 𝑀𝐴ҧ
𝑆 = 𝐵ത 𝐴𝑇𝐸 + 𝐴𝑇
𝑆 = 𝐵ത 𝐴 ⊕ 𝑇𝐸 + 𝐵 𝐴 ⊕ 𝑇𝐸 𝑻𝑺 = 𝑩𝑻𝑬 + 𝑻𝑬 + 𝑩 𝑴 ⊕ 𝑨
𝑺 = 𝑨 ⊕ 𝑩 ⊕ 𝑻𝑬
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com base nos resultados, podemos desenhar o seguinte diagrama para um
somador/subtrator (lado esquerdo), o qual pode ser representado também como um
bloco lógico (lado direito).
𝑆 = 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0
𝑆 = 𝐴0 ⋅ 𝐵0 ⋅ 𝐴1 ⋅ 𝐵1 + 𝐴1 ⋅ 𝐵1 + 𝐴0 ⋅ 𝐵0 ⋅ 𝐴1 ⋅ 𝐵1 + 𝐴1 ⋅ 𝐵1
𝑆 = 𝐴0 ⋅ 𝐵0 ⋅ 𝐴1 ⊙ 𝐵1 + 𝐴0 ⋅ 𝐵0 ⋅ 𝐴1 ⊙ 𝐵1
𝑺 = 𝑨𝟎 ⊙ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Para o caso 1 nos temos, então, o seguinte circuito combinacional:
𝐴1
𝐵1
𝑺𝟎 = 𝑨𝟎 ⊙ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴0
𝐵0
𝑆1 = 𝐴1 ⋅ 𝐵1 + 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵0
• Para obter uma expressão generalizada, iremos manipular a expressão obtida diretamente da tabela verdade:
𝑆1 = 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 +
+ 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0
𝑆1 = 𝐴1 ⋅ 𝐵1 ⋅ 𝐴0 ⋅ 𝐵0 + 𝐴0 ⋅ 𝐵0 + 𝐴0 ⋅ 𝐵0 + 𝐴0 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0
𝑆1 = 𝐴1 ⋅ 𝐵1 ⋅ 𝐴0 ⋅ 𝐵0 + 𝐵0 + 𝐴0 ⋅ 𝐵0 + 𝐵0 + 𝐴0 ⋅ 𝐵0 ⋅ 𝐴1 ⋅ 𝐵1 + 𝐴1 ⋅ 𝐵1
𝑺𝟏 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴1
𝐵1
𝑺𝟏 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴0
𝐵0
𝑺 = 𝑨𝑵−𝟏 ⋅ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟐 ⋅ 𝑩𝑵−𝟐 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟑 ⋅ 𝑩𝑵−𝟑 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 ⋅ 𝑨𝑵−𝟐 ⊙ 𝑩𝑵−𝟐 + ⋯
𝑺𝟐 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴1
𝐵1
𝑺𝟐 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴0
𝐵0
𝑺 = 𝑨𝑵−𝟏 ⋅ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟐 ⋅ 𝑩𝑵−𝟐 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟑 ⋅ 𝑩𝑵−𝟑 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 ⋅ 𝑨𝑵−𝟐 ⊙ 𝑩𝑵−𝟐 + ⋯
𝑆0 (𝐴 = 𝐵)
𝑆1 (𝐴 > 𝐵)
𝑆2 (𝐴 < 𝐵)
• Podemos sempre construir um gerador de produtos canônicos com portas AND de um jeito
sistemático (existem outras formas sistemáticas, iremos explorar somente esta).
A B C S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
𝑆4 = 𝐴𝐵ത 𝐶ҧ
• Veremos como utilizar esse tipo de circuito
para construir multiplexadores e
ത
𝑆5 = 𝐴𝐵𝐶 demultiplexadores.
𝑆6 = 𝐴𝐵𝐶ҧ
𝑆7 = 𝐴𝐵𝐶
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Os multiplexadores também podem ser chamados de multiplex ou de MUX.
(Data Inputs)
𝐷0 (Output)
𝐷1 𝑆
𝐷2
𝐷3
𝐴0
𝐴1 ቅ
(Select Inputs)
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Abaixo, temos duas representações possíveis para um bloco MUX, onde 𝑁 representa o
número de entradas de dados e 𝑀 o número de bits de seleção. Temos que 𝑁 = 2𝑀 e,
consequentemente, 𝑀 = log 2 𝑁.
𝐷0 𝐷0
𝐷1 𝐷1
𝑆 𝐷2 MUX 𝑆
𝐷2 MUX
Nx1
⋮ ⋮
Nx1 ⋮ ⋮
𝐷𝑁−1 𝐷𝑁−1
⋮
⋮
𝐴𝑀−1 ⋯ 𝐴2 𝐴1 𝐴0 𝐴𝑀−1 ⋯ 𝐴2 𝐴1 𝐴0
𝐵𝐴
𝐷0
𝐴 𝐵 𝑆
0 0 𝐷0 𝐷1
𝑆
0 1 𝐷1
𝐷2
1 0 𝐷2
1 1 𝐷3 𝐷3
𝐸𝐵𝐴
𝐴 𝐵 𝐸 (enable) 𝑆 𝐷0
0 0 1 𝐷0
𝐷1
0 1 1 𝐷1 𝑆
1 0 1 𝐷2 𝐷2
1 1 1 𝐷3
𝐷3
𝑋 𝑋 0 0
ഥ𝑩
𝑨 ഥ
𝐷0 ഥ𝑩
𝑨
𝐷1 𝑆
ഥ
𝑨𝑩
𝐷2
𝑨𝑩
𝐷3
𝐷0 𝐴2 𝐴1 𝐴0 S0
𝐷1 0 0 0 𝐷0 𝐷0
𝐷2 1
𝐷3 0 0 1 𝐷1 𝐷1 1
𝐷𝑁 1
𝑆 0 1 0 𝐷2 𝐷2 1
0 1 1 𝐷3 𝐷3 1
𝐷4 𝐷𝑁
𝐷5 2 1 0 0 𝐷4 𝐷0 2
𝐷6
𝐷7 1 0 1 𝐷5 𝐷1 2
1 1 0 𝐷6 𝐷2 2
MUX 8x1 1 1 1 𝐷7 𝐷3 2
𝐴1 𝐴0 𝐴2
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Abaixo, temos uma associação também para construir um MUX 8x1, mas utilizando três
MUX 4x1.
𝐷0 𝐴2 𝐴1 𝐴0 S0
𝐷1 0 0 0 𝐷0 𝐷0
𝐷2 1
𝐷3 0 0 1 𝐷1 𝐷1 1
𝐷𝑁 1
𝑆 0 1 0 𝐷2 𝐷2 1
0 1 1 𝐷3 𝐷3 1
𝐷4 𝐷𝑁
𝐷5 2 1 0 0 𝐷4 𝐷0 2
𝐷6
𝐷7 1 0 1 𝐷5 𝐷1 2
1 1 0 𝐷6 𝐷2 2
MUX 8x1 1 1 1 𝐷7 𝐷3 2
𝐴1 𝐴0 𝐴2
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Os demultiplexadores também podem ser chamados de demultiplex ou de DEMUX.
• O DEMUX realiza a função de demultiplexação (função inversa do MUX). Ele uma entrada e
múltiplas saídas, as quais são selecionadas a partir dos bits de seleção. Assim, os dados combinados
(multiplexados) pelo MUX podem ser recuperados e individualizados (demultiplexados) pelo
DEMUX.
(Outputs)
𝑆0
(Data Input) 𝑆1
𝐷 𝑆2
𝑆3
𝐴0
𝐴1 ቅ
(Select Inputs)
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Abaixo, temos duas representações possíveis para um bloco DEMUX, onde 𝑁 representa o
número de saídas de dados e 𝑀 o número de bits de seleção. No DEMUX, os bits de seleção
definem qual saída irá reproduzir a entrada 𝐷.
𝐷0
𝑆0 𝐷1
𝑆1 𝐷2
DEMUX
DEMUX 𝑆2 𝐷
𝐷
1xN
⋮
1xN
⋮ ⋮
⋮ 𝑆𝑁−1
𝐷𝑁−1
⋮
⋮
𝐴𝑀−1 ⋯ 𝐴2 𝐴1 𝐴0
𝐴𝑀−1 ⋯ 𝐴2 𝐴1 𝐴0
𝐷 𝐵𝐴
𝐴 𝐵 𝑆0 𝑆1 𝑆2 𝑆3
𝑆0
0 0 𝐷 0 0 0
𝑆1
0 1 0 𝐷 0 0
1 0 0 0 𝐷 0 𝑆2
1 1 0 0 0 𝐷
𝑆3
𝐷 𝐸𝐵𝐴
𝐸 𝐴 𝐵 𝑆0 𝑆1 𝑆2 𝑆3
𝑆0
1 0 0 𝐷 0 0 0
1 0 1 0 𝐷 0 0
𝑆1
1 1 0 0 0 𝐷 0
1 1 1 0 0 0 𝐷
𝑆2
0 𝑋 𝑋 0 0 0 0
𝑆3
ഥ𝑩
𝑨 ഥ
𝐷 𝑆0
ഥ𝑩
𝑨
𝑆1
ഥ
𝑨𝑩
𝑆2
𝑨𝑩
𝑆3
𝑆0 𝐴2 𝐴1 𝐴0 𝑆0 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6 𝑆7
D𝑆1 𝑆1
𝑆2 0 0 0 𝐷 0 0 0 0 0 0 0
𝑆3
0 0 1 0 𝐷 0 0 0 0 0 0
𝐷 0 1 0 0 0 𝐷 0 0 0 0 0
𝑆4 0 1 1 0 0 0 𝐷 0 0 0 0
𝐷𝑆2 𝑆5
𝑆6 1 0 0 0 0 0 0 𝐷 0 0 0
𝑆7
1 0 1 0 0 0 0 0 𝐷 0 0
1 1 0 0 0 0 0 0 0 𝐷 0
DEMUX 1x8
1 1 1 0 0 0 0 0 0 0 𝐷
𝐴2 𝐴1 𝐴0
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Abaixo, temos uma associação também para construir um DEMUX 1x8, mas utilizando três
DEMUX 1x4.
𝑆0 𝐴2 𝐴1 𝐴0 𝑆0 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6 𝑆7
D𝑆1 𝑆1
𝑆2 0 0 0 𝐷 0 0 0 0 0 0 0
𝑆3
0 0 1 0 𝐷 0 0 0 0 0 0
𝐷 0 1 0 0 0 𝐷 0 0 0 0 0
𝑆4 0 1 1 0 0 0 𝐷 0 0 0 0
𝐷𝑆2 𝑆5
𝑆6 1 0 0 0 0 0 0 𝐷 0 0 0
𝑆7
1 0 1 0 0 0 0 0 𝐷 0 0
1 1 0 0 0 0 0 0 0 𝐷 0
DEMUX 1x8
1 1 1 0 0 0 0 0 0 0 𝐷
𝐴2 𝐴1 𝐴0
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• A Figura abaixo ilustra uma transmissão de dados simplificada entre um MUX e um DEMUX. Os
bits de seleção do MUX e do DEMUX mudam ao mesmo tempo, de forma que cada canal de entrada
do MUX tenha uma correspondência única com um canal do DEMUX. O sinal digital de saída do
MUX é uma composição de suas entradas, as quais serão demultiplexadas pelo DEMUX.
• Para construir circuitos digitais mais complexos, de forma geral, precisamos definir o que queremos
(circuito-alvo) e levantar o que podemos utilizar para construí-lo (subcircuito).
• Devemos avaliar quantos subcircuitos serão necessários para construir o circuito-alvo, buscando sempre
uma implementação eficiente (com o menor número de subcircuitos possível).
• Para circuitos digitais, podemos construir a tabela verdade do circuito-alvo e relacionar com as dos
subcircuitos disponíveis, de forma a deduzir relações lógicas entre as entradas e saídas dos circuitos.
• A habilidade de construir e visualizar de um jeito modular os circuitos digitais é algo que se constrói
exercitando e praticando!
𝑎:
G1 G0
𝐺2 00 01 11 10
𝑎 = 𝐺1 ⋅ 𝐺0 + 𝐺2 ⋅ 𝐺1 + 𝐺0 ⋅ 𝐺2
0 1 0 1 1
1 1 1 1 0
𝑏:
G1 G0
𝐺2 00 01 11 10
0 1 1 1 1 𝑏 = 𝐺2 + 𝐺0
1 1 0 0 1
𝑐:
G1 G0
𝐺2 00 01 11 10
𝑐 = 𝐺2 + 𝐺1 + 𝐺0
0 1 1 0 1
1 1 1 1 1
𝑑:
G1 G0
𝐺2 00 01 11 10
0 1 0 1 1 𝑑 = 𝐺2 ⋅ 𝐺0 + 𝐺1 ⋅ 𝐺0 + 𝐺2 ⋅ 𝐺0
1 0 1 1 0
𝑒:
G1 G0
𝐺2 00 01 11 10
𝑒 = 𝐺2 ⋅ 𝐺1 ⋅ 𝐺0 + 𝐺2 ⋅ 𝐺1 ⋅ 𝐺0 + 𝐺2 ⋅ 𝐺1 ⋅ 𝐺0
0 1 0 1 0
1 0 1 0 0
𝑓:
G1 G0
𝐺2 00 01 11 10
0 1 0 0 0 𝑓 = 𝐺2 ⋅ 𝐺0 + 𝐺2 ⋅ 𝐺1 + 𝐺2 ⋅ 𝐺1 ⋅ 𝐺0
1 0 1 1 1
𝑔:
G1 G0
𝐺2 00 01 11 10
𝑔 = 𝐺1 + 𝐺2 ⋅ 𝐺0
0 0 0 1 1
1 0 1 1 1
CIRCUITOS COMBINACIONAIS:
𝑎 EXERCÍCIOS
𝑏
𝑐
Ao lado, temos o circuito decodificador do código Gray
de 3 bits para o display de 7 segmentos.
𝑑
Perceba: o circuito possui 3 entradas (para cada bit do
código Gray) e 7 saídas (uma para cada segmento do
display).
O circuito gerador de paridade par é um circuito que, quando o número de 1’s em um conjunto de bits de entrada
for igual a um número par, sua saída será igual a 0. Por exemplo, se tivermos três entradas A=0, B=1 e C=0, a
saída será S=1; Se A=0, B=1 e C=1, então S = 0. Diante disso:
(a) Construa um gerador de paridade par para 3 bits e escreva sua expressão booleana.
(b) Construa um gerador de paridade par para 5 bits utilizando 2 geradores de paridade par para 3 bits.
(c) Construa um gerador de paridade ímpar de 5 bits utilizando 2 geradores de paridade par para 3 bits e 1 porta
lógica.
(a) Construa um gerador de paridade par para 3 bits e escreva sua expressão booleana.
𝐴
𝐴
𝑆 = 𝐴⨁𝐵⨁𝐶
𝐵 Gerador de Paridade´
𝐵
𝐶 Par
𝑆 = 𝐴⨁𝐵⨁𝐶
𝐶
(b) Construa um gerador de paridade par para 5 bits utilizando 2 geradores de paridade par para 3 bits.
𝐶 𝐷 Gerador de Paridade´
Par
𝑆 = 𝐴⨁𝐵⨁𝐶⨁𝐷⨁𝐸
𝐸
(b) Mostre que se invertermos todas as entradas e saídas de um somador completo, menos a entrada do
minuendo e a saída S, obteremos um subtrator completo (OBS: Na operação A-B, A é o minuendo, enquanto B
é o subtraendo).
(c) Construa um circuito para subtrair o número e B3B2B1B0 do número A3A2A1A0. Além dos somadores
completos, você poderá usar também 5 (e somente 5) portas lógicas para construir o sistema digital.
(b) Mostre que se invertermos todas as entradas e saídas de um somador completo, menos a entrada do
minuendo e a saída S, obteremos um subtrator completo (OBS: Na operação A-B, A é o minuendo, enquanto B
é o subtraendo).
No somador completo com inversores, teremos:
𝑆 = 𝐴 ⊕ 𝐵ത ⊕ 𝑇𝐸
𝑆 = 𝐴 ⊕ 𝐵ത ⋅ 𝑇𝐸 + 𝐵ത ⋅ 𝑇𝐸
𝑺 = 𝑨 ⊕ 𝑩 ⊕ 𝑻𝑬
(A expressão de saída para 𝑆 é a mesma do subtrator
completo).
(b) Mostre que se invertermos todas as entradas e saídas de um somador completo, menos a entrada do
minuendo e a saída S, obteremos um subtrator completo (OBS: Na operação A-B, A é o minuendo, enquanto B
é o subtraendo).
No somador completo com inversores, teremos:
𝑇𝑆 = 𝐴𝐵ത + 𝐵ത ⋅ 𝑇𝐸 + 𝐴 ⋅ 𝑇𝐸
𝑇𝑆 = 𝐴 ⋅ 𝐵ത ⋅ 𝐵ത ⋅ 𝑇𝐸 ⋅ 𝐴 ⋅ 𝑇𝐸
𝑇𝑆 = 𝐴ҧ + 𝐵 ⋅ 𝐵 + 𝑇𝐸 ⋅ 𝐴ҧ + 𝑇𝐸
𝑇𝑆 = 𝐴ҧ ⋅ 𝐵 + 𝐵 ⋅ 𝑇𝐸 + 𝐴ҧ ⋅ 𝑇𝐸 + 𝐵 ⋅ 𝐴ҧ + 𝑇𝐸
𝑇𝑆 = 𝐴ҧ ⋅ 𝐵 + 𝐴ҧ ⋅ 𝐵 ⋅ 𝑇𝐸 + 𝐵 ⋅ 𝑇𝐸 + 𝐴ҧ ⋅ 𝑇𝐸
𝑺=𝑨 ഥ⋅𝑩+𝑨 ഥ ⋅ 𝑻𝑬 + 𝑩 ⋅ 𝑻𝑬
(A expressão de saída para T𝑆 é a mesma do subtrator
completo).
(c) Construa um circuito para subtrair o número e B3B2B1B0 do número A3A2A1A0. Além dos somadores
completos, você poderá usar também 5 (e somente 5) portas lógicas para construir o sistema digital.
(a) Construa um circuito que compara dois números de 3 bits e, caso A>B ou A=B, ocorre uma subtração. Caso
A<B, ocorre uma soma. Para isso, utilize 1 comparador, 3 blocos do tipo somador/subtrator e quantas portas
lógicas auxiliares forem necessárias.
(b) Escreva as expressões de saída para as situações A= B, A>B e A<B do comparador utilizado.
(b) Para A=B, A>B e A<B teremos, respectivamente, as saídas 𝑺𝟎 , 𝑺𝟏 e 𝑺𝟐 , dadas por:
𝑺𝟎 = 𝑨𝟐 ⊙ 𝑩𝟐 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏 ⋅ 𝑨𝟎 ⊙ 𝑩𝟎
𝑺𝟏 = 𝑨𝟐 ⋅ 𝑩𝟐 + 𝑨𝟏 ⋅ 𝑩𝟏 ⋅ 𝑨𝟐 ⊙ 𝑩𝟐 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟐 ⊙ 𝑩𝟐 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝑺𝟐 = 𝑨𝟐 ⋅ 𝑩𝟐 + 𝑨𝟏 ⋅ 𝑩𝟏 ⋅ 𝑨𝟐 ⊙ 𝑩𝟐 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟐 ⊙ 𝑩𝟐 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
(c) Como o bloco aritmético utilizado foi um somador/subtrator, temos que suas expressões de saída são
dadas por:
𝑺 = 𝑨 ⊕ 𝑩 ⊕ 𝑻𝑬
𝑻𝑺 = 𝑩𝑻𝑬 + 𝑻𝑬 + 𝑩 𝑴⊕𝑨
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 05: Faça o que se pede com relação aos multiplexadores e demultiplexadores.
(a) Desenhe o sinal de saída para o MUX abaixo dadas as entradas representadas ao lado da figura.
(b) Desenhe os sinais de saída para o DEMUX abaixo dadas as entradas representadas ao lado da figura.
(a)
Output
(b)
Dúvidas ou sugestões?
sovano@ufpa.br