SiliconCompiler
raw JSON → 0.37.9 verified Sat May 09 auth: no python
A compiler framework that automates translation from source code to silicon. Current version 0.37.9, with frequent minor releases roughly every 1-2 weeks. Requires Python >= 3.9.
pip install siliconcompiler Common errors
error AttributeError: module 'siliconcompiler' has no attribute 'Chip' ↓
cause Incorrect import statement, e.g., `import siliconcompiler` and then `siliconcompiler.Chip()` but Chip is not a module-level attribute.
fix
Use
from siliconcompiler import Chip error ModuleNotFoundError: No module named 'siliconcompiler.schema' ↓
cause Attempting to import Schema from the wrong submodule; Schema is exposed at the top level.
fix
Use
from siliconcompiler import Schema error siliconcompiler.exceptions.SiliconCompilerError: Design object is not set. ↓
cause Forgetting to create a Chip object or not setting a design name.
fix
Instantiate Chip with a design name:
chip = Chip('my_design') Warnings
breaking In v0.37.0, the schema was changed so that all libraries use design object base class. Existing flows may need updates to library setup code. ↓
fix Review library definitions and ensure they inherit from Chip or use the new base class as documented.
gotcha The `sc-issue` command previously required a `-cfg` argument; in v0.37.8 this requirement was removed. ↓
fix Remove `-cfg` from `sc-issue` calls, or upgrade to >=0.37.8.
deprecated Some older tool tasks (e.g., for older OpenROAD versions) may be deprecated. Check the specific tool version compatibility. ↓
fix Always use the recommended tool version in the SiliconCompiler documentation.
gotcha When setting `option,from`, the flowgraph will ignore the step if it appears in a leg with parallel paths (fixed in v0.37.9). ↓
fix Upgrade to v0.37.9 or later to avoid unexpected flowgraph behavior.
Imports
- Chip
from siliconcompiler import Chip - Project
from siliconcompiler import Project - Schema wrong
from siliconcompiler.schema import Schemacorrectfrom siliconcompiler import Schema
Quickstart
from siliconcompiler import Chip
chip = Chip('hello_world')
chip.set('option', 'target', {"name": "freepdk45_demo"})
chip.compile()