-
Notifications
You must be signed in to change notification settings - Fork 139
Adding new boards to apio
Juan Gonzalez-Gomez edited this page Mar 29, 2024
·
15 revisions
In order to support a new board follow these steps:
-
Make sure your board (or FPGA) is supported by the OSS CAD Suite
-
Find or add your FPGA name in the fpgas.json file
Ex:
"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
Ex:
"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" ]
}
- If your programmer uses a python package, add this package and its version range to distribution.json
Ex:
"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 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"
}
}
- Emitt a pull-request to the Apio develop branch
- 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)