SiliconCompiler
SiliconCompiler is an open source framework which automates the translation from source code to silicon (“make for silicon”.)
For designs that are too complex to be compiled at the command line, development should be like programming in Python: creative, productive, and fun.
SiliconCompiler offers a Python object-oriented API, and a distributed systems execution model. Check out the documentation for the full story.
All you need is a Python environment, a Verilog file, and a timing constraints file. E.g. heartbeat.v and heartbeat.sdc
$ pip install siliconcompiler
from siliconcompiler import ASIC, Design # import python package
from siliconcompiler.targets import skywater130_demo
design = Design("heartbeat") # create design object
design.set_topmodule("heartbeat", fileset="rtl") # set top module
design.add_file("heartbeat.v", fileset="rtl") # add input sources
design.add_file("heartbeat.sdc", fileset="sdc") # add input sources
project = ASIC(design) # create project
project.add_fileset(["rtl", "sdc"]) # enable filesets
skywater130_demo(project) # load a pre-defined target
project.option.set_remote(True) # enable remote execution
project.run() # run compilation
project.summary() # print summary
project.show() # show layout