Lección 19.V130. Simulación de la memoria SRAM estática, sincrónica, con bus bidireccional. Script.

Simulo la memoria SRAM estática, sincrónica, con bus de datos bidireccional, usando el GTKWave. Muestro el contenido interno de la memoria. Explico el funcionamiento del bus bidireccional y de los ciclos de escritura y de lectura. Verifico si se cumplen los tiempos especificados en la hoja de datos de la memoria que usé como referencia. Luego muestro el “script” que realicé para esta simulación y cómo guardar una simulación y recuperar las selecciones con los valores actualizados usando el 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 https://susycursos.com/contactame/.

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

Lección 19.V127. Descripción de una memoria estática, sincrónica, SRAM. Ejecución en la plaqueta DE1.

Descripción de una memoria RAM estática, SRAM, sincrónica, con entrada de datos separada de la salida de datos. Es recomendable que en las FPGA todos los diseños sean sincrónicos, por ese motivo decidí describir una SRAM sincrónica. Intel reconoce el diseño como perteneciente a una memoria y el Quartus incluye un bloque RAM sincrónico propio, dentro de mi diseño. Te muestro el RTL Viewer de Tools, Netlist Viewers del Quartus y lo analizo. Allí se observa el bloque incluido por el Quartus. Luego programo la plaqueta DE1 de Intel-Altera y muestro 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 https://susycursos.com/contactame/.

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

Lección 18.V121. Divisor de frecuencia que genera dos frecuencias, 200Hz y 1Hz. Ejecución en la plaqueta DE1 de Altera.

En este video te muestro cómo generar dos frecuencias distintas usando una sentencia “case”. Una frecuencia de 200 Hz, periodo de 5ms y otra de 1 Hz, periodo de 1 s, para usos generales. Te muestro el circuito esquemático generado por Nestlist Viewer de la herramienta Tool del Quartus II. Analizo la cantidad de multiplexores y de flip-flop tipo D necesarios para sintetizar el circuito cuando se usa el atributo “range” al definir una señal como “integer” y la comparo con la cantidad necesaria cuando no se usa ese atributo. Luego programo la plaqueta DE1 de Altera-Intel para verificar 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 https://susycursos.com/contactame/.

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

Lección 15. V120. Testbench del sumador serie usado para generar la tabla del 7. Graba un archivo.

En este video describo un testbench para una nueva aplicación del sumador serie: generar una tabla de multiplicación. Defino un package propio y en él declaro procedimientos para usar un archivo para los resultados. En ese archivo de salida escribo la tabla de multiplicación del 7.

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 https://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 https://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 https://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 https://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 https://susycursos.com/contactame/.

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

Lección 16.V114. Utilizando el shell Bash para generar el archivo de entrada al testbench.

En este video te muestro cómo utilizar el Bash para generar el archivo de entrada al testbench que prueba el multiplicador de enteros de 8 bits. Se logra generar todas las combinaciones de enteros de 8 bits de manera que, para este caso particular, la prueba es exhaustiva. https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html https://linux.die.net/man/1/seq

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 https://susycursos.com/contactame/.

Lección 15.V110. Descripción, testbench y simulación: sumador serie de los N primeros números naturales.

Te muestro una aplicación del sumador serie para sumar los N primeros números naturales. Hice pequeñas modificaciones al sumador serie que habíamos analizado para que fuera más flexible. Te muestro las diferencias con el código anterior. Luego te explico el testbench. Uso un ciclo for…loop para generar los operandos que sucesivamente le introduzco a la señal b_i. Para finalizar mostrándote la simulación en el 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 https://susycursos.com/contactame/.