Diseño y pruebas experimentales de una arquitectura de microcontrolador embebido para el desarrollo de prácticas para el Laboratorio de Sistemas Digitales Avanzados - Pinto Quintanilla, Arnold Steven (2021)
De acuerdo a la comparación que existe entre la adquisición de un Controlador Lógico Programable (PLC) y un microcontrolador, para el desarrollo de pequeñas tareas lógicas, al igual que el incentivo del estudio y diseño de microcontroladores hacia los estudiantes, se ha propuesto el desarrollo de una arquitectura de microcontrolador de 8 bits tipo HARVARD embebido en una tarjeta FPGA DE10-Nano mediante VHDL a través del software Quartus Prime Lite Edition. Con este diseño implementado se comprobó el correcto funcionamiento de 24 códigos de instrucciones implementadas en el diseño del microcontrolador dentro del Simulation Waveform Editor, por medio de la visualización de señales internas de la arquitectura. Igualmente se generó una señal PWM con frecuencia de 200 Hz y un duty cycle del 32%. Por último, mediante 3 displays de 7 segmentos se visualizó uno de los resultados de un set de instrucciones de la memoria ROM principal del diseño. Los componentes utilizados para el desarrollo de este proyecto comprenden una tarjeta Terasic FPGA DE10-Nano, que simula la arquitectura diseñada, el software Quartus II Prime Lite Edition para la codificación y carga del archivo de la arquitectura diseñada, un ordenador de 8GB de RAM, un osciloscopio digital de 200 MHz de ancho de banda, un multímetro digital, y un protoboard con un set de resistencias de 220 Ω, jumpers, displays de 7 segmentos y un DIP switch. Todo esto último para la medición de los resultados durante las pruebas experimentales de la arquitectura diseñada. El diseño de la arquitectura final del microcontrolador está conformado por 33 bloques internos, con topología Harvard, donde la memoria del programa y de datos se encuentran separadas y gobernadas por una unidad de control, que opera 24 tipo de instrucciones diferentes. Donde cada ciclo de instrucción se ejecuta por una señal de reloj negativa. Se hace uso de 168 bloques de memoria de bits de 5,662.720 bloques que dispone la tarjeta DE10-Nano, lo que equivale a menos del 1%, permitiendo implementar a futuro un mayor número de instrucciones, operaciones de nivel complejo y periféricos como puertos I2C o USB para una mejora del diseño propuesto.