Portas Lógicas

portas-logicas
portas-logicas

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.

 

 

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.

 

Portas Lógicas: Porta lógica NOT
Porta Lógica NOT

 

Porta NOT em Verilog:

 

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.

 

Portas Lógicas: Porta Lógica AND
Analogia com a porta lógica AND

 

A porta lógica E (AND) utiliza-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.

 

Portas Lógicas: Porta Lógica AND
Porta Lógica AND

 

Porta AND em Verilog:

 

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.

 

Portas Lógicas: Porta Lógica OR
Analogia com a porta lógica OR

 

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.

 

Portas Lógicas: Porta Lógica OR
Porta Lógica OR

 

Porta OR em Verilog:

 

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.

 

Portas Lógicas: Porta Lógica NAND
Porta Lógica NAND

 

Porta NAND em Verilog:

 

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.

 

Portas Lógicas: Porta Lógica NOR
Porta Lógica NOR

 

Porta NOR em Verilog:

 

module exemplo_NOR ( a, b, d );
input wire a, b;
output wire d;

assign d = a ~| b;

endmodule

 

 

Porta Lógica XOR

 

A porta lógica OU EXCLUSIVO (XOR) utiliza-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.

 

Portas Lógicas: Porta Lógica XOR
Porta Lógica XOR

 

Porta XOR em Verilog:

 

module exemplo_XOR ( a, b, c );
input wire a, b;
output wire c;

assign c = a ^ b;

endmodule

 

 

Porta Lógica XNOR

 

A porta lógica NÃO OU EXCLUSIVO (XNOR) utiliza-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.

  

Portas Lógicas: Porta Lógica XNOR
Porta Lógica XNOR

 

Porta XNOR em Verilog:

 

module exemplo_XNOR ( a, b, c );
input wire a, b;
output wire c;

assign c = a ~^ b;

endmodule

 

 

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.

 

Portas Lógicas: Teorema de deMorgan
Teorema de deMorgan

  

Baixe um arquivo com todas essas operações em uma mesma folha no arquivo abaixo:

 

Formato PDF

 

Formato PowerPoint

 

Obrigado a Francesco Sacco que revisou as frases contidas no texto.

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Thiago Lima
Apaixonado por sistemas digitais e circuitos eletrônicos, ja contabilizo 16 anos trabalhando com desenvolvimento de produtos eletrônicos. Formado na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF, atualmente lidero boa parte das operações do Embarcados, buscando levar conhecimento de sistemas eletrônicos para o Brasil. Experimentar o mundo das startups nos EUA foi transformador. La fui cofundador de uma startup de tecnologia chamada Una, sendo acelerado e incubado por um programa especial de Startups no RIT. Ao final, recebemos um prêmio de melhor startup do programa. No Laboratório Hacker de Campinas sou um dos entusiastas de novas tecnologias e apoio iniciativas da comunidade. Tambem participo de atividades comunitarias e sou um dos responsáveis pela Plataforma Ituiutaba Lixo Zero, onde escrevo regularmente artigos sobre redução de resíduos. Sou sonhador mesmo e quero acender a luz ?

10
Deixe um comentário

avatar
 
6 Comment threads
4 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
Marcos AntonioBruno NasserThiago LimaCarlosFabio_Souza_Embarcados Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Marcos Antonio
Visitante
Marcos Antonio

Boa tarde.. Há muito tempo estou a procura de uma explanação sobre um assunto que de fato sempre trouxe dúvidas das cabecinhas de muitos alunos. E comigo não eh diferente. Eh complexa a pergunta de se fazer, porém não vou tentar, se não for bem claro deixarei meu e-mail WhatsApp para explicar melhor. 1) qual a menor unidade de um computador.? Por exemplo. A memória Ram. Ela é formada por milhões de células.. Essas células são conjunto (a partir daki são minhas teorias) de registradores que por sua vez eh formado por transistores e os transistores são floppy floppy, e… Leia mais »

Bruno Nasser
Visitante
bruno

Olá Thiago não estou conseguindo fazer o download do material em pdf e ppt o sistema fica solicitando a senha toda hora, se puder ajudar. Obrigado

Joellis Francisco Santana
Visitante
Joellis Santana

Obrigado Eng.Thiago.

Carlos
Visitante
Carlos

Legal essa matéria. Boa introdução em sistemas digitais.

Thiago Lima
Visitante

Obrigado Carlos. Vem ai a continuacao, mostrando quais os cis estao relacionados a casa porta logica.

Fabio_Souza_Embarcados
Visitante
Fabio_Souza_Embarcados

Muito bom, ótimo material preparar a base teórica. Parabéns.

Thiago Lima
Visitante

Obrigado Fabio. Vou escrever um de como implementar todas essas portas apenas com nands

Fabio_Souza_Embarcados
Visitante
Fabio_Souza_Embarcados

Muito bom Thiago. Aguardando os próximos artigos. Abraços

Andre Tenorio
Visitante
( André Tenório )

Lembrei das minhas aulas de lógica digital! 🙂

Thiago Lima
Visitante

Obrigado André.Me mande sugestoes se o PDF e o powerpoint q disponibilizei estao OK.