GSoC’21 Week 9: Yosys targets

This week was spent exploring yosys and the yosys tool support in fuseSoC. Yosys is a framework for Verilog RTL synthesis. IT currently has extensive support for Verilog-2005 and limited support for SystemVerilog.

Some of the features of yosys are as follows

FuseSoC has yosys support which makes it easy to synthesize through FuseSoC. Yosys is also used as a part of other flows like Symbiflow and Icestorm. Adding a Yosys target to BaseJump STL cores will allow for easier synthesis which would in turn help in FPGA development.

A yosys target can be defined as follows

The arch parameter is used to tell yosys which series of FPGA’s we wish to synthesize for as yosys supports multiple vendors. The output format parameter is used to select the output format as json, edif or blif. The -sv tag passed to yosys enables SystemVerilog support.

A small modification had to be made to the current BaseJumo macros in order to use the modules with yosys.

Yosys does not allow the use of bare default parameters and hence the marco is modified as follows

This will allow yosys to synthesize all the cores that contain only supported SystemVerilog features.

Week-9 updates

Next week



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adithya Sunil

GSoC Student Developer @ FOSSi || Undergraduate Researcher @ CVEST, IIIT-H