Portas Lógicas: XNOR

Publiquei aqui mesmo no Embarcados um post onde mostro como funcionam as portas lógicas. Em seguida falei sobre MUX e sobre a porta XOR. No post sobre a porta XOR, eu desenvolvi todos os circuitos, conforme o teorema de De Morgan e mostrei três circuitos distintos: 

  • Um circuito que mostrava uma configuração para a função XOR com portas lógicas comuns;
  • Um circuito que mostrava uma configuração para XOR com portas NANDs;
  • Um circuito que mostrava uma configuração para XOR com portas NORs;

Este post então, visa mostrar os circuitos e códigos Verilog para XNOR, sendo apenas um texto complementar ao mostrado no post anterior.

Uma porta XNOR, que é definida pela tabela conforme a figura em destaque, tem o seguinte comportamento:

  • Se todas as entradas forem iguais, a saída é um, nível alto;
  • Se todas as entradas não forem iguais, ao menos uma delas forem diferentes, a saída é zero, nível baixo.

Podemos reconhecer a lógica XNOR na expressão

$$\bar{A . \bar{B} + \bar{A} . B}$$

Para implementar a função XNOR, apenas é necessário adicionar uma inversora, ou porta NOT na saída dos circuitos mostrados para porta XOR. Lembre-se que, para uma porta NAND funcionar como portas AND, basta curto circuitar suas entradas. O mesmo é válido para a porta NOR: curto circuite suas entradas e ela funciona como uma porta NOT. Abaixo reproduzo os três circuitos com seus códigos implementados em Verilog.

Circuitos para XNOR

xnor 2
Figura 1: XNOR com portas lógicas comuns
xnor com nand
Figura 2: XNOR com portas NAND
xnor com nor
Figura 3: XNOR com portas NOR

Implementação dos três circuitos de XNOR em Verilog

Abaixo estão três circuitos implementados em Verilog, com portas lógicas comuns, com NANDs e com NORs.

Bem pessoal, espero que tenham gostado. Caso tenham alguma dúvida ou comentário, deixe um recado abaixo.

Notificações
Notificar
guest
3 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Alexandre Fernandes
Alexandre Fernandes
07/06/2018 19:11

Boa noite Sr Thiago Lima,

Daqui é Alexandre Fernandes, aluno de Engenharia Mecatrônica do Instituto Politécnico de Viana do Castelo em Portugal. Estive a observar o seu trabalho sobre Portas Lógicas que é deveras interessante.
Estou a enviar-lhe mensagem devido a eu ter de fazer um trabalho em linguagem de programação C sobre portas lógicas,no qual apresento algumas dificuldades. Por acaso, não tem algum trabalho em linguagem C sobre portas lógicas que me mostrar para me servir de exemplo para trabalhar no meu?

Agradeço resposta,

Alexandre Fernandes

Alexandre Fernandes
Alexandre Fernandes
Reply to  Thiago Lima
25/06/2018 10:15

Boa tarde Thiago,
Sempre consegui realizar o trabalho com aprovação, apesar das dificuldades
Obrigado na mesma, o seu trabalho ajudou muito

WEBINAR

Visão Computacional para a redução de erros em processos manuais

DATA: 23/09 ÀS 17:00 H