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

Lección 14.V99. Máquina de estado. Contador que cuenta en una determinada secuencia. Comparación de estilos de descripción.

En este video te explico cómo describir a través de una máquina de estados un contador que cuenta en una determinada secuencia y comparo esta descripción con otra en la cual no usé una máquina de estado. Así vemos cómo varía en forma importante la cantidad de recursos usados en cada caso y también los tiempos de propagación. Estos son dos factores importantes a tener en cuenta cuando se debe elegir un estilo para realizar una descripció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 https://susycursos.com/contactame/.

Lección 14. V95. Máquina de estado Moore, detector de secuencia, con solapamiento.

Te explico una máquinas de estado con salida Moore. Describo un detector de secuencia con solapamiento. Uso la sentencia case para modelizar la máquina de estados. Uso tipo de datos enumerados para definir los estados. Diseño la máquinas de estados usando dos procesos, uno secuencial y otro combinacional. Explico un diagrama de estados y luego lo traduzco a código VHDL. Uso la herramienta Tool del Quartus II, selecciono Netlist Viewer, RTL (para ver las características de la salida tipo Moore), Technology Map Viewer (vemos que el Quartus usa 4 flip-flop para generar 5 estados) y State Machine Viewer (vemos el diagrama de estados, la tabla de transiciones y la codificació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 https://susycursos.com/contactame/.

Lección 14.V93. Máquina de estado Moore, detector de secuencia, sin solapamiento. Case. State Machine.

Te explico una máquinas de estado con salida Moore. Describo un detector de secuencia sin solapamiento. Uso la sentencia case para modelizar la máquina de estados. Uso tipo de datos enumerados para definir los estados. Te explico las diferencias principales de las salidas tipo Mealy y Moore y algunas ventajas de éstas últimas. Diseño la máquinas de estados usando dos procesos, uno secuencial y otro combinacional. Explico un diagrama de estados y luego lo traduzco a código VHDL. Uso la herramienta Tool del Quartus II, selecciono Netlist Viewer, RTL (para ver las características de la salida tipo Moore), Technology Map Viewer (vemos que el Quartus usa 4 flip-flop para generar 4 estados) y State Machine Viewer (vemos el diagrama de estados, la tabla de transiciones y la codificació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 https://susycursos.com/contactame/.

Lección 14. V91. Máquina de estado Mealy, detector de secuencia, solapamiento. Case. State Machine.

Te explico una máquinas de estado con salida Mealy. Describo un detector de secuencia con solapamiento. Uso la sentencia case. Tipo de datos enumerados. Máquinas de estados con dos procesos, uno secuencial y otro combinacional. Te muestro las plantillas del Quartus. Explico un diagrama de estados y luego lo traduzco a código VHDL. Uso la herramienta Tool del Quartus II, Netlist Viewer, RTL (para ver las características de la salida tipo Mealy), Technology Map Viewer (vemos que el Quartus usa 4 flip-flop para generar 4 estados) y State Machine Viewer (vemos el diagrama de estados, la tabla de transiciones y la codificación). Te explico la sentencia “case”. Para hacer la descripción VHDL uso datos enumerados para definir 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 https://susycursos.com/contactame/.

Lección 14.V89. Máquinas de estado, Mealy, detector de secuencia. Sentencia case.State Machine Viewer.

Te explico las máquinas de estado con salida Mealy y Moore. Describo un detector de secuencia. Uso la sentencia case. Tipo de datos enumerados. Diferencia entre salida tipo Mealy y tipo Moore. Máquinas de estados con dos procesos, uno secuencial y otro combinacional. Construyo y explico un diagrama de estados y luego lo traduzco a código VHDL. Uso la herramienta Tool del Quartus II, Netlist Viewer, RTL (para ver las características de la salida tipo Mealy), Technology Map Viewer (vemos que el Quartus usa 4 flip-flop para generar 4 estados) y State Machine Viewer (vemos el diagrama de estados, la tabla de transiciones y la codificación). Te explico la sentencia “case” comparándola con la correspondiente sentencia concurrente “when”. Para hacer la descripción VHDL uso datos enumerados para definir 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 https://susycursos.com/contactame/.