Lección 20.V137. Optimización del hardware de la UART RS-232 a 115200 bps. Simulación y prueba en la plaqueta.

En este video te muestro cómo economizar recursos del hardware hasta llegar a la optimización del circuito sintetizado del receptor de la UART RS-232. La velocidad de la comunicación serie es de 115200 bps. Uso la descripción con un único reloj. Te muestro los informes que emite el compilador del Quartus II para las distintas modificaciones de la descripción y también uso la herramienta Netlist Viewers del Quartus para analizar RTL Viewer y Technology Map Viewer para los distintos casos de optimizaciones. Realizo la simulación con el GTKWave. Luego pruebo el correcto funcionamiento usando la plaqueta de Altera DE1, conectada a la computadora a través de la línea RS-232.

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

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

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

Lección 14.V100. Testbench del contador en secuencia arbitraria. Simulación. Generación de reset.

En este video explico el testbench del contador en secuencia arbitraria. Realizo la simulación con el STKWave y con el ModelSim. Genero un segundo pulso de reset y muestro un posible error y cómo se detecta.

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

Lección 14. V96. Testbench, detector de secuencia, con solapamiento, salida Moore. GTKWave por línea de comando.

En este video te explico cómo hacer un testbench para el detector de secuencia con salida Moore, con solapamiento. Compilo y simulo por línea de comando (git bash). Genero la entrada sincronizada con el reloj, dentro del ciclo “for” y después de un flanco creciente del reloj. 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. Analizo las formas de ondas que muestra el GTKWave. 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 http://susycursos.com/contactame/.

Lección 14.V94. Testbench, detector de secuencia, sin solapamiento, salida Moore. GTKWave por línea de comando.

En este video te explico cómo hacer un testbench para el detector de secuencia con salida Moore, sin solapamiento. Compilo y simulo por línea de comando (git bash). 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. Analizo las formas de ondas que muestra el GTKWave. 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 http://susycursos.com/contactame/.

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