Portas Lógicas e Álgebra
Booleana
CIRCUITOS DIGITAIS
Prof. Denis FantinatoProf. Rodrigo Moreira Bacurau
Slides baseados nas aulas do Prof. Rodrigo Moreira Bacurau
2
O que será visto nesta aula
▷ Tabelas Verdade
▷ Operações lógicas: OR, AND, NOT, NOR e NAND
▷ Descrevendo circuitos lógicos algebricamente
▷ Avaliando as saídas de circuitos lógicos
▷ Implementando circuitos lógicos a partir deexpressões booleanas
3
Introdução
▷ Nesta aula estudaremos os principais conceitos de portaslógicas e operações booleanas.
▷ Mas antes disso é importante respondermos às seguintesquestões: “Para que serve a álgebra booleana e a eletrônicadigital”? Que tipo de problemas práticos aprenderemos aresolver nesse curso?
▷ A eletrônica digital permite construir circuitos com portaslógicas capazes de tomarem decisões lógicas predefinidas.
▷ Estudaremos inicialmente como descrever esses circuitos e,em seguida, como implementá-los.
4
Introdução
▷ Em várias circunstâncias cotidianas podemos representarinformações de forma binária: um animal pode estar vivoou morto, uma luz acessa ou apagada, uma porta aberta oufechada, etc.
▷ Em 1854, o matemático George Boole escreveu “Umainvestigação das leis do pensamento”, em que descreveuum método como tomar decisões baseadas emcircunstâncias verdadeiras ou falsas.
▷ A principal utilidade da álgebra booleana é descrever arelação entre as saídas dos circuitos lógicos (as decisões) eas entradas (as circunstâncias).
5
Tabelas-Verdade
▷ Vários problemas básicos envolvendo eletrônica digitalpodem ser representados como soluções para tabelassemelhantes à representada abaixo contendo entradas(condições) e saída (decisão):
6
Tabelas-Verdade
▷ Exercício: Quantas linhas deve ter uma tabela querepresenta um circuito com cinco entradas?
7
Portas Lógicas
▷ Blocos fundamentais a partir dos quais todos oscircuitos lógicos e sistemas digitais são construídos.
▷ A álgebra booleana é a ferramenta básica paraanálise e síntese de circuitos construídos a partir deportas lógicas (operações lógicas portas lógicas).
▷ Operações básicas: OR, AND e NOT.
8
Operação OR (“OU”) com Portas OR
▷ A expressão booleana para a operação OR é:
▷ A operação OR é semelhante à adição, e quando A = 1 e B = 1,produz:
X = A + B — Leia “X equivale a A ou B”
O sinal + não se aplica para soma, mas simpara operações OR.
1 + 1 = 1 não 1 + 1 = 2
Na expressão booleana x = 1 + 1 + 1 = 1…
X é verdade (1) quando A é verdadeiro (1) OU B é verdadeiro (1) OU C é verdadeiro (1).
9
Operação OR (“OU”) com Portas OR
▷ Uma porta OR é um circuito com uma ou mais entradas,cuja saída é igual à combinação OR das entradas.
▷ Tabela-verdade e símbolo de circuito da porta OR de duasentradas.
10
Operação OR (“OU”) com Portas OR
▷ Uma porta OR é um circuito com uma ou mais entradas,cuja saída é igual à combinação OR das entradas.
▷ Tabela-verdade e símbolo de circuito da porta OR de trêsentradas.
11
Operação OR (“OU”) com Portas OR
▷ Exemplo de forma de onda na saída de uma porta OR com 3entradas:
12
Operação OR (“OU”) com Portas OR
▷ Exemplo do uso de uma porta OR em um sistema dealarme.
13
Operação AND (“E”) com Portas AND
▷ A operação AND é similar a multiplicação convencional:
Tabela-Verdade Símbolo da Porta
X = A • B • C — Leia“X é igual a A e B e C”
O sinal • não se aplica para soma, mas simpara operações AND.
X é verdadeiro (1) quando A e B e C são verdadeiros (1).
14
Operação AND (“E”) com Portas AND
▷ Aplicação porta AND – habilitar/desabilitar: Circuito paramedir a frequência de um sinal de clock.
▷ O número de pulsos que passam durante o intervalo de 1 sé igual a frequência da forma de onda A. Por exemplo, aFigura mostra seis pulsos em um segundo, quecorrespondem a uma frequência de 6 Hz.
15
Operação AND (“E”) com Portas AND
▷ Aplicação porta AND: Sistema de alarme para cinto desegurança
16
Resumo portas AND e OR
O símbolo AND em um diagrama decircuito lógico informa que a saídaserá ALTO apenas quando todas asentradas forem altas.
A saída de um circuito OR seráalta quando alguma entrada foralta.
17
Operação NOT (“NÃO”) com Portas NOT
▷ Porta NOT (inversor):
Têm uma única entrada, e onível da saída é oposto ao nívelda entrada.
Tabela-Verdade
▷ Expressão booleana NOT:
▷ Leia: “x equivale a NOT A”
“x equivale ao inverso de A”
“x equivale ao complemento de A”
x = A
A' = A
A barra superior representa a operação NOT.
Outro indicador de inversão é o símbolo
principal (').
18
Operação NOT (“NÃO”) com Portas NOT
▷ Exemplo de aplicação da porta NOT:
19
Resumo operações OR, AND e NOT
▷ Essas três operações booleanas básicas podemdescrever qualquer circuito lógico.
20
Porta NOR
▷ A porta NOR (NOT OR) é uma OR com a saída invertida:
▷ Um “bubble” de inversão é colocado na saídada porta OR, tornando a saída da expressão booleana x = A + B
21
Porta NOR
▷ Exemplo de forma de onda na saída de uma porta NOR com2 entradas:
22
Porta NAND
▷ A porta NAND (NOT AND) é uma AND com a saída invertida:
▷ Um “bubble” de inversão é colocado na saídada porta AND, tornando a saída da expressão booleana x = A B
23
Descrevendo Circuitos Lógicos Algebricamente
▷ Se uma expressão contém ambas as portas – AND e OR – aoperação AND irá acontecer anteriormente:
▷ A menos que existam parêntesis na expressão:
24
Descrevendo Circuitos Lógicos Algebricamente
▷ Circuitos com inversores:
25
Descrevendo Circuitos Lógicos Algebricamente
▷ Exemplos de circuitos com portas NOT, AND e OR:
26
Avaliando as Saídas dos Circuitos Lógicos
▷ Regras para avaliação de uma expressão booleana:
1. Executar todas as inversões de termos individuais.
2. Realizar todas as operações dentro de parêntesis.
3. Realizar a operação AND antes de uma operação OR, amenos que os parêntesis indiquem o contrário.
4. Sempre que uma expressão tiver uma barra sobre ela,realizar as operações no interior da expressão e depoisinverter o resultado.
▷ As regras são bastante parecidas com a das expressõesaritméticas.
27
Avaliando as Saídas dos Circuitos Lógicos
▷ Exemplo: Dada a expressão booleana x = ABC(A+D),determine o nível lógico da saída (x) quando: A=0, B=1, C=1e D=1.
▷ x = ABC(A+D)
▷ x = 0∙1∙1∙(0+1)
▷ x = 1∙1∙1∙(0+1)
▷ x = 1∙1∙1∙(1)
▷ x = 1∙1∙1∙0
▷ x = 0
28
Avaliando as Saídas dos Circuitos Lógicos
▷ A melhor maneira de analisar um circuito composto por váriasportas lógicas é usar uma tabela-verdade.
- Permite analisar uma porta ou uma combinação lógica deuma só vez.
- Permite conferir facilmente seu trabalho.
▷ O primeiro passo, após listar todas as combinações deentradas, é criar uma coluna na tabela-verdade para cada sinalintermediário (nó).
29
Avaliando as Saídas dos Circuitos Lógicos
▷ Depois é só preencher as colunas da esquerda para a direitaaté que se tenha o sinal de saída:
30
Implementando Circuitos a partir de Expressões
▷ Caminho inverso do que fizemos até agora.
▷ Exemplo: circuito que implementa a expressão: y=AC+BC+ABC
▷ Inicia-se pela operação OR:
▷ Cada entrada da porta OR é um termo do produto AND.
31
Implementando Circuitos a partir de Expressões
▷ Exercício: Represente o circuito que implementa a expressãox = (A + B) (B + C).
32
Implementando Circuitos a partir de Expressões
▷ Exercício: Represente o circuito que implementa a expressãox = (A + B) (B + C).
33
Implementando Circuitos a partir de Expressões
▷ Circuito lógico com a expressão x = AB • (C + D)NOR e NAND.
34
Exercícios
▷ 1 – (a) Desenvolva a tabela-verdade para uma porta AND de 3entradas.(b) Determine o número total de combinações de entradapossíveis para uma porta AND de 4 entradas.
▷ 2 – Em que situação a saída de uma porta OR é nível alto? Emque situação a saída de uma porta OR é nível baixo?
▷ 3 -Um circuito de inversores em cascata é mostrado na abaixo.Se um nível ALTO for aplicado no ponto A, determine os níveislógicos nos pontos de B até F.
35
Exercícios
▷ 4 – Utilizando portas lógicas desenhe o esquema do circuitopara um alarme de detecção de intrusão. Considere que osistema será instalado em uma casa com duas janelas e umaporta, com um sensor em cada janela e na porta. Os sensoresdas janelas apresentam saída em nível alto quando a janelaestá aberta, e baixo quando a janela está fechada. O sensor daporta apresenta saída nível alto quando a porta está fechada,e baixo quando a porta está aberta. O alarme deve tocar se ointerruptor de ativação estiver acionado e uma das janelas ouporta for aberta.
36
Exercícios
▷ 5 – Uma planta de fabricação usa dois tanques paraarmazenar certos produtos químicos líquidos necessários numprocesso de fabricação. Cada tanque tem um sensor quedetecta quando o nível do produto cai para 25% do nívelmáximo. Os sensores produzem um nível ALTO de 5 V quandoos tanques estão com mais que 1/4 da capacidade. Quando ovolume do produto no tanque cai para 1/4 do máximo, osensor gera um nível BAIXO de 0 V.
É necessário que um diodo emissor de luz (LED – light emittingdiode) cinza num painel indicador mostre quando ambos ostanques estão acima de 1/4 da capacidade.
Mostre como uma porta NAND pode ser usada paraimplementar essa função.
37
Exercícios
▷ 6 – O supervisor do processo produtivo descrito no exercícioanterior solicitou que fosse adicionado no sistema um LEDlaranja para indicar quando pelo menos um dos tanquesestiver abaixo de 1/4 da capacidade. Mostre como essasolicitação pode ser implementada.
▷ 7 - Descreva as diferenças funcionais entre uma porta NAND euma porta OR com as duas entradas negadas. Elas têm amesma tabela-verdade?
38
Exercícios
▷ 8 – Como parte de um sistema de monitoramento funcionalde aeronaves, é necessário um circuito para indicar o estadodo trem de aterrissagem antes da aterrissagem. Um LED cinzaliga se os três trens de aterrissagem estiveremadequadamente estendidos quando a chave de redução develocidade for ativada em preparação para a aterrissagem.Um LED laranja liga se algum dos trens de aterrissagem nãofor adequadamente estendido antes da aterrissagem. Quandoo trem de aterrissagem está estendido, o seu sensor produzuma tensão de nível BAIXO. Quando o trem de aterrissagemestá retraído, o seu sensor produz uma tensão de nível ALTO.Implemente um circuito que atenda a esse requisito.
39
Exercícios
▷ 9 – Cada uma das entradas de uma porta NAND de 2 entradasrecebe pulso. Um pulso vai para nível ALTO em t = 0 e retornapara nível BAIXO em t = 1 ms. O outro pulso vai para nívelALTO em t = 0,8 ms e retorna para nível BAIXO em t = 3 ms. Opulso de saída pode ser descrito como:
(a) Ele vai para nível BAIXO em t = 0 e retorna para nível ALTOem t = 3 ms.
(b) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelALTO em t = 3 ms.
(c) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelALTO em t = 1 ms.
(d) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelBAIXO em t = 1 ms.
40
Exercícios
▷ Exercícios recomendados do Tocci 11ª Ed.
▷ 3.4
▷ 3.5
▷ 3.7
▷ 3.9
▷ 3.10
▷ 3.12
▷ 3.16
▷ 3.21
41
Referências
▷ FLOYD, Thomas. Sistemas digitais: fundamentos eaplicações. 9ª edição. Porto Alegre, RS: Bookman,2007.
▷ TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemasdigitais: princípios e aplicações. 11ª edição. SãoPaulo, SP: Pearson/Prentice Hall, 2011.