FAQ#
This is a list of Frequently Asked Questions about SiliconCompiler. Feel free to suggest new entries!
How do I…#
… set up a new tool?
See Tools
… set up a new flow?
See Flows
… set up a new pdk?
See PDKs
… set up a new library?
See Libraries
… set up a new target?
See Targets
… create a design object?
from siliconcompiler import Design design = Design('<design>')
… create an asic project object?
from siliconcompiler import ASIC project = ASIC(design)
… active filesets?
project.add_fileset("rtl")
… run a compilation?
project.run()
… display my layout?
project.show()
… display a previous run from the command line?
sc-show -design <name>
… change the logger level?
project.logger.setLevel(<INFO|DEBUG|WARNING|ERROR>)
… check my setup before running?
project.check_manifest()
… change the build directory?
project.option.set_builddir(<dirpath>)
… change the caching directory?
project.option.set_cachedir(<dirpath>)
… use the setup json manifest file from a previous run?
project = Project.from_manifest(<filepath>)
… control the thread parallelism for a task?
<task class>.find_task(project).set_threads(<n>, step=<step>, index=<index>)
… start a fresh run?
project.option.set_clean(True)
… start a fresh run and keep the old one?
project.option.set_clean(True) project.option.set_jobincr(True)
… start a fresh run using the previous run information?
project.option.set_clean(True) project.option.set_jobincr(True) project.option.add_from('floorplan')
… register a new source of files?
design.set_dataroot("<name>", "<path>", "<reference>")
… register a new source of files relative to my current file?
design.set_dataroot('<name>', __file__)
… preserve options, like scheduler information, across sessions?
project.option.write_defaults()