Você está na página 1de 110

CIRCUITOS COMBINACIONAIS

Professor: Alan Sovano, M.Sc.


Disciplina: Eletrônica Digital (2023.2)
TÓPICOS
• Introdução
• Síntese de circuitos combinacionais
• Circuitos combinacionais especiais: codificadores e decodificadores
• Circuitos combinacionais especiais: circuitos aritméticos
• Circuitos combinacionais especiais: geradores de paridade
• Circuitos combinacionais especiais: comparadores
• Circuitos combinacionais especiais: multiplexadores e demultiplexadores
• Modularidade dos circuitos combinacionais
• Exercícios

Prof. Alan Sovano


INTRODUÇÃO
• Nas aulas anteriores, estudamos diversas ferramentas para analisar e simplificar
circuitos lógicos onde a saída depende somente da combinação entre os estados
atuais das entradas. Chamamos esse classe de circuitos digitais de circuitos
combinacionais;

• Estudamos o problema de análise dos circuitos combinacionais. Agora iremos


estudar o problema de síntese desses circuitos, ou seja, os passos necessários para
desenvolver um circuito que resolve determinado problema;

• Estudaremos, posteriormente, uma outra classe de circuitos, chamados de


sequenciais.

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Para realizar o projeto de um circuito combinacional, precisamos:

• Descrever o problema por meio de palavras;

• 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);

• Construção do diagrama do circuito combinacional final.

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Iremos praticar esses princípios de projetos através de alguns exemplos:

• 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 𝐼).

• Iremos definir a seguinte lógica para o problema:

Se 𝑼 = 𝟎, então a umidade é baixa; Se 𝑼 = 𝟏, então a umidade é alta.

Se 𝑳 = 𝟎, então o dia está nublado; Se 𝑳 = 𝟏, então o dia está ensolarado.


Prof. Alan Sovano
SÍNTESE DE CIRCUITOS COMBINACIONAIS
Solução:
• Traduzindo o problema em termos das variáveis lógicas que temos, desejamos que a saída 𝐼 = 1 ocorra
somente quando 𝑈 = 0 e 𝐿 = 1. Construindo a tabela verdade que representa as possíveis situações para as
variáveis, teremos:

𝑈 𝐿 𝐼

0 0 0 → Dia seco e nublado (não ativa o sistema)

0 1 1 → Dia seco e ensolarado ( ativa o sistema)

1 0 0 → Dia úmido e nublado (não ativa o sistema)


→ Dia úmido e ensolarado (não ativa o sistema)
1 1 0

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
Solução:
• Dá tabela verdade montada, podemos encontrar uma expressão booleana e, consequentemente, um circuito
lógico que seja capaz de controlar o sistema de irrigação:

𝑈 𝐿 𝐼

𝐼 = 𝑈𝐿
0 0 0

0 1 1
𝑈
𝐼
1 0 0
𝐿
1 1 0

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Exemplo 2: Imagine um sistema de
bombeamento utilizado para encher dois
reservatórios de água. O esquema é composto
por uma eletroválvula (abre ou fecha de acordo
com um sinal de comando) e uma bomba (liga
ou desliga de acordo com um sinal de
comando). No reservatório 1, há dois sensores
de nível, enquanto no reservatório 2 há um
sensor de nível. Tais sensores de nível
diferenciam dois estados: quando o nível de
água está acima ou abaixo de uma altura pré-
definida.

• Construa um circuito combinacional que atue de


forma a sempre manter ambas as caixas cheias.

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Solução: montando a tabela verdade do problema:

A B C Bo Ev

0 0 0 0 1 → Todas as caixas vazias


0 0 1 0 1 → Caixa 2 cheia e caixa 1 vazia
0 1 0 1 1 → Caixa 2 vazia e caixa 1 parcialmente vazia
0 1 1 0 1 → Caixa 2 cheia e caixa 1 parcialmente vazia
1 0 0 X X → Condição impossível, logo, irrelevante
1 0 1 X X → Condição impossível, logo, irrelevante
1 1 0 1 0 → Caixa 1 cheia e caixa 2 vazia
1 1 1 0 0 → Ambas as caixas cheias

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Solução: Fazendo um mapa de Karnaugh para cada saída:
BC
A B C Bo Ev A 00 01 11 10

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 𝐸𝑣 = 𝐴ҧ

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Solução: Construindo o circuito combinacional para o sistema:

𝐴 𝐵 𝐶

𝐵𝑜 = 𝐵 𝐶ҧ

𝐸𝑣 = 𝐴ҧ

• 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.

Prof. Alan Sovano


SÍNTESE DE CIRCUITOS COMBINACIONAIS
• Apesar dos dois exemplos didáticos utilizados serem baseados em problemas do cotidiano e terem soluções
simples, na prática, muitos dos sistemas digitais que construímos e utilizamos tem um grau de
complexidade muito mais elevado, podendo ter milhares de saídas e de entradas diferentes;

• 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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Para falar de codificadores e decodificadores, devemos falar, primeiramente, sobre
codificação.

• 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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Decimal BCD 8421 • Código BCD 8421: a sigla BCD
significa “Binary Coded Decimal” ou
A B C D
“Decimal Codificado em Binário”.
0 0 0 0 0 Nesse código, um dígito decimal é
sempre representado por 4 bits,
1 0 0 0 1 conforme a tabela ao lado;
2 0 0 1 0
3 0 0 1 1 • O código recebe esse nome porque cada
um dos 4 bits possui um peso, onde o
4 0 1 0 0 MSB tem peso 8 e o LSB tem peso 1;
5 0 1 0 1
• Nessa codificação, cada número decimal
6 0 1 1 0 é representado pela sua conversão direta
7 0 1 1 1 para o sistema binário, mas utilizando 4
bits. Perceba: há combinações que não
8 1 0 0 0 são utilizados nessa codificação (10102,
10112, 11002, 11012, 11102 e 11112).
9 1 0 0 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Decimal Gray

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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Para converter de código Gray para binário, fazemos um processo parecido: O MSB do
número codificado em Gray será o mesmo para o número em binário. Em seguida, cada
próximo digito binário será a soma do dígito binário obtido anteriormente mais o digito do
número codificado em código Gray adjacente. Os carrys são ignorados.

• Vamos converter o número 101011112, que está em código Gray, para o código binário:

• O resultado é 110010102.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Decimal Johnson
• Código Johnson: No código
A B C D E Johnson, um bit é variado por vez,
0 0 0 0 0 0 sequencialmente e da direita para
1 0 0 0 0 1 esquerda, com os 0’s virando 1’s.
Quando todos os bits são iguais a 1,
2 0 0 0 1 1
eles são alterados, sequencialmente
3 0 0 1 1 1
e da direita para esquerda, com os
4 0 1 1 1 1 1’s virando 0’s novamente.
5 1 1 1 1 1
6 1 1 1 1 0 • Estudaremos um circuito específico
7 1 1 1 0 0 (no tópico de circuitos sequenciais)
8 1 1 0 0 0 chamado de contador Johnson, o
qual conta de acordo com tabela ao
9 1 0 0 0 0
lado.
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Decimal 9876543210

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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Agora que vimos alguns dos códigos utilizados na eletrônica digital, como podemos, afinal, desenvolver
um circuito cuja a entrada seja um código e a saída seja outro?

• 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!

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Quando colocamos dados de entrada em uma calculadora, por exemplo, colocamos dados em decimal. Dentro da calculadora
há um codificador de decimal para binário, o qual irá realizar a conversão dos valores para, em seguida, um circuito
aritmético realizar a operação entre os dados de entrada.

• 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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Botões BCD 8421

Rótulo do botão • Exemplo 3 – Vamos projetar um


A B C D
codificador onde, ao apertar uma
0 0 0 0 chave/botão por vez (numerada de 0
B0
até 9), iremos ativar uma sequência de
B1 0 0 0 1 saída que nos darão o número
B2 0 0 1 0 desejado em binário (conforme a
B3 0 0 1 1 tabela verdade ao lado).
B4 0 1 0 0

B5 0 1 0 1

B6 0 1 1 0

B7 0 1 1 1

B8 1 0 0 0

B9 1 0 0 1 Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Botões BCD 8421

Rótulo do botão • Podemos perceber que 𝐴 só é ativado


A B C D
quando 𝐵9 e 𝐵8 são apertados, logo,
0 0 0 0 𝐴 = 𝐵8 + 𝐵9.
B0

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

B9 1 0 0 1 Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
• Logo, a solução do nosso
problema pode ser
descrita pelo circuito ao
lado.

• Ao apertar cada um dos


botões, o conjunto de
LED’s acenderá de
acordo com o padrão em
binário desejado.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
Excesso de 3 BCD 8421

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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES

• Fazendo um mapa de Karnaugh para cada uma das saídas:

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 = 𝐵ത 𝐶ҧ + 𝐵ത 𝐷
ഥ + 𝐵𝐶𝐷

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES

• Fazendo um mapa de Karnaugh para cada uma das saídas:

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 = 𝐷

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CODIFICADORES E DECODIFICADORES
𝐴 𝐵 𝐶 𝐷

• O circuito de decodificação pode


𝑆3
ser desenhado, então, de acordo
com o diagrama ao lado.

𝑆2

𝑆1

𝑆0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
• Um outro circuito especial utilizado em sistemas digitais se chama gerador de
paridade. Esse circuito detecta se um determinado conjunto de bits possui um número
par ou ímpar de 1’s.

• Quando temos um gerador de paridade par, a saída do circuito é igual a 0 quando o


número de 1’s é par (e, consequentemente, igual a 1 quando o número de 1’s é ímpar).

• Quando temos um gerador de paridade ímpar, a saída do circuito é igual a 0 quando


o número de 1’s é ímpar (e, consequentemente, igual a 1 quando o número de 1’s é
par).

• 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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
• Pode-se perceber que o mapa de Karnaugh
obtido permite o agrupamento apenas de 𝐴𝐵𝐶 𝑃
termos isolados, sendo um caso que não 000 0
admite simplificação através desse
método. Por isso, iremos tentar encontrar 001 1
uma expressão simplificada 010 1
algebricamente.
011 0
C
AB 0 1 100 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

𝑃 = 𝐴ҧ𝐵𝐶 ҧ 𝐶ҧ + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶


ത + 𝐴𝐵 001 1
010 1
𝑃 = 𝐴ҧ 𝐵𝐶
ത + 𝐵𝐶ҧ + 𝐴 𝐵ത 𝐶ҧ + 𝐵𝐶
011 0

𝑃 = 𝐴ҧ 𝐵 ⊕ 𝐶 + 𝐴 𝐵 ⊙ 𝐶 100 1
101 0
𝑃 = 𝐴ҧ 𝐵 ⊕ 𝐶 + 𝐴 𝐵 ⊕ 𝐶 110 0
111 1
𝑃 = 𝐴⊕𝐵⊕𝐶

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
• A expressão para a saída do gerador de paridade par é, portanto, dada por 𝑃 = 𝐴 ⊕ 𝐵 ⊕ 𝐶. O circuito que
executa essa função lógica está ilustrado abaixo:

𝐵 𝑃
𝐶

• 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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
GERADOR DE PARIDADE
• Se fossemos construir um gerador de paridade ímpar, teríamos o mesmo circuito e expressão final, mas com
a saída barrada. Abaixo, temos um gerador de paridade ímpar, cuja expressão de saída 𝑃 = 𝐴 ⊕ 𝐵 ⊕ 𝐶.

𝐵 𝑃
𝐶

• 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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• O próximo tópico que iremos abordar são os circuitos aritméticos, isto é, circuitos que realizam operações
aritméticas.

• Veremos cinco tipos de circuitos: meio somador, somador completo, meio subtrator, subtrator completo
e o somador/subtrator.

• Circuitos aritméticos são extensivamente utilizados em unidades lógicas e aritméticas (ULA’s),


componente fundamental para o funcionamento de um microprocessador e, consequentemente, de um
computador.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
1. Meio somador: Circuito utilizado para somar dois números binários de 1 dígito, os quais chamaremos de A e
B. Podemos construir, a partir de nossos conhecimentos sobre aritmética binária, a seguinte tabela verdade (onde
“Ts” representa o “Transporte de a saída” ou o “carry de saída”):

𝐴 𝐵 𝑇𝑆 𝑆
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 𝐵.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com base no resultado do slide anterior, podemos desenhar o seguinte diagrama
para um meio somador (lado esquerdo), o qual pode ser representado também como
um bloco lógico (lado direito).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
2. Somador completo: Circuito utilizado para realizar a soma de números com vários bits. Para isso, ele
realiza a soma entre dois números de um bit e mais um possível carry, conforme a tabela verdade abaixo.
Para encontrarmos as expressões para 𝑆 e 𝑇𝑆 , iremos utilizar o mapa de Karnaugh:
𝑆:
𝑇𝐸 𝐴 𝐵 𝑇𝑆 𝑆 A𝐵
0 0 0 0 0 𝑇𝐸 00 01 11 10
0 0 1 0 1 0 0 1 0 1
0 1 0 0 1 1 1 0 1 0
0 1 1 1 0
1 0 0 0 1 Analisando o mapa de Karnaugh para 𝑆, verificamos que é
um caso que não admite simplificação. Essa mesma situação
1 0 1 1 0 apareceu ao estudarmos o gerador de paridade e, fazendo uma
1 1 0 1 0 analogia com essa outra situação, pode-se concluir que a
expressão para 𝑆 é 𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE
1 1 1 1 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
2. Somador completo: Circuito utilizado para realizar a soma de números com vários bits. Para isso, ele
realiza a soma entre dois números de um bit e mais um possível carry, conforme a tabela verdade abaixo.
Para encontrarmos as expressões para 𝑆 e 𝑇𝑆 , iremos utilizar o mapa de Karnaugh:
𝑇𝑆 :
𝑇𝐸 𝐴 𝐵 𝑇𝑆 𝑆 A𝐵
0 0 0 0 0 𝑇𝐸 00 01 11 10
0 0 1 0 1 0 0 0 1 0
0 1 0 0 1 1 0 1 1 1
0 1 1 1 0
1 0 0 0 1 Analisando o mapa de Karnaugh para 𝑇𝑆 , chegamos à
seguinte expressão:
1 0 1 1 0 𝑇𝑆 = 𝐴𝐵 + 𝐴𝑇𝐸 + 𝐵𝑇𝐸
1 1 0 1 0
1 1 1 1 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com base nos resultados, podemos desenhar o seguinte diagrama para um somador
completo (lado esquerdo), o qual pode ser representado também como um bloco
lógico (lado direito).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• OBS: é possível associar somadores completos para somar dois números com N bits. Nessa associação,
podemos utilizar um meio somador para um bit menos significativo (visto que o LSB não recebe um carry).

• 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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• OBS 2: Podemos construir somadores completos a partir de meio somadores. Para isso, vamos reescrever as
expressões de saída do somador completo:

𝑆 = 𝐴 ⊕ 𝐵 ⊕ 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:

𝑇𝑆 = 𝐴𝐵 𝑇𝐸 + 𝑇𝐸 + 𝐴𝑇𝐸 𝐵 + 𝐵ത + 𝐵𝑇𝐸 𝐴 + 𝐴ҧ

𝑇𝑆 = 𝐴𝐵𝑇𝐸 + 𝐴𝐵𝑇𝐸 + 𝐴𝑇𝐸 𝐵 + 𝐴𝑇𝐸 𝐵ത + 𝐵𝑇𝐸 𝐴 + 𝐵𝑇𝐸 𝐴ҧ

𝑇𝑆 = 𝐴𝐵𝑇𝐸 + 𝐴𝐵𝑇𝐸 + 𝐴𝑇𝐸 𝐵ത + 𝐵𝑇𝐸 𝐴ҧ

𝑇𝑆 = 𝐴𝐵 + 𝑇𝐸 𝐴 ⊕ 𝐵

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com as expressões:

𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE

𝑇𝑆 = 𝐴𝐵 + 𝑇𝐸 𝐴 ⊕ 𝐵

• Capazes de construir um somador completo utilizando apenas dois meio somadores e uma porta OR,
conforme ilustra a figura a seguir:

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
3. Meio subtrator: É um circuito análogo ao meio somador, mas para operação de subtração. Nele, o
“Tranporte de saída” é referente à operação de borrow (pede emprestado). As possíveis operações de subtração
entre dois números de um bit estão descritas abaixo. Perceba: quando temos 0-1, o resultado é 𝑆 = 1 e teremos
pego uma unidade emprestada (𝑇𝑆 = 1)

𝐴 𝐵 𝑇𝑆 𝑆 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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
4. Subtrator completo: Circuito utilizado para realizar a subtração de números com vários bits. Para
isso, ele realiza a subtração entre dois números de um bit e mais um possível borrow, conforme a tabela
verdade abaixo. Para encontrarmos as expressões para 𝑆 e 𝑇𝑆 , iremos utilizar o mapa de Karnaugh:
𝑆:
𝐴 𝐵 𝑇𝐸 𝑇𝑆 𝑆 A𝐵
0 0 0 0 0 𝑇𝐸 00 01 11 10
0 0 1 1 1 0 0 1 0 1
0 1 0 1 1 1 1 0 1 0
0 1 1 1 0
1 0 0 0 1 Analisando o mapa de Karnaugh para 𝑆, verificamos que é
um caso que não admite simplificação, igual ao somador
1 0 1 0 0 completo. Logo, para o subtrator completo, teremos a mesma
1 1 0 0 0 expressão de saída 𝑆 = 𝐴 ⊕ 𝐵 ⊕ TE .
1 1 1 1 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
4. Subtrator completo: Circuito utilizado para realizar a subtração de números com vários bits. Para
isso, ele realiza a subtração entre dois números de um bit e mais um possível borrow, conforme a tabela
verdade abaixo. Para encontrarmos as expressões para 𝑆 e 𝑇𝑆 , iremos utilizar o mapa de Karnaugh:
𝑇𝑆 :
𝐴 𝐵 𝑇𝐸 𝑇𝑆 𝑆 A𝐵
0 0 0 0 0 𝑇𝐸 00 01 11 10
0 0 1 1 1 0 0 1 0 0
0 1 0 1 1 1 1 1 1 0
0 1 1 1 0
1 0 0 0 1 Analisando o mapa de Karnaugh para 𝑇𝑆 , chegamos à
seguinte expressão:
1 0 1 0 0 ҧ + 𝐴𝑇
𝑇𝑆 = 𝐴𝐵 ҧ 𝐸 + 𝐵𝑇𝐸
1 1 0 0 0
1 1 1 1 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Com base nos resultados, podemos desenhar o seguinte diagrama para um subtrator
completo (lado esquerdo), o qual pode ser representado também como um bloco
lógico (lado direito).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• OBS: é possível associar subtratores completos para subtrair um número com N bits de outro. Nessa associação,
podemos utilizar um meio subtrator para um bit menos significativo (visto que o LSB não recebe um borrow).

• 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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• OBS 2: Podemos construir subtratores completos a partir de meio subtratores. Para isso, vamos
reescrever as expressões de saída do subtrator completo:

𝑆 = 𝐴 ⊕ 𝐵 ⊕ 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:

Prof. Alan Sovano


𝑀 𝐴 𝐵 𝑇𝐸 𝑇𝑆 𝑆 CIRCUITOS COMBINACIONAIS ESPECIAIS:
0 0 0 0 0 0 CIRCUITOS ARITMÉTICOS
0 0 0 1 0 1
0 0 1 0 0 1
0 0 1 1 1 0
Somador Completo
0 1 0 0 0 1
0 1 0 1 1 0 5. Somador/Subtrator: Circuito que pode se
0 1 1 0 1 0 comportar como um somador completo ou um
0 1 1 1 1 1
subtrator completo a partir de um sinal de
controle M (modo de operação). Ao lado, temos
1 0 0 0 0 0
a tabela verdade para um somador/subtrator.
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 1 0
Subtrator Completo
1 1 0 0 0 1
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 1 1
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Podemos montar os seguintes mapas de Karnaugh para as saídas 𝑆 e 𝑇𝑆 de um
somador/subtrator: T:
S: S

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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
CIRCUITOS ARITMÉTICOS
• Podemos associar vários blocos do tipo somador/subtrator para realizar soma ou subtração entre
números de N bits, com o resultado possuindo N+1 bits (que pode representar uma casa extra ou um
bit de sinal, a depender do modo de operação do circuito). O diagrama abaixo mostra a ligação para
realizar a soma ou subtração entre dois números de 4 bits utilizando apenas somadores/subtratores.
Repare que o bloco referente ao LSB tem a entrada 𝑇𝐸 = 0 (ele não recebe o transporte de uma
entrada anterior, logo, fazemos seu valor igual a zero).

Prof. Alan Sovano


𝐴1 𝐴0 𝐵1 𝐵0 𝑆0 𝑆1 𝑆2 CIRCUITOS COMBINACIONAIS ESPECIAIS:
0 0 0 0 1 0 0 COMPARADORES
0 0 0 1 0 0 1
0 0 1 0 0 0 1 • O próximo circuito que vamos estudar são os
comparadores. Eles são circuitos que verificam se
0 0 1 1 0 0 1
dois números binários positivos obedecem à
0 1 0 0 0 1 0 condição A=B (igualdade), A>B ou A<B
0 1 0 1 1 0 0
(desigualdades). Quando avaliamos se A>B ou A<B,
o comparador também é chamado de comparador
0 1 1 0 0 0 1 de magnitude.
0 1 1 1 0 0 1
1 0 0 0 0 1 0 • Vamos considerar, para um estudo inicial, dois
números de dois bits: A = A1A0 e B = B1B0. Um
1 0 0 1 0 1 0 comparador, então, deve gerar a tabela verdade ao
1 0 1 0 1 0 0 lado, onde 𝑆0 representa A=B, 𝑆1 representa A>B e
1 0 1 1 0 0 1
𝑆2 representa A<B:
1 1 0 0 0 1 0
1 1 0 1 0 1 0
1 1 1 0 0 1 0
1 1 1 1 1 0 0
Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Caso 1 – Igualdade (A=B): para essa situação, referente a saída 𝑆0 da tabela verdade
anterior, temos o seguinte mapa de Karnaugh:
S0:
B1B0
A1A0 00 01 11 10
00 1 0 0 0
01 0 1 0 0
11 0 0 1 0
10 0 0 0 1

𝑆 = 𝐴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

• Podemos generalizar a expressão para o comparador de igualdade. Considere que


vamos compara dois números de N bits. Então:

𝑺 = 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 ⋅ 𝑨𝑵−𝟐 ⊙ 𝑩𝑵−𝟐 ⋅ … ⋅ 𝑨𝟐 ⊙ 𝑩𝟐 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏 ⋅ 𝑨𝟎 ⊙ 𝑩𝟎

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Caso 2 – Desigualdade (A>B): para essa situação, referente a saída 𝑆1 da tabela verdade
anterior, temos o seguinte mapa de Karnaugh:
S0:
B1B0
A1A0 00 01 11 10
00 0 0 0 0
01 1 0 0 0
11 1 1 0 1
10 1 1 0 0

𝑆1 = 𝐴1 ⋅ 𝐵1 + 𝐴0 ⋅ 𝐵1 ⋅ 𝐵0 + 𝐴1 ⋅ 𝐴0 ⋅ 𝐵0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• O resultado encontrado pelo mapa de Karnaugh, apesar de simples, não está em uma forma que podemos generalizar.

• 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

𝑺𝟏 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Podemos utilizar a expressão anterior para construir um circuito comparador que
verifica se A>B:

𝐴1

𝐵1

𝑺𝟏 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴0

𝐵0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Podemos generalizar o resultado obtido para dois números de N bits, onde queremos
verificar se A>B:

𝑺 = 𝑨𝑵−𝟏 ⋅ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟐 ⋅ 𝑩𝑵−𝟐 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟑 ⋅ 𝑩𝑵−𝟑 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 ⋅ 𝑨𝑵−𝟐 ⊙ 𝑩𝑵−𝟐 + ⋯

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Caso 3 – Desigualdade (A<B): Por analogia com o caso II (verificar se A<B é o mesmo
que verificar se B>A), temos que:

𝑺𝟐 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏

𝐴1

𝐵1

𝑺𝟐 = 𝑨𝟏 ⋅ 𝑩𝟏 + 𝑨𝟎 ⋅ 𝑩𝟎 ⋅ 𝑨𝟏 ⊙ 𝑩𝟏
𝐴0

𝐵0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Podemos generalizar o resultado obtido para dois números de N bits, onde queremos
verificar se A<B:

𝑺 = 𝑨𝑵−𝟏 ⋅ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟐 ⋅ 𝑩𝑵−𝟐 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 + 𝑨𝑵−𝟑 ⋅ 𝑩𝑵−𝟑 ⋅ 𝑨𝑵−𝟏 ⊙ 𝑩𝑵−𝟏 ⋅ 𝑨𝑵−𝟐 ⊙ 𝑩𝑵−𝟐 + ⋯

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Considerando nosso caso exemplo para um comparador cujas entradas são dois números
de dois bits, teremos o seguinte circuito completo:
𝐵0 𝐴0 𝐵1 𝐴1

𝑆0 (𝐴 = 𝐵)

𝑆1 (𝐴 > 𝐵)

𝑆2 (𝐴 < 𝐵)

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
COMPARADORES
• Ainda sobre comparadores, temos o seguinte diagrama de bloco que representa este
circuito (aqui representado com 8 entradas, referentes a 2 números de 4 bits):

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Os próximos circuitos combinacionais que vamos estudar são os multiplexadores e os
demultiplexadores.

• Antes de falarmos deles, iremos discutir, brevemente, um circuito chamado de gerador de


produtos canônicos, o qual pode ser utilizado na construção dos multiplexadores e dos
demultiplexadores.

• Com 𝑁 variáveis de entrada somos capazes de escrever 2𝑁 produtos canônicos, isto é,


produtos que apresentam todas as variáveis de entrada de uma determinada tabela verdade
(com as variáveis estando barradas individualmente ou não).

• 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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Abaixo, temos a tabela verdade para um gerador de produtos canônicos com N = 3. Cada
produto canônico irá ativar uma (e somente uma) saída. Teremos 2N = 8 saídas.

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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
𝐶𝐵𝐴
• Ao lado, temos o circuito para o gerador de
produtos canônicos cuja tabela verdade foi
𝑆0 = 𝐴ҧ𝐵ത 𝐶ҧ apresentada no slide anterior.
𝑆1 = 𝐴ҧ𝐵𝐶

• Perceba: as entradas das portas AND são
ҧ 𝐶ҧ
𝑆2 = 𝐴𝐵 barradas de forma sistemática, de acordo com
o produto canônico correspondente.
ҧ
𝑆3 = 𝐴𝐵𝐶

𝑆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.

• A multiplexação consiste na operação de compartilhamento de um canal de comunicação. Esta


operação é necessária quando houver mais de uma fonte de dados. O conceito básico desta operação
é o chaveamento da entrada de acesso ao meio entre as diversas fontes, permitindo a passagem de
apenas um dos sinais por vez.

(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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• A tabela verdade para um MUX pode ser construída da forma demonstrada abaixo (tabela à
esquerda). Do lado direito, temos o circuito lógico do MUX em questão.

𝐵𝐴

𝐷0
𝐴 𝐵 𝑆
0 0 𝐷0 𝐷1
𝑆
0 1 𝐷1
𝐷2
1 0 𝐷2
1 1 𝐷3 𝐷3

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Aqui, temos um circuito alternativo para um MUX. Na tabela à esquerda, é descrita a tabela
verdade de um MUX com uma entrada de habilitação ou de enable (uma entrada opcional).
Do lado direito, temos o circuito lógico de um MUX com enable.

𝐸𝐵𝐴

𝐴 𝐵 𝐸 (enable) 𝑆 𝐷0
0 0 1 𝐷0
𝐷1
0 1 1 𝐷1 𝑆
1 0 1 𝐷2 𝐷2
1 1 1 𝐷3
𝐷3
𝑋 𝑋 0 0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES

• Um multiplexador pode sempre ser


construído com o auxílio de um
gerador de produtos canônicos.

• Na figura ao lado, A, B, C, ..., Z


são os bits de seleção, enquanto I0,
I1, I2, ..., IN-1 são as entradas de
dados.

• Os valores P0, P1, P2, ..., PN-1 são


os produtos canônicos gerados
para que a multiplexação seja
realizada. S é a saída do MUX.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Para exemplificar, vamos construir um MUX com 4 canais de entrada e 2 bits de seleção
utilizando um gerador de produtos canônicos.

(Gerador de produtos canônicos)


𝐴𝐵

ഥ𝑩
𝑨 ഥ

𝐷0 ഥ𝑩
𝑨
𝐷1 𝑆

𝑨𝑩
𝐷2
𝑨𝑩
𝐷3

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Outro tópico importante relacionado aos MUX é que podemos fazer associações para gerar um
MUX de maior capacidade. Abaixo, temos uma associação de 2 MUX 4x1 com um MUX 2x1 para
fazer um MUX 8x1.

𝐷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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• A tabela verdade para um DEMUX pode ser construída da forma demonstrada abaixo (tabela
à esquerda). Do lado direito, temos o circuito lógico do DEMUX em questão.

𝐷 𝐵𝐴

𝐴 𝐵 𝑆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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Aqui, temos um circuito alternativo para um DEMUX. Na tabela à esquerda, é descrita a tabela
verdade de um DEMUX com uma entrada de habilitação ou de enable (uma entrada opcional). Do
lado direito, temos o circuito lógico de um DEMUX com enable.

𝐷 𝐸𝐵𝐴

𝐸 𝐴 𝐵 𝑆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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS
ESPECIAIS: MULTIPLEXADORES E
DEMULTIPLEXADORES
• Um demultiplexador pode sempre ser
construído com o auxílio de um gerador
de produtos canônicos.

• Na figura ao lado, A, B, C, ..., Z são os bits


de seleção, enquanto I0, I1, I2, ..., IN-1 são as
saídas de dados.

• Os valores P0, P1, P2, ..., PN-1 são os


produtos canônicos gerados para que a
multiplexação seja realizada. E é a entrada
do MUX.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Para exemplificar, vamos construir um DEMUX com 4 canais de saída e 2 bits de seleção
utilizando um gerador de produtos canônicos.

(Gerador de produtos canônicos)


𝐴𝐵

ഥ𝑩
𝑨 ഥ
𝐷 𝑆0
ഥ𝑩
𝑨
𝑆1

𝑨𝑩
𝑆2
𝑨𝑩
𝑆3

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS ESPECIAIS:
MULTIPLEXADORES E DEMULTIPLEXADORES
• Outro tópico importante relacionado aos DEMUX é que podemos fazer associações para gerar um
DEMUX de maior capacidade. Abaixo, temos uma associação de 2 DEMUX 1x4 com um DEMUX
1x2 para fazer um DEMUX 1x8.

𝑆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.

Prof. Alan Sovano


MODULARIDADE DOS
CIRCUITOS COMBINACIONAIS
• Como vimos, é possível utilizar portas lógicas para montar circuitos especiais que, por sua vez, podem ser
combinados em circuitos maiores e assim sucessivamente, formando uma hierarquia de estruturas. Essa
propriedade é chamada de modularidade, sendo um conceito amplamente utilizado na eletrônica do ponto
de vista prático. Quando associamos multiplexadores, demultiplexadores, somadores completos, subtratores
completos, entre outros, estamos utilizando esse princípio.

• 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!

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01:
Um display de 7 segmentos é um indicador visual formado por um conjunto de 7 LED’s, os quais podem ser utilizados
para representar qualquer dígito decimal. Projete um circuito capaz de, dado um código Gray de 3 bits, converter o
respectivo número para um decimal no display de 7 segmentos. Considere que o display de 7 segmentos é do tipo catodo
comum, ou seja, seus LED’s acendem quando recebem o nível lógico 1 (ao contrário do tipo anodo comum, no qual os
LED’s acendem quando o nível lógico é igual a 0).

Decimal Código Gray Display de 7 segmentos


Dígito G2 G1 G0 a b c d e f g
0 0 0 0
1 0 0 1
2 0 1 1
3 0 1 0
4 1 1 0
5 1 1 1
6 1 0 1
7 1 0 0 Prof. Alan Sovano
CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01 (solução):

Decimal Código Gray Display de 7 segmentos


Dígito G2 G1 G0 a b c d e f g
0 0 0 0 1 1 1 1 1 1 0
1 0 0 1 0 1 1 0 0 0 0
2 0 1 1 1 1 0 1 1 0 1
3 0 1 0 1 1 1 1 0 0 1
4 1 1 0 0 1 1 0 0 1 1
5 1 1 1 1 0 1 1 0 1 1
6 1 0 1 1 0 1 1 1 1 1
7 1 0 0 1 1 1 0 0 0 0

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01 (solução):

𝑎:
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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01 (solução):

𝑐:
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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01 (solução):

𝑒:
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

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 01 (solução):

𝑔:
G1 G0
𝐺2 00 01 11 10
𝑔 = 𝐺1 + 𝐺2 ⋅ 𝐺0
0 0 0 1 1
1 0 1 1 1

De posse de todas as expressões de saía do decodificador, podemos construir o circuito final:

Prof. Alan Sovano


𝐺0 𝐺1 𝐺2

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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 02:

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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 02 (solução):

(a) Construa um gerador de paridade par para 3 bits e escreva sua expressão booleana.

𝐴
𝐴
𝑆 = 𝐴⨁𝐵⨁𝐶
𝐵 Gerador de Paridade´
𝐵
𝐶 Par
𝑆 = 𝐴⨁𝐵⨁𝐶
𝐶

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 02 (solução):

(b) Construa um gerador de paridade par para 5 bits utilizando 2 geradores de paridade par para 3 bits.

Gerador de Paridade´ 𝑆1 = 𝐴⨁𝐵⨁𝐶


𝐵
Par
𝑆 = 𝐴⨁𝐵⨁𝐶⨁𝐷⨁𝐸
𝐶 𝐷 Gerador de Paridade´
Par

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 02 (solução):
(c) Construa um gerador de paridade ímpar de 5 bits utilizando 2 geradores de paridade par para 3 bits e 1 porta
lógica.

Gerador de Paridade´ 𝑆1 = 𝐴⨁𝐵⨁𝐶


𝐵
Par
𝑆 = 𝐴⨁𝐵⨁𝐶⨁𝐷⨁𝐸

𝐶 𝐷 Gerador de Paridade´
Par
𝑆 = 𝐴⨁𝐵⨁𝐶⨁𝐷⨁𝐸
𝐸

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 03: Utilizando somente blocos do tipo somador completo, faça o que se pede:

(a) Construa um circuito para somar dois números A3A2A1A0 e B3B2B1B0.

(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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 03 (solução):

(a) Construa um circuito para somar dois números A3A2A1A0 e B3B2B1B0.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 03 (solução):

(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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 03 (solução):

(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).

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 03 (solução):

(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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 04:

(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.

(c) Escreva as expressões de saída do bloco aritmético utilizado.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 04 (solução):
(a) Como somente no caso A<B ocorre uma soma, basta que, quando A<B, o sinal de controle M dos
somadores/subtratores seja 0. Em todos os outros casos, ele deve ser 1. Através dessa análise direta,
podemos montar o circuito:

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 04 (solução):

(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.

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 05 (solução):

(a)

Output

Prof. Alan Sovano


CIRCUITOS COMBINACIONAIS: EXERCÍCIOS
Exercício 05 (solução):

(b)

Prof. Alan Sovano


OBRIGADO PELA ATENÇÃO!

Dúvidas ou sugestões?

sovano@ufpa.br

Prof. Alan Sovano

Você também pode gostar