Skip to main content

Quickstart

The following is a quick example on how to get started with a demo Lattice ice40 stick FPGA and a blinky led algorithm.

Install bmctl CLI

git clone https://github.com/BondMachineHQ/BMBuildkit
cd BMBuildkit
go install ./cmd/bmctl

Build, tag and share your FPGA algorithms

N.B. you need an host with icepack, nextpnr and yosys installed on your host. In alternative you can try with the pre-built steps below.

bmctl build ./ -f BMFile -t <dockerhub USERNAME>/bmtest:built

(alternative) Upload a pre-built firmware

bmctl build ./ -f BMFile.localfirmware -t <dockerhub USERNAME>/bmtest:pre-built

Upload demo alveo u50 firmware

wget http://bondmachine.fisica.unipg.it/firmwares/bmfloat16.xclbin

bmctl build ./ -f BMFile.localfirmware-alveo -t <dockerhub USERNAME>/bmtest-alveo:pre-built

Load the firmware on the board

N.B. you need an host with iceprog installed.

bmctl load <dockerhub USERNAME>/bmtest:pre-built lattice/ice40/yosys

Alveo u50 load firmware

N.B. you need Xilinx runtime installed and sourced for this to run.

bmctl load  <dockerhub USERNAME>/bmtest-alveo:pre-built  xilinx/alveou50/xrt

Quick build with ice40 docker

docker run \
-e MODULE_NAME=blinky \
-e SYNTH_FILE=blinky.v \
-v $PWD/examples/blinky/ice40:/opt/source \
dciangot/yosys:ice40
docker run \
-e MODULE_NAME=top \
-e SYNTH_FILE=blinky.v \
-v $PWD/examples/blinky/primer20k:/opt/source \
dciangot/yosys:primer20k