Operações Binárias

Propaganda
Portas Lógicas
Tiago Alves de Oliveira
Introdução
• Em lógica, existem apenas duas condições possíveis
para qualquer entrada ou saída:
• Verdadeira
• Falsa
• O sistema binário de numeração utiliza apenas dois
dígitos, por isso é perfeito para representar
relações lógicas.
•1
•0
Introdução
• Os circuitos lógicos digitais usam faixas de tensões
predeterminadas para representar esses estados
binários.
• Por meio desses conceitos, é possível criar circuitos
feitos com pouco mais que areia e fios combinados
que tomam decisões coerentes, inteligentes e
lógicas.
• É de vital importância ter um método para
descrever as decisões lógicas tomadas por esses
circuitos.
• Resumindo: precisamos descrever como eles
operam.
Introdução
• A vida está repleta de exemplos de circunstâncias
em que se pode dizer que se está em um estado ou
em outro.
• Por exemplo:
•
•
•
•
uma pessoa está viva ou morta,
uma luz está acesa ou apagada,
uma porta está fechada ou aberta,
agora está chovendo ou não.
• Verificando isso George Boole criou a lógica
booleana.
Introdução
• A principal utilidade dessas expressões lógicas e:
• Descrever o relacionamento entre as saídas do circuito
lógico (as decisões) e as entradas (as circunstâncias).
• Estudaremos os circuitos lógicos mais básicos: as
portas lógicas.
• Portas lógicas são os blocos fundamentais a partir
dos quais todos os outros circuitos lógicos e
sistemas digitais são construídos.
Relembrando Álgebra Booleana
• Valores possíveis.
•0
•1
• Variáveis.
• Letras maiúsculas.
• Operações:
•
•
•
•
AND -> .
OR -> +
NOT -> ഥ
XOR -> ⊕
Álgebra Booleana
• A álgebra booleana tem, de fato, apenas três
operações básicas:
• OR (OU),
• AND (E)
• e NOT (NÃO).
• Essas operações
operações lógicas.
básicas
são
denominadas
Álgebra Booleana
• Os circuitos digitais, denominados portas lógicas,
podem ser construídos a partir de diodos, transistores
e resistores interconectados de modo que a saída do
circuito seja o resultado de uma operação lógica básica
(OR, AND ou NOT) realizada sobre as entradas.
• Usaremos a álgebra booleana, primeiramente, para
descrever e analisar essas portas lógicas básicas,
depois, para analisar e projetar circuitos
combinacionais de portas lógicas.
Tabela Verdade
• Uma tabela-verdade é
uma
técnica
para
descrever como a saída
de um circuito lógico
depende dos níveis
lógicos presentes nas
entradas do circuito.
Tabela Verdade
1. Qual será́ o estado lógico
da saída para o circuito
de
quatro
entradas
representado na figura
ao lado quando todas as
entradas, exceto a B,
forem nível 1?
2. Repita a Questão 1 para
as seguintes condições
de entrada:
A = 1, B = 0, C = 1 e D = 0.
3. Quantas linhas deve ter
uma
tabela
que
representa um circuito
de cinco entradas?
Operação OR (OU)
• Um exemplo dessa operação é o que acontece no
forno de cozinha.
• A lâmpada dentro do forno deve se acender se o
interruptor for acionado OU (OR) se a porta do
forno for aberta.
• A letra A pode ser usada para representar
interruptor acionado (verdadeiro ou falso) e a letra
B, porta do forno aberta (verdadeiro ou falso).
• A letra x pode representar lâmpada acesa
(verdadeiro ou falso)
Operação OR (OU)
• A tabela-verdade mostra o que
acontece quando duas entradas
lógicas, A e B, são combinadas
usando uma operação OR para
produzir a saída x.
• A tabela mostra que x será́ um nível
logico 1 para cada combinação de
níveis de entradas em que uma ou
mais entradas forem 1.
• O único caso em que x é um nível 0
acontece quando ambas as entradas
são 0.
Operação OR (OU)
• A expressão booleana a operação OR é:
𝑥 = 𝐴 + 𝐵
• A expressão x = A + B é lida como ‘x é igual a A ou
B’, o que significa que x será 1 quando A ou B for 1.
• A mesma maneira, a expressão x = A + B + C é lida
como ‘x é igual a A ou B ou C’, o que significa que x
será 1 quando A ou B ou C ou qualquer
combinação delas for 1.
Porta OR
• Em circuitos digitais, uma porta OR é um circuito
que tem duas ou mais entradas e cuja saída é igual
à combinação das entradas por meio da operação
OR.
• A porta OR opera de modo que sua saída será
ALTA (nível lógico 1) se a entrada A ou B ou ambas
forem nível logico 1. A saída de uma porta OR será
nível BAIXO (nível lógico 0) apenas se todas as
entradas forem nível 0.
Resumo da operação OR
• Os pontos importantes a serem lembrados em
relação à operação OR e às portas OR são:
1. A operação OR gera um resultado (saída) 1 sempre
que quaisquer das entradas for 1. Caso contrário, a
saída é 0.
2. Uma porta OR é um circuito lógico que realiza uma
operação OR sobre as entradas do circuito.
3. A expressão x = A + B é lida ‘x é igual a A ou B ’.
Operação AND (E)
• Como exemplo do uso do lógico AND, considere
uma secadora de roupas que só opera se o
temporizador estiver acima de zero AND (E) a porta
estiver fechada.
• Digamos que a letra A representa temporizador
acima de zero, que B representa porta fechada, e x,
aquecedor e motor ligados.
Operação AND (E)
• tabela-verdade mostra o que
acontece
quando
duas
entradas lógicas, A e B, são
combinadas
usando
uma
operação AND para gerar a
saída x.
• A tabela mostra que x será nível
lógico 1 apenas quando A e B
forem 1. Para qualquer outro
caso em que uma das entradas
for 0, a saída será 0.
Operação AND (E)
• A expressão booleana a operação AND é:
𝑥 = 𝐴 .𝐵
• A expressão x = A . B é lida ‘x é igual a A e B’, o que
significa que x será 1 somente quando A e B forem,
ambas, nível 1.
• A mesma maneira, a expressão x = A . B . C é lida
como ‘x é igual a A e B e C’, o que significa que x
será 1 quando A, B e C forem iguais a 1.
Porta AND
• Em circuitos digitais, uma porta AND é um circuito
que tem duas ou mais entradas e cuja saída é igual
à combinação das entradas por meio da operação
AND.
• A porta AND opera de modo que sua saída será
ALTA (nível lógico 1) se a entrada A e B forem nível
logico 1. A saída de uma porta AND será nível
BAIXO (nível lógico 0) quando uma das entradas
forem nível 0.
Resumo da Porta AND
1. A operação AND é realizada da mesma maneira
que a multiplicação convencional de 1s e 0s.
2. Uma porta AND é um circuito lógico que realiza
uma operação AND sobre as entradas do circuito.
3. A saída de uma porta AND será 1 somente
quando todas as entradas forem 1; para todos os
outros casos, a saída será 0.
4. A expressão x = AB é lida como ‘x é igual a A e B’.
Operação NOT (NÃO)
• A operação NOT, também denominada INVERSÃO,
é diferente das operações OR e AND pelo fato de
poder ser realizada sobre uma única variável de
entrada.
• Por exemplo, se a variável A for submetida à
operação de inversão, o resultado x pode ser
expresso como:
𝑥 = 𝐴ҧ
• onde a barra sobre o nome da variável representa
a operação de inversão.
Operação NOT (NÃO)
• Essa expressão é lida como ‘x é igual a A negado’, o
‘x é igual ao inverso de A’ ou ‘x é igual ao
complemento de A’.
• Cada uma dessas expressões é usada comumente,
e todas indicam que o valor lógico de x = A é o
oposto do valor lógico de A.
Operação NOT (NÃO)
• A tabela-verdade esclarece isso para os dois casos:
A = 0 e A = 1.
• Isto é
• 0 = 1ത porque 0 é 1 NEGADO
• 1 = 0ത porque 1 é 0 NEGADO
Circuito NOT (Inversor)
• A Figura abaixo mostra o símbolo para o circuito
NOT, mais comumente denominado INVERSOR.
• Esse circuito tem sempre apenas uma entrada, e
seu nível lógico de saída é o oposto ao nível lógico
de entrada.
Resumo das Operações Booleanas
• As regras para as operações OR, AND e NOT podem
ser resumidas como a seguir:
DESCREVENDO CIRCUITOS
LÓGICOS ALGEBRICAMENTE
• Qualquer circuito lógico, independente de sua
complexidade, pode ser descrito usando-se as três
operações booleanas básicas.
• Isso acontece porque as portas OR, AND e
INVERSOR são os blocos fundamentais dos
sistemas digitais.
Circuitos Lógicos
• Por exemplo, considere o circuito da Figura abaixo
o qual tem três entradas (A, B e C ) e uma única
saída (x). Usando as expressões booleanas de cada
porta, podemos determinar facilmente a expressão
lógica da saída.
Precedência de Operador
• Ocasionalmente, pode haver alguma confusão em determinar
qual operação deve ser realizada primeiro em uma expressão.
• A expressão:
𝐴 · 𝐵 + 𝐶
• pode ser interpretada de duas maneiras diferentes:
1.
2.
operação OR de A · B com C
operação AND de A com a soma lógica B + C.
• Para evitar essa confusão, deve ficar entendido que se uma
expressão tiver operações AND e OR, a operação AND é realizada
primeiro, a menos que existam parênteses na expressão.
• Nesse caso, a operação dentro dos parênteses é realizada
primeiro. Essa regra para determinar a ordem das operações é a
mesma usada na álgebra convencional.
Circuitos com INVERSORES lógicos
• Sempre que um INVERSOR estiver presente em um
circuito lógico, a expressão para a saída do
INVERSOR será igual à expressão de entrada com
uma barra sobre ela.
Circuitos com INVERSORES lógicos
AVALIANDO AS SAÍDAS DOS
CIRCUITOS LÓGICOS
• 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.
• Por exemplo, suponha que desejemos saber o nível
lógico da saída x para o circuito da Figura abaixo
para o caso em que A = 0, B = 1, C = 1 e D = 1.
AVALIANDO AS SAÍDAS DOS
CIRCUITOS LÓGICOS
• Assim como na álgebra convencional, o valor de x
pode ser encontrado com a ‘substituição’ dos
valores das variáveis na expressão e realizando a
operação indicada, conforme mostrado a seguir:
ҧ
𝑥 = 𝐴𝐵𝐶(𝐴
+ 𝐷)
𝐴=0
𝐵=1
𝐶=1
𝐷=1
AVALIANDO AS SAÍDAS DOS
CIRCUITOS LÓGICOS
• Em geral, as regras a seguir têm de ser obedecidas
quando avaliamos uma expressão booleana:
1. Primeiro, realize as inversões de termos simples; ou
ത
seja, 0 = 1ത ou 1 = 0.
2. Em seguida, realize as operações dentro de
parênteses.
3. Realize as operações AND antes das operações OR, a
menos que os parênteses indiquem o contrário.
4. Se uma expressão tiver uma barra sobre, realize a
operação indicada pela expressão e, em seguida,
inverta o resultado.
IMPLEMENTANDO CIRCUITOS A
PARTIR DE EXPRESSÕES BOOLEANAS
• Quando a operação de um circuito é definida por uma
expressão booleana, podemos desenhar o diagrama do
circuito lógico diretamente a partir da expressão.
• Por exemplo, se precisarmos de um circuito definido
por 𝑥 = 𝐴 · 𝐵 · 𝐶, saberemos imediatamente que
precisamos de uma porta AND de três entradas.
• Se precisarmos de um circuito definido por 𝑥 = 𝐴 +
ത poderemos usar uma porta OR de duas entradas
𝐵,
com um INVERSOR em uma das entradas.
• O mesmo raciocínio pode ser estendido para circuitos
mais complexos.
IMPLEMENTANDO CIRCUITOS A
PARTIR DE EXPRESSÕES BOOLEANAS
• Suponha que desejemos construir um circuito cuja
ҧ
saída seja 𝑦 = 𝐴𝐶 + 𝐵 𝐶ҧ + 𝐴𝐵𝐶.
Exercício
• Desenhe o diagrama do circuito que implemente a
expressão:
𝑥 = 𝐴 + 𝐵 𝐵ത + 𝐶
Exercícios
1. Transforme as expressões booleanas em circuitos
lógicos:
a)
b)
c)
d)
e)
f)
𝐴𝐵
𝐴𝐵𝐶
𝐴+𝐵+𝐶
𝐴𝐵 + 𝐵𝐶
𝐴+𝐵
(𝐴 + 𝐵 + 𝐶). 𝐸
Perguntas?
Download