¿Cómo programar un decodificador siete segmentos en VHDL?

0
436

En este artículo voy a explicar cómo diseñar un decodificador para siete segmentos en VHDL a través de lógica secuencial.

Pero antes de comenzar a escribir el código, me gustaría compartir con ustedes la definición de decodificador para que así tengan una idea más clara del concepto. Un decodificador es un circuito lógico, quizás uno de los primeros que se estudia en esta rama donde éste acepto un grupo de entrada que representan un número binario y activa sólo una salida que corresponde a ese número de entrada. Se puede decir entonces que un circuito decodificador analiza sus entradas en base a cuál número binario está presente y activa una única salida que corresponde a ese número; mientras que las demás salidas permanecen inactivas.

Los decodificadores por lo general suelen utilizarse cuando se necesita siempre que deba activarse una salida o un grupo de salida sólo cuando ocurra una combinación específica de entrada. Estos niveles de entrada pueden venir de un sumador, de un contador, o quizás hasta de un registro, depende de la aplicación. En muchos equipos digitales se cuenta con ciertos componentes para visualizar la información en un formato al cual el usuario sea capaz de comprender con facilidad. Uno de los métodos clásicos para representar datos numéricos es una configuración 7 segmentos.

La configuración siete segmentos la utilizamos cuando tenemos un display siete segmentos. El decodificador binario a siete segmentos lo que hará es proporcionar las salidas que pasarán corriente a través de los segmentos del display apropiados para así generar el número deseado en hexadecimal.

Y esto es una de las primeras cosas que debe tomarse en cuenta. Debido a esto, el valor más alto que podemos contar en un display siete segmentos es 15 en decimal, que sería F en hexadecimal.

Esto nos indica que tendremos una entrada binaria de 4 bits ya que esta entrada nos producirá {tex}bg_black 2^n{/tex} combinaciones donde se visualizará hasta {tex}bg_black 2^n-1{/tex} números.

Sabiendo esto de ante mano, estamos listos para diseñar nuestro decodificador. En este caso, vamos a asumir que nuestra entrada es un vector binario de 4 bits que vendrá de un circuito externo, así produciremos un vector binario de 7 bits ya que el display siete segmentos, posee siete leds. Este display siete segmentos será del tipo ánodo común, en pocas palabras quiere decir que todos los ánodos de los leds están cortocircuitados y que si queremos encender un segmentos, debemos enviar un cero.

Compartir
Es una chica geek, ingeniera en el área de electrónica y telecomunicaciones. Sus áreas de interés son los sistemas embebidos, microcontrolandores, procesamiendo digital de señales, y programación.