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 >>
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.

Hardware, Sistemas Digitais
, ,
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

EVENTO ONLINE

Simplificando seus projetos de Internet das coisas com o iMCP HT32SX Sigfox

DATA: 18/05 às 15:00h