Cap1-Introducao a Algebra de Boole e Simplificacao Logica
Transcript of Cap1-Introducao a Algebra de Boole e Simplificacao Logica
2009/10
Departamento de Engenharia Electrotécnica Prof. Adjunto: Manuel F.M. Barros
[SISTEMAS DIGITAIS] [Este conjunto de apontamentos constitui uma das referências bibliográfica principal de apoio à cadeira de Sistemas Digitais. Teve como base de inspiração a sebenta de Sistemas Digitais do Departamento de Engenharia Electrotécnica da FCTUC da Universidade de Coimbra do Sr. Prof. Eduardo Sá Marta. A elaboração destes apontamentos teve o contributo dos meus colegas de trabalho Prof. Paulo Coelho e do Prof. Luís Almeida. Agradeço a todos os que com a apresentação de sugestões pretendam contribuir para uma melhor adequação da obra aos interesses educativos]
1º transístor - Bell Laboratories 1947 Museu Moores Law da Intel
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página i
sistemas digitais
Tributo a George Boole
George Boole (1815 - 1864)
George Boole nasceu em Lincoln - Inglaterra em 2
de Novembro de 1815, era filho de um sapateiro
pobre. Herdou muito cedo o gosto pela construção
de instrumentos ópticos e o gosto pela matemática.
Outro dos seus interesses estava relacionado com as
línguas, tanto que aprendeu latim com um livreiro
local. Com 12 anos de idade Boole tinha se tornado
tão bom em Latim que provocou uma história
polémica ao traduzir para Inglês uns versos do poeta
latino Horácio.
Aos dezasseis anos começou a dar aulas a fim de
ajudar seus pais, mas o seu ordenado não muito
significativo. Como não tinha disponibilidade financeira para seguir a carreira
militar e a advocacia, resolveu, pois, estudar para padre. Embora não tenha se
concretizado esta ideia, os quatro anos em que se preparou para a carreira
eclesiástica não foram perdidos. Aprendeu Francês, Alemão e Italiano, que lhe
seriam indispensáveis para o seu futuro.
Autodidacta, fundou aos 20 anos de idade a sua própria escola que se dedicava
ao estudo da Matemática, que até aí só era ensinada em boas escolas. Nesta
época Boole estudou os trabalhos de Laplace (“Mécanique Céleste”) e
Lagrange, tomando anotações que mais tarde seriam as bases para seu primeiro
trabalho em matemática.
Em 1840 publicou o seu primeiro trabalho original e em 1844 foi condecorado
com a medalha de ouro da Royal Society pelo seu trabalho sobre cálculo de
operadores.
Em 1847 publica um volume sob o título “The Mathematical Analysis of
Logic” em que introduz os conceitos de lógica simbólica demonstrando que a
lógica podia ser representada por equações algébricas.
Este trabalho é fundamental para a construção e programação dos
computadores electrónicos iniciada cerca de 100 anos mais tarde.
Na Álgebra de Boole existem apenas três operadores E, OU e NÃO (AND,
OR, NOT). Estas três funções são as únicas operações necessárias para
efectuar comparações ou as quatro operações aritméticas base.
Em 1937, cerca de 75 anos após a morte de Boole, Claude Shannon, então
estudante no MIT - Boston, USA - estabeleceu a relação entre a Álgebra de
Boole e os circuitos eletrônicos transferindo os dois estados lógicos (SIM e
NÃO) para diferentes diferenças de potencial (tensão eléctrica) no circuito.
Actualmente todos os computadores usam a Álgebra de Boole materializada
em microchips que contêm milhares de interruptores (transístores)
miniaturizados combinados em portas (gates) lógicos que produzem os
resultados das operações utilizando uma linguagem binária.
Boole morreu de pneumonia, mas honrado e famaso, em 1864. Cem anos
depois, nasci eu. E aqui estou eu a divulgar as suas façanhas. Sem ele, talvez o
computador que estou a usar neste instante fosse uma coisa muito diferente, ou
talvez não existisse ainda. Quem sabe?
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
1
sistemas digitais
1. Álgebra de Boole e Simplificação lógica
1.1- Fundamentos do projecto digital – A Álgebra de Boole
1.1.1 - Variáveis e funções lógicas booleanas
Os sistemas digitais assentam em circuitos (os circuitos digitais) que assumem, em cada
instante, um de dois únicos estados (ou níveis) possíveis. Se os designarmos por 0 e por 1
(veremos mais tarde que haveremos de preferir outras designações para os estados, porém a
essência do problema mantêm-se, independentemente das designações), podemos utilizar o
sistema de numeração binário como suporte algébrico, e os códigos binários como suporte da
informação processada e veiculada por esses circuitos e sistemas.
Do ponto de vista algébrico teremos, naturalmente, que recorrer a uma álgebra especial,
designada por álgebra de Boole, que faça uso dos símbolos 0 e 1 e que os utilize de forma
sistemática, com exclusão de todos os outros.
Antes de passarmos ao estudo dessa álgebra, porem, vamos apresentar informalmente alguns
conceitos básicos. O primeiro tem a ver com as designações a dar a cada um dos símbolos 0 e
1. Designa-se-mos por quantidades booleanas simples. E aos conjuntos ordenados destes
símbolos como, por exemplo, em (0, 1, 1, 0, 0, 1), damos a designação de quantidades
booleanas gerais.
Variável lógica (ou de Boole, ou binária) é uma variável que tem por domínio 2 valores
lógicos distintos, normalmente representados pelos símbolos 0 e 1.
Função lógica (ou de Boole, ou binária) é uma função que tem por contradomínio o conjunto
lógico [0, 1].
1.1.2 Funções ou operações lógicas elementares:
- complementação (ou negação, ou inversão) F ( A ) = A ou F(A) = A’
- intersecção (ou produto lógico) F ( A ) = A . B
- reunião (ou soma lógica) F ( A ) = A + B
Operadores lógicos elementares:
Inversor (NOT) Operador E (AND) Operador OU (OR)
A AA
BA.B A
BA+B
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
2
sistemas digitais
Tabela - PORTAS LÓGICAS ELEMENTARES
Nome OR AND NOT NAND NOR XOR
Símbolo A + BA
B
A . BA
B
AA
A
B
A . B
A + BA
B
A
B
A + B
Tabela
de
Verdade
Expressão Expressão Expressão Expressão Expressão Expressão
A B A + B A . B A
A . B A + B
A + B
0 0 0 0 1 1 1 0
0 1 1 0 1 1 0 1
1 0 1 0 0 1 0 1
1 1 1 1 0 0 0 0
1.1.3 - Expressões lógicas As expressões lógicas constituem um dos processos de descrever funções lógicas (outros
processos: tabelas de verdade, mapas de Karnaugh).
Expressão lógica (ou de Boole ) é um conjunto de variáveis e constantes lógicas ligadas entre
si pelos sinais das funções lógicas elementares.
Exemplos:
F (A,B,C) = A’.B+C
F (A,B,C) = 0 + A . B’ + C. 1
Duas expressões lógicas são complementares se uma delas for igual a l quando a outra for
igual a 0, e vice-versa.
Duas expressões lógicas são equivalentes quando uma delas só for igual a l quando a outra
também for igual a 1, e igual a 0 quando a outra também for igual a 0.
Duas expressões lógicas são duais quando de uma se pode obter a outra:
- transformando todos os . em + ,
- transformando todos os + em . ,
- transformando todos os 0 em l ,
- transformando todos os l em 0 ,
- e mantendo as ocorrências das variáveis.
Exemplo:
1.A +B’.C +0
é dual de (0+A).(B’+C).1
Nota:
Ao longo deste texto vamos também se representa a negação pela seguinte notação: ’
ex: A’, em alternativa ao habitual traço: – Exemplo: A .
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
3
sistemas digitais
Não existe nenhuma relação geral entre os valores lógicos de expressões lógicas duais: podem
ser ambas iguais a 1, ambas iguais a 0, ou uma igual a l e outra a 0.
Mas as identidades lógicas duais têm a propriedade de que quando uma é verdadeira a outra
também o é.
1.1.4 - Representação de Circuito Lógico
Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a
associado. O circuito lógico é composto das portas lógicas relacionadas às operações que são
realizadas sobre as variáveis de entrada. Os resultados das operações á saídas das portas
lógicas são conduzidos por fios, os quais, no desenho, são representados por linhas simples.
Exemplo 1: A figura seguinte mostra o circuito lógico para a equação
Exemplo 2: Dado o seguinte diagrama ou circuito lógico pode-se obter a equação F
A B C D
C
A.B.C
B BC.
A.B.C + BC.
D
F= ( )A.B.C + BC. . D
Exemplo 3: Sistema avisador de cinto de segurança de um automóvel (retirado de “Digital
design” – Frank Vahid)
Objectivo: Desenhar um circuito para activar o sinal de aviso
Sensores:
S=1: cinto de segurança colocado correctamente
K=1: chave de ignição introduzida
P=1: condutor sentado
Capturar a equação booleana:
Condutor está sentado e cinto de segurança não está colocado e a chave está inserida
W(P, K, S) = P AND NOT(S) AND K
Converter a equação para circuito:
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
4
sistemas digitais
1.1.5 - Formas algébricas das expressões lógicas
Há 4 formas das expressões lógicas que têm um interesse particular:
- forma canónica soma de produtos
- forma canónica produto de somas
- forma mínima soma de produtos
- forma mínima produto de somas
Diz-se que uma expressão lógica está na forma soma de produtos quando a expressão lógica é
constituída por somas lógicas de produtos lógicos (estes produtos são também designados
por termos).
Exemplo:
A . B . C + B . D + A . C . D
Diz-se que uma expressão lógica está na forma produto de somas quando a expressão lógica é
constituída por produtos lógicos de somas lógicas (estas somas são também designadas por
factores).
Exemplo:
(A + B + D) . (B’ + D) . (A’ + C + D’) . (A’ + D)
Formas canónicas
As formas canónicas são úteis na análise de circuitos lógicos na simplificação de funções
lógicas, é a partir delas que se procede à implementação de circuitos lógicos com
componentes MSI e LSI.
Diz-se que uma expressão lógica está na forma canónica soma de produtos quando a
expressão lógica é constituída por somas lógicas de produtos lógicos que contêm todas as
variáveis (da função). Estes produtos são também designados por mintermos.
Exemplo:
X=A.B.C+A.B.C+A.B.C
Diz-se que uma expressão lógica está na forma canónico produto de somas quando a
expressão lógica é constituída por produtos lógicos de somas lógicas que contêm todas as
variáveis (da função). Estes produtos são também designados por maxtermos. A forma
canónica produto de somas é também designada por produto de somas desenvolvidas.
Exemplo:
X=(A+B+C).(A+B+C).(A+B+C)
Formas mínimas
É a partir das formas mínimas que se procede à implementação de circuitos lógicos com
'portas lógicas' (gates) discretas dado que conduzem normalmente a implementações mais
simples.
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
5
sistemas digitais
Há várias definições possíveis para as formas mínimas, de entre as quais:
- é a que contém o menor número de literais
- é a que contém o menor número de termos / factores
- é aquela em que o somatório do número de termos/factores e de literais é mínimo.
Vamos adoptar a última definição. Assim:
Diz-se que uma expressão lógica está na forma mínima soma de produtos quando a
expressão lógica é constituída por uma soma de produtos tal que o somatório do número
de produtos e do número de literais é mínimo.
Exemplo:
F(A,B,C,D)= A’.B’.C.D+B.C’
Diz-se que uma expressão lógica está na forma mínima produto de somas quando a
expressão lógica é constituída por um produto de somas tal que o somatório do número
de somas e do número de literais é mínimo.
Exemplo:
F(A,B,C)= (B’+C’).(B+C).(A’+C’)
A minimização das implementações de funções lógicas é sempre um ponto obrigatório
do projecto de sistemas digitais.
1.1.6 - Postulados e teoremas da Algebra de Boole
X = 0 X = 1
0 . 0 = 0 1 . 1 = 1
0 . 1 = 1. 0 = 0 0 + 1 = 1 + 0 = 1
1 + 1 = 1 0 + 0 = 0
0’ = 1 1’ = 0
Tabela - POSTULADOS, PROPRIEDADES E TEOREMAS DA ÁLGEBRA DE BOOLE
POSTULADOS OU / OR / (+) E / AND / (.)
Elemento Neutro 1 A+0=A 2 A.0=0
Elemento absorvente 3 A+1=1 4 A.1=A
Idempotência 5 A+A=A 6 A.A=A
Complemento 7 A+A’=1 8 A.A’=0
Dupla negação 9 A’’=A 10 A’’=A
Complemento duma Expressão 11 S=A+B => S’=(A+B)’ 12 S=A.B => S’=(A.B)’
PROPRIEDADES OU / OR / (+) E / AND / (.)
Comutativa 13 A+B=B+A 14 A.B=B.A
Associativa 15 (A+B)+C=A+(B+C) 16 (A.B) . C=A. (B.C)
Distributiva 17 A+(B.C)=(A+B).(A+C) 18 A. (B+C)=(A.B)+(A.C)
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
6
sistemas digitais
TEOREMAS OU / OR / (+) E / AND / (.)
Lei da Absorção 19 A+A.B=A 20 A.(A+B)=A
Lei do termo/factor menor 21 A+A’.B=A+B 22 A.(A’+B)=A.B
Lei de De Morgan 23 (A+B)’=A’ . B’ 24 (A.B)’=A’ + B’
Teorema da Adjacência lógica 25 A.B+A.B’=A 26 (A+B).(A+B’)=A
*Legenda: A = A’ = NOT(A) = negação A
Complemento de funções lógicas - Teorema de De Morgan
O primeiro teorema de De Morgan diz que a negação de um produto (lógico) equivale à soma
(lógica) das negações de cada variável do referido produto.:
O segundo teorema é o dual ( i.e., o espelho) do primeiro, ou seja, a negação da soma (lógica)
equivale ao produto das negações individuais das variáveis:
1.1.7 - Simplificação de expressões lógicas à custa dos teoremas da álgebra de Boole
Na simplificação de expressões lógicas à custa dos teoremas da álgebra de Boole procura-se
detectar partes da expressão que sejam simplificadas por aplicação dos teoremas.
Repete-se o processo até que já não há sub-expressões susceptíveis de serem simplificadas.
Como se depreende, não há garantia de que a expressão finalmente obtida esteja realmente
minimizada.
Exemplos de aplicação
Exemplo l
F = C . D + A . B’. C’ + B . C . D
Por aplicação da lei da absorção
F= C . D + A . B’ . C’
Exemplo 2
F =A. B. C’+ A. B .C +A’.B’. C +A’.B’.C’
F=A.B+A’.B’
Para aplicar o teorema da adjacência lógica, procuram-se os termos/factores que difiram
apenas em uma variável, ocorrendo na forma directa num dos termos/factores e na forma de
complemento no outro termo/factor.
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
7
sistemas digitais
Exemplo 3
F =A. B + B .E. F +A’. C. D + B’. C. D = ?
Resolução:
pela lei distributiva:
F = A . B + B . E . F + C . D . (A’ + B’)
e pela lei de DeMorgan:
F = A . B + B . E . F + C . D . (A B)’
e pela lei do termo/factor menor
F= A . B + B . E . F + C . D
Para aplicar lei do termo/factor menor procuram-se os termos/factores incluídos na forma de
complemento em outros termos factores
1.2 - Tabelas de verdade
As tabelas de verdade constituem outro processo de descrever as funções lógicas. A sua
utilidade resulta:
- da facilidade com que se obtém a partir da formulação verbal da função a
implementar
- da facilidade com que se obtêm a partir delas expressões algébricas das funções nas
formas canónicas
- por constituírem outro ponto de partida para métodos gráficos e tabulares de
simplificação
- por ser inclusivamente possível a partir delas passar directamente à implementação
de funções lógicas com certos componentes MSI e LSI.
Uma tabela de verdade é uma tabela em que se apresentam todas as combinações possíveis
das variáveis da função juntamente com os correspondentes valores assumidos pela função
para cada uma dessas combinações.
Exemplo: A tabela de verdade seguinte descreve uma função lógica F(A,B, C) de 3 variáveis A, B, e C:
A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
Nota:
Se definir cada combinação da tabela de verdade
Tabela de
Verdade
por
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
8
sistemas digitais
A tabela indica que a função lógica F(A, B, C) assume o valor lógico “0” para as
combinações:
A’.B’.C’ , A’.B.C , A.B’.C’ , A .B’.C e A.B.C
e assume o valor lógico “l” para as combinações:
A’.B’.C , A’.B.C’ e A.B.C’
Da tabela de verdade pode obter-se facilmente a expressão lógica da função na forma
canónica soma de produtos. Para o caso do exemplo acima:
F (A , B , C) = A’. B’.C + A’.B.C’ + A .B .C’
E pode obter-se com igual facilidade a expressão lógica da função na forma canónica produto
de somas. Para o caso do exemplo anterior:
F(A , B , C) = (A + B + C) . (A + B’ + C’) . (A’+ B + C) . (A’ + B + C’) . (A’ + B’ + C’)
Na secção seguinte veremos que também é fácil preencher mapas de Karnaugh (a principal
ferramenta gráfica de simplificação de funções lógicas) a partir de tabelas de verdade.
Construção de tabelas de verdade
(a) Construção da tabela de verdade a partir da formulação verbal
Exemplo:
Pretende-se construir a função F(X,Y,Z) que tenha o valor 1 sempre que o número de 1’s
nas variáveis de entrada X, Y e Z seja um número ímpar.
(b) Construção da tabela de verdade a partir de uma expressão lógica
Exemplo:
Nota:
A forma canónica produto de somas corresponde à soma de todas as combinações que dão o valor lógico “0” na função. Só neste caso, a cada combinação aplica-se a lei de De Morgan. Exemplo:
A combinação (0,0,0) ou corresponde a um 0 em F. Aplicando a lei de Morgan, ao termo
= A+B+C
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
9
sistemas digitais
Considerando a seguinte função F(X,Y,Z) = X+YZ’ desenhe a tabela de verdade.
.Note: Este processo poder tornar-se muito morosa para expressões mais complexas
1.2.1 – Processo de desenho com lógica combinatória
1 Capturar a função: Criar uma tabela de verdade ou equações, o que for mais
natural para o problema dado, para descrever o comportamento desejado da lógica
combinatória.
2 Converter para equações: Este passo só é necessário se a função foi capturada por
tabelas de verdade em vez de equações. Criar uma equação para cada saída.
Simplifique as equações se for necessário.
3 Implementar um circuito baseado em portas: para cada saída criar o circuito
correspondente á equação de saída.
Exemplo:
Problema: Detectar três uns consecutivos duma entrada com 8 bits: abcdefgh
00011101 output= 1
11110000 output= 1
10100011 output= 0
Passo 1. Capturar a a função pela tabela de verdade ou equação?
A tabela de verdade é demasiado grande 2^8 = 256 linhas.
Equação: criar termos para cada possível caso de 3 uns (1s) consecutivos
y = abs + bcd + cde + def + efg +fgh
Passo 2. Converter a equação
Não é necessário – já está feito.
Passo 3. Implementar o circuito com portas lógicas:
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
10
sistemas digitais
1.3 Mapas de Karnaugh
1.3.1 - Mapas de Karnaugh para funções de 3, 4 e 5 variáveis
Os teoremas da Álgebra de Boole nem sempre constituem a ferramenta mais conveniente
para a minimização de expressões lógicas. Veremos que dos métodos alternativos os mapas
de Karnaugh são um dos mais convenientes para utilização manual.
Os Mapas de Karnaugh constituem outra representação para as funções lógicas. Têm especial
utilidade por permitirem obter de forma quase totalmente sistemática e relativamente expedita
as expressões mínimas das funções lógicas.
O Mapa de Karnaugh para uma dada função consiste de um quadro com tantas células quantos
os possíveis mintermos da função, em que as células são dispostas de forma a possibilitarem
uma aplicação mecânica do teorema da adjacência lógica (os mintermos a que é possível
aplicar o teorema da adjacência lógica ficam colocados em células "adjacentes"). Ora pode-se
demonstrar que quando o ponto de partida é a forma canónica soma de produtos o teorema da
adjacência lógica é o único necessário para alcançar a forma mínima - assim, o mapa de
Karnaugh permite a minimização através da detecção gráfica de mintermos adjacentes.
O Mapa de Karnaugh para uma função de 3 variáveis A, B e C poderia ser:
A função é representada no Mapa de Karnaugh inscrevendo um l nas células correspondentes
aos mintermos que fazem parte da expressão da função e inscrevendo um 0 nas células
correspondentes aos mintermos que não fazem parte da expressão da função.
Seja por exemplo a função cuja expressão algébrica é dada a seguir na forma canónica soma
de produtos:
F(A,B,C) = A’.B’.C + A’.B.C’ + A.B.C’
A sua representação no Mapa de Karnaugh acima seria:
B
0 1 0 1
0 0 0 1
Examinando a expressão da função pode verificar-se que é possível aplicar o teorema da
adjacência lógica aos dois últimos termos,
A’. B . C’ + A . B . C’ = B . C’
C
A
C
A
B
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
11
sistemas digitais
Observando o Mapa de Karnaugh verifica-se que aqueles dois termos correspondem aos ls
colocados em células "adjacentes", e que a simplificação pode ser assinalada "agrupando" os
ls como se ilustra a seguir:
0 1 0 1
0 0 0 1
A expressão simplificada pode agora "ler-se" directamente do Mapa de Karnaugh: ao l
isolado, que não foi possível "agrupar" com outro(s), corresponde o termo:
A’ . B’ . C
e ao "par" de ls corresponde o termo
B . C’
A expressão "simplificada" é, portanto (na forma mínima soma de produtos):
F(A , B , C) = A’ . B’ . C + B . C’
No Mapa que temos vindo a utilizar como exemplo a correspondência células-mintermos é,
pois, a que se ilustra a seguir:
A’.B’.C’ A’.B’.C A’.B.C A’.B.C’
A.B’.C’ A.B’.C A.B.C A.B.C’
São obviamente possíveis outras correspondências células-mintermos. A única condição a
cumprir é a de que essa correspondência seja tal que fiquem colocados em células
geometricamente "adjacentes" mintermos aos quais seja aplicável o Teorema da Adjacência
Lógica. Só deste modo será possível a aplicação "mecânica" desse teorema.
Notar que, usando a convenção de que a uma variável negada se faz corresponder o símbolo 0
e que a uma variável na forma directa se faz corresponder o símbolo 1, podemos representar
os mintermos por um código binário. E que, fazendo corresponder aos números do código
binário os respectivos equivalentes decimais, podemos numerar os mintermos como se ilustra
a seguir:
A’.B’.C’ 000 0 A’.B’.C 001 1
A’.B .C’ 010 2 A’.B .C 011 3
A .B’.C’ 100 4 A .B’.C 101 5
A .B .C’ 110 6 A .B .C 111 7
C
A
B
C
A
B
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
12
sistemas digitais
Deste modo, podemos numerar as células dos Mapas de Karnaugh e atribuir, números (de
ordem) às representações dos mantermos nas Tabelas de Verdade, o que facilita o
preenchimento daqueles a partir destas.
A B C F 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 ...
0 1 3 2
4 5 7 6
Mapas para funções de 2, 3, 4 e 5 variáveis
Um Mapa de Karnaugh para uma função de 3 variáveis requer 8 células, uma para cada termo
desenvolvido (mintermo) possível - 23= 8. Um Mapa de Karnaugh para uma função de 2
variáveis terá 22 = 4 células, um Mapa de Karnaugh para uma função de 4 variáveis terá 2
4 =
16 células, etc.
3 variáveis
2 variáveis
A
B
A
B
C
A
B
C
D
4 variáveis
A
B
C
D
A
B
C
D
E E
5 variáveis
C
A
B
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
13
sistemas digitais
Grupos de adjacência e simplificação dos termos
Até agora considerámos apenas a simplificação derivada de agrupar 2 células adjacentes, por
aplicação directa do teorema da adjacência lógica.
Podem no entanto existir grupos de adjacência com mais células, que levam a simplificações
maiores: por exemplo, num mapa para 4 variáveis podem existir grupos de adjacência com 2,
4 e 8 células.
Um grupo de adjacência é um grupo de mintermos que mantém ocorrências
idênticas de uma parte das variáveis, ao passo que as restantes tomam todas
as possíveis combinações de ocorrências.
Por exemplo, o grupo
A. B’. C. D, A. B’. C’. D, A. B. C’. D, A. B. C. D
mantém ocorrências idênticas de A e D, do mesmo passo que inclui todas as combinações
possíveis das ocorrências de C e D.
Considerando a soma lógica dos mintermos do grupo, podemos aplicar a propriedade
distributiva:
F (A , B , C, D) = A . B’. C . D + A . B’. C’. D + A . B . C’. D + A . B . C . D
= A . D . ( B’. C + B’. C’ + B . C’ + B . C)
Notando que dentro dos parêntesis está a soma lógica de todos os mintermos de uma função
das variáveis B e C, temos
F (A , B , C, D) = A . D . 1 = A . D
E, de uma maneira geral, a soma do grupo de mintermos que constituem o grupo de
adjacência é equivalente ao termo obtido tomando as variáveis com ocorrências idênticas e
suprimindo todas as outras.
Exemplos de grupos de adjacência de 2 células em mapas de 4 variáveis:
1 1
1
1
1 1
A
B
C
D A. B’.C B. C’. D
A’. B’. D’
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
14
sistemas digitais
Exemplos de grupos de adjacência de 4 células em mapas de 4 variáveis:
1 1 1 1
1 1
1 1
1 1 1 1
1 1
1 1
e em mapa de 5 variáveis:
1 1
1 1
Exemplos de grupos de adjacência de 8 células em mapas de 4 variáveis:
1 1 1 1 1 1
1 1
1 1
1 1 1 1 1 1
1.3.2 - Leitura de mapas de Karnaugh na forma mínima soma de produtos
Porventura a utilização mais comum (se bem que não a única) dos mapas de Karnaugh é a
obtenção da forma mínima soma de produtos (FMSP) para uma função.
Para chegar a um processo sistemático de obtenção da FMSP vamos começar por definir
grupos [de adjacência] primários :
Um grupo de adjacência diz-se primário se não está totalmente incluído em outro
grupo maior.
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
E E
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
B. C’ A’.B’
A’.D’ B’.D’
B. C’.D’
D B’
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
15
sistemas digitais
Exemplo: O grupo nº2 não é primário, pois está totalmente incluído no grupo nº3.
1 1
1 1
1 1
Os grupos nºs l e 3 são primários
É bem claro que um termo relativo a um grupo não-primário não deve aparecer na FMSP,
uma vez que os ls por ele "representados" podem ser representados pelo termo mais simples
correspondente a um (ou o ) grupo primário que o inclua.
Por outras palavras, na FMSP só aparecem termos correspondentes a grupos Primários
Resta o problema de escolher quais os grupos primários que formam a FMSP. Cada célula l
deve estar incluída em pelo menos um dos grupos primários escolhidos.
Haverá muitas vezes ls que estão incluídos em apenas um grupo primário:
Um grupo primário diz-se essencial se incluir uma ou mais células 1 que não estão incluídas
em qualquer outro grupo primário.
Também é bem claro que todos os grupos primários essenciais devem estar incluídos na
FMSP.
Mas nem sempre a FMSP consta apenas de grupos primários essenciais: será esse o caso se
após remoção dos ls contidos em grupos primários essenciais subsistirem um ou mais ls.
EXEMPLO:
Grupos primários
essenciais (só 1)
lª tentativa de extracção dos
restantes ls
2ª tentativa de extracção dos
restantes ls
1 1 1 1 1 1 1 1 1
1 1 1 1 1
1 1
Um raciocínio simples permite estabelecer que a 2º tentativa fornece já a FMSP: claramente,
os 4 ls restantes (depois da remoção do grupo primário essencial) não podem ser agrupados
num grupo de 4, nem num grupo de 4 mais um grupo de 2, pelo que por ordem de
simplicidade decrescente a melhor hipótese a seguir é a de 2 grupos de 2. Este é precisamente
o agrupamento efectuado na 2ª tentativa.
A
B
C
D
Grupo nº 3
B.C Grupo nº 1
A. B’.C’
Grupo nº 2
A’. B. C
A
D
B
C
A
D
B
C
A
D
B
C
A. C’
B. C’.D
B. C. D’
A’. B. D
B. C. D’
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
16
sistemas digitais
Se bem que o processo de obtenção da FMSP a partir do mapa de Karnaugh não seja
inteiramente sistemático, podem delinear-se os passos para um método a seguir:
l - Identificar no mapa os grupos que é possível formar, não omitindo nenhum dos
maiores.
2 - Dos grupos identificados, manter e marcar ("rodear") apenas os primários.
NESTE PONTO, VERIFICAR:
* se todos os ls estão incluídos ?
* não há grupos maiores que por lapso ainda falta identificar ?
* por lapso não se terão marcado grupos não primários (isto é, totalmente incluídos
dentro de outros grupos maiores) ?
3 - Dos grupos primários, salientar os essenciais (p.ex. distinguindo com asteriscos as
células essenciais - as que só pertencem a um grupo primário)
4 - "Extrair" os termos correspondentes aos grupos primários essenciais.
5 - Se depois de removidos os ls incluídos nos grupos primários essenciais ainda
restarem ls no mapa, encetar um processo de tentativa e erro para minimizar os
termos que representam esses l s restantes
5.1 - Começar por identificar quais os grupos maiores que é possível formar com os
ls restantes. 'Extrair' esses grupos (notar que se isso simplificar os termos que se
estão a extrair, devem ser utilizados - para formar grupos maiores - os ls já
extraídos em passos anteriores).
5.2- Como o número de l s restantes é reduzido, geralmente é fácil ver qual é o
melhor nível de simplificação dos l s que ficaram depois do passo 4. Assim que se
chegar a urna solução com esse nível de simplificação dá-se por concluída a
minimização.
EXEMPLO: Há 3 l s restantes e não há
hipótese de grupos de 4: a
Grupos primários l s restantes simplificação maior possível
é a de 2 grupos de 2, o que se
(há dois grupos essenciais) consegue do modo seguinte:
1
1 1 1 1 1 1 1
1 1 1 1 1
1 1
NOTA: se não fosse possível cobrir os 3 ls restantes por meio de 2 grupos de 2, teríamos de ensaiar a seguir a
hipótese de l grupo de 2 e l grupo de 1,....... e por assim diante.
Geralmente, ao resolver um problema de minimização não se explicitam todos os passos
indicados, passando-se por exemplo directamente aos grupos primários sem identificar todos
os grupos menores.
A
D
B
C
A
D
B
C
A
D
B
C
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
17
sistemas digitais
1.3.3 - Condições indiferentes (Don't care conditions )
Há funções lógicas para as quais certas combinações das variáveis de entrada nunca podem
ocorrer; também surgem casos em que para determinadas condições de entrada (que podem
ocorrer) as saídas do circuito simplesmente não são utilizadas.
Exemplo de combinação de entrada que não pode surgir
Num tanque de líquido os sensores l e 2 ficam a “l” quando
molhados.
A combinação S2=1, Sl =0 nunca surge.
Para esta combinação de entrada as saídas são indiferentes - isto é, a funcionalidade do
circuito não é afectada pelos valores que as saídas possam então tomar.
Há então completa liberdade para estabelecer valores para as saídas relativas a essas
combinações, de acordo com o que seja mais vantajoso para a simplificação do circuito. Para
frisar esse facto, os valores indiferentes das saídas representam-se (numa tabela de verdade ou
num mapa de Karnaugh) por X ou então por d (do inglês don't care ).
Num mapa de Karnaugh, o procedimento a Tomar em relação aos Xs é o seguinte:
- se tomar um (ou mais) X como l resultar na compactação de um termo necessário
para extrair alguns dos ls do mapa, o X é tomado como l.
- caso contrário, o X é tomado como 0.
EXEMPLO:
Só um dos Xs é que é tomado a l
0 1 0 1
0 X X 1
1.3.4 - Mapas reduzidos (Variable-entered maps )
Os mapas reduzidos (mapas "VEM", de Variable-entered maps ) são mapas de
Karnaugh em que o número de células é uma potência de 2 inferior a 2n, sendo n o número de
variáveis da função a representar.
Para que o mapa seja reduzido introduzem-se nas células, para além de 0s, ls e
eventuais Xs, (uma ou mais) variáveis lógicas da função ou mesmo expressões das variáveis
da função. É de desencorajar a introdução de expressões pela dificuldade de manipulação dos
mapas que as contêm.
Sensor 2
Sensor 1
S2
S1
C
A
B
B. C’
B’.C
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
18
sistemas digitais
Exemplo: Considere-se a tabela de verdade:
A B C F
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
a que corresponde o mapa de Karnaugh:
1 1 0 0
0 1 1 0
No entanto a função também pode ser representada pelo Mapa reduzido:
1 0
C C
O mapa reduzido não representa senão, tal como o mapa de Karnaugh precedente, o
reconhecimento do facto de a função ser verdadeira quando:
i) a condição A’.B’ for verdadeira
ii) ou quando a condição A . C for verdadeira
Repare-se que se podem interpretar as células do mapa de Karnaugh como descrevendo os
termos:
(A’. B’ .C’). 1, (A’. B’. C). 1, (A’. B. C’). 0, (A’. B. C). 0
(A. B’. C’). 0, (A. B’. C). 1, (A. B. C’). 0, (A. B. C).1
que se reduzem a: A’. B’.C’, A’. B’. C, A. B’. C, A. B. C
E que se podem interpretar as células do mapa reduzido como descrevendo os termos:
(A’ . B’) . 1, (A’ . B) . 0, (A . B’) . C, (A . B) . C
que se podem transformar em:
A’. B’. C’, A’. B’. C, A. B’. C, A. B. C
sendo portanto as duas representações equivalentes.
C
A
B
B
A
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
19
sistemas digitais
Utilidade dos mapas reduzidos
Os mapas de Karnaugh deixam de ser satisfatórios a partir de 5 variáveis, pois a partir daí
precisam de ser representados em vários "planos". Os mapas reduzidos permitem uma
redução do tamanho do mapa: o mapa terá metade do número de células se entrar uma
variável e um quarto, se entrarem duas.
No entanto, a minimização não é tão sistemática como no caso dos M. de K., mesmo para o
caso especialmente simples de haver uma única variável entrada no mapa.
Preenchimento dos mapas reduzidos Caso de apenas uma variável entrada
A B C F
0 0 0 1
0 0 1 1 A B F
0 1 0 0 0 0 1
0 1 1 0 0 1 0 1 0
1 0 0 0 1 0 C C C
1 0 1 1 1 1 C
1 1 0 0
1 1 1 1
Outro EXEMPLO pode ser:
A B C F
0 0 0 1
0 0 1 1 A B F
0 1 0 0 0 0 1
0 1 1 0 0 1 0 1 0
1 0 0 0 1 0 C C C. X
1 0 1 1 1 1 C. X
1 1 0 0
1 1 1 X
“C.X” representa uma situação em que a função tem um valor opcional caso C seja l e tem o
valor 0 caso C seja 0.
Caso de duas variáveis entradas A B C D F
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1 A B F
0 1 0 1 1 0 0 C’. D
0 1 1 0 1 0 1 C’.D’+C’.D+C. D’
0 1 1 1 0 1 0 C’. D
1 0 0 0 0 1 1 C’.D’+C’.D+C. D
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1
A
B
A
B
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
20
sistemas digitais
E, obviamente, o mesmo acontece no mapa reduzido:
C’. D C’. D’ + C’. D + C. D’
C’. D C’. D’ + C’. D + C. D
Como foi dito acima, não é recomendável usar mapas reduzidos quando disso resulte a
introdução de expressões, pois os mapas deixam então de poder servir de suporte à
minimização.
1.3.5 - Outras leituras do mapa de Karnaugh
Também é possível extrair a função na forma mínima produto de somas. Embora os passos
para essa extracção se possam explicar em termos de alguns dos teoremas já vistos, é mais
directo reconhecer que esse processo é exactamente equivalente a obter a FMSP para a função
complementar de F.
Se obtivermos uma FMSP para F e depois aplicarmos o teorema generalizado de DeMorgan:
i) (A + B + C + ...)’ = A’. B’. C’. ...
ii) (A . B . C . ...)’= A’ + B’ + C’ ...
[ aplicando primeiro i) à soma geral e depois ii) a cada um dos termos que são
complementados pela aplicação de i) ] obtemos a função na forma mínima produto de somas.
Temos então os passos:
agrupar os l s de F’ (que são os 0s de F); os Xs são tratados da mesma
maneira, isto é, são tomados como 1s de F’ (0s de F) se daí resultar
simplificação ou então simplesmente desprezados.
aplicar i) à soma geral e depois ii) a cada um dos termos que são
complementados
Notar que um termo qualquer, por exemplo: ...+ A . B’ . C + ... vai dar origem a um factor
em que as ocorrências aparecem complementadas; no exemplo: ... . (A’ + B +C’). ...
Dadas estas correspondências, o processo pode ser tratado inteiramente no mapa de F,
evitando de todo o uso do mapa de F’. Isto é feito da seguinte maneira:
- agrupar 0s da mesma maneira que se agrupava ls para a FMSP
- resultam factores em que as ocorrências das variáveis aparecem negadas (em relação
às ocorrências obtidas nos termos representativos de ls nos mesmos sítios).
EXEMPLO:
1 1 1 1
0 0 1 1
0 0 0 1
1 0 0 1
B
A
A
B
C
D A’ + D’
B’+C
F = (B’+C) . ( A’ + D’)
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
21
sistemas digitais
1.4 - Portas lógicas
Embora seja possível realizar qualquer função lógica com: portas OU e portas Inversor ou
então com portas E e portas Inversor utilizam-se vulgarmente (e estão disponíveis em larga
variedade sob a forma de circuito integrado) outras portas lógicas, que constam da lista a
seguir, juntamente com os seus símbolos e expressões lógicas:
E
AND
OU
OR
NE
NAND
NOU
NOR
Inversor
NOT
OU-EX
EX-OR
NOU-EX
EX-NOR
A . B
A + B
A . B
A + B
A
A B A + B
0 0 0
0 1 1
1 0 1
1 1 0
A B A + B
0 0 1
0 1 0
1 0 0
1 1 1
A + B
(=A . B + A . B)
A + B
OU
A B
(= A. B + A . B )
TABELA DE VERDADE EXPRESSÃOSÍMBOLONOME
EXPRESSÃOSÍMBOLONOMESÍMBOLO
ALTERNATIVO
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
22
sistemas digitais
Exercícios Propostos
1- Simplificar as seguintes expressões algébricas (utilize a lógica de Boole):
a) )..( CBAA
b) BABABA ...
c) ABABABACBAACBA .........
d) CBACBACBACBACBA ..........
e) ABBABA ..
f) DCADCCBBA .....
2- Obtenha os Diagramas Lógicos correspondentes às seguintes expressões (implemente com
o número mínimo de circuitos integrados):
a) BACBAY ...
b) BABAY .. , (Utilizando apenas portas “ NAND”)
c) )..(. CBAADCY ,
I. Só com portas “ NOR”
II. Só com portas “NAND”
3- Diga qual a função do circuito representado no seguinte diagrama lógico:
A
B
C
E
F
Y=?
D
Manuel F.M. Barros Departamento de Engenharia Electrotécnica/Informática Página
23
sistemas digitais
4- a) Minimize através de Mapas de Karnaugh a seguinte função:
DCBADCBADCBAF .........1
b) Determine as funções lógicas simplificadas correspondentes aos mapas de
Karnaugh seguintes:
1 X 1
1 X 1 X X
1 X 1 X 1
X 1 1
5- Dado o circuito da Figura,
a) Minimize a função F em SOMA DE PRODUTOS e em PRODUTO DE SOMAS.
b) Supondo que as combinações de entrada:
A B C D
0 0 1 0
0 1 0 1
nunca podem surgir (isto é, devem ser consideradas como condições opcionais),
obtenha novamente a FORMA MÍNIMA SOMA DE PRODUTOS e a FORMA
MÍNIMA PRODUTO DE SOMAS.
6- Desenhe o mapa de Karnaugh correspondente à seguinte função booleana (apresente
também a função simplificada):
)..)(..( DBCADCBAF
7- Simplificar, utilizando mapas de Karnaugh, e implementar a seguinte função:
EDBEBEDBEBAF .......
8- Desenhar um circuito que contenha quatro botões de pressão A, B, C e D, duas lâmpadas
L1 e L2 e que cumpra as seguintes condições de funcionamento:
L1 acende carregando em três botões quaisquer.
L2 acende carregando nos quatro botões.
Carregando num só botão, qualquer que seja, acendem-se as lâmpadas L1 e L2.
A
D
C
B
I.)
A B
C II.)
A
B
C
D
F