Lección 14.V90. Testbench, detector de secuencia, salida Mealy. Simulación con gtkwave, vista estados

Te explico el testbench para el detector de secuencia con salida Mealy, sin solapamiento. Simulo con el gtkwave, genero un archivo de extensión .ghw, para ver, no solamente los ports de la entidad sino también las señales de la descripción, en este caso son los estados (actual y prox), de tipo enumerados. Defino una constante std_logic_vector para generar una cadena de bits correspondientes a los sucesivos bits de la entrada. Y otra para las salidas esperadas. Uso un ciclo for-loop. Uso los atributos ‘range e ‘image. Desde la línea de comando del git bash compilo y corro el testbench usando ghdl. Genero un archivo de extensión .ghw con el cual abro el gtkwave. Explico la simulación. Vemos las señales del port y los estados.

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

Lección 13. V88. Descripción, testbench y simulación,contador Johnson o Moebius, módulo impar, autoarranque.

Te muestro la descripción y el testbench de un contador Johnson o Moebius, de módulo impar, con arranque automático. Uso vs code, compilo desde la línea de comando usando git bash. Y finalmente simulo desde la línea de comando usando gtkwave.

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

Lección 13.V85. Verificación del funcionamiento del autocorrector del contador Johnson o Moebius.

En este video te muestro cómo funciona el proceso de autocorrección del contador Johnson o Moebius de 4 bits que vimos en los dos videos anteriores. Para generar errores que se podrían dar, por ejemplo por ruido, cambié el código de la descripción de manera que el testbench tuviera la oportunidad de “producir esos códigos prohibidos” y pudiéramos ver cómo el proceso de autocorrección los corrige en como máximo 3 ciclos de reloj. Realizo la simulación con el ModelSim generando las formas de onda. Tuve que adaptar el testbench para usar el ModelSim solo como graficador y agregar la nueva señal de selección.

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

Lección 13. V84. Testbench, contador Johnson o Moebius, módulo par.

Testbench de un contador Johnson o Moebius, de módulo par con arranque automático. Uso el Modelsim para la simulación. Genero el reloj y dos pulsos de reset. Constato en la simulación el correcto funcionamiento.

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

Lección 13.V82. Verificación del funcionamiento del autocorrector del contador en anillo.

En este video te muestro cómo funciona el proceso de autocorrección que vimos en los dos videos anteriores. Para generar errores que se podrían dar en el hardware, cambié el código de la descripción de manera que el testbench tuviera la oportunidad de “producir esos errores” y pudiéramos ver cómo el proceso de autocorrección los corrige en varios ciclos de reloj. Realizo la simulación con el ModelSim generando las formas de onda.

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

Lección 13.V81. Testbench de un contador en anillo con arranque automático.

En este video te explico el testbench de un contador en anillo de 6 bits con arranque automático. Te explico cómo generar un segundo pulso de reset en un momento temporal prefijado. Realizo la simulación con el ModelSim.

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

Lección 13. V79. Testbench y simulación del generador de secuencia pseudo-aleatoria de 5 bits.

En este video te explico un testbench para el generador de una secuencia pseudo-aleatoria de 5 bits usando un registro de desplazamiento. Te explico cómo generar un segundo pulso de reset en un momento temporal prefijado. También cómo generar un tiempo de simulación que abarque toda la secuencia generada (para poder verla) y varios ciclos más. Realizo la simulación con el ModelSim. Te explico a qué se debe el warning que produce el Modelsim “Warning: NUMERIC_STD.”=”: metavalue detected, returning FALSE”.

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

Lección 12.Curso VHDL.V77. Testbench: reg SISO, SIPO, carga paralelo, reset sincrónico.

En este video te muestro el testbench de un registro de desplazamiento a derecha tipo SISO (serial input serial output) que también es SIPO (serial input parallel output), con carga paralelo, sincrónico y con reset sincrónico. Genero dos pulsos de reset usando “after”. Lo simulo con el ModelSim para comprobar el correcto funcionamiento.

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

Lección 12.V75. Testbench del registro SISO/SIPO, sincrónico, desplazamiento a derecha.

En este video te muestro el testbench de un registro SISO (serial input, serial output)/ SIPO(serial input, parallel output), de desplazamiento a derecha, sincrónico, para 5 bits. Como la descripción no tiene la señal de reset, espero 5 ciclos de reloj, con SI=0 para que el registro se encuentre reseteado.

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

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

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