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?

… 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()