Overlord is a high-performance software framework designed for managing and generating projects for FPGA-based boards. This framework is tailored for developers working on embedded systems, FPGA designs, and software projects that leverage the powerful capabilities of modern FPGA boards.
- Project Management: Automates the creation, update, and reporting of projects.
- Hardware Integration: Supports a variety of FPGA boards with detailed hardware specifications.
- Software Generation: Generates software components, including libraries and programs, tailored for the board's architecture.
- FPGA Support: Provides tools for generating FPGA configurations and integrating custom hardware designs.
- Resource Management: Handles catalogs, prefabs, and resources for streamlined development.
The framework is optimized for a wide range of FPGA boards, featuring:
-
SoC / FPGA:
- Multi-core Arm processors
- FPGA logic cells, DSPs, and BRAM
- GPU and display capabilities (if available)
-
Memory:
- High-speed DDR RAM
-
Storage:
- eMMC, SD Card slots, QSPI, and EEPROM
-
I/O:
- USB, Ethernet, Camera ports, and other interfaces
Refer to the following documents to get started:
To debug Overlord in Visual Studio Code, you can use the following launch.json
configuration:
// filepath: /home/deano/overlord/.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "scala",
"request": "launch",
"name": "Debug Overlord",
"mainClass": "Main",
"buildTarget": "overlord",
"args": [
"create",
"~/overlord/overlord_template_project/template_project.yaml",
"--out",
"~/overlord/overlord_template_project/",
"--board",
"tangnano9k"
]
}
]
}
This configuration assumes you are using the Metals extension for Scala in Visual Studio Code. Replace tangnano9k
and template_project.yaml
with your specific board and .yaml
file.
For detailed documentation, refer to the wiki or the docs/
directory in the repository.
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.
This project is licensed under the MIT License. See the LICENSE file for details.