Lección 8.V39. Testbench del decodificador genérico con habilitación.

En este video te muestro la descripción de un testbench para un decodificador genérico de N bits con entrada de habilitación. Uso dos simples for…loop, uno para el decodificador habilitado y otro para cuando está inhabilitado, verificando así todos los casos posibles. En el assert uso la expresión: “2**i” o sea, 2 elevado al índice del for, para generar las salidas esperadas. Uso el atributo ‘image. Incluyo el package numeric_std para poder usar las funciones: to_integer, to_unsigned.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” https://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.

Primera parte del código del testbench de un decodificador genérico.
Última parte del código del testbench de un decodificador genérico.

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” https://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.V20. Decodificador genérico.

Descripción VHDL de un decodificador genérico de N bits, con habilitación activa en alto y salida activa en alto. Uso de proceso explícito: process. Uso del package numeric_std, para usar tipo de datos unsigned. Uso de la función to_integer para poder usar los std_logic_vector como subíndices. Uso de de generic. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://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.  https://susycursos.com/contactame/

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. https://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.  https://susycursos.com/contactame/

Lección 3.V15. Multiplexor genérico.

Descripción VHDL de un multiplexor genérico con entrada de habilitación activa en alto. Uso el package numeric_std para cambiar el tipo de datos de std_logic_vector a enteros (unsigned, to_integer). Uso Generic y constante de tipo positive (> 0).  Luego de compilarlo sin errores, simulo el comportamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://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.  https://susycursos.com/contactame/

Lección 1.V6. Descripción de una tabla de verdad comprimida con punteros.

En este video te explico cómo describir una compuerta AND de 2 entradas con una tabla de verdad en forma comprimida mediante un puntero. Mantengo la entidad de los diseños anteriores, genero un vector con las dos entradas para lo cual las tengo que concatenar, como ya vimos en un ejemplo anterior. Y defino una “signal” de tipo “std_logic_vector”. Para hacer el “casting” incorporo un nuevo package: “numeric_std“. Defino una constante en la parte declarativa de la arquitectura y muestro cómo se hace un “casteo“. Puedes ver el código en mi post Lección 1. VHDL por comportamiento. https://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.  https://susycursos.com/contactame/