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” /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 8.V38. testbench para una memoria ROM que contiene el código Gray de 4 bits.

En este video te muestro un testbench para probar una memoria Rom usada como conversor de código binario natural de 4 bits a código Gray. inyecto direcciones y verifico que el contenido de la ROM sea el esperado, para el caso en que la ROM esté habilitada. Pruebo que la salida de datos se encuentre en alta impedancia cuando no está habilitada.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” /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 una memoria ROM.
Segunda parte del código del testbench de una memoria ROM.
Tercera parte del código del testbench de una memoria ROM.
Última parte del código del testbench de una memoria ROM.

Lección 8.V37. Testbench para el sumador/restador genérico de números enteros.

En este video te muestro un testbench para un sumador/restador de números enteros. Pruebo con números enteros de 4 bits, eligiendo distintas sumas y restas con números con igual o distintos signos de manera de cubrir todos los casos posibles. Analizo el indicador (flag) de desborde (overflow).
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” /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 para el sumador/restador genérico de enteros.
Segunda parte del código del testbench para el sumador/restador genérico de enteros.
Tercera parte del código del testbench para el sumador/restador genérico de enteros.
Cuarta parte del código del testbench para el sumador/restador genérico de enteros.
Quinta parte del código del testbench para el sumador/restador genérico de enteros.
Sexta parte del código del testbench para el sumador/restador genérico de enteros.
Última parte del código del testbench para el sumador/restador genérico de enteros.

Lección 8.V36. Testbench del multiplicador genérico de números enteros de N bits.

En este video te explico el testbench para probar el multiplicador genérico de números enteros de N bits. Muestro cómo el ModelSim modela la alta impedancia.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” /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 para el multiplicador genérico de enteros.
Última parte del código del testbench para el multiplicador genérico de enteros.

Lección 8.V35. Testbench para el sumador genérico de magnitudes. Varias tablas (array). For…loop.

En este video te muestro un testbench para el sumador genérico de magnitudes de N bits. Uso tablas para generar los estímulos de entrada (type … array) y también los valores esperados de la suma y del acarreo de salida. Con un simple for…loop verifico los 11 casos que elegí en las tablas. Uso los atributos ‘range e ‘image. Incluyo el package numeric_std para poder usar la función: to_integer.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” /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 del sumador genérico de magnitudes.
Última parte del código del testbench del sumador genérico de magnitudes.

Lección 8.V34. Testbench para el conversor genérico de Gray a binario.Tablas (array).

En este video te explico el testbench para el conversor genérico, de N bits, de código Gray a código binario natural. Uso tablas para generar el estímulo de entrada (type … array). Con un simple for…loop verifico los 16 casos que elegí como para cubrir todas las posibilidades. Uso los atributos ‘range e ‘image. Incluyo el package numeric_std para poder usar las función: to_integer.
Para finalizar uso el testbench para simular y te muestro el resultado.
A través de “contactame” /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 del conversor genérico de Gray a binario natural.
Última parte del código del testbench del conversor genérico de Gray a binario natural.

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” /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 5.V25.4. Modificación de la descripción del sumador/ comparador.

En este video te muestro cómo modifiqué la descripción a fin de que no se encendiera el LED que indica que la suma es mayor que 9, cuando estoy en modo comparación. Recuerdo que los procesos implícitos son concurrentes. Explico que es importante elegir un adecuado lote de prueba tanto para verificar el correcto funcionamiento del hardware como del software cuando se escriben los programas llamados “testbench”.
Puedes ver el código en mi post Lección 5. VHDL descripción estructural.  /blog/page/3/ 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. /contactame/

Modificación hecha en el código.

Lección 5. VHDL estructural para la plaqueta.

Descripción de un circuito para usar en la plaqueta DE1 de Altera. Control de un display de 7 segmentos de 4 dígitos. Al circuito entran dos señales BCD de 4 bits y una señal de modo. La salida son los 4 dígitos de un display de 7 segmentos, en los que se exhiben los datos de entrada, el mayor de ellos y el resultado de la suma. Y un indicador de si la suma está entre 10 y 15 (no es BCD). Muestro el RTL Viewer.

Biblioteca y entidad del circuito.
Parte declarativa de la arquitectura, componentes.

Parte declarativa de la arquitectura, señales y cuerpo de la arquitectura.

Lección 5.V25.1. Descripción de un circuito que maneja hardware.

Descripción de un circuito para usar en la plaqueta DE1 de Altera. Se trata de manejar el display de 7 segmentos de 4 dígitos de la plaqueta. Al circuito entran dos señales BCD de 4 bits y una señal de modo. La salida son los 4 dígitos de un display de 7 segmentos, en los que se exhiben los datos de entrada, el mayor de ellos y el resultado de la suma. Y un indicador (un LED) de si la suma está entre 10 y 15 (no es BCD). Muestro el RTL Viewer. Puedes ver el código en mi post Lección 5. VHDL descripción estructural.  /blog/page/3/ 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. /contactame/

Diagrama en bloques del circuito a describir.
Descripción estructural instanciando un comparador, un sumador y un display.