Lección 7.V32. Testbench para el conversor BCD binario natural a Aiken.

En este video te explico cómo usar una tabla (un arreglo) para verificar si las salidas son las esperadas. Uso for…loop y el atributo ‘range. Uso el atributo ‘image. Incluyo el package numeric_std para poder usar las funciones: to_unsigned y to_integer.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” http://susycursos.com/contactame/ puedes pedirme que te envíe los archivos de texto con las descripciones y testbenchs para que los puedas probar y el tutorial del Quartus II, que hice.

Formas de onda del conversor de códigos BCD, de binario natural a Aiken,

Lección 3.V19. ROM: binario a Gray.

Descripción VHDL de una memoria ROM genérica usada para convertir de código binario natural de 4 bits a código Gray. Incluyo el package numeric_std para usar datos unsigned y la función to_integer para el casting. Defino un nuevo tipo de datos con type y arreglos con array. Escribo una tabla con el código Gray que será el contenido de la memoria ROM. Analizo el hardware sintetizado con la herramienta Technology Map Viewer del Quartus II. Y finalmente realizo la simulación para comprobar el correcto funcionamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. http://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  http://susycursos.com/contactame/

Lección 3.V14. Gray a binario, genérico.

Descripción VHDL de un conversor genérico de código Gray a binario natural de N bits. Uso generic. Uso la operación lógica xor entre vectores. Te muestro interesantes operaciones entre subíndices, que permiten resolver problemas en forma eficiente y compacta. Cometo adrede un error para destacar que las señales de salida no se pueden “leer” con esta norma. Compilo, veo cómo el software te informa de este error, lo corrijo, vuelvo a compilar y simulo. También te muestro cómo podés hacer consultas sobre la lista de operaciones lógicas y sintaxis en general acudiendo al insert template, el “papiro” del editor. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. http://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  http://susycursos.com/contactame/

Lección 2.V12. BCD binario a Aiken.

En este video te describo un conversor de código BCD binario natural a código BCD Aiken, usando operaciones aritméticas que no están permitidas para el tipo de datos std_logic y std_logic_vector, motivo por el cual tengo que usar el package numeric_std del IEEE. Este package incluye nuevos tipos de datos, entre ellos unsigned. Haciendo conversión de datos soluciono el problema. Primero cometo adrede un error para que veas cómo te avisa el compilador que no puede hacer operaciones aritméticas con el tipo de datos std_logic_vector. Una vez corregido, lo vuelvo a compilar y finalmente simulo para comprobar el correcto comportamiento. También te muestro dónde se encuentran los package en la instalación de Altera, en particular los dos que hemos usado:

std_logic_1164    y     numeric_std

Los abro para mostrarte parte del contenido, por ejemplo los tipos de datos que usamos en esta descripción. Puedes ver el código en mi post Lección 2. VHDL por comportamiento. http://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  http://susycursos.com/contactame/

Lección 2. VHDL por comportamiento.

Circuitos combinacionales particulares. En estos ejemplos uso los diferentes estilos, en cada caso el más apropiado.

1. Decodificador de 3 entradas a 8 salidas.

2. Multiplexor de 4 canales.

3. Codificador de 4 canales a 2.

4. Conversor de código BCD natural a BCD Aiken.