An Open-Source Soft-Microcontroller Implementation Using an ARM Cortex-M0 on FPGA - Finotti, Vitor; Albertini, Bruno (Anais do Workshop em Desempenho de Sistemas Computacionais e de Comunicação (WPerformance), 2021)
There is a myriad of projects that could be deployed on FPGA for architectural exploration. However, open-source platforms are scarce, and one with embedded software and operating system support to the application-specific hardware could not be found in the literature. We present an open-source soft-microcontroller architecture based on an ARM Cortex-M0, adaptable to different amounts of cores or new components, supporting an end-to-end deployment from code compilation using arm-gcc to loading the binary into the HDL memory cores. The proposed design is validated through simulation and implementation on a KC705 development kit, demonstrating busy-wait polling, DMA transfer, and deterministic real-time processing through FreeRTOS.