pedroni { cap tulo 5 prof. odilson tadeu...
TRANSCRIPT
Algebra BooleanaPedroni – Capıtulo 5
Prof. Odilson Tadeu Valle
Instituto Federal de Santa Catarina – IFSCCampus Sao Jose
1/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
2/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
3/42
Algebra Booleana
A analise formal de circuitos digitais e baseada na algebra booleana(George Boole - 1850).
Uma funcao booleana e uma funcao matematica que envolve variaveisbinarias, a adicao logica (+ ≡ OR), multiplicacao logica (· ≡ AND) einversao logica.
Portanto, funcoes logicas podem ser implementadas usando somente astres portas logicas fundamentais:
4/42
Algebra Booleana
Ha equivalencia entre portas NOR e NAND, isto e
(a + b)′ = a′ · b′ e (a · b)′ = a′ + b′
Assim sendo, qualquer funcao booleana pode ser implementada usandosomente um tipo de porta logica:
Por que isso e importante?
Pesquisem sobre a universalidade da porta NOR.
5/42
Algebra Booleana
A seguir, exemplos de funcoes booleanas, y representa a funcao e a, b, ce d sao variaveis binarias:
y = a · b
y = a′ · b + a · c · d
A segunda expressao tem dois termos de produtos (a · b e a · c · d), comdois e tres literais.
Um literal e uma variavel ou seu complemento.
A segunda funcao e do tipo SOP (sum-of-products).
As regras fundamentais estao resumidas nos slides a seguir, onde a, b e csao variaveis binarias e f () e uma funcao binaria.
6/42
Propriedades da funcao OR
a + 0 = a
a + 1 = 1
a + a = a
a + a′ = 1
a + b = b + a comutativa
(a + b) + c = a + (b + c) = a + b + c associativa
7/42
Propriedades da funcao AND
a · 1 = a
a · 0 = 0
a · a = a
a · a′ = 0
a · b = b · a comutativa
(a · b) · c = a · (b · c) associativa
a · (b + c) = a · b + a · c distributiva
8/42
Teorema da absorcao
a + a · b = a
a + a′ · b = b + b′ · a = a + b
a · b + a · b′ = a
Prova a + a · b = a:
a + a · b = a · 1 + a · b
= a · (b + b′) + a · b
= a · b + a · b′ + a · b
= a · b + a · b′
= a · (b + b′)
= a · 1
= a
9/42
Teorema da absorcao
a + a · b = a
a + a′ · b = b + b′ · a = a + b
a · b + a · b′ = a
Prova a + a · b = a:a + a · b = a · 1 + a · b
= a · (b + b′) + a · b
= a · b + a · b′ + a · b
= a · b + a · b′
= a · (b + b′)
= a · 1
= a
9/42
Teorema do consenso
a · b + b · c + a′ · c = a · b + a′ · c
(a + b) · (b + c) · (a′ + c) = (a + b) · (a′ + c)
Prova:a · b + b · c + a′ · c =
= a · b · 1 + 1 · b · c + a′ · 1 · c = a · b · (c + c ′) + (a+ a′) · b · c + a′ · (b + b′) · c
= (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 · b · c + 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′ · b′ · c
= a · b · c + a · b · c ′ + a′ · b · c + a′ · b′ · c
= a · b + a′ · c
10/42
Teorema do consenso
a · b + b · c + a′ · c = a · b + a′ · c
(a + b) · (b + c) · (a′ + c) = (a + b) · (a′ + c)
Prova:a · b + b · c + a′ · c =
= a · b · 1 + 1 · b · c + a′ · 1 · c = a · b · (c + c ′) + (a+ a′) · b · c + a′ · (b + b′) · c
= (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 · b · c + 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′ · b′ · c
= a · b · c + a · b · c ′ + a′ · b · c + a′ · b′ · c
= a · b + a′ · c
10/42
Teorema de Shannon
f (a, b, c, . . . ) = a′ · f (0, b, c, . . . ) + a · f (1, b, c, . . . )
f (a, b, c, . . . ) = [a + f (0, b, c, . . . )] · [a′ + f (1, b, c, . . . )]
Exemplo:
Aplique ambas as partes do teorema de Shannon a funcao y = a′ + b · ce verifique as respectivas validades.Observe que: f (0, b, c) = 1 + b · c = 1 (y = a′ + b · c, se a=0, a’=1) ef (1, b, c) = 0 + b · c = b · c
a) y = f (a, b, c) = a′ · f (0, b, c) + a · f (1, b, c)
= a′ · 1 + a · b · c= a′ + a · b · c
= a′ + b · c (teorema da absorcao)
b) y = f (a, b, c) = [a + f (0, b, c)] · [a′ + f (1, b, c)]
= (a + 1) · (a′ + b · c) = a′ + b · c
11/42
Teorema de Shannon
A funcao y = a′ + b · c pode ser representada por:
Ou entao, apos o emprego do teorema de Shannon com a variavel a. Para
12/42
Algebra Booleana
Lei de DeMorgan
(a + b + c + . . . )′ = a′ · b′ · c ′ · . . .
(a · b · c · . . . )′ = a′ + b′ + c ′ + . . .
Princıpio da dualidade (generalizacao da lei de DeMorgan):
f (a, b, c,+, ·) = f ′(a′, b′, c ′, ·,+)
Teorema do termo comum:
y = a · b1 + a · b2 + · · · + a · bN = a · (b1 + b2 + · · · + bN)
y = (a + b1) · (a + b2) · . . . (a + bN) = a + b1 · b2 · . . . bN
13/42
Exercıcios
verifique as equacoes:
1 (a + b′ + a · b) · (a + b′) · a′ · b = 02 a′ · b · (d ′ + d · c ′) + (a + d · a′ · c) · b = b3 ((b′ + c)′ · a) + (c · d)′ = (c · d)′ ou c ′ + d ′
4 (a′ · b + a · b′)′ = a · b + a′ · b′
Prove que os circuitos abaixo sao equivalentes:
14/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
15/42
Tabelas-VerdadeUma T.V. e simplesmente uma representacao numerica de uma funcaobooleana. Para uma funcao de N variaveis, sao necessarias 2N linhas.
(a) y = a′ + b · c(b) Os X’s indicam valores indiferentes (don’t care), ou seja, valores que nao
importam ao projeto e, portanto, podem ser escolhidos a vontade pelo projetistado circuito (isso minimiza o hardware, como veremos em Mapas de Karnaugh).
(c) Tabela incompleta. Deve ser evitado com uso de ferramentas automatizadas.
(d) T.V. degenerada ou simplificada.
16/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
17/42
Minterms e equacoes SOP
Para uma funcao booleana de N variaveis, um minterm e qualquertermo de produtos que contenha N literais.
Por exemplo, a′ · b · c, a · b′ · c ′ e a′ · b′ · c sao exemplos de minterms
para f (a, b, c).
Examinando tabelas-verdade, concluımos que cada entrada e umminterm.
Dada a funcao:
y = a′ · b · c ′ + a · b · c ′ + a · b · c
Essa funcao e denominada expansao de minterms
Tambem e uma soma de produtos (sum-of-products - SOP)
18/42
Minterms e equacoes SOPDada a funcao:
y = a′ · b · c ′ + a · b · c ′ + a · b · cA tabela, a seguir, inclui os minterms correspondentes
Observe que y = 1 aparecem somente para os minterms presentes naequacao anterior, portanto, uma outra representacao para essa equacaoe:
y = m2 + m6 + m7 ou y =∑
m(2, 6, 7)
19/42
Minterms e equacoes SOP
Cada termo de uma SOP e denominado um implicante porque, quandotal termo e 1, a funcao tambem e 1.
Nem todos os minterms sao implicantes primos.
Um implicante primo e aquele do qual nao se pode remover nenhumliteral.
Por exemplo, podemos provar (prove!) que a funcaoy = a′ · b · c ′ + a · b · c ′ + a · b · c e igual a y = a · b + b · c ′
Portanto a · b e b · c ′ sao implicantes primos de y. Por outro lado,a′ · b · c ′, a · b · c ′ e a · b · c sao minterms de y.
Observe que no exemplo anterior nenhum implicante primo e umminterm.
20/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
21/42
Maxterms e equacoes POS
Para uma funcao booleana de N variaveis, um maxterm e qualquertermo de soma que contenha N literais.
Por exemplo, a′ + b′ + c ′, a + b′ + c ′ e a + b + c sao exemplos demaxterms para f (a, b, c).
22/42
Maxterms e equacoes POSDada a funcao:
y = a′ · b · c ′ + a · b · c ′ + a · b · c
A tabela, a seguir, inclui os maxterms correspondentes
Deve-se tomar os termos em que y = 0 e complementa-los:
y = (m0 + m1 + m3 + m4 + m5)′
= (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′ + b + c) · (a′ + b + c ′)
23/42
Maxterms e equacoes POS
A expressao (slide anterior) contem somente maxterms.
y = (a + b + c) · (a + b + c ′) · (a + b′ + c ′) · (a′ + b + c) · (a′ + b + c ′)
E cohecida com uma expressao de maxterms.
Tambem conhecida com um produto de somas (product-of-sum - POS).
Representacoes:y = M0 ·M1 ·M3 ·M4 ·M5
y =∏
M(0, 1, 3, 4, 5)
24/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
25/42
Circuitos padroes para equacoes SOP
Qualquer SOP pode ser implementada usando portas AND na primeiracamada (produto) e uma porta OR na segunda camada (soma).
Portas NAND/NOR de duas entradas exigem somente quatrotransistores, ao passo que as AND/OR de duas entradas exigem seis.Portanto o circuito (c) requer menos hardware.
26/42
Circuitos padroes para equacoes POS
Qualquer POS pode ser implementada usando portas OR na primeiracamada (soma) e uma porta AND na segunda camada (produto).
Pelo mesmo motivo do caso anterior, o circuito (c) requer menoshardware.
27/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
28/42
Mapas de Karnaugh
Vimos que muitas vezes uma funcao booleana permite simplificacoesque sao desejaveis para poupar recursos de hardware, normalmenteresultando em circuitos mais rapidos e com menor consumo energetico.
A simplificacao de uma funcao binaria pode ser feita por quatro modosprincipais:
1 analiticamente2 usando mapas de Karnaugh3 usando o algoritmo de Quine-McCluskey e suas derivacoes4 usando metodos heurısticos quase mınimos
Os dois primeiros sao procedimentos manuais, os outros dois tem porbase sistemas computacionais.
Tecnicas analıticas (algebra booleana) trazem a dificuldade de saberquando a expressao irredutıvel foi alcancada.
29/42
Mapas de Karnaugh
A abordagem de Karnaugh e a preferida para desenvolvimento deotimizacao manual.
Um mapa de Karnaugh e um outro modo de apresentar a T.V. de umafuncao booleana, objetivando sua simplificacao.
30/42
Implicantes primos
Para simplificar uma funcao, todos os 1’s devem ser agrupados emconjuntos tao grande quanto possıvel, cujos tamanhos sao potencias dedois (1, 2, 4, 8, . . . ).
(a) y = a · b(b) Tres 1’s, dois agrupamentos: y = a′ · b + a · b′ · c ′
(c) Seis 1’s, dois agrupamentos: y = b · d + b′ · c ′ · d ′
31/42
Implicantes Essenciais
Cada grupo maximizado de 1’s em um mapa de Karnaugh e umimplicante primo.
Nem todos os implicantes primos podem ser necessarios:
Observe que somente um dos implicantes primos do centro e necessario.
Um implicante essencial e um implicante primo que contem no mınimoum elemento (minterm) nao coberto por qualquer outro implicanteprimo.
32/42
Procedimento para minimizacao via uso de mapas deKarnaugh
1 Forme agrupamentos com todos os implicantes (1s) presentes no mapa.
2 Os agrupamentos sempre devem ter o maior tamanho possıvel,respeitando potencias de dois (1, 2, 4, 8, . . . ), mesmo que utilizemimplicantes ja agrupados.
3 Cada agrupamento deve ter pelo menos um implicante exclusivo, ouseja, nao faca agrupamentos denecessarios contendo somenteimplicantes ja agrupados.
Exercıcios . . .
33/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
34/42
Tempos de propagacao e Glitches
Circuitos sequenciais podem facilmente gerar glitches: picos indesejadosde tensao ou corrente eletrica na saıda do mesmo.
Os circuitos combinacionais tambem podem gerar glitches, dados osdiferentes tempos de propagacao de alta para baixa, ou vice-versa, emdiferentes partes do circuito.
Os mapas de Karnaugh podem ser utilizados, alem de simplificarfuncoes, para evitar glitches.
35/42
Tempos de propagacao e Glitches
Considere o circuito abaixo onde a SOP irredutıvel e y = b · c ′ + a · c eum possıvel circuito, figura (c).
A figura (c) apresenta um diagrama de tempo ampliado para: a=b=1 ec vai de 0 para 1.
Perceba que na transicao (figura (d)) de 111 para 110, mesmo y sendoigual a 1 para ambos, ha uma mudanca indesejada na saıda: glitche.
36/42
Evitando o Glitche
Observe que ha dois implicantes essenciais vizinhos que provoca o glitchna transicao de um para outro.
Entretanto ha um outro implicante primo, nao mostrado no mapa: a · b,que nao e implicante essencial.
Perceba que esse implicante redundante cobre exatamente a transicaoonde ocorre o glitch, de modo que sua inclusao impediria tal glitch:y = b · c ′ + a · c + a · bNa pratica o que se faz e amostrar os resultados apos um temposuficientemente longo que assegure o tempo de propagacao eacomodacao dos resultados.
37/42
Conteudo programatico
1 Algebra Booleana
2 Tabelas-Verdade
3 Minterms e equacoes SOP
4 Maxterms e equacoes POS
5 Circuitos padroes para equacoes SOP e POS
6 Mapas de Karnaugh
7 Tempos de propagacao e Glitches
8 Exemplo de Projeto de Circuito
38/42
Projeto de conversor BCD para SSD
Projete um circuito logico simplificado que converta o codigo BCD parao SSD apresentado na figura. Ou seja, deve-se fornecer ao circuito(entradas) um codigo BCD, atraves de chaves, e obter na saıda aapresentacao do valor decimal correspondente.
BCD - Binary-Coded DecimalSSD - Seven-Segment Display
39/42