VHDL synthesis (based on ghdl)
This is awfully experimental and work in progress!
Get and install yosys.
Get ghdl from github,
build and install
build and install libghdlsynth.so
:
$ make libghdlsynth.so
$ make install.libghdlsynth.shared
From ghdlsynth-beta:
make GHDL_PREFIX=prefix-used-to-configure-ghdl
This generates ghdl.so
, which can be used directly:
$ yosys -m ghdl.so
Get ghdl from github,
build and install
build and install libghdlsynth.a
:
$ make libghdlsynth.a
$ make install.libghdlsynth
Get yosys.
From ghdlsynth-beta:
Patch yosys sources using yosys.diff
Copy the ghdl/
directory in yosys/frontends
Configure yosys. In Makefile.conf, add:
ENABLE_GHDL := 1
GHDL_DIR := <ghdl install dir>
Build yosys.
Example for icestick:
ghdl -a leds.vhdl
ghdl -a spin1.vhdl
yosys -p 'ghdl leds; synth_ice40 -blif leds.blif'
arachne-pnr -d 1k -o leds.asc -p leds.pcf leds.blif
icepack leds.asc leds.bin
iceprog leds.bin