Lección 12.V73. Testbench y simulación: registro PIPO, sincrónico con habilitación y salida tri-state.

En este video te muestro el testbench para un registro sincrónico PIPO (parallel input parallel output), de 4 bits, con reset sincrónico, habilitación del registro (ce, chip-enable) y habilitación del buffer de salida tri-state (oe, output enable). Luego vemos la simulación. El código del testbench lo puedes ver completo más abajo, ya que no lo expliqué totalmente en el video para no hacerlo demasiado largo. Te muestro cómo sincronizar la señal output enable que en el diseño aparece como asincrónica. Analizo todas las combinaciones de las señales de control de entrada.

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

Ventana de forma de ondas correspondiente al testbench del registro explicado.

Lección 11.V69.2. Análisis de un error de la simulación producido por el testbench del contador M.

En este video te muestro cómo falla la simulación en el ModelSim debido a un mal diseño del testbench del contador de módulo 10 que habíamos visto. El error es debido a la forma de generar los pulsos del reset (distinta a la que expliqué en el video anterior). El simulador del ModelSim se “cuelga” y no da ningún informe.

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

Este es el código erróneo que no se puede usar en forma simultánea:

Cuando se corre la simulación la ventana Transcript se ve así:

No hay información alguna sobre el resto de la simulación a partir de 0 ps. La simulación no terminó, se “colgó”. No sale ni por verificación exitosa ni por interrupción por error.

Haciendo zoom al inicio de la simulación se puede ver qué sucedió con la señal de reset. La señal de habilitación nunca cambió de estado.

La ventana de forma de ondas antes de hacer el zoom, se veía así:

Lección 11.V69.1. Testbench y simulación del contador sincrónico, módulo M (decimal).

En este video te explico el testbench de un contador de módulo genérico, probado para módulo 10 (contador decimal). Genero un pulso de reset al principio para dar el valor inicial a las señales y otro pulso para resetear el contador cuando estaba funcionando normalmente. Pruebo la señal de habilitación activa e inactiva. Simulo para comprobar el correcto funcionamiento. Te explico el “warning” por “metavalue” que genera el ModelSim y porqué no es importante.

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

Generación de los pulsos de reset:

Warning que aparece en la ventana Transcript del ModelSim cuando se ejecuta la simulación:

Lección 11.V67. Testbench del contador binario, sincrónico, bidireccional.

En este video explico el testbench del contador sincrónico, genérico, bidireccional. Y luego lo uso para simular. Genera la señal periódica del reloj, genera un pulso de reset. El reset le da un estado inicial a la cuenta. Modeliza el tiempo de establecimiento y tiempos de propagación. Genera secuencias ascendentes de conteo, luego descendentes. Habilita e inhabilita al contador.

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

Lección 11.V63. Testbench y simulación del contador sincrónico, con reset sincrónico.

En este video te explico el testbench del contador sincrónico, genérico, binario, con módulo potencia de dos y con reset sincrónico. El reset sincrónico la da un estado inicial. Te muestro cómo se genera la señal de reset y qué ancho aproximado debería tener. Realizo la simulación y la explico.

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, entra en http://susycursos.com/contactame/.

Lección 11.V61. Explicación y testbench sobre las limitaciones del contador sin una señal de reset.

En este video te explico el testbench para el contador elemental del video anterior. Se trataba de un contador con solo señal de pulsos a contar y la salida del estado de la cuenta. Te explico los problemas que se generan al no partir de un estado inicial conocido. Te muestro el testbench interactuando con la descripción. También analizo qué sucede en el hardware cuando no hay un estado inicial mirando el circuito generado por la herramienta “Technology Map Viewer” del Quartus II.

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, entra en http://susycursos.com/contactame/ .

Salida de la ventana “transcript” luego de la simulación en el ModelSim.

Lección 10. V58.1. Testbench del flip-flop JK con clear y preset.

En este video te explico el testbench del flip-flop JK, con clear y preset. Modelizo el tiempo para poder generar la señal periódica del reloj. Uso constantes, división entera entre constantes (con truncamiento) para generar el periodo de la señal de reloj. Uso el tipo de datos físico, o sea aquellos que tienen un valor y una unidad, en este caso “time”. Defino una señal de tipo “booleano” para detener un proceso. Uso dos procesos. Uso la función “rising-edge”. Modelizo el tiempo de establecimiento, el tiempo de propagación y genero el ancho de los pulsos. Genero una señal pulsante infinita. Genero distintas situaciones en los valores de las señales de entrada, analizo caso por caso tanto.

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, entra en http://susycursos.com/contactame/ .

Lección 10.V52. Testbench de un flip-flop D. Generación del reloj.

En este testbench del flip-flop D modelizo el tiempo para poder generar la señal periodica del reloj. Uso constantes, división entera entre constantes (con truncamiento) para generar el periodo de la señal de reloj. Uso el tipo de datos físico, o sea aquellos que tienen un valor y una unidad, en este caso “time”. Defino una señal de tipo “booleano” para detener un proceso. Uso dos procesos, recuerdo que se ejecutan en modo concurrente. Modelizo el tiempo de establecimiento, el tiempo de mantenimiento y genero el ancho de los pulsos. Genero una señal pulsante infinita. Simulo con el ModelSim para verificar el correcto funcionamiento de la descripción y también la generación de la señal del reloj y los distintos tiempos modelizados. 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, entra en http://susycursos.com/contactame/ .

Lección 10.V51. Programa para dibujar secuencias de pulsos.

En este video te explico un sencillo programa – o sea VHDL de simulación para el simulador ModelSim – en el cual modelizo el tiempo. Explico como asignarle a una señal una secuencia de pulsos de distinto ancho. También te explico cómo hacer un programa VHDL para el simulador. Simulo y vemos las señales generadas.

En los próximos testbenchs vamos a necesitar saber dibujar una secuencia de pulsos. 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, entra en http://susycursos.com/contactame/

Programa VHDL para el simulador para dibujar secuencias de pulsos.

Lección 7.V29.1. Testbench para el decodificador de 3 a 8 con habilitación.

En este video te explico cómo escribir un banco de pruebas (testbench) para un decodificador de 3 a 8 con entrada de habilitación. Uso el ModelSim de Intel-Altera, versión 10.5b. Muestro las formas de ondas generadas. Te explico cómo dar por terminada la simulación y cómo cerrar el proyecto.
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.

Testbench de un decodificador de 3 a 8 con habilitación. parte del cuerpo de la arquitectura.