Lección 20.V133. Testbench del transmisor de la UART RS-232 enviando un mensaje. Simulación con GTKWave.

En este video te explico el testbench del transmisor de la UART RS-232. Luego simulo con GTKWave y te explico detalladamente las formas de onda. Te muestro un script hecho especialmente para este testbench.

Si te parece útil la explicación no te olvides de darle un clic a “me gusta” ¡Gracias! Para contactarme y solicitarme los manuales del Quartus II que escribí en español en lenguaje amigable (no son una traducción) y también los archivos de las descripciones y testbenchs en formato texto para que los puedas probar, entrá en http://susycursos.com/contactame/.

Puedes ver y descargar mis códigos fuente de: https://github.com/susanacanel/proyectos-vhdl.

Lección 8.V42. Testbench para una compuerta NAND genérica. For…loop.

En este video te muestro el testbench para una compuerta NAND genérica. Lo resuelvo mediante un for…loop para todos los casos excepto uno. Con el índice del for genero los estímulos para la entrada. Uso el package numeric_std para la función to_integer, y unsigned. Uso el atributo ‘image. 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.

Descripción
Primera parte del código del testbench de la compuerta NAND genérica.
Última parte del código del testbench de la compuerta NAND genérica.

Lección 8.V40. Testbench para el árbol genérico de paridad par e impar.

En este video te muestro el testbench para un árbol genérico de paridad par e impar. Lo resuelvo mediante un for…loop. Con el índice del for genero los estímulos para la entrada y uso tablas (array) para generar los resultados esperados. Uso el package numeric_std para la funciones to_integer, to_unsigned y unsigned. Uso los atributos ‘range e ‘image.
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.

Primera parte del código del testbench para el árbol de paridad.
Última parte del código del testbench para el árbol de paridad.

Lección 8.V41. Testbench para la compuerta NOR genérica. For…loop.

En este video te muestro el testbench para una compuerta NOR genérica. Lo resuelvo mediante un for…loop para todos los casos excepto uno. Con el índice del for genero los estímulos para la entrada. Uso el package numeric_std para la función to_integer, y unsigned. Uso el atributo ‘image.
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.

Primera parte del código del testbench para la compuerta NOR genérica.
Segunda parte del código del testbench para la compuerta NOR genérica.

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

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

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

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.V30.3. Testbench de un multiplexor genérico con entrada de habilitación.

En este video te muestro el testbench de un multiplexor genérico, de N canales, con entrada de habilitación. El testbench se realiza para un caso en particular. Uso “others” para dar el valor inicial a las señales del testbench. Sentencia for…loop. Uso generic map dado que la descripción era genérica. Uso port map. Uso el package numeric_std que necesita la función to_unsigned.
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.

Primera parte del código del testbench del multiplexor genérico.
Segunda parte del código del testbench del multiplexor genérico.
Última parte del código del testbench del multiplexor genérico.

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

Hasta ahora vimos descripciones VHDL por comportamiento, fijate que no hicimos ninguna especificación sobre cómo resultará el circuito que la implemente. Hay otro tipo de descripciones, llamadas estructurales, en las cuales describimos un circuito. Por eso te presento un circuito muy elemental para mostrarte en qué consiste este tipo de descripción. Por supuesto que el circuito que te presento es solamente para fines didácticos, no tendría sentido usar este tipo de descripción con un circuito así.

Descripción VHDL estructural.