Lección 10.V55. Descripción de un flip-flop JK.

En este video te explico cómo describir un flip-flop JK a partir de su ecuación característica. Uso la función rising_edge para detectar el flanco creciente de la señal de reloj. En la arquitectura defino una señal auxiliar para poder escribir la ecuación característica del flip flop. Compilo y analizo un warning. Luego recurro a la herramienta Tool del Quartus y selecciono RTL Viewer para ver y analizar el circuito esquemático generado. 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, entra en /contactame/ .

Tabla de verdad y ecuación característica del flip flop JK.

Lección 10.V54. Testbench flip-flop D, clear y habilitación del clk. Generación de reloj. Simulación.

En este testbench del flip-flop D, con clear y habilitación del reloj modelizo el tiempo para poder generar la señal periódica del reloj. Te explico cómo se procede cuando el periodo es un número impar. Uso constantes, división entera entre constantes (con truncamiento) para generar el periodo de la señal de reloj. Uso el tipo de datos físico, o sea aquellos que tienen un valor y una unidad, en este caso “time”. Defino una señal de tipo “booleano” para detener un proceso. Uso dos procesos, recuerdo que se ejecutan en modo concurrente. Uso la función “rising-edge”. Modelizo el tiempo de establecimiento, el tiempo de propagación y genero el ancho de los pulsos. Genero una señal pulsante infinita. Genero distintas situaciones en los valores de las señales de entrada, analizo caso por caso tanto en el testbench como en la simulación. Simulo con el ModelSim para verificar el correcto funcionamiento de la descripción y también la generación de la señal del reloj y los distintos tiempos modelizados. Mido el ancho de los pulsos y el periodo de la señal de reloj en el esquema de ondas generadas. 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, entra en /contactame/ .

Lección 10.V53. Descripción de un flip-flop D, clear asincrónico, habilitación del reloj.

En este video te explico la descripción VHDL de un flip-flop D, con clear asincrónico y habilitación del reloj. Te muestro la tabla de verdad a fin de realizar la arquitectura y ver porqué la habilitación se denomina “habilitación del reloj”. Uso un “process” con dos señales en la lista de sensibilidad. Para generar prioridades entre las señales de entrada y analizar condiciones uso la sentencia condicionada “if…then” con la opción “elsif” y con un “if…then” anidado. Uso la función “rising_edge” para detectar el flanco creciente. Especifico incompletamente el “if” para inferir memoria. Analizo un “warning”. Con la herramienta “Tool” del Quartus II y la opción “Technology Map Viewer (post Mapping)” te muestro el esquemático generado y te lo explico. 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, entra en /contactame/ .

Lección 10.V52. Testbench de un flip-flop D. Generación del reloj.

En este testbench del flip-flop D modelizo el tiempo para poder generar la señal periodica del reloj. Uso constantes, división entera entre constantes (con truncamiento) para generar el periodo de la señal de reloj. Uso el tipo de datos físico, o sea aquellos que tienen un valor y una unidad, en este caso “time”. Defino una señal de tipo “booleano” para detener un proceso. Uso dos procesos, recuerdo que se ejecutan en modo concurrente. Modelizo el tiempo de establecimiento, el tiempo de mantenimiento y genero el ancho de los pulsos. Genero una señal pulsante infinita. Simulo con el ModelSim para verificar el correcto funcionamiento de la descripción y también la generación de la señal del reloj y los distintos tiempos modelizados. 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, entra en /contactame/ .

Lección 10.V51. Programa para dibujar secuencias de pulsos.

En este video te explico un sencillo programa – o sea VHDL de simulación para el simulador ModelSim – en el cual modelizo el tiempo. Explico como asignarle a una señal una secuencia de pulsos de distinto ancho. También te explico cómo hacer un programa VHDL para el simulador. Simulo y vemos las señales generadas.

En los próximos testbenchs vamos a necesitar saber dibujar una secuencia de pulsos. 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, entra en /contactame/

Programa VHDL para el simulador para dibujar secuencias de pulsos.

Lección 10.V50. Descripción de un flip-flop D.

En este video te explico la descripción de un flip-flop D activo por flanco ascendente, que es el circuito secuencial sincrónico más sencillo que hay. Sirve para ver la estructura básica de los circuitos secuenciales sincrónicos o sea aquellos secuenciales que tienen señal de reloj que los sincroniza. Te explico las diferencias con el latch D que vimos anteriormente y que es un dispositivo asincrónico. Uso sentencias secuenciales, como “process” e “if…then”. Comparo la sentencia condicionada secuencial “if…then” con la equivalente concurrente, “when…else”. Te presento nuevas funciones: “rising_edge” y “falling_edge” que permiten detectar respectivamente el flanco ascendente y el descendente de una señal, en este caso aplicadas a la señal de reloj. Analizo los “warnings”. Te muestro el esquemático generado por la herramienta RTL Viewer del Quartus II. 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, entra en /contactame/

Descripción VHDL de un flip-flop D. Flanco ascendente.
Esquema del flip-flop D disparado por flanco ascendente.
Tabla de verdad del flip-flop D, disparado por flanco ascendente.

Lección 9.V49. Testbench y simulación de un latch SR con reset prioritario.

En este video te muestro el testbench para el latch SR con reset prioritario. Luego lo uso para verificar el correcto funcionamiento realizando la simulación a través del 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, entra en /contactame/

Lección 9.V48. Descripción de un latch SR con reset prioritario.

En este video te muestro la descripción de un latch SR con reset prioritario. Uso la sentencia condicionada “when…else” para generar la prioridad y al usarla incompletamente especificada infiero memoria. Compilo. Analizo los “warnings” y te muestro el esquemático generado con la herramienta “Technology Map Viewer” del “Tool” del Quartus II. 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, entra en /contactame/

Descripción VHDL de un latch SR con reset prioritario.
Tabla de verdad del latch SR con reset prioritario.

Lección 9.V47. Testbench y simulación del latch D.

En este video te muestro el testbench para el latch D. Modelizo los tiempos a fin de dibujar las señales en el simulador respetando el tiempo de establecimiento (set up), el tiempo de mantenimiento (hold) y el ancho del pulso (width). 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, entra en /contactame/

Diagrama temporal del manual del Quartus II, Altera.

Lección 9.V46. Descripción de un biestable (latch) D.

Con este video inicio la segunda parte del curso que consta de las descripciones y los testbenchs de circuitos lógicos secuenciales. Para empezar describo el más sencillos de todos los circuitos que es un biestable (latch) D. Uso la sentencia when…else incompletamente especificada para inferir memoria. Te muestro el esquemático generado por el Technology Map Viewer del Quartus II y te lo explico. Analizo los “warnings” y te muestro y explico los distintos tiempos de propagación del informe producido por la herramienta “timing analyzer”. 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 entra en /contactame/.

Esquema del latch D.
Tabla de verdad del latch D.
Descripción VHDL de un latch D.
Circuito esquemático generado por el Technology Map Viewer del Quartus II.
Warnings generados por el compilador del Quartus II.
Informe de los peores tiempos dado por el Timing Analyzer del Quartus II.