This project emulates an AVR architecture design in an Altera FPGA with most of the neccesary intructions to run any "Arduino" program. It also contains a UART bootloader, and fully featured debugger with step by step instructions, breakpoints and real-time register visualization.
This project is currently abandoned, but in its current state it should work on most Intel/Altera FPGAs. 90% of the basic instruction set has been implemented, more than enough to run any "Arduino" compiled programs.
Specialized HW blocks like DMA inputs/outputs and timer prescaling are not implemented.
To get a local copy of the project and follow these steps.
-
Install Quartus (V13.1 or newer)
-
Build the Quartus project and flash the FPGA
-
Connect the computer to the FPGA with a USART adapter (By default to pins GPIO0 (RX) and GPIO1 (TX))
-
Start the dektop app to upload code / debug the running code.
This project has been abandoned as of right now but it is in a "usable" state. There is a decent chance that I will come back to it in the near future, but no guarantees are given.
Feel free to contribute to the project. Any changes you propose will be quickly reviewed but NOT tested.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.
Alejandro Cabrerizo - @alecamaracm - [alecamar] AT [hotmail.es]
Project Link: https://github.com/alecamaracm/AVR-in-FPGA-Emulator-Debugger
- To Peter Jamieson, for being an awesome professor and introducing me to the world of digital systems.]