Lección 20.V134. Descripción: receptor de la UART-RS232, baud rate. Circuito sintetizado. Ejecución.

En este video describo un receptor para la UART RS-232, el generador de baud rate y muestro un package propio. Explico el circuito sintetizado, programo la plaqueta DE1 de Altera y muestro el correcto funcionamiento enviando letras desde el teclado de la computadora hacia la plaqueta y mostrando en binario (en leds) el carácter ASCII de las letras.

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 20.V132. Transmitiendo un mensaje, RS232, desde el circuito sintetizado a la PC. Descripción.

En este video te muestro una descripción de un transmisor de la UART RS232, transmitiendo un mensaje. Genero un baud-rate genérico. Uso instanciado y un package propio. Analizo el circuito esquemático RTL Viewer generado por Tool del Netlist Viewers del Quartus II. Uso el código ASCII de 8 bits. Pruebo el comportamiento en la plaqueta DE1 de Altera, enviando el mensaje a la computadora. Uso un cable con conversor RS-232 a USB (HL-340) y un driver que tuve que instalar. Muestro en la terminal (PuTTY) cómo van aparece el mensaje. Uso el código ASCII de 8 bits.

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 20. V131. Trasmisor de la UART RS-232. Prueba transmitiendo de la plaqueta a la computadora.

Describo el trasmisor de la UART RS-232. Genero el baud-rate. Uso instanciado y un package propio. Analizo el circuito esquemático RTL Viewer generado por Tool del Netlist Viewers del Quartus II. Programo la plaqueta DE1 de Altera, la conecto via RS-232 con la computadora. Uso un cable con conversor RS-232 a USB y un driver que tuve que instalar . Muestro en la terminal (PuTTY) cómo van apareciendo las letras que voy transmitiendo y que genero con interruptores de la plaqueta. Uso el código ASCII de 8 bits.

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 15. V109. En la plaqueta muestro qué pasa cuando se elimina el estado “espera_liberación”. Testbench antirrebote y simulación.

Te muestro en la plaqueta qué sucede cuando no se tiene en cuenta el estado que llamé “espera_liberación”. Y luego el testbench y la simulación. Para hacer más clara la simulación con el GTKWave, cambié en la descripción los valores máximos de las cuentas de manera de obtener una demora del orden de los ns, compatible con el periodo de la señal de clock. También agregué un contador3 que cuenta los pulsos de la señal de clock. Te explico el testbench y lanzo la simulación utilizando el GTKWave. Analizo el resultado de 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/.

Lección 15.V108. Descripción de una máquina de estado antirrebote (debouce). Ejecución en la plaqueta DE1.

Explico una máquina de estados que resuelve el problema del rebote de los interruptores y luego el código para implementarla. Genero, state machine, con la herramienta tools, netlist viewers del Quartus II, comprobando el diseño de la máquina de estados. Uso pin planner para la asignación de terminales. Bajo la descripción, en formato .sof, a la RAM de la FPGA Cyclone II de la plaqueta DE1 de Altera. Acciono el interruptor y el reset para comprobar el correcto funcionamiento. Con cada acción vemos que los 4 leds muestran el incremento de una cuenta en binario. Te muestro todo el proceso de programación de la plaqueta.

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 15.V106. Divisor de frecuencia, con 2 contadores anidados. Descripción, testbench y simulación.

En este video te muestro un divisor de frecuencia realizado con dos contadores anidados a fin de poder obtener una frecuencia muy pequeña, Hz, por ejemplo, a partir de frecuencias de decenas de MHz. Realizo la simulación con relaciones de frecuencia pequeñas, 1/24, para poder analizar las formas de las ondas.

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 14.V97. Problemas cuando la entrada es asincrónica. Máquina Mealy. Detector de secuencia 1011.

Te muestro un testbench que genera entradas de bits no sincronizadas con el reloj de manera de poder constatar el mal funcionamiento del detector de secuencia con salida tipo Mealy cuando no se cumple la hipótesis de diseño (la entrada debía ser sincrónica). Luego simulo usando el GTKWave por línea de comando. Allí vemos que el estado próximo es el correcto ya que lo genera el proceso combinacional, que es asincrónico, pero el proceso secuencial sincrónico no actualiza el estado hasta no recibir un flanco ascendente de la señal de reloj, de manera que no hay coordinación entre los procesos. La salida se activó con un ‘1’ solamente en la última secuencia exitosa, no detectó las anteriores, fallando en los bits 8, 12, 21 y 33.

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