{"id":28179,"library":"siliconcompiler","title":"SiliconCompiler","description":"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.","status":"active","version":"0.37.9","language":"python","source_language":"en","source_url":"https://github.com/siliconcompiler/siliconcompiler","tags":["hardware","compiler","silicon","fpga","asic"],"install":[{"cmd":"pip install siliconcompiler","lang":"bash","label":"Default install"}],"dependencies":[{"reason":"Required Python version","package":"python=3.9","optional":false}],"imports":[{"note":"","wrong":"","symbol":"Chip","correct":"from siliconcompiler import Chip"},{"note":"","wrong":"","symbol":"Project","correct":"from siliconcompiler import Project"},{"note":"Schema is exposed at top-level package since v0.15","wrong":"from siliconcompiler.schema import Schema","symbol":"Schema","correct":"from siliconcompiler import Schema"}],"quickstart":{"code":"from siliconcompiler import Chip\n\nchip = Chip('hello_world')\nchip.set('option', 'target', {\"name\": \"freepdk45_demo\"})\nchip.compile()","lang":"python","description":"Basic example: create a Chip, set a target, and compile."},"warnings":[{"fix":"Review library definitions and ensure they inherit from Chip or use the new base class as documented.","message":"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.","severity":"breaking","affected_versions":">=0.37.0"},{"fix":"Remove `-cfg` from `sc-issue` calls, or upgrade to >=0.37.8.","message":"The `sc-issue` command previously required a `-cfg` argument; in v0.37.8 this requirement was removed.","severity":"gotcha","affected_versions":"<0.37.8"},{"fix":"Always use the recommended tool version in the SiliconCompiler documentation.","message":"Some older tool tasks (e.g., for older OpenROAD versions) may be deprecated. Check the specific tool version compatibility.","severity":"deprecated","affected_versions":"all"},{"fix":"Upgrade to v0.37.9 or later to avoid unexpected flowgraph behavior.","message":"When setting `option,from`, the flowgraph will ignore the step if it appears in a leg with parallel paths (fixed in v0.37.9).","severity":"gotcha","affected_versions":"<0.37.9"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use `from siliconcompiler import Chip`","cause":"Incorrect import statement, e.g., `import siliconcompiler` and then `siliconcompiler.Chip()` but Chip is not a module-level attribute.","error":"AttributeError: module 'siliconcompiler' has no attribute 'Chip'"},{"fix":"Use `from siliconcompiler import Schema`","cause":"Attempting to import Schema from the wrong submodule; Schema is exposed at the top level.","error":"ModuleNotFoundError: No module named 'siliconcompiler.schema'"},{"fix":"Instantiate Chip with a design name: `chip = Chip('my_design')`","cause":"Forgetting to create a Chip object or not setting a design name.","error":"siliconcompiler.exceptions.SiliconCompilerError: Design object is not set."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}