ÍNDICE DE CONTEÚDO
Este post visa introduzir de maneira breve as portas lógicas digitais, conhecimento fundamental para se avançar no estudo e entendimento de sistemas digitais.
Sistema Digital
Um sistema digital é um sistema matemático que define informações como valores numéricos. Dessa forma, é possível definir operações digitais como cálculos matemáticos. Comumente trabalhamos com valores numéricos na base decimal, mas um sistema digital trabalha de maneira diferente. Em analogia ao sistema decimal, onde cada dígito possui 10 valores possíveis, um sistema digital é um sistema binário, onde cada dígito possui apenas 2 valores possíveis. Esses dois valores são definidos como “níveis lógicos” e adota-se o valor de 0 (zero) ou 1 (um) apenas.
Transportando esse sistema para um sistema eletrônico, é necessário apresentar esses dois valores como sinais elétricos. Para tanto, podemos entendê-los como:
- Ligado ou desligado;
- Nível alto ou nível baixo;
- Alimentado ou em zero;
- VCC ou Terra.
As operações observáveis para esses níveis lógicos são definidas como operações lógicas. Todas as possíveis operações lógicas são baseadas em apenas 3 operações primárias, que são:
- Inversão;
- Soma lógica;
- Produto lógico.
Tabela Verdade
A Tabela Verdade trata-se de uma técnica para determinar como a saída lógica de um determinado circuito depende dos níveis lógicos presentes nas entradas de cada circuito. Ela está representada neste texto do lado direito das imagens, ao lado das portas lógicas.
Portas Lógicas
Porta Lógica NOT
A porta NÃO ou inversora (NOT) utiliza o operador de inversão. Para um determinado valor na entrada, a saída possui um valor contrário ao da entrada. Se a entrada for 1, a saída será 0. Se a entrada for 0, a saída será 1. Ou seja, para um valor na entrada a saída será seu complemento, ou o inverso do valor na entrada.
Porta NOT em Verilog:
1 2 3 4 5 6 7 |
module exemplo_INVERSOR ( a, b ); input wire a; output wire b; assign b = ~a; endmodule |
Porta Lógica AND
Para se explicar o funcionamento da porta E (AND) pode-se fazer um paralelo com um circuito com interruptores, como na figura abaixo. Para que a lâmpada acenda é preciso que os dois interruptores estejam ligados.
As portas lógicas E (AND) utilizam-se do operador de produto lógico. A saída é igual a 1 se todas as entradas for 1. A saída é igual a zero se ao menos uma entrada for 0, se todas entradas não forem 1.
Porta AND em Verilog:
1 2 3 4 5 6 7 |
module exemplo_AND ( A, B, C ); input wire A, B; output wire C; assign C = A & B; endmodule |
Porta Lógica OR
Uma forma simples de se entender o funcionamento da porta OU (OR) é pensar em um circuito com interruptores em paralelo, como na figura abaixo. Para que a lâmpada acenda é preciso que um dos dois interruptores esteja ligado.
A porta lógica OU (OR) utiliza-se do operador de soma lógica. A saída é igual a 1 se pelo menos uma das entradas for 1. A saída é igual a zero se nenhuma entrada for 1, todas forem zero.
Porta OR em Verilog:
1 2 3 4 5 6 7 |
module exemplo_OR ( a, b, c ); input wire a, b; output wire c; assign c = a | b; endmodule |
Porta Lógica NAND
A porta lógica NÃO E (NAND) utiliza-se do operador de produto lógico e o de inversão. A saída é igual a 0 se todas as entradas for 1. A saída é igual a 1 se ao menos uma entrada for 0, se todas entradas não forem 1.
Porta NAND em Verilog:
1 2 3 4 5 6 7 |
module exemplo_NAND ( a, b, d ); input wire a, b; output wire d; assign d = a ~& b; endmodule |
Porta Lógica NOR
A porta lógica NÃO OU (NOR) utiliza-se do operador de soma lógica e o de inversão. A saída é igual a 0 se pelo menos uma das entradas for 1. A saída é igual a 1 se nenhuma entrada for 1, todas forem zero.
Porta NOR em Verilog:
1 2 3 4 5 6 7 |
module exemplo_NOR ( a, b, d ); input wire a, b; output wire d; assign d = a ~| b; endmodule |
Porta Lógica XOR
As portas lógicas OU EXCLUSIVO (XOR) utilizam-se do operador de soma lógica, com um círculo. A saída é igual a 0 se as entradas forem iguais. A saída é igual a 1 se as entradas não forem iguais, se uma delas diferirem das outras.
Porta XOR em Verilog:
1 2 3 4 5 6 7 |
module exemplo_XOR ( a, b, c ); input wire a, b; output wire c; assign c = a ^ b; endmodule |
Porta Lógica XNOR
As portas lógicas NÃO OU EXCLUSIVO (XNOR) utilizam-se do operador de soma lógica, com um círculo e o de inversão. Tem as saídas inversas da operação XOR. A saída é igual a 1 se as entradas forem iguais. A saída é igual a 0 se se as entradas não forem iguais, se uma delas diferirem das outras.
Porta XNOR em Verilog:
1 2 3 4 5 6 7 |
module exemplo_XNOR ( a, b, c ); input wire a, b; output wire c; assign c = a ~^ b; endmodule |
Portas Lógicas: Teorema de De Morgan
O Teorema de De Morgan diz respeito às seguintes afirmações:
- Uma operação NAND é igual a uma operação OR com todas as entradas invertidas;
- Uma operação NOR é igual a uma operação AND com todas as entradas invertidas.
Com essas duas afirmações podemos fazer diversas simplificações em expressões lógicas, referentes a circuitos digitais.
Associações de portas lógicas: Exemplo
Se utilizarmos expressões booleanas, podemos determinar diretamente a expressão lógica de saída de um circuito. Veja Exemplo abaixo.
Como no exemplo, é possível associar diversas portas lógicas para construção de circuitos mais complexos.
Baixe um arquivo com todas essas operações em uma mesma folha no arquivo abaixo
Obrigado a Francesco Sacco que revisou as frases contidas no texto.
legal.
Vc me ajudou muito Tiago parabens por sua iniciativa, proporcionou um meio de faciliar o entendimento da disciplina
é verde
Sou estudante de engenharia, ajudou muito.
Gente, preciso de um exemplo de uma operação usando portas logicas e explicar o processo!!!! Não entendi muito bem o assunto, me ajudem
Boa noite, Não estou conseguindo resolver esta questão, poderiam me ajudar. Um edifício possui 3 caixas de água, sendo que a primeira está no térreo para realizar a captação de água da rede. A segunda está em um andar intermediário e é utilizada para fornecer água aos apartamentos situados na 1ª metade do prédio. A terceira caixa fica na cobertura para fornecer água para a 2ª metade. Cada caixa de água possui uma chave bóia que segue a seguinte convenção: a) Chave aberta = caixa de água cheia b) Chave fechada = caixa de água vazia Para as… Leia mais »
Percebem como é que o Juiz Carlos Alexandre foi afastado dos processos escaldantes?
como é a programacao nesse nivel logico digital e nesses niveis tao baixos em geral? como programar , quer dizer : os registradores guardam o que veio por input mais e depois? quem lhes diz o que fazer ? quem faz a magica com essas informaçoes . os calculos e como essa unidade sabe o que fazer ?
???
sou eletricista Tecnico em Automação Industrial e to buscando aprendder mais e mais sobre as portas logicas e programação.
Boa noite… a explicação das portas XOR e XNOR estão incorretas.
A XOR possui valor 1 caso a soma de suas entrada de valor 1 for impar
A XNOR possui valor 1 caso a soma seja par
assim uma porta XNOR de 3 entras A – B – C sendo, 0 – 1 -1 consecutivamente possui saída 0
enquanto a XNOR 1
Sendo A B C 0 – 0 – 1 a porta XOR ficaria com a saída 1 e a XNOR com saída 0