MAPAS de KARNAUGH PARA SOMA DE MINTERMOS

Propaganda
UNIVERSIDADE DO ESTADO DE SANTA CATARINA
CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT
Departamento de Ciências da Computação
Professor Edino Mariano Lopes Fernandes
Nota importante: Existem materiais incluídos neste texto de outros autores e fontes
bibliográficas devidamente identificadas. O texto deve ser utilizado como referência. Para
informações mais completas, deve-se recorrer aos livros ou sites Web citados na bibliografia.
2.1 Álgebra Booleana ou Álgebra de Boole
O nome Álgebra Booleana é em homenagem ao matemático inglês George Boole
que em 1854, publicou um livro clássico. Uma investigação das leis do pensamento
sobre as quais são baseadas as teorias matemáticas da lógica e das probabilidades.
O propósito estabelecido por Boole era o de realizar uma análise matemática da
lógica.
A Álgebra de Boole surgiu inicialmente por ter relações com os problemas que
apareceram no projeto de circuitos de chaveamento com relês em 1838, Claude E. Shannon
que era assistente de pesquisa no departamento de engenharia elétrica no MIT, em uma
versão de sua tese para o grau de mestre de ciências que foi publicada sob o título A
Symbolic Analysis of Relay and Switching Circuits. Este artigo apresentava um método para
representação de qualquer circuito consistindo de combinações de chaves e réles por um
conjunto de expressões combinações matemáticas, e foi desenvolvido um cálculo para
manipular estas expressões. O cálculo usado baseava-se comprovadamente na álgebra
booleana.
No início da Era Eletrônica, os problemas e soluções tecnológicas empregavam
somente sistemas analógicos, também conhecidos por sistemas lineares. Esses sistemas
copiavam os sistemas que eram conhecidos na Natureza. Com o avanço da tecnologia,
esses mesmos problemas passaram a ser solucionados também com a eletrônica digital.
Professor Edino Mariano Lopes Fernandes
22
2.2 Postulados da Álgebra de Boole
A Álgebra de Boole é um sistema constituído por um conjunto S, duas operações
fechadas ( + , ou, e ., e) definidas sobre S, e por um conjunto de postulados.
A operação simbolizada por + é chamada operação OU (ou OR). A operação
simbolizada por . é chamada operação E (ou AND). Os símbolos + e . não tem o mesmo
significado dos símbolos aritméticos usados para as operações aritméticas de adição e
multiplicação.
Uma operação é dita fechada sobre um conjunto se, quando aplicadas a dois ou mais
elementos pertencentes ao conjunto, origina um outro elemento também pertencente ao
conjunto.
Por exemplo:
Se a Є S
e b Є S,
Є = pertence
então (a + b) Є S
(a . b) Є S
P.1 Associatividade de + e .
(a + b) + c = a + (b + c)
(a . b) . c = a . (b . c)
P.2 Comutatividade de + e .
(a = b) = b + a
a . b=b.a
P.3  (Existência) de um único elemento unitário em relação à operação +
0+a=a+0=a
elemento unitário
P.4  (Existência) de um único elemento unitário em relação à operação .
1.a = a.1 = a
elemento unitário
P.5 Distributividade de + sobre .
a + (b . c) = (a + b) . (a + c)
P.6 Distributividade de . sobre +
a . (b + c) = (a . b) + (a . c)
Professor Edino Mariano Lopes Fernandes
23
P.7 Existência de um complemento
 = qualquer que seja
( a) ( ā) tal que,
a.ā=0
a + ā= 1
Aplicação: Qual o complemento de O ?
Por P.3,
O + Ō = 1  Ō = 1 e O . Ō = O, donde O . 1 = O
Ō=1
2.3 Teoremas Fundamentais
T.1 Lei da Dualidade
Dada uma certa igualdade, se forem permutados entre si os símbolos + e ., os dígitos 0
e 1, nos seus dois membros, pode-se obter uma outra igualdade, dual da primeira.
(a + b) + c = a + (b + c)
(a . b) . c = a . (b . c)
T.2 a + 1 = 1
T.3 a . 0 = 0
T.4 a + a = a
T.5 a . a = a
T. 6 Lei da Absorção: a + (a . b) = a
T.7 Lei da Absorção: a . (a + b) = a
T.8
T. 9 ā é único
T.10 Teorema de De Morgan
Professor Edino Mariano Lopes Fernandes
24
2.4 Funções Booleanas
Chama-se função booleana a uma dada expressão envolvendo elementos e operações
da álgebra de Boole.
Exemplos: f1 (a,b,c) = a . b + ā . b . c + b . c
f2 (A, B, C, D) = Ā . B + Ā .B . C . D + Ā
Obs.: A notação E, simbolizada pelo . pode ser omitida, podendo-se representar a
operação a . b simplesmente por ab.
TABELA VERDADE (TV)
São tabelas que representam todas as possíveis combinações das variáveis de entrada
de uma função, e os seus respectivos valores de saída.
A determinação da tabela verdade de uma função envolve os seguintes procedimentos:
1) Preenchimento das colunas referentes às variáveis da função, registrndo-se todas
as combinações de 0’s e 1’s que as variáveis podem assumir. Se a função possuir N
variáveis, então o número de combinações é igual a 2N. Esse número é igual ao
número de linhas da tabela verdade.
2) Preenchimento de colunas envolvendo expressões intermediárias. Aqui o número de
colunas depende d complexidade da função.
3) Preenchimento da coluna de saída, que é uma manipulação lógica das colunas que
envolvem expressões intermediárias e da função em si.
Exemplo: Representar numa TV a função: f (a,b,c,d) = a . (a + b . d . c)
a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
d
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
c
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
b d c
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
a + b. d . c
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
f (a,b,c,d)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Expressões intermediárias
Quando uma função é igual a 1, diz-se que ela existe, ou que é verdadeira, ou que
assume o nível lógico alto. Quando uma função é igual a 0, diz-se que ela não existe, ou é
falsa, ou que assume o nível lógico baixo.
Professor Edino Mariano Lopes Fernandes
25
Passagem da Tabela Verdade para a expressão algébrica.
Seja a Tabela Verdade:
a
0
0
1
1
b
0
1
0
1
f
1
0
1
1
Pode-se obter f como uma somatória de termos
onde aparecem todas as variáveis observandose as regras a seguir:
1. O número de termos é igual ao número de 1’s (huns)da função. No caso o número
de termo é 3.
2. Cada termo possui todas as variáveis interligadas pele operação
. (E),
considerando-se a variável barrada se, para uma dada linha onde f é igual a 1(hum),
a mesma for 0 (zero).
Portanto:
2.5 Portas Lógicas ou Gates
Todos as complexas operações de um computador digital acabam sendo combinações
de simples operações aritméticas e lógicas básicas: somar bits, complementar bits (para
fazer subtrações), comparar bits, mover bits. Estas operações são fisicamente realizadas
por circuitos eletrônicos, chamados circuitos lógicos (ou gates - "portas" lógicas).
Computadores digitais (binários) são construídos com circuitos eletrônicos digitais - as
portas lógicas (circuitos lógicos).
A álgebra de Boole, base do desenvolvimento dos computadores, trabalha com apenas
duas grandezas: falso ou verdadeiro. As duas grandezas são representadas por 0 (falso) e 1
(verdadeiro).
Professor Edino Mariano Lopes Fernandes
26
Os circuitos a que far-se-á referência nesta parte da disciplina pertencem à família de
circuitos TTL ( Transistor-Transistor- Logic). São alimentados com 5 Volts e os níveis lógicos
estão definidos na figura abaixo.
Assim, qualquer tensão na entrada de uma porta lógica entre 0 e 0,8 V é interpretada
como nível lógico 0. Qualquer tensão entre 2,0 e 5,0 Volts (podendo ir até 5,5 V) na entrada
é interpretada como nível lógico 1.
Na saída do circuito lógico, qualquer tensão entre 0 e 0,4 V será interpretada como nível
lógico 0, e qualquer tensão entre 2,4 V e 5,0 V será interpretada como sendo nível lógico 1.
A faixa de tensão entre 0,8 e 2,0 V é definida como sendo uma zona de indefinição, não
devendo ser usada na entrada dos circuitos.
OPERADORES LÓGICOS
Os conectivos ou OPERADORES LÓGICOS ou FUNÇÕES LÓGICAS são:
 E (ou AND) - uma sentença é verdadeira SE - e somente se - todos os termos forem
verdadeiros.
 OU (ou OR) - uma sentença resulta verdadeira se QUALQUER UM dos termos for
verdadeiro.
 NÃO (ou NOT) - este operador INVERTE um termo.
Os operadores lógicos são representados por:
_____
 NOT --> (uma barra horizontal sobre o termo a ser invertido ou negado).
 E ------> . (um ponto, como se fosse uma multiplicação)
 OU ----> + (o sinal de soma)
As expressões booleanas podem ser implementadas fisicamente usando-se portas
eletrônicas ou relês. Cada porta eletrônica é um circuito que tem uma ou mais entradas e
somente uma saída, que é uma função lógica da entrada. Tanto as entradas das portas
quanto as saídas assumem níveis de tensão referidos como níveis lógicos 0 ou 1.
Professor Edino Mariano Lopes Fernandes
27
Os circuitos aos quais faremos menção a seguir fazem parte da família TTL (TransistorTransistor-Logic).
As Portas Lógicas ou Gates são dispositivos ou circuitos lógicos que operam um ou
mais sinais lógicos de entrada para produzir uma (e somente uma) saída, a qual é
dependente da função implementada no circuito.
Um computador é constituído de uma infinidade de circuitos lógicos, que executam as
seguintes funções básicas:
a) realizam operações matemáticas
b) controlam o fluxo dos sinais
c) armazenam dados
Existem dois tipos de circuitos lógicos:
 COMBINACIONAL - a saída é função dos valores de entrada correntes; esses circuitos
não tem capacidade de armazenamento [casos a) e b) acima].
 SEQUENCIAL - a saída é função dos valores de entrada correntes e dos valores de
entrada no instante anterior; é usada para a construção de circuitos de memória
(chamados "flip-flops" - caso c acima); esses circuitos não serão estudados nesta
disciplina.
As Portas Lógicas
A seguir, apresentamos as principais Portas Lógicas, suas funções básicas, simbologia
DIN e ABNT e suas representações em tabelas-verdade.
AND - FUNÇÃO E
1/4 do Circuito Integrado 7408
Professor Edino Mariano Lopes Fernandes
28
Simbologia ABNT
OR - FUNÇÃO OU
¼ do Circuito Integrado 7432
Simbologia ABNT
Professor Edino Mariano Lopes Fernandes
29
FUNÇÃO NOT
¼ do C. I. 7404
Simbologia ABNT
Outros circuitos fundamentais
PORTA NAND (NÃO E)
A porta NAND equivale a uma porta AND seguida por uma porta NOT, isto é, ela produz
uma saída que é o inverso da saída produzida pela porta AND.
¼ do CI 7400
Professor Edino Mariano Lopes Fernandes
30
Simbologia ABNT
PORTA NOR (NÃO OU)
A porta NOR equivale a uma porta OR seguida por uma porta NOT, isto é, ela produz
uma saída que é o inverso da saída produzida pela porta OR.
¼ do CI 7402
Simbologia ABNT
Professor Edino Mariano Lopes Fernandes
31
PORTA XOR (OU EXCLUSIVO)
A porta XOR compara os bits; ela produz saída 0 quando todos os bits de entrada são
iguais e saída 1 quando pelo menos um dos bits de entrada é diferente dos demais.
¼ do CI 7486
Simbologia ABNT
Equivalência de blocos lógicos.
Por diversas razões construtivas, fica mais barato construir os circuitos de um computador
usando apenas um único tipo de circuito, quando for possível. Aceitando essa afirmação,
vamos representar os nossos circuitos já conhecidos usando apenas funções NAND ou os
NOR.
a) CIRCUITO INVERSOR
Professor Edino Mariano Lopes Fernandes
32
b) CIRCUITO AND
c) CIRCUITO OR
Professor Edino Mariano Lopes Fernandes
33
d) Circuito Ou Exclusivo
2.6 Implementação de funções booleanas
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. De fato, uma função qualquer pode ser
implementada usando-se portas AND, OR e Inversores.
Exemplos: 1) Implementar a função booleana f(a,b) = ab + b, com portas lógicas.
Temos:
Professor Edino Mariano Lopes Fernandes
34
2) f (a,b,c,d) = a b c + (a + c d) . b
2.7 Formas Canônicas
A partir da tabela verdade, é possível chegar à expressão que representa o
comportamento de um circuito, e em seguida construir o circuito, usando as portas lógicas já
estudadas. O processo de elaboração da expressão usa as chamadas formas canônicas,
que consistem em regras para representar as condições de entrada que:
a) produzirão saída 1 (e portanto as demais condições produzirão saída 0) ou
alternativamente,
b) produzirão saída 0 (e portanto as demais condições produzirão saída 1).
São, portanto, duas as formas canônicas:
a) Forma normal disjuntiva: quando ela está formada pela soma de MINITERMOS. Um
minitermo é um produto de todas as variáveis da função (barradas ou não) representa as condições que produzem saída 1;
b) Forma normal conjuntiva: quando está representada por produtos de
MAXITERMOS. Um maxitermo é representado pela soma de todas as variáveis
(barradas ou não) da função - representa as condições que produzirão saída 0.
Exemplos:
Minitermos: f (a,b,c,d) = a b c d
Maxitermos: f (a,b,c,d) = a + b + c + d
Essas formas são alternativas, isto é, a expressão poderá ser encontrada aplicando-se
alternativamente UMA ou OUTRA das formas.
Professor Edino Mariano Lopes Fernandes
35
Soma dos Minitermos
É produzida construindo:
 um termo (uma sub-expressão) para cada linha da tabela verdade (que representa uma
combinação de valores de entrada) em que a saída é 1,
 cada um desses termos é formado pelo PRODUTO (FUNÇÃO AND) das variáveis de
entrada, sendo que:
 quando a variável for 1, mantenha;
 quando a variável for 0, complemente-a (função NOT).
 a função booleana será obtida unindo-se os termos PRODUTO (ou minitermos) por
uma porta OR (ou seja, "forçando-se" a saída 1 caso qualquer minitermo resulte no valor 1).
Dessa forma, ligando os termos-produto (também chamados minitermos) pela porta OR,
caso QUALQUER UM dos minitermos seja 1 (portanto, caso qualquer uma das condições
de valores de entrada que produz saída 1se verifique), a saída pela porta OR será também
1. Ou seja, basta que se verifique qualquer uma das alternativas de valores de entrada
expressos em um dos minitermos, e a saída será também 1, forçada pelo OR. Caso
nenhuma dessas alternativas se verifique, produz-se a saída 0.
Exemplo:
PRODUTO DOS MAXITERMOS
É produzida construindo:
 um termo (uma sub-expressão) para cada linha da tabela verdade (que representa uma
combinação de valores de entrada) em que a saída é 0,
 cada um desses termos é formado pela SOMA (FUNÇÃO OR) das variáveis de entrada,
sendo que:
 quando a variável for 0, mantenha;
 quando a variável for 1, complemente-a (função NOT).
 a função booleana será obtida unindo-se os termos SOMA (ou maxitermos) por uma
porta AND (ou seja, "forçando-se" a saída 0 caso qualquer minitermo resulte no valor 0).
Dessa forma, ligando os termos-soma (também chamados maxitermos) pela porta AND,
caso QUALQUER UM dos minitermos seja 0 (portanto, caso qualquer uma das condições
de valores de entrada que produz saída 0 se verifique), a saída pela porta AND será
também 0. Ou seja, basta que se verifique qualquer uma das alternativas de valores de
entrada 0 expressos em um dos maxitermos, e a saída será também 0, forçada pelo AND.
Caso nenhuma dessas alternativas se verifique, produz-se a saída 1.
Professor Edino Mariano Lopes Fernandes
36
Exemplo:
O mesmo comportamento (a mesma tabela verdade) pode ser igualmente representada
por qualquer das formas canônicas.
Exemplo:
Se ambas as formas canônicas produzem expressões equivalentes, devemos escolher
a representação que resultar em menor número de termos, produzindo uma expressão mais
simples. Por esse método, pode-se encontrar a expressão que represente qualquer tabela
verdade. Após se encontrar uma expressão que represente o comportamento esperado, é
possível que não seja uma expressão simples que possa ser construída com poucas portas
lógicas. Antes de projetar o circuito, é útil SIMPLIFICAR a expressão, de forma a possibilitar
construir um circuito mais simples e portanto mais barato.
Portanto, o fluxo de nosso procedimento será:
DESCRIÇÃO VERBAL ---> TABELA VERDADE ---> FORMA CANÔNICA --->
--->FUNÇÃO SIMPLIFICADA ---> CIRCUITO
Professor Edino Mariano Lopes Fernandes
37
2.8 Minimização de Funções
O tamanho e a complexidade do circuito que realiza uma dada função depende de sua
complexidade algébrica. Assim, sempre que for possível deverá ser adotada uma
simplificação na expressão algébrica, usando postulados e teoremas, o que conduzirá a
uma simplificação dos circuitos.
Técnicas especiais de minimização foram desenvolvidas e a mais comum é a que
emprega os Mapas de Karnaugh. Esta técnica é usada para reduzir as funções a formas
mais simples. É uma técnica viável para funções de 2,3,4,5 e 6 variáveis. Para funções de
mais de 6 variáveis, técnicas mais avançadas, tais como os algorítmos de Quine-McClusky,
devem ser utilizadas.
Mapas de Karnaugh
Os mapas de Karnaugh são ferramentas gráficas para simplificação de expressões
booleanas, através desta técnica e apesar de algumas limitações a ela inerentes, pode-se
obter simplificações de forma segura, rápida e bem mais prática que a aplicação dos
teoremas da álgebra de Boole.
Um mapa K corresponde a uma grade quadriculada, onde cada quadrículo ou célula
corresponde a uma linha da tabela verdade. Desta forma, existem mapas K oriundos de
soma de mintermos ou produto de maxitermos. Aqui optaremos por tratar com soma de
mintermos.
A forma do mapa K depende apenas do número de varáveis envolvidas, para uma
função com N variáveis o mapa terá 2N células. Cada célula correspondendo a um
mintermo (ou maxitermo).
A construção do mapa deve garantir que as células adjacentes, ou seja, aquelas que
apresentarem faces comuns (lados comuns), devem representar termos que diferem em
apenas uma variável.
Mapa de Karnaugh para função de 2 variáveis.
O mapa de Karnaugh é um diagrama constituído de uma certa quantidade de
quadrados ou celas. O número de celas é igual a 2N onde, N é o número de variáveis da
função. Assim, um mapa para uma função de 4 variáveis possui 24 = 16 celas.
O mapa de Karnaugh para função de 2 variáveis possui, portanto, 4 celas, e tem a
configuração abaixo para uma função f (a,b):
Professor Edino Mariano Lopes Fernandes
38
Ex: de mapa para 4 variáveis:
AB
00
CD
01
11
10
00
01
11
10
d
i
s
p
l
a
y
CÉLULA
Mapa K representado por mintermos da forma padrão soma de mintermos:
f(A,B,C,D) = m0 + m1 + m2 + m3 + ... + m15 = m(0,1,2,3,4,...,15)
AB
00
01
11
10
CD
00
A B C D
m0
A B C D
m4
A B C D
m12
AB C D
m8
01
A B CD
m1
A B C D
m5
ABCD
m13
AB CD
m9
11
A BCD
m3
ABCD
m7
ABCD
m15
ABCD
m11
10
A B CD
m2
ABCD
m6
A BCD
m14
ABC D
m10
A
0
0
0
0
0
0
0
0
1
1
B
0
0
0
0
1
1
1
1
0
0
C
0
0
1
1
0
0
1
1
0
0
D
0
1
0
1
0
1
0
1
0
1
Professor Edino Mariano Lopes Fernandes
39
Simplificação através de Mapas de Karnaugh
Passos para simplificação usando mapas Karnaugh e expressões na forma de soma de
mintermos:
1) Representação da função no mapa: para tanto marcam-se 1’s (uns) nas células que
representem algum termo da expressão da função;
2) Agrupamento de células:
2.1)
O número de células de um grupo deve corresponder a uma potência de base 2;
Ex: 1,2,4,8,16,...
2.2)
Quando 2N células são adjacentes (possuindo lados comuns) elas podem ser
agrupadas e deste grupo é possível obter um termo com N variáveis eliminadas;
Ex: dada a função f(A,B,C,D), um grupo de 4 células vai gerar um termo
simplificado com apenas 2 variáveis.
2.3)
Os grupos de células devem ter a forma quadrada, não são permitidos grupos
em L, T ou algo que não seja quadrado ou retangular;
2.4)
Uma célula pode fazer parte de mais de um grupo, mas um grupo não pode ter
todas as suas células associadas a outros grupos, caso contrário será
superposto pelos outros;
2.5)
Para uma função com N variáveis, deve-se dar preferência a grupos com 2N-1, 2N2
,...21 células, ou uma célula, necessariamente nessa ordem. Se há 3 varáveis,
de início tente agrupar grupos com 23-1 = 4 células, após esgotar as
possibilidades de agrupar grupos deste tamanho, procure agrupar células em
número de 23-2 = 2 e assim sucessivamente após esgotar as possibilidades de
agrupar grupos deste tamanho procure isolar as células “descasadas”.
3) Extração das expressões dos grupos de células: tais expressões são formadas pela
interseção das variáveis (com ou sem barra) comuns aos nomes das células do grupo:
EX: f(A,B,C) = m(0,1,3,7,5)
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
f(A,B,C)
1
1
0
1
0
1
0
1
Professor Edino Mariano Lopes Fernandes
40
Após a marcação de células:
AB
C
0
00
01
11
10
1
1
1
1
1
1
Após definir agrupamentos:
AB
C
0
1
00
01
11
10
1
1
1
1
1
Foram formados dois grupos :
G1:
Uma dupla com as células: m0 = A B C e m1 = A B C
A expressão desse grupo será:
m0  m1 = A B
G2:
Um grupo com 4 células:
m1 =
A B C
m3 A= B C
A m7
B =C
A B Cm5 =
m1  m3  m7  m5 = C
4) Obtenção da expressão minimizada (simplificada) na forma de soma de mintermos:
Corresponderá a soma lógica das expressões obtidas no passo 2:
F(A,B,C) = G1 + G2 =
A B
+ C
Professor Edino Mariano Lopes Fernandes
41
MAPAS de KARNAUGH PARA SOMA DE MINTERMOS:
Mapa para duas variáveis
A
0
1
A B
A B
B
0
A B
B
A B
B
1
A
A
Mapa para três variáveis
B
AB
C
0
1
B
00
B
01
11
10
A B C
A B C
A B C
A B C
A B C
A B C
A B C
A B C
A
C
C
A
Professor Edino Mariano Lopes Fernandes
42
Mapa para quatro variáveis
B
B
B
AB
00
CD
00
D
01
A B C D
A B C D
11
10
AB C D
A B C D
C
01
A B CD
A B C D
ABCD
AB CD
A BCD
ABCD
ABCD
ABCD
D
11
C
D
10
A B CD
ABCD
A
A BCD
ABC D
A
Professor Edino Mariano Lopes Fernandes
43
Mapa para cinco variáveis
A
A
B
B
C
C
B
C
C
C
ABC
000
DE
E
001
011
010
110
111
101
100
00
D
01
E
11
D
E
10
Professor Edino Mariano Lopes Fernandes
44
Mapa para 6 variáveis
A
A
B
C
B
C
C
C
C
ABC
000
DEF
F
001
011
010
110
111
101
100
000
E
001
D
F
011
010
E
F
110
111
D
F
E
101
100
F
Professor Edino Mariano Lopes Fernandes
45
Em qualquer mapa Karnaugh as células adjacentes sempre apresentam uma única
variação de estado em uma única variável do termo.
diferença
AB
00
01
11
10
CD
00
01
A B C D
A B C D
A B C D
AB C D
A B CD
A B C D
ABCD
AB CD
A BCD
ABCD
ABCD
ABCD
A B CD
ABCD
A BCD
ABC D
11
10
Exercícios:
Da tabela abaixo pede-se:
a) Utilize as condições em X (valor X significa que para o arranjo de entrada considerado
admite-se tanto valor zero quanto valor um) para encontrar a expressão simplificada ao
máximo, esta deve ser obtida diretamente por mapa de Karnaugh.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
1
0
1
0
X
1
1
X
1
0
X
0
X
X
X
1
Professor Edino Mariano Lopes Fernandes
46
b) Projete (construa o circuito após simplificação pelo mapa Karnaugh) o circuito lógico
abaixo, que é capaz de exibir decimais equivalentes ao número binário ABC (A é o dígito
mais significativo).
A
Circuito
B
display
Lógico
C
c) Encontre as expressões simplificadas a partir das configurações de mapas abaixo:
AB
AB
AB
CD
1
1
CD
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Professor Edino Mariano Lopes Fernandes
CD
1
1
1
1
1
1
1
1
1
1
47
2.9 Circuitos Aritméticos___________________________________________________
Aritmética Binária
Circuitos que somam e subtraem números podem ser construídos através de portas lógicas.
São circuitos rápidos por serem eletrônicos.
Adição Binária
Os circuitos do computador só processam números binários. Assim, os quatro casos básicos
da adição binária são:
0+0=0
0+1=1
1+0=1
1 + 1 = 0 e vai 1(chamado de "carry") para a próxima casa
portanto 1 + 1 será igual a 10 (que é o número 2 em binário). Afigura abaixo mostra a soma
de dois números binários (1011 + 0011):
Meio-Somador
É um circuito que realiza os quatro casos básicos da adição binária. Considerando
dois bits a serem somados (A0 e B0) e as saídas S0 do resultado e V1 do vai-um, temos:
Professor Edino Mariano Lopes Fernandes
48
Somador Completo ou Totalizador
É um circuito que consegue somar três bits, sendo que o último é o vai-um para a
próxima casa. A figura abaixo mostra esse circuito, tendo duas palavras (A e B) de dois bits.
O circuito para somar a primeira casa (A0 + B0) é o meio somador mostrado no ítem acima.
O somador completo totalizará os bits A1 + B1 + V1:
Um outro circuito para o somador completo é mostrado na figura abaixo:
Professor Edino Mariano Lopes Fernandes
49
Agora podemos somar as duas palavras de 2 bits, utilizando o meio-somador e o
somador completo da seguinte forma:
Para palavras maiores do que 2 bits, basta ir acrescentando somadores completos ao
esquema acima.
Subtração Binária
Os quatro casos básicos da subtração binária são:
0-0=0
0 - 1 = 1 e subtrai 1 do seguinte
1-0=1
1-1=0
Como na subtração decimal, quando o número que está sendo subtraido for menor do
que o que subtrai teremos que fazer o empréstimo do dígito seguinte. Considere o exemplo:
Professor Edino Mariano Lopes Fernandes
50
Operações com complemento binário
Complemento de 1 (inversor)
É obtido simplesmente invertendo os bits da palavra, isto é, trocar os 0s pelos 1s e viceversa.
Exemplo: Obter o complemento 1 de 11010.
O complemento 1 de 11010 é 00101
Complemento de 2
É obtido fazendo o complemento de 1 + 1.
Exemplo, obter o complemento de 2 de 11010.
11010 => complemento de 1 = 00101
O complemento de 2 = complemento de 1 de 11010 + 1
= 00101 + 1
Professor Edino Mariano Lopes Fernandes
51
O complemento de 2 = 00110
Subtração usando complemento de 2
Os computadores não conseguem realizar as subtrações do mesmo modo que o ser
humano, eles apenas somam. O computador realiza as subtrações através do complemento
de 1 e complemento de 2. Utilizando o complemento de 2:
Caso 1: A > B
A: 1011 (decimal 11) 1011
B: 0110 (decimal 6) -> compl.de 2 -> 1010
Caso 2: A < B
A: 0110 (decimal 6) 0110
B: 1011 (decimal 11) -> compl. de 2 -> 0101
Subtração usando complemento de 1
A subtração utilizando o complemento de 1 é mostrada abaixo:
Caso 1: A > B
Professor Edino Mariano Lopes Fernandes
52
A: 1011 (decimal 11) 1011
B: 0110 (decimal 6) -> compl.de 1 -> 1001
Caso 2: A < B
A: 0110 (decimal 6) 0110
B: 1011 (decimal 11) -> compl. de 1 -> 0100
Resumo:
Para realizar a subtração utilizando o complemento de 2:
- mantém o primeiro número
- calcula o complemento de 2 do segundo número
- soma os dois números
- Se houver bit de "overflow": isto indica que o resultado da subtração é positivo e o
resultado é a própria soma desprezando o bit de overflow.
- Se não houver o bit de "overflow": isto indica que o resultado da subtração é negativo e
deve ser realizado o complemento de 2 da soma para obter o resultado final.
Para realizar a subtração utilizando o complemento de 1:
- mantém o primeiro número
- calcula o complemento de 1 do segundo número
- soma os dois números
- Se houver bit de "overflow": isto indica que o resultado da subtração é positivo e o
Professor Edino Mariano Lopes Fernandes
53
resultado é a soma desse valor com a unidade.
- Se não houver o bit de "overflow": isto indica que o resultado da subtração é negativo e
deve ser realizado o complemento de 1 da soma para obter o resultado final.
Subtrator Completo
Utilizando o somador completo podemos construir um subtrator completo que realiza a
subtração de dois números através do complemento de 1.
A tabela verdade do somador completo é:
A
0
0
1
1
B
0
1
0
1
SOMA
0
1
1
0
VAI 1
0
0
0
1
Através do complemento de 1, o resultado da subtração de dois números A e B será:
S=A-B
Se A > B, o resultado da subtração será a soma (desprezando o "overflow") + 1
Se A < B, o resultado da subtração será o complemento de 1 de S.
Professor Edino Mariano Lopes Fernandes
54
Assim, se da palavra 1010 (10) subtrairmos 0110 (6) devemos obter 0100 (4). No
esquema acima, inserimos em A a palavra 1010 e em B a palavra 0110.
A palavra em B passa por um inversor fornecendo 1001 (figura abaixo).
Agora na entrada dos somadores teremos a soma das palavras 1010, 1001 e 0000 (das
entradas V). Utilizando a tabela verdade do somador completo teremos na sua saída o
resultado 0011 e V4=1.
Esse resultado (0011) é somado com o V4 em uma porta NOU-Exclusivo, fornecendo
como resultado 0011. O mesmo V4 realimenta o sistema entrando no primeiro somador em
V0. Agora, temos a soma das palavras 1010, 1001 e 0001.
Começamos somando o primeiro somador 0+1+1, que dará como resultado 0 e V1 =
1. Esse V1 entra no segundo somador e o processo se repete até o último. Assim teremos
na saída 0100 e V4=1.
Professor Edino Mariano Lopes Fernandes
55
Esse resultado é novamente combinado nas portas NOU-Exclusivo com V4,
fornecendo como resultado 0100 e V4=1. V4 realimenta o sistema novamente, mas como
V0 já é igual a 1, o sistema entra em equilíbrio não alterando mais sua respostas.
OBS.: Chegamos na resposta S desejada 0100 e V4=1, indicando que esse resultado é
positivo.
EXERCÍCIO:
1) Subtraia da palavras 0110 a palavra 1010. Verifique que o resultado será 0100 e V4=0,
indicando uma palavra negativa.
Professor Edino Mariano Lopes Fernandes
56
Download