Buscar

Apostila de Sistemas Lógicos e Digitais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 70 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE DE FORTALEZA
APOSTILA DE SISTEMAS LÓGICOS E DIGITAIS
MONITORES: RUDDY PAZ PERSIVO CUNHA
VICTOR HUGO
CARLOS RENATO
ORIENTADOR: LÚCIO GUIMARÃES
FORTALEZA 2006.2
INTRODUÇÃO
Compilando alguns conceitos, definições e exemplos do livro ELEMENTOS DA
ELETRÔNICA DIGITAL, 6ª edição, dos autores Ivan V. Idoeta e Francisco Gabriel Capuano,
esta apostila tem por intuito facilitar o estudo da disciplina SISTEMAS LÓGICOS E DIGITAIS
e, sem querer substituir a referida obra, tenta condensar os ensinamentos ali transmitidos de
modo a, aproveitando-se de sua didática simples e objetiva, dos exemplos resolvidos e dos
exercícios propostos no final dos tópicos, permitir uma visão abrangente de todo o trabalho
dos citados autores. 
E se a leitura da apostila não dispensa a utilização do livro para um reforço do
aprendizado, ela, porém, permite que se tenha, em poucas páginas, uma visão sistêmica da
disciplinam o que facilita sua compreensão.
ÍNDICE
CAPÍTULO 01 – SISTEMA DE NUMERAÇÃO
1.1 – Sistema Binário de Numeração....................................................................................
1.1.1 – Conversão do Sistema Binário para o Sistema Decimal.................................
1.1.2 – Converção do Sistema Decimal para o Sistema Binário.................................
1.1.3 – Conversão de Números Binários Fracionários em Decimais..........................
1.1.4 – Conversão de Números Decimais Fracionários em Binários..........................
1.2 – Sistema Octal...............................................................................................................
1.2.1 – Conversão do Sistema Octal para Sistema Decimal...........................................
1.2.2 – Conversão do Sistema Decimal para Sistema Octal......................................
1.2.3 – Conversão do Sistema Octal para o Sistema Binário.....................................
1.2.4 – Conversão do Sistema Binário para o Sistema Octal.....................................
1.3 – Sistema de Numeração Hexadecimal..........................................................................
1.3.1 – Conversão do Sistema Hexadecimal para o Sistema Decimal.......................
1.3.2 – Conversão do Sistema Decimal para o Sistema Hexadecimal.......................
1.3.3 – Conversão do Sistema Hexadecimal para o Sistema Binário.........................
1.3.4 – Conversão do Sistema Binário oara o Sistema Hexadecimal.........................
1.4 – Operações Aritméticas no Sistema Binário..................................................................
1.4.1 – Adição no Sistema Binário..............................................................................
1.4.2 – Subtração no Sistema Binário.........................................................................
1.4.3 – Multiplicação no Sistema Binário....................................................................
1.4.4 – Divisão do Sistema Binário.............................................................................
1.4.5 – Complemento 2...............................................................................................
1.4.5.1 – Utilização do Complemento 2 em Operações Aritméticas................
CAPÍTULO 02 – FUNÇÕES E PORTAS LÓGICAS..............................................................
2.1 – Funções Lógicas AND, OR, NOT, NAND e NOR.........................................................
2.1.1 – Função AND....................................................................................................
2.1.2 – Função OR......................................................................................................
2.1.3 – Função NOT....................................................................................................
2.1.4 – Função NAND.................................................................................................
2.1.5 – Função NOR...................................................................................................
2.2 – Expressões Booleanas Obtidas de Circuitos Lógicos...................................................
2.3 – Circuitos Obtidos de Expressões Booleanas................................................................
2.4 – Tabelas Verdade Obtidas de Expressões Booleanas..................................................
2.5 – Expressões Booleanas Obtidas de Tabelas Verdade..................................................
2.6 – Blocos Lógicos OU EXCLUSIVO e COINCIDÊNCIA....................................................
2.6.1 – Bloco OU EXCLUSIVO...................................................................................
2.6.2 – Bloco COINCIDÊNCIA....................................................................................
01
01
02
02
02
03
04
04
05
05
06
06
07
07
09
09
10
10
11
12
15
04
15
15
16
16
17
17
18
19
20
21
22
24
24
25
CAPÍTULO 03 – ÁLGEBRA DE BOOLE E MAPA DE VEICTH-KARNAUGH......................
3.1 – Variáveis e Expressões na Álgebra de Boole...............................................................
3.2 – Simplificação de Expressões Booleanas......................................................................
3.3 – Simplificação de Expressões Booleanas através dos Diagramas de 
 Veicth-Karnaugh........................................................................................................................
3.3.1 – Diagrama de Veicth-Karnaugh para 2 variáveis.............................................. 
3.3.2 – Diagrama de Veicth-Katnaugh para 3 variáveis..............................................
3.3.3 – Diagrama de Veicth-Katnaugh para 4 variáveis..............................................
3.3.4 – Diagramação com Condições Irrelevantes.....................................................
3.3.5 – Casos que Não Admitem Simplificação..........................................................
3.3.6 – Outra Forma de Apresentação do Diagrama de Veicth-Karnaugh.................
CAPÍTULO 04 – CIRCUITOS ARITMÉTICOS......................................................................
4.1 – Meio Somador..............................................................................................................
4.2 – Somador Completo......................................................................................................
4.3 – Meio Subtrator..............................................................................................................
4.4 – Subtrator Completo......................................................................................................
4.5 – Somador/Subtrator Completo.......................................................................................
CAPÍTULO 05 – CIRCUITOS COMBINACIONAIS(PROJETO)...........................................
5.1 – Projetos de Circuitos Combinacionais..........................................................................
5.1.1 – Circuitos com 2 variáveis................................................................................
5.1.2 – Circuitos com 3 variáveis................................................................................
5.1.3 – Circuitos com 4 variáveis................................................................................
BIBLIOGRAFIA.....................................................................................................................
26
26
27
29
29
33
37
43
45
47
48
48
49
51
52
54
57
57
57
60
63
66
1 - SISTEMA DE NUMERAÇÃO
Existem vários sistemas númericos, dentre os quais se destacam: o sistema decimal,
o binário, o octal e o hexadecimal.
1.1 Sistema Binário de Numeração
No sistema binário de numeração, existem apenas 2 algarismos:
– o algarismo 0 (zero) e
– o algarismo 1 (um)
Nosistema decimal, nós não possuímos o algarismo dez e representamos a
quantidade de uma dezena 1 seguido do algarismo 0.
No sistema binário, agimos da mesma forma. Para representamos a quantidade dois,
utilizamos o algarismo 1 seguido do algarismo 0. O algarismo 1 significará que temos um
grupo de dois elementos e o 0 um grupo de nenhuma unidade, representando o número
dois. 
– Cada dígito do sistema binário recebe a denominação de bit(binary digit)
– Um conjunto de 8 bits é denominado de byte.
1.1.1 Conversão do Sistema Binário para o Sistema Decimal
Do binário para o decimal basta multiplicar o(s) digito(s) binário(s) por dois elevado ao
expoente de posição e depois soma-los.
Ex.: (1101)2
 1 1 0 1
1 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2°
 8 + 4 + 0 + 1 = 13
Note que a posição do expoente do 2, começa do bit menos significativo.
Exercícios:
1. Converta para o sistema decimal:
a.(11001)2 d.(11011)2
b.(01101)2 e.(00111)2
c.(11010)2 f.(10001)2
01
DECIMAL BINÁRIO
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
1.1.2 Conversão do Sistema Decimal para o Sistema Binário
Do decimal para o binário basta dividir o número por 2 e quando não der mais para
dividir, pega o número do último quociente, último resto até o primeiro resto.
Ex.: 5910
59 |_2___
 1 29 |_2____
1 14 |_2_____
 0 7 |_2______
 1 3 |_2_____
 1 1 Resposta: (111011)2 
Perceba que o número binário começa do meu ultimo quociente e termina no meu
primeiro resto.
Exercícios:
1. Converta para o sistema binário:
a) 12010 d) 89610
b) 55910 e) 26510
c) 8510 f) 6710
1.1.3 Conversão de Números Binários Fracionários em Decimais
Até agora só estudamos números inteiros. Agora vamos estudar com fracionários.
A conversão de fracionários binários para decimais é simples, basta imaginar que a
vírgula é o ponto neutro e a direita dela, é a posição 0 depois a 1 e assim em diante, e a
esquerda, é a posição -1 depois a -2 e assim sucessivamente. Para clarearmos está idéia,
vejamos o exemplo:
Ex.: (101,11)2
 1 0 1 , 1 1 
1 x 2² + 0 x 2¹ + 1 x 2° , 1 x 2-1 + 1 x 2-2 
 4 + 0 + 1 , ½(0.5) + ¼(0.25) = 5,75
Exercícios:
1. Converta o número binário (1101,01)2 em decimal.
2. Converta o número binário (111,111)2 em decimal.
1.1.4 Conversão de Números Decimais Fracionários em Binários
A conversão de decimal fracionário para binário basta dividir a parte inteira por 2, até
quando for possível, e pegar o último quociente, o último resto, até o primeiro resto, como já
vimos. A parte fracionária multiplicamos por 2 e o número depois da vírgula coloca no resto
do número binário. Vejamos o exemplo para melhor enterdermos:
02
Ex.: Converta o número 23,8510 para binário com 8 casas fracionárias.
23 |_2____
 1 11 |_2____
 1 5 |_2____
 1 2 |_2____
 0 1 
0,85 0,70 0,40 0,80 0,60 0,20 0,40 0,80
x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2
1,70 1,40 0,80 1,60 1,20 0,40 0,80 1,60
Resposta: (10111,11011001)2
Note que parte fracionária, multiplicamos por 2 e quando o resultado é igual a 1,_
_ retiramos o 1 o colocamos no número binário e quando vamos multiplicar novamente
fazemos agora com 0,_ _.
Exercícios:
1. Converta o número 31,79 em binário com 5 casas fracionárias.
2. Converta o número 57,25 em binário.
1.2 Sistema Octal de Numeração
O sistema octal de numeração é um sistema de base 8 no qual existem 8 algarismos
assim enumerados: 0,1,2,3,4,5, e 7.
Atualmente o sistema octal é pouco utilizado, tratando-se apenas um sistema
númerico intermediário dos sistemas binário e hexadecimal.
A tabela abaixo mostra a sequência de numeração do sistema octal até a quantidade
dezesseis.
03
DECIMAL OCTAL
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12
11 13
12 14
13 15
14 16
15 17
16 20
1.2.1 Conversão do Sistema Octal para Sistema Decimal
A conversão do sistema octal para o decimal, basta multiplicar cada algarismo por
oito elevado ao expoente de sua posição.
Ex.: 1448
 1 4 4 
1 x 8² + 4 x 8¹ + 4 x 8° = 10010
Perceba que é mto parecido com a forma de conversão binária para o decimal.
1.2.2 Conversão do Sistema Decimal para Sistema Octal
O processo é parecido com a conversão do sistema decimal para o binário, só que
nesse caso dividimos o número por 8.
Ex.:6410
64 |_8___
 0 8 |_8___
 0 1 Resposta: 1008
Exercícios:
1. Converta o número 8510 em octal.
2. Converta o número 27810 em octal.
3. Converta o número 81910 em octal.
1.2.3 Conversão do Sistema Octal para o Sistema Binário
Transforma cada dígito em seu correspondente binário de 3 dígitos. O número 518
servirá como exemplo.
Ex.: 518
 5 1
101 001 
Resposta: (101001)2
Exercícios:
1. Converta os seguintes números octais em binários.
a) 478
b) 2568
c) 15328
04
1.2.4 Conversão do Sistema Binário para o Sistema Octal
Agrupa-se de 3 em 3 bits os números binários da direita para a esquerda. Veja o
exemplo:
Ex.: 110018
011 001
 3 1
Resposta: 318
Exercícios:
1. Converta os seguintes números binários para o sistema octal.
a) 1111008
b) 11118
c) 101010108
1.3 Sistema de Numeração Hexadecimal
O Sistema hexadecimal possui 16 algarismo, sendo a sua base igual a 16. Os
algarismos são assim enumerados: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Note que a letra A representa o algarismo A, que por sua vez representa a
quantidade dez. A letra B representa o algarismo B, que reprenta a quantidade onze, e
assim continua até a letra F, que representa quinze.
A tabela abaixo mostra a sequência de numeração do sistema hexadecimal até a
quantidade vinte.
05
DECIMAL HEXADECIMAL
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10
17 11
18 12
19 13
20 14
Esse sistema é muito utilizado na área dos microprocessadores e também no
mapeamento de memórias em sistemas digitais, tratando-se de um sistema númerico
importante, sendo aplicado em projetos de software e hardware. 
1.3.1 Conversão do Sistema Hexadecimal para o Sistema Decimal
O processo é semelhante à de outros sistemas, somente neste caso, a base é 16.
Vamos utilizar o número 5E16 como exemplo.
Ex.: (5E)16
 5 E
5 x 16¹ + E x 16º = 
O número E16 = 1410 substituindo:
 5 E
5 x 16¹ + 14 x 16º => 80 + 14 = (94)10
Exercícios:
1. Converta para decimal:
a) (B17)16
b) (345)16
c) (2CA9)16 
1.3.2 Conversão do Sistema Decimal para o Sistema Hexadecimal
A conversão é feita apartir de sucessivas divisões pela base 16 até quando for
possível, depois pegamos o último quociente, último resto até o primeiro resto. Vamos
transforma o número 78910 para hexadecimal, para exemplificar.
Ex.: 78910
789 |_16____
 5 49 |_16____
 1 3 Resposta: (315)16
Exercícios:
1. Converta para o sistema hexadecimal:
a) (129)10
b) (415)10
c) (4002)10
06
1.3.2 Conversão do Sistema Hexadecimal para o Sistema Binário
A conversão é semelhante ao do sistema octal para o binário, somente que, neste
caso necessita-se de 4 bits para reprensentar cada algarismo hexadecimal, pois 24 = 16, na
qual 16 é a base do sistema hexadecimal.
O número B1616 para o sistema binário:
Ex.: (B16)16
B é igual a 11 no sistema decimal e 11 em binário é 1011.
1 é 0001.
6 é 0110 .
 B 1 6
1011 0001 0110 Resposta: B1616 = (101100010110)2
Agorase o número fosse fracionário, como faríamos a conversão?
Vamos usar o número C25,A216 como exemplo.
Ex.: (C25,A4)16
A parte inteira: A parte fracionária
C é 1100. A é igual 1010.
2 é 0010. 4 é igual 0100.
5 é 0101. Resposta: (110000100101,10100100)2
Note que o sistema hexadecimal simplifica muito os números binários.
Exercícios:
1. Converta para o sistema binário:
a) (2FA)16
b) (1BC)16
c) (A21)16
1.3.3 Conversão do Sistema Binário para o Sistema Hexadecimal
Semelhante à conversão do sistema binário para o octal, a diferença é que
agrupamos de 4 em 4 bits da direita para a esquerda.
Ex.: (10001010)2
1000 = 816
1010 = A16
1000 1010
 8 A = (8A)16
07
Quando não der para agrupar em 4 em 4 bits, colocamos zero a esquerda do
número. Veja o exemplo:
Ex.: (110010)2
11 0100 – Perceba que possuímos um grupo de 4 bits e outro de 2, quando um caso 
 deste ocorrer, colocamos zero a esquerda até formar um grupo de 4 bits.
0011 0100
0011 = 316
0100 = 416
Então o número (110010)2 é em hexadecimal (36)16.
Para converter números binários fracionários para o sistema hexadecimal, basta
imaginar que a vírgula é o ponto de partida e que apartir dela que agrupamos de 4 em 4
bits. Veja o exemplo:
Ex.: (11111,1)2
0001 1111 , 1000 
0001 = 116
1111 = F16
1000 = 816
Então o número (11111,1)2 é em hexadecimal (1F,8)16.
Perceba que quando não conseguimos agrupar de 4 em 4 bits, a esquerda da vírgula
colocamos zero no início do número e a direita da vírgula colocamos zero no fim do número.
Exercícios:
1. Converta para o sistema hexadecimal
a) (1010110)2
b) (111110100001)2
c) (10001,101011)2
08
1.4 Operações Aritméticas no Sistema Binário
Operações aritméticas em binário é muito importante pois estas serão utilizados em
circuitos aritméticos, que será visto posteriormente.
 1.4.1 Adição no Sistema Binário
Devemos somar da mesma forma que no sistema decimal, lembrando que no sistema
binário, possuí somente 2 algarismos.
 0 0 1 1
 + 0 + 1 + 0 + 1
 0 1 1 10
Note que 1 + 1 = 102, já que no sistema binário 102 é igual a 2 no sistema decimal.
Pela regra de transporte para a próxima coluna, 1 + 1 = 0 e “vai um” para a próxima
coluna.
Este tranporte é chamado carry.
Para exemplificar somaremos os números (11)2 e (10)2.
 1
3 ====> 11
 + 2 ====> + 10
 5 ====> 101
Perceba que quando somamos (1 + 1) o resultado é zero e vai um para a próxima
coluna.
Vamos usar outro exemplo, agora os números serão (101)2 e (1101)2.
 1 1 1 1
 7 ====> 111
 + 13 ====> + 1101
 20 ====> 10100
Na adição de binário, é aconselhável a soma ser feita em 2 e 2 bits. Veja o caso da
coluna 3, onde está 1 + 1 + 1. Primeiramente somamos (1 + 1) na qual o valor é zero e “vai
um”, depois de levarmos o 1 para a próxima coluna somamos agora o (0 + 1) na qual a
resposta é 1. Veja o passo-a-passo logo abaixo da operação feita na terceira coluna.
1. Soma-se 1 + 1 = 0 e vai um.
2. Soma agora o 1 restante com o resultado anterior, ou seja, 0 + 1 = 1. 
Exercícios:
1. Efetue as operações no sistema binário:
a) (11101)2 + (1010)2 c) (1010)2 + (1010)2
b) (1011)2 + (1111)2
09
1.4.2 Subtração no Sistema Binário
De forma semelhante a uma subtração no sistema decimal, mas somente com dois
algarismos.
 0 0 1 1
 - 0 - 1 - 0 - 1
 0 1 1 0
Note que 0 - 1 = 12, porém “vai um” para a próxima coluna, subtraindo do minuendo.
Usaremos os números (11)2 e (10)2 como exemplo.
3 ====> 11
 - 2 ====> - 10
 1 ====> 01
Vamos agora a outro exemplo, os números agora são (1101)2 e (111)2.
 8 ====> 1000
- 7 ====> - 111
 ___ 1 1 1 
 1 ====> 0001
Veja que agora o 1 vai para debaixo do número, agora não mais em cima.
Exercícios:
1. Efetue as operações no sistema binário.
a) (10101)2 – (1000)2 c) (11000)2 – (101)2
b) (1111)2 – (111)2
1.4.3 Multiplicação no Sistema Binário
Da mesma forma que a multiplicação do sistema decimal. Veja:
0 x 0 = 0 1 x 0 = 0
0 x 1 = 0 1 x 1 = 1
Ex.: (1111)2 x (100)2
 15 =====> 1111
x 4 =====> x 100 
 0000
0000
 1111 
 60 ====> 111100
10
Exercícios:
1. Efetue as multiplicações no sistema binário.
a) (1000)2 x (10)2
b) (111)2 x (111)2
c) (10100)2 x (101)2
1.4.4 Divisão no Sistema Binário
A divisão é a mais complexa das operações aritméticas binárias, pois abrange
operações de multiplicação e de subtração. Por isso devemos lhe dar uma maior atenção.
A divisão é feita da seguinte forma:
Vamos usar como exemplo a divisão de (110001)2 por (111)2. 
1. Inicialmente, o processo é igual ao da divisão decimal: verifica-se se o dividendo é
maior ou igual ao divisor e, caso não seja, coloca-se tantos zeros no quociente (e o
mesmo número à direita do dividendo), até que o dividendo se torne maior ou igual
ao divisor.
2. O próximo passo é subtrair o dividendo pelo divisor pelo número de casas deste,
caso seja maior o divisor, avança uma casa a direita, veja o exemplo criado abaixo.
Ex.: 110001 |_111____
 111 1
Note que deveríamos colocar 111 no início do dividendo, mas perceba que 110 é
menor que 111, por isso avançamos mais uma casa. E iremos subtrair 111 de 1100.
Ex.: 110001 |_111____
 - 111 1
 0101
Agora pegamos um dígito e descemos até o resto no nosso exemplo ficará 1010, e
como é maior que o divisor, colocamos um no quociente e subtraimos 1010 por 111.
Ex.: 110001 |_111____
 - 111 11
 01010 
 - 111
 11
Descemos agora o último digito do dividendo até o resto e subtraimos pelo divisor.
Ex.: 110001 |_111____
 - 111 111
 01010 
 - 111
 111
 - 111
 000 Resposta: (111)2
11
Vamos agora a um outro exemplo para esclarecer melhor a divisão, vamos dividir
(10100)2 por (100)2.
Ex.: 10100 |_100___
 -100 1
 001
Veja que (101)2 é maior que (100)2 por isso subtraímos no início do dividendo. O
próximo passo é descer o próximo dígito do dividendo até o resto.
Ex.: 10100 |_100___
 -100 10
 0010
Como o resto é menor que o divisor colocamos um zero no quociente e depois
descemos o próximo dígito do dividendo até o resto.
Ex.: 10100 |_100___
 -100 101
 00100
 -100
 000 Resposta: (101)2
Exercícios:
1. Faça as divisões no sistema binário.
a) (11001)2 por (101)2
b) (100100)2 por (111)2 com 8 casas fracionárias
c) (1111)2 por (11)2
1.4.5 Complemento 2
Representam-se positivos e negativos pelos sinais “+” e “-” respectivamente, mas na
prática, em hardware dos sistemas digitais que realizam operações aritméticas, tudo deve
ser codificado em 0 ou 1.
Um maneira de denominar se um número é positivo ou negativo é acrescentando 0
ou 1 à esquerda do MSB (algarismo mais significativo). Se o número for positivo coloca-se 0
se não coloca 1.
Vamos exemplificar usando o complemento 2 do número (54)10.
Ex.: O número binário de 5410 é (110110)2
Então o + 5410 = (0110110)2 
Para um número se tornar positivo basta achar o seu binário correspondente e
acrescentar um zero antes do MSB.
12
Agora, para achar seu negativo, tem que fazer os seguintes passos:
1. Achar o positivo do número.
2. Inverter bit a bit.
3. Somar mais um.
Veja o exemplo a seguir usando o número (54)10
1. Sabemos que o positivo do número é (0110110)2
2. Depois invertermos bit a bit.
0 1 1 0 1 10
1 0 0 1 0 0 1
3. Agora somamos o número invertido bit a bit com 1.
 7 ====> 1 0 0 1 0 0 1
 + 13 ====> + dddd 1 
 20 ====> 1 0 0 1 0 1 0
Então o – 5410 é (1001010)2
Note que começa com 1 indicando que é negativo.
Para o número negativo voltar para o que era, é simples, basta inverter o número bit a
bit e somar com 1. Peguemos o – 54 para voltar a 54.
- 54 = 1 0 0 1 0 1 0
 
 0 1 1 0 1 0 1
 + 13 ====> + dddd 1 
 20 ====> 0 1 1 0 1 1 0 ====> (54)10
Exercícios:
1. Ache o complemento 2 dos números a seguir.
a) (5)10
b) (27)10
c) (369)10
13
1.4.5.1 Utilização do Complemento 2 em operações Aritméticas
Quando fazemos operações do tipo (3 - 5) é o mesmo que somar o primeiro número
ao negativo do outro (3 + (-5)), neste caso achamos o complemento 2 de 5.
Veja o exemplo:
 1 1
+ 5 = 0101 - 3 ====> 0 1 1
 1010 (+)
 + 1 - 5 ====> 1 0 1 1
 1011 ====> - 5 - 2 1 1 1 0
Veja que (3 - 5 = - 2), e (- 2) em complemento -2 é (110)2, então porque apareceu
esse 1 a mais? Do mesmo modo que 0 a esquerda não interfere num número positivo.
Ex.: (0001)2 = 12
1 a esquerda também não interfere num número negativo.
Ex.: (1110)2 = (110)2
Exercícios:
1. Faça as seguintes operações em binário.
a) 810 – 1010
b) 510 – 910
c) A516 – B816
14
2 - FUNÇÕES E PORTAS LÓGICAS
Em 1854, o matemático George Boole(1815-1864), apresentou um sistema
matemático de análise lógica conhecido como álgebra de Boole.
No início da “era eletrônica”, todos os tipos de problemas eram resolvidos por
sistemas analógicos.
Somente em 1938, o engenheiro americano Claude Elwood Shannon utilizou as
teorias da álgebra de Boole para a solução de problemas de circuitos de telefonia.
Esse ramo da eletrônica emprega um pequeno grupo de circuitos básicos
padronizados conhecidos como portas lógicas.
Através da utilização conveniente destas portas, podemos “implementar” todas as
expressões geradas pela álgebra de Boole.
2.1 Funções Lógicas AND, OR, NOT, NAND e NOR
Estudaremos a seguir as principais funções lógicas que derivam da álgebra de Boole,
sendo as variáveis e expressões envolvidas denominadas de booleanas.
Temos apenas dois estados distintos nas funções lógicas o estado “0” e o “1”.
O estado “0” representará, por exemplo: luz apagada, som desligado, alarme
desativado, etc. O estado “1” representará então: luz acesa, som ligado, alarme ativado, etc.
Perceba então, que se representarmos por “0” uma situação, representamos por “1” a
situação contrária. Saiba que cada variável booleana da função lógica pode assumir
somente 2 situações diferentes “0” e “1”.
2.1.1 Função AND
A porta AND é aquela que executa a multiplicação de 2 ou mais váriaveis booleanas.
Sua representação algébrica para 2 váriaveis é S = AB, onde lê se S = A e B. 
- Tabela verdade de uma função AND
Chamamos tabela verdade um mapa onde colocamos todas as possíveis situações
com seus respectivos resultados. Na tabela encontramos o modo como a função de
comporta. Veja a seguir uma tabela verdade de uma função AND para 2 váriaveis de
entrada.
Tabela verdade de 2 váriaveis numa porta AND.
- Porta AND
A porta AND é um circuito que executa a função AND, sendo representada na prática,
através do símbolo abaixo.
15
U1C
A B S
0 0 0
0 1 0
1 0 0
1 1 1
Sabendo que a porta AND, executa a tabela verdade da função AND, ou seja,
somente teremos saída “1”, quando todas as entradas estiverem em “1”.
Já sabemos descrever a função AND para 2 váriaveis de entrada. Agora iremos
ampliar este conceito para qualquer número de entradas. Para exemplificar, mostraremos
uma porta AND de 3 váriaveis de entrada, e sua tabela verdade.
Tabela verdade de 3 váriaveis numa porta AND.
Notamos que a tabela verdade mostra as 8 possíveis combinações das váriaveis de
entrada e seus respectivos resultados na saída.
O número de situações possíveis é igual a 2N, onde N é o número de entradas. No
exemplo: N=3 e 2³ = 8.
2.1.2 Função OR
A função OR assume valor “1” quando uma ou mais váriaveis de entrada forem iguais
a “1” e assume valor “0” quando nenhuma váriavel assumir valor “1”. Sua representação
algébrica para 2 váriaveis de entrada é S = A + B, onde se lê S = A ou B.
- Tabela verdade da função OR
Nesta tabela verdade, teremos todas as possíveis situações de uma função OR com
2 váriaveis de entrada.
- Porta OR
É a porta que executa a função OR. A representação da porta OR é através do
símbolo abaixo.
16
U11A
U11A
A B S
0 0 0
0 1 1
1 0 1
1 1 1
A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
2.1.3 Função NOT
A função NOT é aquela que inverte a váriavel de entrada, ou seja, se a váriavel de
entrada é “0” a saída será “1”, e se a entrada estiver em “1” a saída vai para “0”. Sua
representação algébrica é da seguinte maneira: S = A ou S = A', lê-se A barra ou NÂO A.
- Tabela verdade da função NOT
A tabela abaixo mostra os possíveis casos da função NOT.
- Porta NOT
O inversor é o bloco lógico que executa a função NOT.
2.1.4 Função NAND
Já estudamos as três portas lógicas primitivas que foram a AND, OR e NOT. A partir
de agora estudaremos funções relacionando estas três funções primitivas.
Essa função como o próprio nome “NÃO AND” diz: é a junção das funções lógicas
AND com a NOT, ou seja, teremos a função AND invertida. É representada da seguinte
forma: S = A.B, onde a barra indica que A.B está invertida.
- Tabela verdade da função NAND
Veja a tabela verdade abaixo da função NAND com duas variáveis de entrada.
Perceba que a tabela é exatamente o contrário da AND.
- Porta NAND
A sua representação simbólica é vista logo abaixo.
17
A S
0 1
1 0
U2D
A B S
0 0 1
0 1 1
1 0 1
1 1 0
U1@
Repare que a porta NAND é uma porta AND com um inversor na sua saída.
2.1.5 Função NOR
Semelhante à função NAND, a função NOR é a junção das funções NOT com a
NOR, ou seja, a função NOR é a inversão da função OR. É representada da seguinte
maneira:
S = A + B, onde a barra indica a inversão da soma booleana A + B.
- Tabela verdade da função NOR
Note que a tabela verdade da função NOR representar a função OR invertida.
- Porta NOR
A porta NOR é o bloco lógico que executa a função NOR. Sua representação
simbólica é:
De maneira semelhante, podemos formar uma porta OR utilizando um inversor na
sua saída.
18
A B S
0 0 1
0 1 0
1 0 0
1 1 0
U1@
U1A
7400N
U2C
7406N
U1B
7406N
U2D
7432N
2.2 Expressões Booleanas Obtidas de Circuitos Lógicos
Todo circuito lógico executa uma expressão booleana e, por mais complexo que seja,
é formado pela interligação das portas lógicas básicas. Podemos obter a expressão
booleana que é executada por um circuito lógico qualquer. Para mostrar o procedimento,
vamos obter a expressão que o circuito do exemplo abaixo executa.
Para facilitar, vamos dividir o circuito em 2 partes:
Na saída S1, teremos a soma A + B, pois sendo este bloco uma por OR, sua
expressão de saída será: S1 = A + B. Como S1 é injetada em uma das entradas da porta
AND pertencente à segunda parte do circuito e na outra entrada está a várialvel C, a
expressão de saída será: S = S1C.
Para determinamos a expressão final, substituímo o S1 por (A + B) na expressão final.
S = (A + B)C
que é a expressão que o circuito executa.
Exercícios:
1. Escreva a expressão booleana dos circuitos abaixo: 
a) 
19
A
B
C
S2
S1
U1A
7408N
U2A
7432N
U1A
7408N
U2A
7432NU1A
7408N
U2A
7432N
A + B
(A + B).C
U1A
7408N
U2A
7432N
U3A
7432N
b)
c) 
2.3 Circuitos Obtidos de Expressões Booleanas
Já vimos que podemos obter uma expressão booleana através que um circuito lógico
executa. Podemos também desenhar um circuito através de uma expressão booleana
qualquer.
A forma para a solução consiste em identificar as portas lógicas na expressão e
desenhá-las com as respectivas ligações, a partir das variáveis de entrada. O circuito S =
(A + B).C.(B + D) servirá como exemplo.
Solucionaremos respeitando a hierarquia das funções da aritmética elementar, ou
seja, iniciaremos a solução primeiramente pelos parênteses.
Para o primeiro parêntese, temos a soma booleana A + B, logo, o circuito será uma
porta OR. Para o segundo temos a soma booleana B + D, logo, o circuito será uma porta
OR. Temos então, até aí, os seguintes circuitos: 
20
U1A
7408N
U4B
7404N
U5A
7408N
U6
OR3
U1
NOT
U2
NOT
U3
NOT
U4
AND2
U5
AND2
U6
NAND2
U9
OR2
U7
OR3
U3A 7432N
(A + B) = S1
A
B
S1
U2A 7432N
(C + D) = S2
C
D
S2
Logo em seguida, temos uma multiplicação booleana dos dois parênteses,
juntamente com a várialvel C, sendo o circuito que executa esta multiplicação uma porta
AND:
Substituindo as saídas S1 e S2, obtemos o circuito completo.
Exercícios:
1. Desenhe o circuito das expressões booleanas abaixo:
a) ABC + (A + B)C c)[(A.B) + (C.D)].E + A.(A.D.E. + C.D.E) 
b) [(A + B) + (C.D)]D
 2.4 Tabelas Verdade Obtidas de Expressões Booleanas
Uma maneira de se fazer o estudo de uma função booleana é a utilização da tabela
verdade.
Para extrairmos a tabela verdade de uma expressão, acompanhamos o seguinte
procedimento:
1º – Montamos o quadro de possibilidades.
2º – Montamos colunas para cada membro da expressão.
3º – Preenchemos estas colunas com seus resultados.
4º – Montamos uma coluna para o resultado final.
5º – Preenchemos esta coluna com os resultados finais.
Para esclarecer este processo, vamos utilizar a expressão S = AB.C + A.D + A.B.D
Temos na expressão 4 variáveis: A, B, C e D, logo, teremos 24 possibilidades de
saída.
Veja a seguir, a tabela verdade da expressão com 4 variáveis, colunas auxiliares para
cada membro da expressão e uma coluna para a saída.
21
U2
AND3
S1
S2C
S
U2
OR2
U3
OR2
U9
AND3
A
B
C
D
Note que primeiramente fazemos a tabela verdade de cada expressão e como estão
ligadas numa porta OR fazemos a soma booleana, no que será o resultado final.
Exercícios:
1. Monte a tabela verdade de cada expressão booleana
a) (A + B) + ACD + (B + D)C.
b) [(B + C)A] + [D + (A + C)]
c) (A + B)(BC)
2.5 Expressões Booleanas Obtidas de Tabelas Verdade
Para obter expressões e circuitos a partir de tabelas verdade, usamos duas formas,
as dos Mintermos(Soma de Produtos) e a dos Maxtermos(Produto de Somas).
Usaremos a tabela abaixo como exemplo.
- Mintermos
Também chamado de Soma de Produtos pois são Portas AND ligadas a uma porta
OR. Neste caso para obter o circuito lógico, pegamos as saídas com nível lógico “1” e cada
variável de entrada será tratada da seguinte forma, se for de nível lógico “0”, será barrada X'
e caso seja de nível lógico “1” será X.
Veja o passo-a-passo para obter o circuito da tabela verdade usando o método dos
Mintermos.
22
A B C S
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
1º Membro 2º Membro 3º Membro
A B C D AD' S
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 0
0 1 0 1 0 0 1 1
0 1 1 0 0 0 0 0
0 1 1 1 0 0 1 1
1 0 0 0 0 1 0 1
1 0 0 1 0 0 0 0
1 0 1 0 1 1 0 1
1 0 1 1 1 0 0 1
1 1 0 0 0 1 0 1
1 1 0 1 0 0 0 0
1 1 1 0 0 1 0 1
1 1 1 1 0 0 0 0
AB'C A'BD
1º Passo: Pegar as combinações de entradas com saída “1”. No nosso exemplo são
ABC, ABC, AB.C e ABC. Note que as entradas que estão em zero, colocamos um inversor.
2º Passo: Unimos todas as entradas numa porta OR. O circuito lógico obtido da
tabela verdade a partir dos Mintermos será:
- Maxtermos
Também chamado de Produto de Somas pois são Portas OR ligadas a uma porta
AND. Neste caso para obter o circuito lógico, pegamos as saídas com nível lógico “0” e cada
variável de entrada será tratada da seguinte forma, se for de nível lógico “1”, será barrada X'
e caso seja de nível lógico “0” será X.
Veja o passo-a-passo para obter o circuito da tabela verdade usando o método dos
Maxtermos
1º Passo: Pegar as combinações de entradas com saída “0”. No nosso exemplo são
(A + B + C), (A + B + C), (A + B + C) e (A + B + C). Note que as entradas que estão em um,
colocamos um inversor.
2º Passo: Unimos todas as entradas numa porta AND. O circuito lógico obtido da
tabela verdade a partir dos Mintermos será:
U1
NOT
U2
NOT
U6
NOT
U3
AND3
U4
AND3
U5
AND3
U7
AND3
U8
OR4
A B C
S
23
Exercícios:
1. Determine a expressão que executa a tabela e desenhe o circuito lógico, pelos
métodos dos Mintermos e Maxtermos.
2.6 Blocos Lógicos OU EXCLUSIVO e COINCIDÊNCIA
Estudaremos agora, os blocos OU Exclusivo e Coincidência são muito importantes na
área de Eletrônica Digital, pois juntamente com as outras portas lógicas formam outros
circuitos elementares dentro dos sistemas digitais.
2.6.1 Bloco OU EXCLUSIVO
A função que ele executa, consiste em fornecer “1” quando as variáveis de entrada
forem diferentes. Veja logo abaixo sua tabela verdade.
Da tabela sua expressão característica: 24
A B C S
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
A B S
0 0 0
0 1 1
1 0 1
1 1 0
U1
NOT
U2
NOT
U3
NOT
S
U4
OR3
U5
OR3
U6
OR3
U7
OR3
U8
AND4
A B C
S = A.B + A.B
A notação algébrica que representa a função XOR (OU Exclusivo) é S = A B,
onde se lê A OU Exclusivo B, sendo S = A B = A.B + A.B. O circuito XOR pode
ser reprensentado pelo circuito a seguir:
Uma importante observação é que, ao contrário de outros blocos lógicos básicos, o
circuito XOR só póde ter 2 variáveis de entrada, fato esse devido a sua definição básica.
2.6.2 Bloco COINCIDÊNCIA
A função que ele executa, como seu próprio nome diz, é a de fornecer 1 à saída
quando houver uma coincidência nos valores das variáveis de entrada.
Sua expressão é: S = A.B + AB
A notação algébrica que representa a função Coincidência é S = A B, onde se lê A
Coincidência B, sendo S = A B = A.B + AB. O símbolo do circuito Coincidência é visto
logo abaixo:
Se compararmos as tabelas verdades dos blocos XOR e Coincidência, iremos
concluir que estes são complementares, ou seja, teremos a saída de uma invertida em
relação a saída do outro. Assim sendo, podemos escrever:
A B=(A B)
O bloco Coincidência é também denominado de NXOR.
Da mesma forma que a XOR, a NXOR é defenido apenas para 2 variáveis de
entrada.
25
A
B
S
V@
A B S
0 0 1
0 1 0
1 0 0
1 1 1
U3A
3 – ÁLGEBRA DE BOOLE E MAPA DE VEITCH-KARNAUGH
Estudamos até aqui circuitos lógicos sem nos preocuparmos com simplificações.
Porém, na prática, estes circuitos podem admitir simplificações.
Teremos agora um breve estudo sobre a Álgebra de Boole, pois será através de suas
propriedades, teoremas fundamentais e identidades que efetuamos as simplificações.
3.1 Variáveis e Expressões na Álgebra de Boole
Como já vimos nos capítulos anteriores, as variáveis booleanas são representadas
através de letras, podendo assumir somente dois valores: 0 ou 1. Denominamos expressão
booleana à sentença matemática composta de termos cujas variáveis são booleanas, da
mesma forma, podendo assumir como resultado final 0 ou 1.
*** TEOREMAS ***
1. A . A = 0
2. A . A = A
3. A + A= 1
4. A + A = A
5. A + A.B = A
6. A + A.B = A + B
7. A.B + A.C + B.C = A.B + A.C
8. A + B + C + ... + N = A.B.C ... N
9. A . B . C ... N = A + B + C + ... + N
10. A + 0 = A
11. A + 1 = 1
12. A . 0 = 0
13. A . 1 = A
14. (A + B).(A + C) = A + B.C
15. A + B = B + A
16. A.B = B.A
17. A = A
18. A + (B + C) = (A + B) + C = A + B + C
19. A . (B.C) = (A.B) . C = A.B.C
20. (A + B) . (A + C) = A + B.C
26
3.2 Simplificação de Expressões Booleanas
Usando os teoremas da Álgebra de Boole, podemos simplificar expressões e
conseqüentemente circuitos.
Para efetuarmos estas configurações, existem, basicamente, dois processos. O
primeiro deles é a simplificação através da Álgebra de Boole, o segundo é a vinculação dos
mapas de Veitch-Karnaugh, como veremos logo adiante. Para estudar, vamos utilizar, por
exemplo, a expressão:
S = A.B.C + A.C + A.B
Primeiramente, colocamos em evidência a variável A
S = A.(B.C + C + B)
Através do teorema 6, fazemos a simplificação de B.C + C.
S = A.(B + C + B)
Agora usamos o teorema 3, onde B + B = 1.
S = A.(1 + C)
O teorema 11 será usado agora em 1 + C = 1.
S = A.1
Para finalizar usamos o teorema 13, onde A.1 = A. Como não temos mais o que
simplificar, a saída final é:
S = A
Esta expressão mostra a importância e a conseqüente minimização do circuito, pois
os resultados são idênticos aos valores assumidos pela variável A, assim sendo, todo o
circuito pode ser substituído por um único fio ligado à variável ª
Como um outro exemplo, vamos simplificar a expressão: 
S = (A B).[B(A + C)+ D(A + B + C)]
Primeiramente, simplificamos o parêntese, usando o teorema 8, o teorema de
Morgan.
S = (A B).[B(A + C)+ D(A.B.C)]
Agora multiplicamos as variáveis do colchete, usando a propriedade
distributiva.
S = (A B).[A.B + B.C + A.B.C.D]
Colocamos em evidência a variável A de dentro do colchete.
S = (A B).[A.(B + B.C.D) + B.C]
O teorema 6 será usado no parêntese dentro do colchete. Veja que em
(B + B.C.D) podemos fazer com que C.D é o B do teorema, e a o B é o A. Ficando assim:
teorema 6: A + AB = A + B
Nosso exemplo: B + B.C.D = B + C.D
Então nossa expressão ficará assim:
S = (A B).[A.(B + C.D) + B.C]
Mais uma vez a propriedade distributiva:
S = (A B).[A.B + A.C.D + B.C]
Faremos agora a substituição da expressão (A B) por A.B + A.B. Também
usaremos o teorema 8, o teorema de Morgan.
S = (A.B + A.B).[(A.B).(ACD).(BC)]
Novamente usando o teorema de Morgan, só que agora usando o teorema 9.
S = (A.B + A.B).[(A + B).(A + C + D).(B + C)]
Usando a propriedade distributiva:
S = (A.B + A.B).[(A + A.C + A.D + A.B + B.C+ B.D).(B + C)]
Colocamos em evidência a variável A:
S = (A.B + A.B).{ [A.(1 + C + D + B) + B.C + B.D].(B + C) }
Lembrando o teorema 11 e logo em seguida o teorema 13.
S = (A.B + A.B).[(A + B.C + B.D)(B + C)]
A propriedade distributiva será usada agora:
S = (A.B + A.B).[A.B + A.C + B.B.C + B.C.C + B.B.D + B.C.D]
Usando os teoremas 2 e 1, ficará assim nossa expressão:
S = (A.B + A.B).[A.B + A.C + B.C + B.0 + B.D + B.C.D]
Colocando em evidência a variável B.D e usando o teorema 12, ficará assim:
S = (A.B + A.B).[A.B + A.C + B.C + 0 + B.D.(1 + C)]
Usando agora os teoremas 11 e 13.
S = (A.B + A.B).[A.B + A.C + B.C + B.D]
O teorema 7 será usado na expressão (A.B + A.C + B.C).
S = (A.B + A.B).[A.C + B.C + B.D]
28
Agora faremos a propriedade distributiva:
S = A.A.B.C + A.B.B.C + A.B.B.D + A.A.B.C + A.B.B.C + A.B.B.D
Nossa expressão final fica assim:
S = A.B.C + A.B.C + A.B.D 
Exercícios:
1. Simplifique as expressões abaixo:
a. S = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
b. S = [(B + C + D).(A + B + C) + C] + A.B.C + B.(A + C) 
3.3 Simplificação de Expressões Booleanas através dos Diagramas de
Veitch-Karnaugh
Até aqui vimos a simplificação de expressões mediante a utilização dos teoremas e
propriedades da Álgebra de Boole. Nestes ítens, vamos tratar da simplificação de
expressões por meio dos diagramas de Veitch-Karnaugh.
Estes mapas ou diagramas permitem a simplificação de maneira mais rápida dos
casos extraídos de tabela verdade, obtida de situação qualquer. Serão estudados os
diagramas para 2,3 e 4 variáveis.
3.3.1 Diagrama de Veitch-Karnaugh para 2 variáveis
A figura abaixo mostra um diagrama de Veitch-Karnaugh para 2 variáveis:
 B B
A
A
No mapa, encontraremos todas as possibilidades assumidas entre as variáveis A e B.
Logo abaixo são mostradas todas as regiões do mapa.
 B B B B B B B B 
A A A A
A A A A
 (a) (b) (c) (d)
29
(a) região onde A = 1.
(b) região onde A = 0 (A = 1).
(c) região onde B = 1.
(d) região onde B = 0 (B = 1).
Com 2 variáveis, podemos obter 4 possibilidades:
No caso 0, temos: A = 0 e B = 0. A região do diagrama que mostra esta condição é a
intersecção das regiões onde A = 0 e B = 0.
 
 
 
No caso 1, temos: A = 0 e B = 1. A região do diagrama que mostra esta condição é a
da intersecção das regiões onde A = 0 (A = 1) e B = 1.
No caso 2, temos a intersecção da região onde A = 1 e B = 0 (B = 1). Fazendo esta
intersecção, temos:
 
30
A B
0 0
0 1
1 0
1 1
 - - - caso 0
 - - - caso 1
 - - - caso 2
 - - - caso 3
 
A
A
B B
Esta região também pode ser chamada 
de região A.B.
A
A
B B
Esta região também pode ser chamada 
de região A.B.
A
A
B B
Esta região também pode ser chamada 
de região A.B.
No caso 3, temos a intersecção da região onde A = 1 e B = 1. Fazendo esta
intersecção, temos:
Podemos distribuir, então, as 4 possibilidades neste diagrama, da seguinte forma:
Logo, notamos que cada linha da tabela verdade possui sua região própria no
diagrama de Veitch-Karnaugh.
Essas regiões são, portanto, os locais onde devem ser colocados os valores que a
expressão assume nas diferentes possibilidades.
Para entendermos melhor o significado destes conceitos vamos utilizar o exemplo:
1 – A tabela verdade mostra o estudo de uma função de 2 variáveis. Vamos colocar
seus resultados no Diagrama de Veitch-Karnaugh.
Utilizando o método desenvolvido no capítulo 2, obtemos a expressão característica
da função:
S = A.B + A.B + A.B
Passando para o mapa os casos da tabela verdade, conforme o esquema de
colocação visto anteriormente:
31
Esta região também pode ser chamada 
de região A.B.
A
A
B B
A
A
B B
Caso 0
A.B
0 0
Caso 1
A.B
0 1
Caso 2
A.B
1 0
Caso 3
A.B
1 1
A B S
0 0 0
0 1 1
1 0 1
1 1 1
 - - - caso 0
 - - - caso 1
 - - - caso 2
 - - - caso 3
A
A
B B
0 1
1 1
Uma vez entendida a colocação dos valores assumidos pela expressão em cada caso
no diagrama de Veitch-Karnaugh, vamos verificar como podemos efetuar as simplificações.
Para obtermos a expressão simplificada do diagrama, utilizamos o seguinte método:
Tentamos agrupar as regiões onde S é igual a 1, no menor número possível de
agrupamentos. As regiões onde S é 1, que não puderem ser agrupadas, serão consideradas
isoladamente. Para um diagrama de 2 variáveis, os agrupamentos possíveis são os
seguintes:
a) Quadra:
Conjunto de 4 regiões, onde S é igual a 1. No diagrama de 2 variáveis, é o
agrupamento máximo, proveniente de uma tabela onde todos os casos valem 1. Assim
sendo, a expressão final simplificada obtida é S = 1.A.
b) Pares:
Conjunto de 2 regiões onde S é 1, que tem um lado em comum, ou seja, são
vizinhos. As figuras abaixo mostram exemplos de 2 pares agrupados e suas respectivas
expressões, dentre os 4 possíveis em 2 variáveis.
Notamos que nenhum 1 ficou de fora dos agrupamentos, e aindaque o mesmo
1 pode pertencer a mais de um agrupamento.
32
A
A
B B
1
1 1
1
Quadra : S = 1
A
A
B B
0
1 1
0
Par : S = A
Pares : S = A + B
A
A
B B
0
1 1
1
c) Termos isoladas:
Regiões onde S é 1, sem vizinhança para grupamentos. São os próprios casos
de entrada, sem simplificação. Logo abaixo duas figuras exemplificam 2 termos isolados,
sem possibilidade de agrupamento.
3.3.2 Diagrama de Veitch-Karnaugh para 3 variáveis
O diagrama de Veitch-Karnaugh para 3 variáveis:
No mapa, encontramos todas as possibilidades assumidas entre as variáveis A, B e
C: A figura abaixo mostra as regiões deste mapa.
(a) região na qual A = 1. (e) região na qual C = 1.
(b) região na qual A = 1 (A = 0). (f) região na qual C = 1 (C = 0).
(c) região na qual B = 1.
(d) região na qual B = 1 (B = 0).
33
A
A
B B
0
1 0
1
S = A.B + A.B
A
A
B B
C CC
A
A
B B
C CC
A
A
B B
C CC
A
A
B B
C CC
A
A
B B
C CC
A
A
B B
C CC
A
A
B B
C CC
(a) (b) (c)
(d) (e) (f)
Neste diagrama, também temos uma região para cada caso da tabela verdade. A
tabela e a figura abaixo mostram os casos para 3 variáveis e as respectivas localizações no
mapa.
Para melhor compreensão, vamos, como exemplo, transpor para o diagrama a saída
expressão:
S = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C 
Tabela verdade extraída da expressão:
Transpondo a tabela para o diagrama, temos:
Para efetuarmos a simplificação, seguimos o mesmo processo visto anteriormente,
somente que, os agrupamentos possíveis são os seguintes:
34
Caso A B C
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
A
A
B B
C CC
Caso 0
0 0 0
A B C
Caso 1
0 0 1
A B C
Caso 3
0 1 1
A B C
Caso 2
0 1 0
A B C
Caso 4
1 0 0
A B C
Caso 5
1 0 1
A B C
Caso 7
1 1 1
A B C
Caso 6
1 1 0
A B C
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
A
A
B B
C CC
Caso 0
1
Caso 1
0
Caso 3
1
Caso 2
1
Caso 4
1
Caso 5
0
Caso 7
0
Caso 6
1
a) Oitava:
Agrupamento máximo, onde todas as localidades valem 1.
b) Quadra:
Quadras são agrupamentos de 4 regiões, onde S é igual a 1, adjacentes ou
seqüência. Vamos agora formar algumas quadras possíveis num diagrama de 3 variáveis, a
título de exemplo:
 (a) (b) (c)
 (a) Quadra A. (b) Quadra B. (c) Quadra C.
c) Pares:
A figura abaixo apresenta, como exemplo, 2 pares entre os 12 possíveis em
um diagrama de 3 variáveis:
d) Termos isolados:
Vejamos alguns exemplos de termos isolados, que, como já dissemos, são os
casos de entrada sem simplificação.
35
A
A
B B
C CC
1 1 1 1
1 1 1 1
Oitava : S = 1
A
A
B B
C CC
A
A
B B
C CC
1 1 1
1 1
1 11
0 0 0 0
0 0
0 0
A
A
B B
C CC
1
1
1
10
0
0
0
A
A
B B
C CC
 => Par A.C (está localizado na intersecção das 
 regiões A e C)
 Par A.C (está localizado na intersecção das 
 regiões A e C)
A
A
B B
C CC
1
1
1
0
0
00
0 => Termo A.B.C
 => Termo A.B.C
Termo A.B.C
1 1
1 1
0 0
00
Para o exemplo, agrupamos primeiramente uma quadra e, logo após, um par.
Notamos que esse par não depende de C, pois está localizado tanto em C como em
C, resultando sua expressão independente de C, ou seja, o termo A.B.
O passo final é somarmos as expressões referentes aos agrupamentos. A expressão
final minimizada será: S = A.B + C.
Como outro exemplo, vamos minimizar o circuito que executa a tabela abaixo:
Transpondo para o diagrama, temos:
Efetuando os agrupamentos, notamos que obtemos apenas 3 pares:
A expressão minimizada será: S = A.C + A.B + A.C
36
A
A
B B
C CC
1 1
1 1
0 1
0 0
 => Par A.B
 => Quadra C
A B C S
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
A
A
B B
C CC
 0 1 1 0
 1 1 0 1
A
A
B B
C CC
 0 1 1 0
 1 1 0 1
=> Par A.C
=> Pares: A.C e A.B
Poderíamos também ter agrupado de outra maneira:
A expressão gerada, seria, então: S = A.C + A.C + B.C
Estas duas expressões, aparentemente diferentes, possuem o mesmo
comportamento em cada possibilidade, fato este comprovado, levantando-se as respectivas
tabelas verdade.
3.3.3 Diagrama de Veitch-Karnaugh para 4 variáveis
O diagrama para 4 variáveis é visto logo abaixo:
Abaixo são mostradas as regiões assumidas pelas variáveis A, B, C e D neste mapa.
37
A
A
B B
C CC
 0 1 1 0
 1 1 0 1
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
(a) Região onde A = 1. (b) Região onde A = 1(A = 0).
Neste tipo de diagrama, também temos uma região para cada caso da tabela
verdade, como podemos verificar no diagrama completo:
38
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
(c) Região onde B = 1. (d) Região onde B = 1(B = 0).
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
(e) Região onde C = 1. (f) Região onde C = 1(C = 0).
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
(g) Região onde D = 1. (h) Região onde D = 1(D = 0).
Vamos analisar a colocação de uma das possibilidades, visto que as outras são
análogas.
Tomemos, como exemplo, o caso 8:
A B C D => 1 0 0 0
A = 1, B = 0 (B = 1), C = 0 (C = 1) e D = 0 (D = 1)
Da intersecção dessas regiões, obtemos a região A B C D, que é a referente ao caso
8:
Para esclarecermos melhor a colocação do diagrama e analisarmos outros casos,
vamos transpor para o mesmo a tabela abaixo:
Casos A B C D
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
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
A
A
B
B
B
C C
D D D
Caso 0
A B C D
0 0 0 0
Caso 1
A B C D
10 0 0
Caso 3
A B C D
10 0 1
Caso 2
A B C D
00 0 1
Caso 6
A B C D
00 1 1
Caso 7
A B C D
10 1 1
Caso 5
A B C D
10 1 0
Caso 4
A B C D
00 1 0
Caso 14
A B C D
01 1 1
Caso 15 
A B C D
11 1 1
Caso 13
A B C D
11 1 0
Caso 12
A B C D
01 1 0
Caso 10
A B C D
01 0 1
Caso 11
A B C D
11 0 1
Caso 9
A B C D
11 0 0
Caso 8
A B C D
01 0 0
A
A
B
B
B
C C
D D D
39
Transpondo a tabela para o diagrama, temos:
 
Para efetuarmos a simplificação, seguimos o mesmo processo para os diagramas de
3 variáveis, somente que neste caso, o principal agrupamento será a oitava.
Devemos ressaltar aqui, que no diagrama, os lados extremos opostos se comunicam,
ou seja, podemos formar oitavas, quadras e pares com os termos localizados nos lados
extremos opostos.
Vamos, como exemplo, verificar alguns desses casos no diagrama:
a) Exemplos de Pares:
40
A B C D S
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1
A
A
B
B
B
C C
D D D
0 1 1 1
0 1 1 0
1 1 1 0
1 1 1 0
A
A
B
B
B
C C
D D D
1
1
1
1 => Par A.B.D
Par B.C.D
b) Exemplos de Quadras:
c) Exemplos de Oitavas:
Convém observar que, neste mapa, as oitavas representam as próprias regiões A, A,
B, B, C, C, D e D e que o agrupamento máximo (mapa totalmente preenchido com 1)
constitui-se uma hexa, ou seja, agrupamento com16 regiões valendo 1.
Após essa ressalva, vamos minimizar a expressão do nosso exemplo. Inicialmente,
agrupamos as oitavas, em seguida as quadras, a seguir os pares e, por último, os termos
isolados, se existirem. Expressões dos agrupamentos:
41
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
 1 1
 1 1
11
11
11
11
 => Quadra B.D
Quadra B.D => Quadra B.D
A
A
B
B
B
C C
D D D
A
A
B
B
B
C C
D D D
11
11
11
11
1 1 1 1
1 1 1 1
 => Oitava D
 => Oitava B
A
A
B
B
B
C C
D D D
0 1 1 1
0 1 1 0
1 1 1 0
1 1 1 0
Oitava: D
Quadra: A.C
Par: A.B.C
Q
u
a
d
r
a
Par
Oitava
Somando as expressões, teremos a expressão final minimizada: S = D + A.C + A.B.C
Como outro exemplo, vamos minimizar o circuito que executa a tabela verdade
abaixo:
Transpondo a tabela verdade para o diagrama, temos:
No diagrama, temos: 2 quadras, 1 par e 1 termo isolado.
A expressão minimizada de S será a soma de todos esses agrupamentos:
S = A.B.C.D + B.C.D + A.B + A.D 42
A B C D S
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
A
A
B
B
B
C C
D D D
00
0 0
0 0 0
0
 1 1 1 1
 1 1
1
1
A
A
B
B
B
C C
D D D
00
0 0
0 0 0
0
 1 1 1 1
 1 1
1
1
Quadra A.D
Quadra A.B
Par B.C.D
Termo isolado A.B.C.D
Exercícios:
1. Através das expressões abaixo, ache a tabela verdade e simplifique via mapa de
Veitch-Karnaugh:
a. S = A.B + A.B + A.B
b. S = A.B.C + B.C + A.C
c. S = A + B.C + A.B
d. S = A.B.C + B.D + A.C + A B
3.3.4 Diagramação com Condições Irrelevantes
Chamamos de condição irrelevante (x) a situação de entrada onde a saída pode
assumir 0 ou 1 indiferentemente. Esta condição ocorre principalmente pela impossibilidade
prática do caso de entrada acontecer, sendo utilizada em várias situações nos capítulos
posteriores. Para sua utilização em diagramas de Veitch-Harnaugh, devemos, para cada
condição irrelevante, adotar 0 ou 1, dos dois, aquele que possibilitar melhor agrupamento e
conseqüentemente maior simplificação.
Para esclarecer este processo, vamos utilizar a tabela abaixo:
Transpondo esta tabela para o diagrama, temos:
O símbolo (x) indica que neste caso a saída pode assumir 0 ou 1, indiferentemente,
pois, ou indica, possibilita qualquer dos 2 valores na saída. Para fins de simplificação,
devemos adotar x = 1, pois assim sendo, agrupamos uma quadra, ao invés de 2 pares (no
caso de x = 0), representando uma maior simplificação da expressão de saída: S = A. 
Convém ressaltar que, em uma tabela verdade, podemos ter varias condições
irrelevantes que devem ser independentemente, conforme agrupamento em que se
encontram. Para exemplificar, vamos simplificar a expressão extraída da tabela abaixo.
43
A B C S
0 0 0 X
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
A
A
B B
C CC
 X 1 1 1
 0 0 0 0
O próximo passo é agrupar as regiões que valem 1, utilizando a condição irrelevante
(x) para completar o agrupamento. Convém lembrar que, para maior simplificação, devemos
ter um número mínimo de agrupamentos, cada um deles, porém, com o maior número de
blocos possíveis. Assim sendo, temos:
Notamos que as condições irrelevantes pertencentes aos agrupamentos receberam
valor 1, enquanto as deixadas de fora, valor 0.
A expressão simplificada será composta por 2 quadras e um par, sendo esta:
S = A.C + A.D + A.C.D.
Exercícios:
1. Determine a expressão simplificada:
a. 
A B C D S
0 0 0 0 X
0 0 0 1 0
0 0 1 0 1
0 0 1 1 X
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 X
1 0 1 1 0
1 1 0 0 0
1 1 0 1 X
1 1 1 0 0
1 1 1 1 X
Passando para o diagrama de 4 variáveis: 
A
A
B
B
B
C C
D D D
X 0 X 1
1 0 1 1
0 X X 0
0 1 0 X
A
A
B
B
B
C C
D D D
X 0 X 1
1 0 1 1
0 X X 0
0 1 0 X
Quadra A.D Quadra A.C
Par A.C.D
A B C S
0 0 0 1
0 0 1 X
0 1 0 0
0 1 1 1
1 0 0 X
1 0 1 1
1 1 0 X
1 1 1 X 44
b.
3.3.5 Casos que não Admitem Simplificação
Vamos, neste tópico, efetuar uma análise das expressões representativas das
funções XOR e NXOR, no que se refere às suas colocações nos diagramas de Veitch-
Karnaugh.
A figura abaixo mostra a colocação destas expressões nos diagramas, no caso de 2
variáveis,
(a) S = A B = A.B + A.B
(b) S = A B = A.B + A.B
Pela figura, notamos que as expressões encontram-se na forma de máxima
simplificação, não havendo outra possibilidade, pois em cada diagrama temos 2 termos
isolados que são as próprias expressões entrada.
No caso de utilizarmos 3 váriaveis, as expressões são, respectivamente, S
= A B C e S = A B C. Para levantarmos suas tabelas verdades, devemos tomar
as variáveis de 2 em 2, ou seja, efetuar primeiro as operações entre 2 das variáveis e com o
resultado obtido efetuar a operação com a terceira variável. Esse processo se deve ao fato
de as portas XOR e NXOR não serem válidas para mais de 2 variáveis de entrada, podendo
ser aplicado, tomando primeiramente 2 quaisquer das 3 variáveis da expressão,
indiferentemente. As tabelas abaixo mostram os resultados das operações S
= A B C e S = A B C, em todas sa possibilidades.
45
A
A
B B
1
1 0
0
A B C D S
0 0 0 0 1
0 0 0 1 X
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 X
1 0 1 1 1
1 1 0 0 X
1 1 0 1 1
1 1 1 0 X
1 1 1 1 0
A
A
B B
1
10
0
(a) (b)
Passando a coluna S (iguais em todos os casos) para o diagrama, temos:
Da mesma forma, temos apenas termos isolados, não havendo possibilidade de
simplificação.
Extraindo a expressão da tabela inicial ou do diagrama, temos:
S = A.B.C + A.B.C + A.B.C + A.B.C
Evidenciando A e A, temos:
S = A.(B.C + B.C) + A.(B.C + B.C)
Substituindo-se os parênteses respectivamente por: B C e B C, temos: 
S = A.(B C) + A.(B C)
Como B C = B C, reescrevemos:
S = A.(B C) + A.(B C)
Chamado (B C) de X, temos:
S = A.X + A.X = A X
46
A B C (A B) C A (B C) (A C) B
0 0 0 0 0 0
0 0 1 1 1 1
0 1 0 1 1 1
0 1 1 0 0 0
1 0 0 1 1 1
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 1 1 1
A B C (A B) C A (B C) (A C) B
0 0 0 0 0 0
0 0 1 1 1 1
0 1 0 1 1 1
0 1 1 0 0 0
1 0 0 1 1 1
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 1 1 1
A
A
B B
C CC
 0 1 0 1
 1 0 1 0 
Substituindo X, temos:
S = A B C
Inicialmente, se tivéssemos evidenciando outras variáveis, teríamos outras ordens no
resultado, de conformidade com as tabelas levantandas. Ainda, se tivéssemos substituído
B C por (B C), obteríamos S = A B C, que analogamente, conforme as tabelas é
equivalente a S = A B C.
Se estendermos o estudo para mais variáveis, obteremos:
Para 4 variáveis: S = A B C D = A B C D
Para 5 variáveis: S = A B C D E = A B C D E
De posse de resultados, concluímos que para um número par de variáveis, temos a
função XOR como sendo complemento da NXOR e para um número ímpar de variáveis
temos a função XOR como sendo igual a NXOR.
3.3.6 Outra Forma de Apresentação do Diagrama de Veitch-Karnaugh
Ao invés de representarmos o diagrama dividindo-o emregiões, como visto até aqui,
podemos reprentá-lo de uma forma análoga, conforme a figura abaixo:
(a) 2 variáveis.
(b) 3 variáveis.
(c) 4 variáveis.
Pela figura, podemos notar que os diagramas são semelhantes, possuíndo apenas a
identificação das regiões pelo valor assumido pela variável (exemplo: A = 0 => região A,
A = 1 => região A). Tanto a colocação dos casos, bem como os agrupamentos obtidos se
fazem de maneira análoga, levando aos mesmos resultados
47
B
A 0 1
0
1
BC
A
0
1
00 01 11 10 AB
CD
00 01 11 10
00
01
11
10
(a) (b)
(c)
4 – CIRCUITOS ARITMÉTICOS
Dentro do conjunto de circuitos combinacionais aplicados para finalidade específica
nos sistemas digitais, destacam-se os circuitos aritméticos. São utilizados, principalmente,
para construir a ULA (Unidade Lógica Aritmética) dos microprocessadores e, ainda,
encontrados disponíveis em circuitos integrados comerciais.
4.1 Meio Somador
Antes de iniciarmos o assunto, vamos relembrar alguns tópicos importantes da soma
de 2 números binários:
 1
0 0 1 1
 + 0 + 1 + 0 + 1 
0 1 1 10
Após essa breve introdução, vamos montar uma tabela verdade da soma de 2
números binários de 1 algarismo:
Representando cada número por 1 bit, podemos então, montar um circuito que possui
como entradas A e B, e como saída, a soma dos algarismos (S) e o respectivo carry out(C).
As expressões características do circuito, extraídas da tabela são:
S = A B
C = A.B
O circuito e a representação em bloco é visto abaixo:
Este circuito Meio Somador é também conhecido como Half Adder, sendo a saída de
transporte denominada carry out, ambos os termos derivados do inglês.
48
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
C => Carry Out
(0 + 0 = 0 => C = 0)
(0 + 1 = 1 => C = 0)
(1 + 0 = 1 => C = 0)
(1 + 1 = 0 => C = 1) 
transporte
(circuito) (representação em bloco)
4.2 Somador Completo
O Meio Somador possibilita efetuar a soma de números binários com 1 algarismo.
Para se fazer a soma de números binários de mais algarismos, esse circuito torna-se
insuficiente, pois não possibilita a introdução do transporte de entrada proveniente da coluna
anterior. Para melhor compreensão, vamos analisar o caso da soma: 10012 + 1012. Assim
sendo, temos:
1 1 1
1 1 1 0
+ 0 1 1 0 
1 0 1 0 0
A coluna 1 tem como resultado o carry out igual a 0. A coluna 2 tem como resultado 0
e um carry out igual a 1. A coluna 3 tem um carry in igual a 1 (carry out da coluna anterior),
possui resultado 1 e carry out igual a 1. A coluna 4 tem carry in igual a 1, resultado igual a 0
e carry out 1. A coluna 5 possui apenas um carry in (carry out da coluna 4) e, obviamente,
seu resultado será igual a 1.
Para fazermos a soma de 2 números binários de mais algarismos, basta somarmos
coluna a coluna, levando em conta o carry in que nada mais é que o carry out da coluna
anterior.
O Somador Completo é um circuito para efetuar a soma completa de uma coluna,
considerando o carry in. Vamos, agora, montar uma tabela verdade deste circuito.
Vamos, então, escrever as expressões características, sem simplificação, de um
Somador Completo:
S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci
Cout = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci
Transpondo para o diagrama de 
Veitch-Karnaugh, temos:
S:
49
A B C S Ci
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
A
A
B B
Ci Ci Ci
0 1 0 1
1 0 1 0
Ci => Carry in
(0 + 0 + 0 = 0 e Ci = 0)
(0 + 0 + 1 = 1 e Ci = 0)
(0 + 1 + 0 = 1 e Ci = 0)
(0 + 1 + 1 = 0 e Ci = 1)
(1 + 0 + 0 = 1 e Ci = 0)
(1 + 0 + 1 = 0 e Ci = 1)
(1 + 1 + 0 = 0 e Ci = 1)
(1 + 1 + 1 = 1 e Ci = 1)
Conforme já estudado, podemos escrever:
S = A B Ci
Cout:
Vamos através das expressões, esquematizar o circuito Somador Completo:
Da mesma forma, o circuito apresentado em bloco é visto abaixo:
O circuito Somador Completo é também conhecido como Full Adder, sendo a
entrada de transporte denominada carry in, ambos os termos derivados do inglês.
50
A
A
B B
Ci Ci Ci
0 0 1 0
0 1 1 1
Cout = B.Ci + A.Ci + A.B
Somador
Completo
A
Ci
B
S
Cout
U1
AND2
U2
AND2
U3
AND2
U4
EOR2
U5
EOR2
U6
OR3
A
B
Cin
S
Cout
Vamos, para exemplo de aplicação, montar um sistema em blocos que efetua a soma
de 2 números de 4 bits, conforme o esquema a seguir:
X3 X2 X1 X0
+ Y 3 Y 2 Y 1 Y 0
Cout S3 S2 S1 S0
Para efetuar a soma dos bits X0 e Y0 dos números (1ª coluna), vamos utilizar um Meio
Somador, pois não existe carry in, mas para as outras colunas utilizaremos Somadores
Completos, pois necessitaremos considerar os transportes provenientes das colunas
anteriores. O sistema montado é visto logo abaixo:
4.3 Meio Subtrator
Antes de iniciarmos o assunto, vamos relembrar alguns pontos importantes da
subtração de números binários:
0 - 0 = 0
0 - 1 = 1 e “vai um”
1 - 0 = 1
1 - 1 = 0
Vamos montar a tabela verdade de uma subtração de dois números binários de 1
algarismo:
51
A B S Cout
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
0 - 0 = 0
0 - 1 = 1 
1 - 0 = 1
1 - 1 = 0
Representado cada número por 1 bit, podemos montar um circuito com as entradas A
e B, e como saída, a subtração (S) e o transporte de saída (Cout).
As expressões características do circuito, extraídas da tabela, são:
S = A B
Cout = A.B
O circuito a partir destas, é visto abaixo:
Em bloco, o circuito recebe a reprentação abaixo:
Do inglês, o circuito recebe a denominação Half Subtractor.
4.4 Subtrator Completo
O Meio Subtrator possibilita-nos efetuar a subtração de números binários de 1
algarismo. Para se fazer uma subtração com números de mais algarismos, este circuito
torna-se insuficiente, pois não possibilita a entrada de transporte (Carry in), proveniente da
coluna anterior.
Para compreendermos melhor, vamos analisar a subtração:
11002 + 112. Assim sendo, temos:
1 1 0 0
1 1
+ 1 1 
1 0 0 1
A coluna 1 tem como resultado de saída 1 e apresenta um carry out igual a 1. A
coluna 2 tem um carry in igual a 1 (carry out da coluna anterior), um resultado igual a 0 e
Cout = 1. A coluna 3 tem: Ci = 1, resultado igual a 0 e Cout = 0. A coluna 4 tem: Ci = 0,
resultado igual a 1 e Cout = 0.
52
Meio
Somador
A
B
S
Cout
A
B
S
Cout
U7
EOR2
U8
NOT
U9
AND2
Para fazermos a subtração de números binários de mais algarismos, basta
subtrairmos coluna a coluna, levando em conta o carry in, que nada mais é que o carry out
da coluna anterior.
O Subtrator Completo é um circuito que efetua a subtração completa de uma coluna,
ou seja, considera o carry in provenjiente da coluna anterior. Vamos, agora, montar a
tabelka verdade deste circuito:
As expressões características extraídas da tabela são:
S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci
Cout = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci
Vamos simplificar estas expressões:
S: Cout:
O circuito derivado das expressões é visto abaixo:
A B C S Cout
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
A
A
B B
Ci Ci Ci
0 1 0 1
1 0 1 0
A
A
B B
Ci Ci Ci
0 0 1 0
0 1 1 1
(a) S = A B Ci (b) S = A.B + A.Ci + B.Ci
U1
AND2
U2
AND2
U3
AND2
U4
OR3
U5
EOR2
U6
EOR2
U7
NOTA
B
Cin
Cout
S
53
Em bloco, recebe a representação da figura abaixo:
A denominação derivada do inglês é Full Subtractor.
Da mesma forma, podemos esquematizar um sistema subtrator para 2 números de m
bits (m = n + 1). A figura abaixo mostra um sistema subtrator genérico para 2 números de m
bits.
Neste sistema, o carry out do último bloco torna-se desnecessária se o número
An...A0 (minuendo) for maior ou igual a Bn...B0 (subtraendo), porém podera ser utilizada no
caso contrário para sinalizar que o resultado é negativo, estando, então, na notação do
complemento 2.
4.5 Somador/Subtrator Completo
 
Podemos esquematizar um circuito que efetue as duas operações. Para isso, vamos
introduzir uma outra entrada que permanecendo em nível 0, faz o circuito efetuar uma soma
completa, e permanecendo em nível 1, faz efetuar uma subtração completa.
Vamos, agora, montar a tabela verdade do circuito, sendo M a variável de controle (M
= 0 => soma e M = 1 => subtração):
54
Subtrator
Completo
A
B
S
Cout
M A B Ci S Cout
0 0 0 0 0 0
0 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 1 1
M A B Ci S Cout
1 0 0 0 0 0
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 0 1
1 1 0 0 1 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 1 1
Soma Completa (M = 0) Subtração Completa (M = 1)
An Bn An-1 Bn-1 A1 B1 A0 B0
SUBTRATOR 
COMPLETO
SUBTRATOR 
COMPLETO
SUBTRATOR 
COMPLETO
SUBTRATOR 
COMPLETO
A B Cin A B Cin A B Cin A B
Cout S Cout S Cout S Cout S
Sn Sn-1 S1 S2
Vamos simplificar as saídas S e Cout, através dos diagramas de Veitch-Karnaugh:
No diagrama, obtemos;
S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci
Fatorando a expressão, temos:
S = A.(B.Ci + B.Ci) + A.(B.Ci + B.Ci)
S = A.(B Ci) + A.(B Ci)
S = A.(B CI) + A.(B Ci)
S = A B Ci
 Cout:
Do diagrama, obtemos: Cout = B.Ci + M.A.B + M.A.Ci + M.A.B + M.A.Ci
Fatorando a expressão, temos:
Cout = B.Ci + B(M.A + M.A) + Ci.(M.A + M.A)
Cout = B.Ci + B.(M A) + Ci.(M A)
Cout = B.Ci + (M A).(B + Ci)
55
A
A
B
B
B
C C
D D D
0 1 0 1
1 0 1 0
1 0 1 0
0 1 0 1
A
A
B
B
B
C C
D D D
0 0 1 0
0 1 1 1
0 0 1 0
0 1 1 1
Vamos então esquematizar o circuito:
A figura abaixo mostra a reprentação deste circuito Somador/Subtrator Completo em
bloco:
Exercícios:
1. Projete e mostre a simulação de um circuito somador onde A = 5 e B = 3.
2. Projete um circuito Somador/Subtrator para realizar A – B onde A = +2 e B = -5. 
 Mostre a simulação.
56
Somador/
Subtrator
Completo
A
Ci
B
S
Cout
M
U1
EOR2
U2
EOR2
U3
EOR2
U4
AND2
U5
AND2
U6
OR2
U7
OR2
A
B
Cin
Cout
S
M
5 – CIRCUITOS COMBINACIONAIS (PROJETO)
O circuito combinacional é aquele em que a saída depende única e exclusivamente
das combinações entre as variáveis de entrada.
Podemos utilizar um circuito lógico combinacional para solucionar problemas em que
necessitamos de uma resposta, quando acontecerem determinadas situações,
representadas pelas variáveis de entrada.
A figura abaixo ilustra a seqüência do processo, onde, a partir da situação, obtemos a
atbela verdade verdade e a partir desta, através das tecnicas já conhecidas, a expressão
simplificada e o circuito final.
5.1 Projetos de Circuitos Combinacionais
Nos itens subseqüentes, mostraremos como obter um circuito para resolver um
problema utilizando a Eletrõnica Digital a partir de uma situação prática. A figura abaixo
mostra o esquema geral de um ciruito combinacional composto pelas variáveis de entrada, o
circuito propriamente dito e sua(s) saída(s).
Notamos que o circuito lógico pode assumir diversas variáveis de entrada e uma ou
mais saídas conforme o caso do projeto. A seguir, estudaremos, a título de exemplo, casos
de 2, 3 e 4 variáveis.
5.1.1 Circuitos com 2 Variáveis
57
SITUAÇÃO TABELA
VERDADE
EXPRESSÃO
SIMPLIFI-
CADA
CIRCUITO
CIRCUITO
LÓGICO
A
B
C
Z
S
0
S
1
S
2
S
N
.
.
.
.
.
.
RUA A
PREFERENCIAL
SEMÁFORO 1
SEMÁFORO 1
SEMÁFORO 2
SEMÁFORO 2
A figura acima representa o cruzamento das A e B. Neste cruzamento, queremos
instalar um sistema automático para os semáforos, com as seguintes características:
1ª – Quando houver carros transitando somente na Rua B, o semáforo 2 deverá
permanecer verde para que estes automóveis possam trafegar livremente.
2ª – Quando houver carros transitando somente ba rua A, o semáforo 1 deverá
permanecer verde pelo mesmo motivo.
3ª – Quando houver carros transitando nas duas ruas, deveremos abrir o semáforo
para a Rua A, pois é a preferencial.
Para solucionarmos este problema, podemos utilizar um circuito lógico. Para
montarmos este circuito lógico, necessitamos de sua expressão. Vamos, agora, analisando
a situação, obter sua tabela verdade.
Primeiramente, vamos estabelecer regras:
a. Existência de carro na rua A: A = 1.
b. Não existência de carro na rua A: A = 0 ou A = 1.
c. Existência de carro na rua B: B = 1.
d. Não existência de carro na rua B: B = 0 ou B = 1. 
e. Verde do sinal 1 aceso: V1 = 1.
f. Verde do sinal 2 aceso: V2 = 1.
g. Quando V1 = 1 => vermelho do semáforo 1 apagado: Vm1 = 0.
 
 verde do semáforo 2 apagado V2 = 0.
 
 e vermelho do semáforo 2 aceso: Vm2 = 1.
h. Quando V2 = 1 => V1 = 0, Vm2 = 0 e Vm1 = 1.
Vamos montar a tabela verdade:
A situação 0 (A = 0 e B = 0) representa a ausência de veículos em ambas as ruas. Se
não temos carros, tanto faz qual sinal está aberto. Vamos adotar, por exemplo, que o verde
do sinal 2 permaneça aceso. Neste caso, preenchemos a tabela verdade da seguinte
maneira:
58
Situação A B
0 0 0
1 0 1
2 1 0
3 1 1
V
1
V
m1
V
2
V
m2
Situação A B
0 0 0 0 1 1 0
V
1
V
m1
V
2
V
m2
(V
2
 = 1 => V
1
 = 0, V
m1
 = 1 e V
m2
 = 0)
A situação 1 (A = 0 e B = 1) representa de veículo na Rua B e ausência de veículo na
Rua A, logo, devemos acender o sinal verde para a Rua B (V2 = 1). Temos então:
A situação 2 (A = 1 e B = 0) representa de veículo na Rua A e ausência de veículo na
Rua B, logo, devemos acender o sinal verde para a Rua B (V1 = 1). Temos então:
A situação 3 (A = 1 e B = 1) representa a presença de veículos em ambas as ruas,
logo, devemos acender o sinal verde para a Rua A, pois esta é a preferencial. Temos então:
A tabela totalmente preenchida é vista a seguir:
Vamos transpor a tabela para diagramas de Veitch-Karnaugh e agrupar para
obtermos as expressões simplificadas das saídas V1 , V2, Vm1 e Vm2 :
59
Situação A B
1 0 1 0 1 1 0
V
1
V
m1
V
2
V
m2
(V
2
 = 1 => V
1
 = 0, V
m1
 = 1 e V
m2
 = 0)
Situação A B
2 1 0 1 0 0 1
V
1
V
m1
V
2
V
m2
(V
1
 = 1 => V
2
 = 0, V
m2
 = 1 e V
m1
 = 0)
Situação A B
3 1 1 1 0 0 1
V
1
V
m1
V
2
V
m2
(V
1
 = 1 => V
m1 
= 0, V
2
 = 0 e V
m2
 = 1 )
Situação A B
0 0 0 0 1 1 0
1 0 1 0 1 1 0
2 1 0 1 0 0 1
3 1 1 1 0 0 1
V
1
V
m1
V
2
V
m2
A
A
B B
0 0
1 1
A
A
B B
0 0
1 1
A
A
B B
0 0
1 1
(a)V
1
(b)V
m1
A
A
B B
0 0
1 1
(c)V
2 (d)Vm2
Pela tabela ou pelos diagramas, notamos que as expressões simplificadas são:
V1 = Vm2 = A e V2 e Vm1 = A.
O circuito, a partir destas expressões, é visto abaixo:
Analisando as expressões obtidas, concluímos que a presença de carros

Continue navegando