Lección 4.V23. Descripción NAND genérica.

Puedes ver el código en mi post Lección 4. VHDL descripción algorítmica. https://susycursos.com/2018/09/03/leccion-4-arquitectura-algoritmica/ . A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice. https://susycursos.com/contactame/

Lección 3.V21. Árbol de paridad genérico.

Descripción VHDL de un árbol de paridad genérico, de N bits. Defino un proceso explícito, process y una variable. Uso una sentencia secuencial for…loop. Comento la diferencia entre señales y variables y entre procesos implícitos y explícitos. Uso una etiqueta, label. Te muestro el RTL Viewer y el resultado de la simulación. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V20. Decodificador genérico.

Descripción VHDL de un decodificador genérico de N bits, con habilitación activa en alto y salida activa en alto. Uso de proceso explícito: process. Uso del package numeric_std, para usar tipo de datos unsigned. Uso de la función to_integer para poder usar los std_logic_vector como subíndices. Uso de de generic. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V19. ROM: binario a Gray.

Descripción VHDL de una memoria ROM genérica usada para convertir de código binario natural de 4 bits a código Gray. Incluyo el package numeric_std para usar datos unsigned y la función to_integer para el casting. Defino un nuevo tipo de datos con type y arreglos con array. Escribo una tabla con el código Gray que será el contenido de la memoria ROM. Analizo el hardware sintetizado con la herramienta Technology Map Viewer del Quartus II. Y finalmente realizo la simulación para comprobar el correcto funcionamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V18. Sumador-restador.

Descripción VHDL de un sumador-restador genérico de números enteros de N bits. Uso el package numeric_std porque voy a usar operaciones matemáticas, uso datos tipos signed, definidos en ese package. Para que sea genérico defino en generic la constante N que representa la cantidad de bits de los operandos. Uso operaciones lógicas y analizo la precedencia de operandos y la necesidad de usar paréntesis. Genero el indicador de desborde (overflow). Te muestro el circuito esquemático generado por la herramienta Netlist Viewer, opción RTL Viewer. Finalmente muestro la simulación. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V17. Multiplicador de enteros.

Descripción VHDL de un multiplicador genérico de números enteros de N bits. Uso el package numeric_std para poder realizar la operación multiplicación usando un multiplicador embebido del cual dispone la FPGA Cyclone II. Realizo un cambio de tipo de datos para poder realizar la multiplicación. Uso datos tipo  signed ya que los datos del enunciado son números enteros. Muestro en el RTL Viewer cómo la operación multiplicación se la representa a través de un multiplicador embebido. Finalmente vemos en la simulación el correcto funcionamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V16. Sumador binario genérico.

Descripción y simulación de un sumador binario genérico de magnitudes de N bits. Uso el package numeric_std para cambiar el tipo de datos a unsigned para así de poder realizar la suma. Recuerdo que no existe el casting de un std_logic a unsigned, hay que transformarlo en un std_logic_vector de un solo elemento. Cambio el largo de un vector concatenándole un ‘0’ adelante. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V15. Multiplexor genérico.

Descripción VHDL de un multiplexor genérico con entrada de habilitación activa en alto. Uso el package numeric_std para cambiar el tipo de datos de std_logic_vector a enteros (unsigned, to_integer). Uso Generic y constante de tipo positive (> 0).  Luego de compilarlo sin errores, simulo el comportamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 3.V14. Gray a binario, genérico.

Descripción VHDL de un conversor genérico de código Gray a binario natural de N bits. Uso generic. Uso la operación lógica xor entre vectores. Te muestro interesantes operaciones entre subíndices, que permiten resolver problemas en forma eficiente y compacta. Cometo adrede un error para destacar que las señales de salida no se pueden “leer” con esta norma. Compilo, veo cómo el software te informa de este error, lo corrijo, vuelvo a compilar y simulo. También te muestro cómo podés hacer consultas sobre la lista de operaciones lógicas y sintaxis en general acudiendo al insert template, el “papiro” del editor. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/

Lección 2.V10. Descripción y simulación de un multiplexor de 4 canales.

En este video te muestro la descripción de un multiplexor de 4 canales usando with-select para generar una tabla. Además adrede cometí un error en la descripción para mostrarte cómo lo informa el compilador. Posteriormente lo simulé usando el Quartus II, 9.1. y muestro cómo conviene elegir los estímulos de las señales. Puedes ver el código en mi post Lección 2. VHDL por comportamiento. https://susycursos.com/blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  https://susycursos.com/contactame/