Álgebra de Boole e portas lógicas
Tabelas de verdade, identidades, formas canónicas e implementação com portas universais.
Uma lâmpada só acende quando os dois interruptores estão ligados. Com entradas A e B a indicar cada interruptor, a regra é ; esta função booleana associa uma saída de 0 ou 1 a cada combinação das entradas, e a expressão, a tabela de verdade e o circuito descrevem a mesma regra.
Operações
Escrevemos AND por justaposição ou ponto, OR por e NOT por uma barra; aqui é OR, não a soma dos inteiros. XOR, , é 1 quando as entradas diferem, enquanto XNOR é 1 quando são iguais.
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 |
Sem parênteses, aplica primeiro NOT, depois AND, depois OR. Por exemplo, é , enquanto exige que ; uma letra negada continua a representar um bit, não um número negativo.
NAND é e NOR é . O círculo numa entrada ou saída de uma porta indica negação. Não confundas uma saída ativa a 0 com uma saída que nunca pode ser 1.
Simplificar sem mudar a função
As identidades permitem substituir expressões equivalentes:
| Regra | AND | OR |
|---|---|---|
| Elemento neutro | ||
| Elemento absorvente | ||
| Idempotência | ||
| Complemento | ||
| Absorção |
A distributividade vale nas duas direções: e . A dualidade troca AND por OR e 0 por 1 numa identidade válida.
Por exemplo, com
onde a passagem interior usa . O circuito pode usar uma OR de seguida de uma AND com , em vez de dois produtos separados.
De Morgan diz e . Ao negar uma expressão, troca todas as operações do nível abrangido e nega os operandos: .
Formas canónicas
Com entradas, a tabela tem linhas. Na ordem , o índice da linha é o inteiro binário ABC; um mintermo contém todas as variáveis e vale 1 numa só linha. O mintermo 5, 101, é .
Suponhamos nos índices 1, 3, 5 e 6. A soma de mintermos é
As linhas onde são 0, 2, 4 e 7. Um maxtermo vale 0 numa só linha: coloca a variável direta se o bit dessa linha for 0, e negada se for 1, logo
A soma de produtos simplificada pode omitir variáveis; a forma canónica não. Um termo reúne duas linhas e não é um mintermo de uma função de três entradas.
NAND, NOR e seleção
Para implementar só com NAND, calcula e ; uma terceira NAND dá
pois De Morgan transforma a negação do produto das duas saídas numa OR dos produtos originais. Por exemplo, com AB=1 e CD=0, os nós são u=0, v=1 e H=1; uma negação isolada é . NAND permite assim construir NOT, AND e OR, por isso é universal, tal como NOR.
A expansão de Shannon separa os casos de uma entrada, com
onde as duas subfunções, chamadas cofatores, fixam A em 0 e em 1. Esta forma escolhe entre os dois cofatores conforme A; um multiplexador faz exatamente esta seleção e será estudado nos módulos combinatórios. Retomamos das formas canónicas:
| Seleção | Linhas usadas | Cofator | Valor com A fixo |
|---|---|---|---|
| A=0 | Índices 0 a 3 | ||
| A=1 | Índices 4 a 7 |
Quando A=0, só o primeiro produto de Shannon contribui; quando A=1, só o segundo. Um multiplexador selecionado por A escolheria assim o cofator correspondente sem alterar F.
Confirma uma simplificação em todas as linhas, sobretudo nas que ficaram fora dos termos escolhidos, porque a igualdade num único exemplo não prova que os circuitos implementam a mesma função.
Exercícios
Justificar a absorção
Simplifica e indica uma entrada em que a saída é 0.
Pista
Agrupa os dois termos que contêm B.
Mais uma pista
B+A B̄ pode ser reduzido por distributividade.
Solução
. A saída é 0 apenas para A=B=0, ou seja, os termos originais cobrem as outras três linhas.
Confere a tua resposta:
- Obtém A+B por identidades válidas.
- A saída só é zero para A=B=0.
Erros frequentes
Não elimines uma variável num termo sem mostrar o grupo complementar.
Mintermos e maxtermos
Para nos índices 0,2,7, escreve a SOP canónica e o maxtermo do índice 5.
Pista
O índice é a leitura binária ABC.
Mais uma pista
Uma soma maxtermo tem de ser 0 na linha correspondente.
Solução
. O índice 5 é 101; o seu maxtermo é , que nessa linha vale 0+0+0. Esse maxtermo integra a POS da função porque a linha 5 tem saída 0.
Confere a tua resposta:
- Escreve três mintermos com todas as variáveis.
- Maxtermo 5: A negado + B + C negado.
Erros frequentes
Nos maxtermos, bit 1 exige variável negada; não uses a regra dos mintermos.
Só portas NAND
Implementa usando apenas NAND de duas entradas. Indica os nós intermédios.
Pista
Aplica De Morgan à OR final.
Solução
Calcula e . Depois . São três NAND, sem uma OR escondida.
Confere a tua resposta:
- Duas NAND calculam A negado e BC negado.
- Uma terceira NAND combina-as em A+BC.
Erros frequentes
Não uses a saída NAND de BC como se fosse o produto BC, porque essa saída já vem negada.
Cofatores e seleção
Para , com índices na ordem ABC, calcula F(0,B,C) e F(1,B,C). Implementa a função com um MUX 2:1 e lógica auxiliar. Indica a seleção e verifica a saída em ABC=110.
Pista
Substitui A por 0 e por 1 na soma de mintermos.
Mais uma pista
F(0,B,C)=¬BC+BC=C; F(1,B,C)=¬BC+B¬C=B⊕C.
Solução
Com A=0, as linhas a 1 são BC=01 e 11, dando . Com A=1, são BC=01 e 10, dando . Liga S=A, I0=C e I1 à saída de uma XOR de B com C. Em ABC=110, seleciona I1=1 XOR 0=1, como exige o mintermo 6. O MUX sozinho não produz a XOR: essa porta faz parte da implementação.
Confere a tua resposta:
- Calculaste os dois cofatores
- Ligaste a seleção ao MUX
Erros frequentes
Estes cofatores pertencem a Σm(1,3,5,6), não a AB+CD.