cap1-introducao a algebra de boole e simplificacao logica

25
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

Upload: rmfc

Post on 28-Nov-2015

77 views

Category:

Documents


25 download

TRANSCRIPT

Page 1: 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

Page 2: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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?

Page 3: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 4: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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 .

Page 5: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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:

Page 6: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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.

Page 7: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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)

Page 8: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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.

Page 9: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 10: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 11: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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:

Page 12: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 13: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 14: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 15: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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’

Page 16: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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’

Page 17: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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’

Page 18: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 19: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 20: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 21: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 22: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 23: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 24: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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

Page 25: Cap1-Introducao a Algebra de Boole e Simplificacao Logica

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