# ghdlsynth-beta VHDL synthesis (based on ghdl) This is awfully experimental and work in progress! ## How to build as a module Get and install yosys. Get ghdl from github, build and install build and install `libghdlsynth.so`: ```sh $ make libghdlsynth.so $ make install.libghdlsynth.shared ``` From ghdlsynth-beta: ```sh make GHDL_PREFIX=prefix-used-to-configure-ghdl ``` This generates `ghdl.so`, which can be used directly: ```sh $ yosys -m ghdl.so ``` ## How to build (not recommended) Get ghdl from github, build and install build and install `libghdlsynth.a`: ```sh $ 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: ```makefile ENABLE_GHDL := 1 GHDL_DIR := ``` Build yosys. ## How to use Example for icestick: ```sh 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 ```