aula cd 04 -...
TRANSCRIPT
1
Circuitos Digitais
Álgebra Booleana / Funções Lógicas
Prof. Sergio Ribeiro
Material adaptado das aulas de Circuitos Digitais I do Prof. José Maria da UFPI
Ciência da Computação
Circuitos Digitais
� Introdução� Álgebra Booleana� Constantes e Variáveis Booleanas� Tabela-Verdade� Operações OR, AND e NOT, e suas Portas Lógicas� Descrevendo Circuitos Lógicos Algebricamente� Avaliando as saídas dos circuitos lógicos� Implementando circuitos a partir de expressões Booleanas� Portas NOR e Portas NAND� Teoremas de DeMorgan� Universalidade das Portas NAND e NOR� Simbologia alternativa para Portas Lógicas� Símbolos Lógicos do Padrão IEEE/ANSI
Conteúdo
2
Circuitos Digitais
Introdução
� A Álgebra de Boole é aplicável ao projeto dos circuitos lógicos e funciona baseada em princípios da lógica formal, uma área de estudo da filosofia.
� Um dos pioneiros no estudo da lógica formal foi Aristóteles (384-322 AC), que publicou um tratado sobre o tema denominado "De Interpretatione".
� George Boole percebeu que poderia estabelecer um conjunto de símbolos matemáticos para substituir certas afirmativas da lógica formal. Publicou suas conclusões em 1854 no trabalho: "Uma Análise Matemática da Lógica".
� Claude B. Shannon mostrou (em sua tese de mestrado no MIT) que o trabalho de Boole poderia ser utilizado para descrever a operação de sistemas de comutação telefônica. As observações de Shannon foram divulgadas em 1938 no trabalho "Uma Análise Simbólica de Relés e Circuitos de Comutação".
3 Circuitos Digitais
Lógica
A lógica (do grego clássico λoyikή logos, que significa palavra, pensamento, idéia, argumento, relato, razão lógica ou princípio lógico) é uma ciência de
índole matemática e fortemente ligada à Filosofia.
Assim, a lógica é o ramo da filosofia que cuida das regras do bem pensar, ou do pensar correto, sendo, portanto, um instrumento do pensar.
Um sistema lógico é um conjunto de axiomas e regras de inferência que visam representar formalmente o raciocínio válido.
Lógicas são linguagens formais para a representação de conhecimento que permite que conclusões possam ser tomadas.
4
Circuitos Digitais
Álgebra Booleana
A álgebra booleana é uma ferramenta matemática que nos permite descrever relações entre as entradas e as saídas dos circuitos lógicos como uma equação algébrica (uma expressão Booleana).
Constantes e Variáveis BooleanasA principal diferença entre a álgebra booleana e a álgebra convencional é que as constantes e variáveis podem assumir apenas dois valores possíveis: 0 e 1.As variáveis booleanas nãorepresentam efetivamente números, mas sim o estadoda variável monitorada ⇒indica um nível lógico.
Nível Lógico 0 Nível Lógico 1
Falso Verdadeiro
Desligado Ligado
Baixo Alto
Não Sim
Chave aberta Chave fechada5 Circuitos Digitais
Tabela-Verdade
6
2
Circuitos Digitais
Operações Lógicas Básicas
� A álgebra booleana tem, de fato, apenas três operações básicas:� OR (OU)
� AND (E)
� NOT (NÃO)
7 Circuitos Digitais
Operação OR e a Porta OR
8
Circuitos Digitais
Operação OR e a Porta OR
9
Operação OR e a Porta ORMuitos sistemas de controle industrial requerem a ativaçãode uma função de saída sempre que qualquer uma dasvárias entradas for ativada. Por exemplo, em um processoquímico pode ser necessário que um alarme seja ativadosempre que a temperatura do processo exceder um valormáximo ousempre que apressãoultrapassar umcerto limite.
Circuitos Digitais 10
Operação OR e a Porta OR
Considere que os diagramas de tempo abaixocorrespondem às entradas A e B da porta lógicaOR. Acompanhe como serão as saídas obtidas.
Circuitos Digitais 11
Operação OR e a Porta OR
Considere que os diagramas de tempo abaixocorrespondem às entradas A, B e C da porta lógicaOR. Acompanhe como serão as saídas obtidas.
Circuitos Digitais 12
3
Circuitos Digitais
Operações Lógicas Básicas
� A álgebra booleana tem, de fato, apenas três operações básicas:� OR (OU)
� AND (E)
� NOT (NÃO)
13
Operação AND e a Porta AND
Circuitos Digitais 14
Operação AND e a Porta AND
Circuitos Digitais 15
Operação AND e a Porta AND
Considere que os diagramas de tempo abaixocorrespondem às entradas A e B da porta lógicaOR. Acompanhe como serão as saídas obtidas.
Circuitos Digitais 16
Operação AND e a Porta AND
Circuitos Digitais
Considere que os diagramas de tempo abaixocorrespondem às entradas A e B da porta lógicaAND. Acompanhe como serão as saídas obtidas.
Circuito inibidor quando B = 0 e Circuito de habilitação quando B = 1
17 Circuitos Digitais
Operações Lógicas Básicas
� A álgebra booleana tem, de fato, apenas três operações básicas:� OR (OU)
� AND (E)
� NOT (NÃO)
18
4
Operação NOT (Não) ou Inversor
Circuitos Digitais 19
NOT
0 = 1
1 = 0
Resumo das Operações Booleanas
OR
0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1
Circuitos Digitais
AND
0 ⋅ 0 = 00 ⋅ 1 = 01 ⋅ 0 = 01 ⋅ 1 = 1
20
Descrevendo CircuitosLógicos Algebricamente
Qualquer circuito lógico, não importando sua complexidade,pode ser descrito usando as três operações Booleanasbásicas. Sendo assim, as portas OR, AND e INVERSOR sãoos blocos fundamentais dos sistemas digitais.Por exemplo, considere o circuito abaixo: qual será aexpressão lógica da saída x ?
Circuitos Digitais 21
Descrevendo CircuitosLógicos Algebricamente
Verificar o que vem primeiro (usar parênteses),senão as operações AND são realizadas primeiro.
Circuitos Digitais 22
Descrevendo CircuitosLógicos Algebricamente
Circuitos Digitais 23 Circuitos Digitais
Qualquer circuito lógico, não importando sua complexidade,
pode ser descrito usando as três operações Booleanas
básicas pois as portas OR, AND e INVERSOR são os
blocos fundamentais dos sistemas digitais. Desta forma,
qual seria a expressão para a saída do circuito abaixo?
Descrevendo CircuitosLógicos Algebricamente
24
5
Circuitos Digitais
Descrevendo CircuitosLógicos Algebricamente
De forma semelhante, qual seria a expressão para a saída do circuito abaixo ?
25
Segue-se as seguintes regras para se avaliar uma expressão booleana:
Circuitos Digitais
Avaliando as Saídas dos Circuitos Lógicos
1. Primeiro, realize as inversões de termos simples.2. Em seguida, realize todas operações dentro de iiyiparêntesis.3. Realize as operações AND antes das operações iiyiOR (a menos que os parêntesis indiquem o iiyicontrário).4. Se uma expressão tiver uma barra sobre ela, iiyirealize a operação indicada pela expressão e, iiyiem seguida, inverta o resultado.
26
Circuitos Digitais
Avaliando as Saídas dos Circuitos Lógicos
Uma vez de posse da expressão booleana para a saída de um circuito, podemos obter o nível lógico da saída para qualquer conjunto de níveis lógicos de entrada.
Exemplo I: A = 0, B = 1, C = 1 e D = 1 x = ABC(A + D)
= 0⋅1⋅1⋅(0 + 1)
= 1⋅1⋅1⋅(0 + 1)
= 1⋅1⋅1⋅(1)
= 1⋅1⋅1⋅0
= 0
_
_
_
_____
____
____
27 Circuitos Digitais
Avaliando as Saídas dos Circuitos Lógicos
Uma vez de posse da expressão booleana para a saída de umcircuito, podemos obter o nível lógico da saída para qualquerconjunto de níveis lógicos de entrada.
Exemplo II: A = 0, B = 0, C = 1,D = 1 e E = 1
x = [D + (A + B)⋅C]⋅E
= [1 + (0 + 0)⋅1]⋅1
= [1 + 0⋅1]⋅1
= [1 + 0]⋅1
= [1 + 1]⋅1
= 1⋅1
= 1
___
__________
28
Circuitos Digitais
Avaliando as Saídas dos Circuitos Lógicos
O nível lógico da saída, em função dos níveis lógicosespecificados para as entradas, pode ser determinadodiretamente a partir do diagrama do circuito sem usar aexpressão booleana. Esta técnica é muitas vezes utilizadapara a análise de defeitos, ou teste de um sistema lógico.
011
1
0
1
1
1
0 0
29 Circuitos Digitais
Implementando Circuitos a partir de Expressões
� Quando a operação de um circuito é definida por uma expressão booleana, podemos desenhar o diagrama do circuito lógico a partir da expressão.
� Por exemplo, se precisarmos de um circuito definido por x = A ⋅ B ⋅ C, saberemos imediatamente que precisamos de uma porta AND de três entradas.
� Mas como proceder para uma expressão mais complexa???
� Por exemplo, se precisarmos de um circuito definido por x = A + B, podemos usar uma porta com um INVERSOR em uma das entradas.
� O mesmo raciocínio pode ser aplicado para circuitos mais complexos.
_
30
6
Circuitos Digitais
Implementando Circuitos a partir de Expressões
Suponha que desejamos construir um circuito cuja saída seja:
y = AC + BC + ABC
Como proceder???
� A expressão booleana contém três termos sobre os quais aplica-se a operação OR, conforme abaixo:
__
31 Circuitos Digitais
Implementando Circuitos a partir de Expressões
Observe que cada entrada da porta OR tem um termo que é um produto lógico AND.
Assim, o circuito pode ser expandido a partir destes termos conforme a figura abaixo:
32
Circuitos Digitais
Implementando Circuitos a partir de Expressões
OBSERVAÇÃO: Este procedimento geral pode sempre serseguido, embora mais adiante veremos que existem outrastécnicas mais eficientes que podem ser empregadas.
EXEMPLO: Desenhe o diagrama do circuito que implemente a expressão:
X = (A + B)(B + C)_
33 Circuitos Digitais
Portas NOR e Portas NANDDois outros tipos de portas lógicas, as portas NAND e NOR, sãomuito usados em circuito digitais. Na realidade elas combinamas operações básicas AND, OR e NOT, de modo que érelativamente simples escrever suas expressões booleanas.
34
Circuitos Digitais
Portas NOR e Portas NANDDois outros tipos de portas lógicas, as portas NAND e NOR, sãomuito usados em circuito digitais. Na realidade elas combinam asoperações básicas AND, OR e NOT, de modo que é relativamentesimples escrever suas expressões booleanas.
35 Circuitos Digitais
Portas NOR e Portas NAND
Determine a expressão booleana para uma porta NOR de três entradas seguidas de um inversor.
Sempre que duas barras estiverem sobre a mesma variável ou expressão, uma cancela a outra, como mostrado acima. Entretanto, em casos como:
A + B
as barras de inversão não se cancelam. Assim:
A + B ≠ A + B
_ ______
A ⋅ B ≠ A ⋅ B_ ______ _ _____
e
36
7
Circuitos Digitais
Portas NOR e Portas NAND
Implemente, usando apenas portas NOR e NAND, o circuito lógico que tem como expressão:
COMENTÁRIOS: o termo (C + D) é a expressão para a saídade uma porta NOR. Deve-se fazer uma operação AND dessetermo com A e B, e inverter o resultado ⇒ gerando umaoperação NAND.
X = AB⋅(C + D)___________
____
37 Circuitos Digitais
Teoremas Booleanos� Vimos como a álgebra booleana pode ser usada para
ajudar na análise de um circuito lógico e comoexpressar matematicamente a operação do circuito.Prosseguimos com a álgebra booleana investigandoteoremas booleanos, que poderão nos ajudar asimplificar expressões lógicas e circuitos lógicos.
� Começaremos com os teoremas para uma variávellógica, acompanhados de um circuito lógico parademonstrar sua validade.
� Em seguida, serão apresentados os teoremas commais de uma variável lógica.
38
Circuitos Digitais
Teoremas Booleanos:: Teoremas com 1 variável lógica
39 Circuitos Digitais
Teoremas Booleanos:: Teoremas com 1 variável lógica
Ressalta-se que a variável x em que se aplica os teoremas de (1) a (8) pode ser uma expressão que contenha mais de uma variável.
Por exemplo, se tivéssemos a expressão AB(AB), poderíamos considerar x = AB e aplicar o teorema (4):
A mesma idéia pode ser aplicada no uso de qualquer um desses teoremas!
Teorema (4): x ⋅ x = 0
Assim: AB(AB) = 0
___ _
___ _
_
_
40
Circuitos Digitais
Teoremas Booleanos:: Teoremas com mais de uma variável lógica
Leis Comutativas(09) x + y = y + x(10) x ⋅ y = y ⋅ x
Leis Associativas(11) x + (y + z) = (x + y) + z = x + y + z(12) x ⋅ (y ⋅ z) = (x ⋅ y) ⋅ z = x ⋅ y ⋅ z
Lei Distributiva(13a) x ⋅ (y + z) = xy + xz(13b) (w + x) ⋅ (y + z) = wy + xy + wz + xz
Os teoremas (09) a (13) têm equivalência na álgebra convencional !
41 Circuitos Digitais
Teoremas Booleanos:: Teoremas com mais de uma variável lógica
Teoremas da Absorção (14) e (15)(14) x + xy = x(15a) x + xy = x + y(15b) x + xy = x + y
Provando o Teorema (14)x + xy = x ⋅ 1 + x ⋅ y Teorema (2) e (13a)
= x ⋅ (1 + y) Teorema (6)= x ⋅ 1 Teorema (2)= x
__
_
42
8
Circuitos Digitais
Teoremas Booleanos:: Teoremas com mais de uma variável lógica
Provando o Teorema (15a)
x + xy = x ⋅ (1 + y) + xy Teorema (6)= x + xy + xy Teorema (13a)= x + y ⋅ (x + x) Teorema (13a)= x + y ⋅ (1) Teorema (8)= x + y Teorema (2)
_
_
(15a) x + xy = x + y _
_
_
43 Circuitos Digitais
Teoremas de DeMorgan
Dois dos mais importantes teoremas da álgebra booleanaforam uma contribuição do matemático Augustus DeMorgan.
Augustus DeMorgan (Madura, Índia, 27 de junho de 1806 —Londres, 18 de março de 1871) foi um matemático e lógico
britânico.44
Circuitos Digitais
Teoremas de DeMorganOs teoremas de DeMorgan são extremamente úteis nasimplificação de expressões nas quais um produto, ou umasoma, de variáveis aparece negado (barrado). Os doisteoremas são:
Embora os teoremas tenham sido apresentados em termosdas variáveis x e y, eles são igualmente válidos parasituações em que x e/ou y são expressões com maisvariáveis.
(16) (x + y) = x ⋅ y
(17) (x ⋅ y) = x + y
____ __
___ __
Exemplo:(AB + C) = (AB) ⋅ C
_ _ ______ __
45 Circuitos Digitais
Teoremas de DeMorgan
EXEMPLO: Simplifique a expressão z = (A + C)⋅(B + D) para que ela tenha apenas variáveis simples invertidas.
SOLUÇÃOUsando o teorema (17), temos:
z = (A + C) ⋅ (B + D) = (A + C) + (B + D)
= A ⋅ C + B ⋅ D
= A ⋅ C + B ⋅ D
Os teoremas de DeMorgan podem ser estendidos para mais de duas variáveis ?
_ ____________
_ _____________ _ ______ _____
_ ___ __
_ _
46
Circuitos Digitais
Teoremas de DeMorganConsidere o complemento da soma lógica para trêsvariáveis lógicas:
x + y + z = (x + y) ⋅ z
= x ⋅ y ⋅ z
Raciocínio semelhante pode ser aplicado para ocomplemento da soma lógica de N variáveis.
De forma semelhante, temos que:
x ⋅ y ⋅ z = x + y + z
O teorema de DeMorgan para o complemento doproduto lógico também pode ser estendido para Nvariáveis.
Expressão semelhante aoteorema para 2 variáveis !!
_______ ____ _
_ _ _
_ _ ______
47 Circuitos Digitais
Teoremas de DeMorganAnalisando os teoremas de DeMorgan do ponto de vista das
portas lógicas.
48
9
Circuitos Digitais
Universalidade das Portas NAND e NOR
Todas as expressões booleanas consistem em combinações das operações básicas OR, AND e NOT. Mas, é possível implementar qualquer expressão usando apenas portas NAND, e nenhum outro tipo de porta lógica.
49 Circuitos Digitais
Universalidade das Portas NAND e NOR
De modo similar, notamos que as portas NOR podem ser associadaspara implementar qualquer operação booleana, tornando possível aimplementação de qualquer expressão usando apenas portas NOR, enenhum outro tipo de porta lógica.
50
Circuitos Digitais
Universalidade das Portas NAND e NOR
EXEMPLO: Em um determinado processo de fabricação, uma esteira detransporte deve ser desligada sempre que determinadas condiçõesocorrem. Essas condições são monitoradas e têm seus estados sinalizadospor quatro sinais lógicos, que são:
• A será ALTO sempre que a velocidade da esteira for muito alta.• B será ALTO sempre que o recipiente no final da esteira estiver cheio.• C será ALTO quando a tensão da esteira for muito alta.• D será ALTO quando o comando manual estiver desabilitado.
Um circuito lógico é necessário para gerar um sinal x que será ALTOsempre que as condições A e B existirem simultaneamente, ou sempreque as condições C e D existirem simultaneamente.Solução
x = AB + CD
Como implementar o circuito com o mínimo de CIs?51 Circuitos Digitais
Universalidade das Portas NAND e NOR
Solução (continuação)Considere que os CIs TTL abaixo estão disponíveis para a implementação:
Uma forma simples de implementar o circuito lógico usando os CIs dados é:
Porém, uma alternativa é:
Após eliminação dasinversões duplas
52
Circuitos Digitais
Simbologia Alternativa para Portas Lógicas
� Embora ainda seja comum o uso dos símbolos-padrão dasportas lógicas em diagramas de circuitos, é cada vez maiscomum encontrar diagramas que usam símbolos lógicosalternativos juntamente com os símbolos-padrão.
� O símbolo alternativo para cada porta é obtido a partir do símbolo-padrão seguindo o procedimento abaixo:1. Inverta cada entrada e cada saída do símbolo-padrão.
Isso é feito acrescentando pequenos círculos nas entradas e saídas que não têm os círculos, e removendo os já existentes.
2. Mude o símbolo da operação AND para OR, ou de OR para AND. No caso do INVERSOR, o símbolo da operação não é alterado.
53 Circuitos Digitais
Simbologia Alternativa para Portas Lógicas
54
10
Circuitos Digitais
Simbologia Alternativa para Portas Lógicas
Quando uma linha de entrada ou saída em um símbolo de umcircuito lógico não tem um pequeno círculo, diz-se que ela é ativa-ALTO. Quando uma linha de entrada ou saída tem um pequenocírculo, diz-se que ela é ativa-BAIXO.Para ilustrar, temos:
DÚVIDA: Qual simbologia usar ?55 Circuitos Digitais
Que Simbologia de Porta Lógica Adotar
A resposta depende da função específica atribuída à saída docircuito. Se ela estiver sendo usada para ativar algo (por exemploligar um LED ou ativar um exemplo, outro circuito lógico) quandoa saída Z for para o estado 1, então podemos dizer que a saída Zé ativa-ALTO. Por outro lado, se o circuito estiver sendo usadopara atuar quando a saída Z estiver no estado 0, então Z seráativa-BAIXO.
56
Circuitos Digitais
Símbolos Lógicos do Padrão IEEE
57 Circuitos Digitais
Exercícios
1. Simplifique as expressões:
a) S = (A + B) ⋅ (A + B)
b) S = ABC + AC + AB
2. Desenhe o diagrama de circuito que implemente a expressão:
S = (A + C) ⋅ (A + D)___________
_
_ _
_ _
58
Circuitos Digitais
Exercícios
3. Faça:a) Escreva a expressão de saída do circuito abaixo.b) Monte a tabela-verdade.c) Desenhe a forma de onda da saída X.
59 Circuitos Digitais
Bibliografia Básica
� Tocci, R. j., Widmer, N. S.; Sistemas Digitais -Princípios e Aplicações - 8ª Ed, Editora Pearson, 2003.
� Capuano, F. G., Idoeta, I.V.; Elementos de Eletrônica Digital – 40ª Ed, Editora Érica, 2008.
60