Tutorial de Verilog: Conversor BCD para 7 Segmentos

Conversor BCD para 7 Segmentos

Há algum tempo atrás foram publicados dois artigos no Embarcados que dizia respeito ao controle de displays de sete segmentos. Foram publicados os textos Displays de LED de 7 segmentos e Sistemas Operacionais de Tempo Real – Displays de 7 segmentos, ambos escritos por Henrique Puhlmann. Nesses textos, Puhlmann explica minuciosamente como o Display funciona, qual é a forma correta de montar o circuito e como controlá-lo utilizando microcontrolador. Nesse post, é implementado um conversor BCD para 7 segmentos em Verilog, seguindo as especificações de um CI bastante usado para esse fim. 

Escolhi um CI CMOS Conversor BCD para 7 segmentos (BCD-to-7-Segment Latch Decoder Drivers) da Texas Instruments, o Circuito Integrado CD4511B para que pudesse servir de base para essa implemetação. A tabela verdade do CD4511 foi então copiada do datasheet e é mostrada abaixo.  

CD4511B - Conversor BCD para 7 Segmentos
Figura 1: Circuito Integrado CD4511B da Texas Instruments

Para esse CI, temos a relação entre entrada BCD e saída de sete segmentos. Veja no desenho técnico acima como as variáveis a, b, c, d, e, f, g se comportam.

  • 0 (Zero) – a, b, c, d, e, f;
  • 1 (Um) – b, c;
  • 2 (dois) – a, b, d, e, g;
  • 3 (três) – a, b, c, d, g;
  • 4 (quatro) – b, c, f, g;
  • 5 (cinco) – a, c, d, f, g;
  • 6 (seis) – a, c, d, e, f, g;
  • 7 (sete) – a, b, c;
  • 8 (oito) – a, b, c, d, e, f, g (todos);
  • 9 (nove) – a, b, c, f, g.
Conversor BCD para 7 Segmentos em Verilog
Figura 2: Display de 7 Segmentos

Representação do Circuito Conversor BCD para 7 segmentos em Verilog

A lógica acima foi implementada em Verilog conforme pode-se conferir a seguir. Primeiramente verifique que testo os sinais LI barra e BI Barra e apenas se LI barra e BI barra forem igual a um e LE é igual a zero, as condições de conversão BCD para 7 segmentos são aplicadas.

Testbench

Eu testei todas as condições da tabela verdade. Veja que os sinais são injetados conforme a tabela da figura 1.

Forma de Onda resultante do teste

Os sinais de saída são de acordo com a tabela da Figura 1.

Conversor BCD para 7 Segmentos - Testbench

Faça Download do Projeto para o Quartus da Altera:

download

Note que a figura em destaque é apenas ilustrativa e foi retirado do texto de Henrique Puhlmann que pode ser acessado nesse link. Um muito obrigado a Henrique Puhlmann por essa imagem!

Outros artigos da série

<< Tutorial de Verilog: Somador com Propagação do Carry – Somador Ripple-CarryTutorial de Verilog: Contador binário síncrono crescente Mod 10 com reset síncrono em nível lógico baixo >>
Website | Veja + conteúdo

Sou formado em Engenharia Elétrica na USP Sao Carlos, com mestrado em Engenharia Elétrica no Rochester Institute of Technology pelo CsF. Tenho 17 anos de experiência em projetos de circuitos eletrônicos. Escrevo regularmente para o Embarcados, adoro eventos sobre tecnologia, onde posso rever amigos e conhecer pessoas do ramo.

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

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

Comentários:
Notificações
Notificar
guest
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
FERNANDO MARCOLINO DEZEMBRO
FERNANDO MARCOLINO DEZEMBRO
30/06/2019 14:16

O 9 esta errado
Correto seria abcdfg

Talvez você goste:

Séries



Outros da Série

Menu