-
Notifications
You must be signed in to change notification settings - Fork 140
Adding new boards to apio
Juan Gonzalez-Gomez edited this page Mar 28, 2024
·
15 revisions
In order to support a new board follow these steps:
-
Find your FPGA name in the apio/resources/fpgas.json file. It contains all FPGAs supported by the
Icestorm <http://www.clifford.at/icestorm>
project.
"iCE40-HX1K-TQ144": {
"type": "hx",
"size": "1k",
"pack": "tq144"
}
"iCE40-HX8K-CT256": {
"type": "hx",
"size": "8k",
"pack": "ct256"
}
"iCE40-LP8K-CM81": {
"type": "lp",
"size": "8k",
"pack": "cm81"
}
...
-
Find or add your programmer in
programmers.json <https://github.com/FPGAwars/apio/blob/develop/apio/resources/programmers.json>
_.
"iceprog": {
"command": "iceprog",
"args": "-d i:0x${VID}:0x${PID}:${FTDI_ID}"
}
"icoprog": {
"command": "export WIRINGPI_GPIOMEM=1; icoprog",
"args": "-p <"
}
"tinyprog": {
"command": "tinyprog",
"args": "--pyserial -c ${SERIAL_PORT} --program",
"pip_packages": [ "tinyprog" ]
}
NOTE: if your programmer uses a python package, add this package and its version range to distribution.json <https://github.com/FPGAwars/apio/blob/develop/apio/resources/distribution.json>
"pip_packages": {
"blackiceprog": ">=2.0.0,<3.0.0",
"litterbox": ">=0.2.1,<0.3.0",
"tinyfpgab": ">=1.1.0,<1.2.0",
"tinyprog": ">=1.0.21,<1.1.0"
}
-
Add your board to
boards.json <https://github.com/FPGAwars/apio/blob/develop/apio/resources/boards.json>
with the following format:
"icezum": {
"name": "IceZUM Alhambra",
"fpga": "iCE40-HX1K-TQ144",
"programmer": {
"type": "iceprog"
},
"usb": {
"vid": "0403",
"pid": "6010"
},
"ftdi": {
"desc": "IceZUM Alhambra.*"
}
}
"icoboard": {
"name": "icoBOARD 1.0",
"fpga": "iCE40-HX8K-CT256",
"programmer": {
"type": "icoprog"
},
"platform": "linux_armv7l"
}
"TinyFPGA-BX": {
"name": "TinyFPGA BX",
"fpga": "iCE40-LP8K-CM81",
"programmer": {
"type": "tinyprog"
},
"usb": {
"vid": "1d50",
"pid": "6130"
},
"tinyprog": {
"desc": "TinyFPGA BX"
}
}
- Project structure
- Project configuration file (apio.ini)
- apio
- Project Commands:
- Setup commands:
- Utility Commands:
- Downloading the Blinky example
- The apio-examples package: Adding examples
-
Apio packages
- Tools-oss-cad-suite
- Apio examples
- Tools-drivers (Windows)
- Gtkwave (Windows)