Icicle
A minimalist build tool to manage and execute commands using OSS CAD Suite.
Usage
Add a icicle.yml
manifest to your project. This should include a toolchain
as well as
any number of scripts you wish to execute later. The toolchain
should correspond to an OSS CAD Suite release.
# icicle.yml
name: sample
version: 1.0.0
toolchain: 2022-07-12
scripts:
sys: yosys -p 'synth_ice40 -top top -json build/alhambra.json' source/*.v
constraint: cat constraint/*.pcf > build/all.pcf
pnr: nextpnr-ice40 --hx8k --package tq144:4k --json build/alhambra.json --pcf
build/all.pcf --asc build/alhambra.asc
pack: icepack build/alhambra.asc build/alhambra.bin
prog: iceprog build/alhambra.bin
Running the install
command will download the corresponding OSS CAD Suite version declared in the manifest.
$ icicle install
Scripts are declared as simple bash scripts that will be executed within the OSS CAD Suite executable environment.
Scripts can be executed using the run
command.
$ icicle run [name]