Capítulo 2: Funções e Portas Lógicas
1. Introdução
A álgebra booleana foi desenvolvida pelo matemático George Boole para o estudo da lógica. Mais tarde, em 1938, Claude E. Shannon desenvolveu a aplicação da álgebra booleana no projeto de circuitos de comutação telefônica. A álgebra booleana é definida sobre um conjunto de dois elementos: verdadeiro e falso, ou seja, uma variável representando se uma proposição lógica é falsa ou verdadeira. Por exemplo, uma chave que pode estar aberta ou fechada, como mostrado na Figura 1.
A é verdadeira A = 1
A é falsa A = 0
Figura 1- Chave aberta e fechada
Uma proposição lógica, relativa a essa chave, é “a chave está fechada”. Esta proposição é representada pelo símbolo A. Então, quando a chave está fechada a variável A é verdadeira, e quando a chave está aberta a variável A é falsa.
Como visto, a variável booleana (também chamada binária) possui dois valores, que no caso da representação do estado de uma chave ou relé, são: fechado e aberto. Na verdade, pode- se escolher convenientemente várias palavras para descrever um estado binário, como, por exemplo, alto e baixo, verdadeiro e falso, ligado e desligado etc. Simbolicamente, costuma-se representar a variável boolena por 1 e 0. Portanto, em relação à figura anterior, tem-se A = 1 ou A = 0.
Cabe lembrar que os símbolos 1 e 0 não têm aqui um significado numérico, mas apenas um significado lógico. No campo dos sistemas digitais, esses dois valores são dois níveis de tensão pré-fixados aos quais associamos os símbolos 1 e 0. Por exemplo, +5V = 1 e 0V = 0. Uma denominação muito comum de 0 e 1 são os termos BAIXO/ALTO ou nível lógico BAIXO/nível lógico ALTO.
A álgebra booleana usa três operações básicas: NÃO, E e OU. A operação NÃO é a negação ou o complemento, indicada por uma barra sobre a variável, e as operações E e OU correspondem a uma forma de multiplicação (“ . ”) e adição (“+”) booleanas, respectivamente.
2. Tabela-Verdade
Também chamada de tabela de combinações. Montar uma tabela-verdade é escrever todas
as combinações possíveis dos estados lógicos de todas as variáveis da função, incluindo o estado
lógico resultante de cada combinação. O número de combinações possíveis de “N” variáveis de
entrada é na ordem de 2
N. Por exemplo, com n=2 teremos quatro combinações, com três variáveis
de entrada teremos 8 combinações e com quatro entradas teremos 16 combinações no total. A
Tabela 1 apresenta um exemplo de tabela-verdade no formato de duas entradas. Observe que a
listagem das combinações de entrada segue a sequência da contagem binária, o que torna fácil a
sua construção.
Tabela 1- Tabela-verdade entradas saída
A B L
0 0 ?
0 1 ?
1 0 ?
1 1 ?
3. Portas Lógicas
Uma porta (gate) é um circuito implementado com componentes semicondutores, com um ou mais terminais de dados (onde são colocadas as variáveis booleanas) e uma saída que executa uma operação booleana entre as variáveis presentes nas suas entradas. Tais dispositivos obedecem às leis da álgebra de Boole e, por isso, são conhecidos como portas lógicas.
Faremos a equivalência das portas lógicas com o circuito de chaves e com o diagrama de contatos a relés, muito utilizado na execução de operações de controle. Fisicamente, um relé consiste de uma bobina que quando energizada provoca o movimento de parte de sua estrutura, que abre ou fecha os contatos. Assim, o contato normalmente aberto de um relé é representado por A. Se o relé não está energizado, caso para A=0, nenhuma corrente flui através do contato. Se o relé está energizado, caso para A=1, flui corrente através do contato.
No caso dos circuitos com chaves usamos as seguintes convenções: (a) chave aberta significa que a variável booleana correspondente assume nível lógico 0; (b) chave fechada significa que a variável booleana correspondente assume nível lógico 1; (c) lâmpada acessa corresponde a uma saída em nível lógico 1. No aso dos circuitos com contatos de relés usaremos as seguintes convenções: (a) contato normalmente fechado corresponde ao complemento (inverso) da variável; (b) contato normalmente aberto corresponde a variável em si.
3.1. Porta E (“AND”)
A Figura 2 mostra um circuito com duas chaves (A e B). A lâmpada (L) só acende se as chaves A e B estiverem fechadas.
Figura 2- Equivalente da operação E (AND) com chaves
Assumindo que “chave fechada” corresponda a nível 1 e “lâmpada acesa” corresponda também a nível 1, pode-se construir sua tabela verdade, conforme Tabela 2.
Tabela 2- Tabela-verdade da operação lógica E
A B L
0 0 0
0 1 0
1 0 0
1 1 1
Em uma operação E o
resultado será 1 somente se
todas as entradas forem iguais
a 1, nos outros casos o
resultado é 0.
onde, L = A . B lê-se da seguinte maneira: L é igual a A e B; o ponto simboliza a operação de multiplicação E (AND), cujas regras estão expressas na tabela-verdade acima.
Podemos representar a função lógica E através do diagrama de contatos da Figura 3.
L A B
Figura 3- Diagrama de contatos da operação E
Os símbolos da porta lógica E (que executa, portanto, a função E) de duas entradas, são apresentados na Figura 4. A porta E mostrada só possui duas entradas (A e B), embora possa ter várias entradas.
Convencional Padrão IEEE/ANSI
&
A
B L
Figura 4- Símbolos da porta lógica E
É usual mostrar o modo de operação de um circuito com portas lógicas através de um diagrama no tempo. Este diagrama apresenta a forma de onda dos sinais lógicos aplicados às entradas de portas lógicas ao longo do tempo e o sinal de saída resultante.
A Figura 5 a seguir é um exemplo de tal diagrama. Ela mostra a operação da porta E.
Figura 5- Diagrama no tempo da operação lógica E
3.2. Porta OU (“OR”)
A Figura 6 mostra o circuito elétrico equivalente de uma porta OU. A lâmpada acende se a chave A estiver fechada ou se a chave B estiver fechada.
Figura 6- Circuito equivalente de uma porta OU
A Tabela 3 representa a tabela-verdade que descreve funcionamento do circuito OU.
Podemos observar que, a não ser apra o caso de A=B=1, a operação OU é igual a uma adição aritmética comum. No caso A=B=1 a soma lógica é 1, já que os valores possíveis na álgebra
nível lógico ALTO = 1
nível lógico BAIXO = 0
Tabela 3- Tabela-verdade da operação lógica OU
A B L
0 0 0
0 1 1
1 0 1
1 1 1
onde, L = A + B deve ser lida do seguinte modo: L é igual a A ou B; o sinal + simboliza a operação lógica OU.
Podemos representar a função lógica OU através do diagrama de contatos da Figura 7.
L A
B
Figura 7- Diagrama de contatos da operação OU
Os símbolos da porta lógica OU (que executa, portanto, a função OU) para duas entradas, são apresentados na Figura 8. Na Figura 9 apresentamos o diagrama no tempo da operação OU.
Convencional Padrão IEEE/ANSI
1 A
B L
Figura 8- Símbolos da porta lógica OU
Figura 9- Diagrama no tempo da operação lógica OU
3.3. Porta Inversora (NÃO ou “NOT”)
A operação inversora, ou de negação, atua sobre uma única variável de entrada. O nível lógico de saída é sempre oposto ao nível lógico de entrada, ele inverte (complementa) o sinal de entrada. A Figura 10 apresenta os símbolos lógicos para a porta inversora. A Tabela 5 apresenta a tabela-verdade para a operação de inversão.
Convencional Padrão IEEE/ANSI
A 1 L
A saída estará no nível lógico ALTO se uma ou mais das entradas estiverem em nível ALTO. A saída só estará no nível lógico BAIXO se todas as entradas estiverem no nível lógico BAIXO.
nível lógico ALTO = 1 nível lógico BAIXO = 0
indica inversão
Figura 10- Símbolos da porta lógica inversora
Tabela 5- Tabela-verdade da operação lógica inversora A L
0 1 1 0
onde, L A lida da seguinte maneira: L é igual a A barrado ou L é igual ao complemento de A ou L é igual ao inverso de A.
A Figura 11 apresenta o circuito elétrico equivalente de uma porta inversora e seu diagrama de contatos. A lâmpada acende se a chave A estiver aberta e apaga se estiver fechada.
A L R
L A
ou
L A
Figura 11- Circuito equivalente com chaves e diagrama de contatos da operação inversora
3.4. Porta NÃO-E (“NAND”)
É a junção das portas NÃO e E. A Figura 12 apresenta o símbolos da porta lógica NÃO- E e a Tabela 6 a tabela-verdade de tal função.
Convencional Padrão IEEE/ANSI
&
A
B L
Figura 12- Símbolos da porta lógica NÃO-E
Tabela 6- Tabela-verdade da operação lógica NÃO-E
A B L
0 0 1
0 1 1
1 0 1
1 1 0
onde, L = A . B
Na Figura 13 temos a diagrama no tempo para uma porta lógica NÃO-E de duas entradas.
Figura 13- Diagrama no tempo para porta lógica NÃO-E
indica inversão
A Figura 14 apresenta o circuito elétrico equivalente de uma porta NÃO-E e seu diagrama de contatos. A lâmpada apaga somente quando as chaves A e B estiverem fechadas.
A L B R
L A B
Figura 14- Circuito equivalente com chaves e diagrama de contatos da operação NÃO-E
3.5. Porta NÃO-OU (“NOR”)
É a junção das portas NÃO e OU. A Figura 15 apresenta o símbolos da porta lógica NÃO- OU e a Tabela 7 a tabela-verdade de tal função.
Convencional Padrão IEEE/ANSI
1 A
B L
Figura 15- Símbolos da porta lógica Não-OU Tabela 7- Tabela-verdade da operação lógica NÃO-OU
onde, L = A + B
Na Figura 16 temos a diagrama no tempo para uma porta lógica NÃO-OU de duas entradas.
Figura 16- Diagrama no tempo para porta lógica NÃO-OU
A Figura 17 apresenta o circuito elétrico equivalente de uma porta NÃO-OU e seu diagrama de contatos. A lâmpada apaga somente quando as chaves A ou B estiverem fechadas.
A B L
0 0 1
0 1 0
1 0 0
1 1 0
indica inversão
A L R
B L
A B
Figura 17- Circuito equivalente com chaves e diagrama de contatos da operação NÃO-OU
Exercícios:
1) Determine a equação booleana de uma porta NOR de três entradas com uma NOT na saída.
2) Construir usando somente portas NOR e NAND o circuito lógico cuja função é
C D
. B . A
X .
3) Construir usando portas lógicas de duas entradas o circuito lógico cuja função é:
a) X A . B C , b) X ( A B ). C , c) X A . B . C .( A D ) 3.6. Porta OU-EXCLUSIVO (“XOR”)
A saída L é igual a 1 se A=1 ou se B=1, mas não se ambos A e B forem 1. Uma entrada ou exclusivamente a outra deve estar em nível lógico ALTO para a saída estar em ALTO.
A Figura 18 apresenta o símbolo lógico convencional e tabela verdade da porta OU-EXCLUSIVO:
onde, L A B A B . A B .
A B L
0 0 0
0 1 1
1 0 1
1 1 0
Figura 18- Símbolo lógico convencional e tabela verdade da porta OU-EXCLUSIVO A Figura 19 apresenta o diagrama no tempo e a Figura 20 o símbolo da porta lógica OU- EXCLUSIVO de duas entradas e de mais de duas entradas no padrão IEEE/ANSI.
Figura 19- Diagrama no tempo da porta OU-EXCLUSIVO
1 A
B L 2K+1
A B K
L
Figura 20- Símbolo da porta lógica OU- EXCLUSIVO de duas de mais de duas entradas
A Figura 21 apresenta o circuito elétrico equivalente de uma porta OU-EXCLUSIVO e seu diagrama de contatos. A lâmpada apaga somente quando ambas as chaves A e B estiverem fechadas ou abertas.
R A
B A
L B
L A B
A B
Figura 21- Circuito equivalente com chaves e diagrama de contatos da OU-EXCLUSIVO
3.7. Porta NÃO-OU-EXCLUSIVO
A Figura 22 apresenta o símbolo lógico convencional e a tabela-verdade da porta NÃO-OU-EXCLUSIVO.
onde, L A . B A . B A . B A . B
A B L
0 0 1
0 1 0
1 0 0
1 1 1
Figura 22- Símbolo lógico convencional e tabela-verdade da porta NÃO-OU-EXCLUSIVO A Figura 23 apresenta o diagrama no tempo e a Figura 24 o símbolo da porta lógica NÃO- OU- EXCLUSIVO de duas entradas e de mais de duas entradas no padrão IEEE/ANSI.
Figura 23- Diagrama no tempo da porta NÃO-OU-EXCLUSIVO
1 A
B L 2K+1
A B K
L
Figura 24- Símbolo da porta lógica NÃO-OU- EXCLUSIVO de duas de mais de duas entradas
A Figura 25 apresenta o circuito elétrico equivalente de uma porta NÃO-OU-
EXCLUSIVO e seu diagrama de contatos. A lâmpada acende somente quando ambas as chaves A
e B estiverem fechadas ou abertas.
A B
A B L
L A B
A B
Figura 25- Circuito equivalente com chaves e diagrama de contatos da NÃO-OU-EXCLUSIVO
4. Funções Booleanas
O conceito de função booleana é o mesmo da álgebra tradicional, onde uma expressão algébrica assume um valor para cada combinação de valores assumidos pelas suas variáveis. Uma função booleana é, então, formada por variáveis booleanas (lógicas).
Por exemplo, a função abaixo é formada por três variáveis (A, B e C). Obtenha o valor de F(A,B,C) para A = 0, B = 1 e C = 0.
C . B . A B . A ) C , B , A (
F
Substituindo os valores das variáveis na equação dada tem-se:
1
=
0 + 1
=
0 . 0 . 1 + 1 . 1
=
.0 1 . 0 1 . 0
= F(0,1,0)
Exercícios:
1) Obtenção do valor de F(A,B,C) anterior para A = 0, B = 0 e C = 1.
2) Obtenção do valor de F(A,B,C,D) para A=0, B=1, C=1 e D=1: F ( A , B , C , D ) A . B . C . A D
3) Obtenção do valor de F(A,B,C,D,E) para A=0, B=0, C=1 e D=1 e E=1 na função:
D A B . C . E
) E , D , C , B , A (
F
5. Tabela de Combinações
Uma função booleana com n variáveis possui 2
ncombinações de 0’s e 1’s. Pode-se determinar o valor da função lógica para cada combinação utilizando-se uma tabela de combinações, conhecida como Tabela Verdade da função.
Considere a seguinte função:
C . B . A B . A ) C , B , A (
F
Esta função possui 3 variáveis. Existem, portanto 8 (2
3), combinações possíveis destas variáveis. Para a obtenção do valor da função para cada uma das diferentes combinações, será formada sua tabela verdade como segue:
Variáveis Intermediárias Função
A B C B A A. B A. B B . C A B C . . F
0 0 0 1 1 0 1 0 0 1
0 1 1 0 1 0 1 1 1 1
1 0 0 1 0 1 0 0 0 0
1 0 1 1 0 1 0 0 0 0
1 1 0 0 0 0 1 0 0 1
1 1 1 0 0 0 1 1 0 1
A tabela é formada pelas colunas das variáveis, onde são listadas todas as combinações possíveis de 0’s e 1’s; pelas colunas intermediárias, referentes a produtos, somas e complementos, e pela coluna da função a ser obtida.
Exercícios:
1) Levantar a tabela verdade das seguintes funções lógicas:
a) F A . B AB b) F A B . A B
c) F A . B . C B . C d) F A . B . C A . B . C A . B . C e) F A B C D B e) F A . B . C . D . B . C
2) Obter a tabela-verdade e a função realizada pelas portas lógicas abaixo:
a)
X
Y W
Z
b)
P
Q S
R
c)
P
Q S
R
d)
A
B L C