Lección 20.V135. Testbench: receptor de la UART RS-232. Relación entre el baud-rate y el muestreo. Solución. Simulación.

En este video te explico el testbench para probar el receptor de la UART RS-232. Realizo la simulación y te explico las formas de onda de las señales. Analizo el problema que se genera cuando no se elije bien la relación entre el baud-rate y la señal de muestreo de mayor frecuencia. Explico una de las soluciones dejando la otra para un video sucesivo.

Si te parece útil la explicación te agradezco mucho si además de de darle un clic a “me gusta” y suscribirte puedes contribuir al sostenimiento de mi sitio:

https://www.patreon.com/susanacanel

¡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 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 19.V129. Testbench memoria SRAM estática, sincrónica, bus bidireccional. Usa procedimientos.

Te explico el testbench para una memoria SRAM, sincrónica y con bus de datos bidireccional. Me base en los diagramas temporales de una memoria comercial y los modifiqué para convertirla en sincrónica. Para hacer más legible el testbench, definí procedimientos para escribir, leer y verificar la memoria. Los ubiqué en un “package” propio. Te explico detalladamente los procedimientos siguiendo la hoja de datos. Este video continúa en el siguiente que es donde realizo la simulació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 http://susycursos.com/contactame/.

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

Hoja de datos, Fujitsu: MB8464A-10-X/-10LL-X.

Hoja de datos, Fujitsu: MB8464A-10-X/-10LL-X.

Lección 18.V124. Descripción como máquina de estado, testbench y simulación de un sumador serie.

En este video realizo una nueva descripción de un sumador serie, esta vez como máquina de estado. Uso la sentencia “case”. Porqué necesité usar reset asincrónico. Te explico las dificultades que tuve para solucionar un comportamiento muy particular que descubrí al sintetizar el circuito en la plaqueta DE1 y que también obtuve en el testbench. Te explico la solución. Luego explico el testbench y la simulación con 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 http://susycursos.com/contactame/.

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

Lección 18.V123. Testbench del 1er. bloque del sumador serie. Análisis de la simulación.

En este video te explico el testbench para probar el 1er. bloque del sumador serie, que está compuesto por el divisor de frecuencia y el antirrebote. Simulo con el GTKWave, analizo las señales y te muestro cómo descubrí que tenía que usar un reset asincrónico para el antirrebote.

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 17.V119. Testbench. Uso de procedimientos. Declaración en package. Diferencias con las funciones.

En este video te muestro cómo escribir un procedimiento (procedure) para usarlo en un testbench y cómo incluirlo en un “package”. Analizo las diferencias entre las funciones (function) y los procedimientos que constituyen los subprogramas de VHDL. Analizo y ejecuto la descripción, los dos “packages” que uso (uno contiene la función que vimos en el video anterior) y el testbench. Te muestro el contenido del archivo work-obj93.cf, que va generando el analizador de GHDL.

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 17.V118. Declarando una función en un package y compilando todo con GHDL y con ModelSim.

En este video te muestro cómo definir una función en un package de manera que pueda ser compartida por varios proyectos. Te explico cuáles son las partes del package. Luego compilo y ejecuto usando GHDL y repito esos pasos pero para ModelSim.

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 17.V117. Testbench con una función declarada dentro del código.

En este video te explico cómo modificar el código del conversor BCD binario natural a BCD Aiken para generar una función que se ubicará dentro del mismo código. Te explico las características de las funciones del lenguaje VHDL.

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 16.V116. Testbench: que usa archivos y datos string y std_logic_vector. Conversión de datos.

En este video te explico el testbench para el conversor de BCD binario natural a código BCD Aiken (contempla la posibilidad de que haya valores que no correspondan a un BCD binario natural válido). Uso archivos para la lectura de los datos y la escritura de los resultados. Los datos serán leídos desde el archivo de entrada, usando el tipo de datos “string” para posteriormente convertirlos al tipo “std_logic_vector”. Te muestro el archivo de entrada, con los datos que incluyen valores que no corresponden a un BCD binario natural válido. Convierto los subíndices que varían e n forma creciente (1 a 4) en otros en forma decreciente (de 3 a 0). Te comento porqué no uso el package de Synopsys. Puedes consultar sobre el problema de compatibilidad en:

http://ghdl.free.fr/ghdl/IEEE-library-pitfalls.html

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 16.V115. Testbench: archivos con datos de tipo bit_vector, problemas detectados.

En este testbench uso un archivo con datos de entrada de tipo bit_vector. Te muestro qué inconveniente surge usando estos tipos de datos y porqué hay que usar tipos std_logic_vector. Convierto los bit_vector a std_logic_vector. Te explico porqué aparece el siguiente warning: (assertion warning): NUMERIC_STD.: metavalue detected, returning FALSE. Muestro el siguiente error y explico porqué se produjo. (assertion failure): bit_vector read failure.

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.