siliconcompiler 0.29.4__tar.gz → 0.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/Changes +19 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/PKG-INFO +5 -5
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/pyproject.toml +4 -4
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc.py +1 -1
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_install.py +28 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/core.py +15 -4
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/schema/schema_cfg.py +149 -92
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/__init__.py +3 -1
- siliconcompiler-0.29.4/siliconcompiler/tools/bluespec/bluespec.py → siliconcompiler-0.30.0/siliconcompiler/tools/bluespec/__init__.py +0 -5
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/bluespec/convert.py +44 -5
- siliconcompiler-0.30.0/siliconcompiler/tools/graphviz/__init__.py +12 -0
- siliconcompiler-0.30.0/siliconcompiler/tools/graphviz/screenshot.py +48 -0
- siliconcompiler-0.30.0/siliconcompiler/tools/graphviz/show.py +20 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/_apr.py +6 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/macro_placement.py +9 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/power_grid.py +6 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +2 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +2 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +15 -5
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +9 -1
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +53 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +26 -5
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +10 -3
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/_tools.json +4 -4
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +1 -1
- {siliconcompiler-0.29.4/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.30.0/siliconcompiler/toolscripts/ubuntu20}/install-openroad.sh +1 -1
- {siliconcompiler-0.29.4/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.30.0/siliconcompiler/toolscripts/ubuntu22}/install-openroad.sh +1 -1
- {siliconcompiler-0.29.4/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.30.0/siliconcompiler/toolscripts/ubuntu24}/install-openroad.sh +1 -1
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/utils/__init__.py +11 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/utils/showtools.py +7 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/PKG-INFO +5 -5
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/SOURCES.txt +3 -1
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/requires.txt +4 -4
- siliconcompiler-0.29.4/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/.dockerignore +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/.flake8 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/.gitattributes +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/.gitignore +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/LICENSE +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/MANIFEST.in +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/README.md +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/SECURITY.md +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/scripts/.gitignore +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/scripts/check_library.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/scripts/report_library.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/setup.cfg +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_remote.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/_common.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/fpgas/vpr_example.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/issue.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/package.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/client.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/components/graph.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/state.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/dashboard/viewer.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/report.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/docker_runner.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/schema/schema_obj.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/sphinx_ext/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/email/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/report/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/asic.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/asic_clock.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/bluespec → siliconcompiler-0.30.0/siliconcompiler/tools/builtin}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/concatenate.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/builtin → siliconcompiler-0.30.0/siliconcompiler/tools/chisel}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/chisel → siliconcompiler-0.30.0/siliconcompiler/tools/execute}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/execute → siliconcompiler-0.30.0/siliconcompiler/tools/genfasm}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/genfasm → siliconcompiler-0.30.0/siliconcompiler/tools/ghdl}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/ghdl → siliconcompiler-0.30.0/siliconcompiler/tools/icarus}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/icarus → siliconcompiler-0.30.0/siliconcompiler/tools/icepack}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/icepack → siliconcompiler-0.30.0/siliconcompiler/tools/klayout}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/export.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/klayout → siliconcompiler-0.30.0/siliconcompiler/tools/magic}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/magic.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/magic → siliconcompiler-0.30.0/siliconcompiler/tools/montage}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/montage → siliconcompiler-0.30.0/siliconcompiler/tools/netgen}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/netgen → siliconcompiler-0.30.0/siliconcompiler/tools/nextpnr}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/nextpnr → siliconcompiler-0.30.0/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/openroad/templates → siliconcompiler-0.30.0/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/slang/elaborate.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/opensta/scripts → siliconcompiler-0.30.0/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/surelog/templates → siliconcompiler-0.30.0/siliconcompiler/tools/sv2v}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/sv2v → siliconcompiler-0.30.0/siliconcompiler/tools/template}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/template → siliconcompiler-0.30.0/siliconcompiler/tools/verilator}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/verilator → siliconcompiler-0.30.0/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/vivado/scripts → siliconcompiler-0.30.0/siliconcompiler/tools/vpr}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/lec.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/screenshot.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/vpr → siliconcompiler-0.30.0/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.29.4/siliconcompiler/tools/yosys/techmaps → siliconcompiler-0.30.0/siliconcompiler/tools/yosys/templates}/__init__.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/units.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler/utils/logging.py +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.29.4 → siliconcompiler-0.30.0}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,25 @@ The changes in each SiliconCompiler release version are described below. Commit
|
|
|
8
8
|
version shown in (). Where applicable, the contributors that suggested a given
|
|
9
9
|
feature are shown in [].
|
|
10
10
|
|
|
11
|
+
SiliconCompiler 0.30.0 (2025-02-18)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Major:**
|
|
15
|
+
|
|
16
|
+
* Updated schema to support advanced packaging.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
**Minor:**
|
|
20
|
+
|
|
21
|
+
* Added additional feedback during `sc-install` if user paths are not configured.
|
|
22
|
+
* Added support for generating screenshots and displaying `.dot` files.
|
|
23
|
+
|
|
24
|
+
* Tools:
|
|
25
|
+
|
|
26
|
+
* bluespec: fixed support for builtin modules.
|
|
27
|
+
* openroad: added macro placement constraints script option via `['tool', 'openroad', 'task', 'macro_placement', 'file', 'rtlmp_constraints']`, automatic power grid blockage for pins via `['tool', 'openroad', 'task', 'power_grid', 'file', 'fixed_pin_keepout']`.
|
|
28
|
+
|
|
29
|
+
|
|
11
30
|
SiliconCompiler 0.29.4 (2025-02-06)
|
|
12
31
|
=========================================
|
|
13
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.0
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
|
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: LICENSE
|
|
28
28
|
Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
|
|
29
|
-
Requires-Dist: aiohttp==3.11.
|
|
29
|
+
Requires-Dist: aiohttp==3.11.12; python_version >= "3.9"
|
|
30
30
|
Requires-Dist: requests==2.32.3
|
|
31
31
|
Requires-Dist: PyYAML==6.0.2
|
|
32
32
|
Requires-Dist: pandas>=1.1.5
|
|
@@ -39,7 +39,7 @@ Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
|
|
|
39
39
|
Requires-Dist: Pillow==11.1.0; python_version >= "3.9"
|
|
40
40
|
Requires-Dist: GitPython==3.1.44
|
|
41
41
|
Requires-Dist: lambdapdk>=0.1.47
|
|
42
|
-
Requires-Dist: PyGithub==2.
|
|
42
|
+
Requires-Dist: PyGithub==2.6.0
|
|
43
43
|
Requires-Dist: urllib3>=1.26.0
|
|
44
44
|
Requires-Dist: fasteners==0.19
|
|
45
45
|
Requires-Dist: fastjsonschema==2.21.1
|
|
@@ -48,7 +48,7 @@ Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
|
48
48
|
Requires-Dist: sc-surelog==1.84.1
|
|
49
49
|
Requires-Dist: orjson==3.10.15
|
|
50
50
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
-
Requires-Dist: streamlit==1.
|
|
51
|
+
Requires-Dist: streamlit==1.42.0; python_version >= "3.9" and python_full_version != "3.9.7"
|
|
52
52
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
53
53
|
Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
|
|
54
54
|
Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
|
|
@@ -64,7 +64,7 @@ Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
|
|
|
64
64
|
Requires-Dist: responses==0.25.6; extra == "test"
|
|
65
65
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
66
66
|
Provides-Extra: lint
|
|
67
|
-
Requires-Dist: flake8==7.1.
|
|
67
|
+
Requires-Dist: flake8==7.1.2; extra == "lint"
|
|
68
68
|
Requires-Dist: tclint==0.5.0; extra == "lint"
|
|
69
69
|
Requires-Dist: codespell==2.4.1; extra == "lint"
|
|
70
70
|
Provides-Extra: docs
|
|
@@ -33,7 +33,7 @@ classifiers = [
|
|
|
33
33
|
requires-python = ">= 3.8"
|
|
34
34
|
dependencies = [
|
|
35
35
|
"aiohttp == 3.10.11; python_version <= '3.8'",
|
|
36
|
-
"aiohttp == 3.11.
|
|
36
|
+
"aiohttp == 3.11.12; python_version >= '3.9'",
|
|
37
37
|
"requests == 2.32.3",
|
|
38
38
|
"PyYAML == 6.0.2",
|
|
39
39
|
"pandas >= 1.1.5",
|
|
@@ -46,7 +46,7 @@ dependencies = [
|
|
|
46
46
|
"Pillow == 11.1.0; python_version >= '3.9'",
|
|
47
47
|
"GitPython == 3.1.44",
|
|
48
48
|
"lambdapdk >= 0.1.47",
|
|
49
|
-
"PyGithub == 2.
|
|
49
|
+
"PyGithub == 2.6.0",
|
|
50
50
|
"urllib3 >= 1.26.0", # Required for PyGithub
|
|
51
51
|
"fasteners == 0.19",
|
|
52
52
|
"fastjsonschema == 2.21.1",
|
|
@@ -57,7 +57,7 @@ dependencies = [
|
|
|
57
57
|
|
|
58
58
|
# dashboard, streamlit does not support 3.9.7
|
|
59
59
|
"streamlit == 1.40.1; python_version <= '3.8'",
|
|
60
|
-
"streamlit == 1.
|
|
60
|
+
"streamlit == 1.42.0; python_version >= '3.9' and python_full_version != '3.9.7'",
|
|
61
61
|
"streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
|
|
62
62
|
"streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
|
|
63
63
|
"streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
|
|
@@ -113,7 +113,7 @@ test = [
|
|
|
113
113
|
"PyVirtualDisplay == 3.0"
|
|
114
114
|
]
|
|
115
115
|
lint = [
|
|
116
|
-
"flake8 == 7.1.
|
|
116
|
+
"flake8 == 7.1.2",
|
|
117
117
|
"tclint == 0.5.0",
|
|
118
118
|
"codespell == 2.4.1"
|
|
119
119
|
]
|
|
@@ -248,6 +248,34 @@ To system debugging information (this should only be used to debug):
|
|
|
248
248
|
if not install_tool(tool, tools[tool], args.build_dir, args.prefix):
|
|
249
249
|
return 1
|
|
250
250
|
|
|
251
|
+
if not args.show:
|
|
252
|
+
msgs = []
|
|
253
|
+
for env, path in (
|
|
254
|
+
("PATH", "bin"),
|
|
255
|
+
("LD_LIBRARY_PATH", "lib")):
|
|
256
|
+
check_path = os.path.join(args.prefix, path)
|
|
257
|
+
envs = [
|
|
258
|
+
os.path.expandvars(os.path.expanduser(p))
|
|
259
|
+
for p in os.getenv(env, "").split(":")
|
|
260
|
+
]
|
|
261
|
+
print(envs)
|
|
262
|
+
if check_path not in envs:
|
|
263
|
+
msgs.extend([
|
|
264
|
+
"",
|
|
265
|
+
f"{check_path} not found in {env}",
|
|
266
|
+
"you may need to add it the following your shell",
|
|
267
|
+
"initialization script:",
|
|
268
|
+
f'export {env}="{check_path}:${env}"'
|
|
269
|
+
])
|
|
270
|
+
if msgs:
|
|
271
|
+
center_len = max(len(msg) for msg in msgs)
|
|
272
|
+
max_len = center_len + 4
|
|
273
|
+
print("#"*max_len)
|
|
274
|
+
for msg in msgs:
|
|
275
|
+
print(f"# {msg:<{center_len}} #")
|
|
276
|
+
print(f"# {' '*center_len} #")
|
|
277
|
+
print("#"*max_len)
|
|
278
|
+
|
|
251
279
|
return 0
|
|
252
280
|
|
|
253
281
|
|
|
@@ -67,7 +67,7 @@ class Chip:
|
|
|
67
67
|
except FileNotFoundError:
|
|
68
68
|
raise SiliconCompilerError(
|
|
69
69
|
"SiliconCompiler must be run from a directory that exists. "
|
|
70
|
-
"If you are sure that your working directory is valid, try running `cd $(pwd)`."
|
|
70
|
+
"If you are sure that your working directory is valid, try running `cd $(pwd)`.")
|
|
71
71
|
|
|
72
72
|
# Initialize custom error handling for codecs. This has to be called
|
|
73
73
|
# by each spawned (as opposed to forked) subprocess
|
|
@@ -3153,7 +3153,7 @@ class Chip:
|
|
|
3153
3153
|
self.add('flowgraph', flow, newstep, index, 'input', (newin, in_index))
|
|
3154
3154
|
|
|
3155
3155
|
###########################################################################
|
|
3156
|
-
def run(self):
|
|
3156
|
+
def run(self, raise_exception=False):
|
|
3157
3157
|
'''
|
|
3158
3158
|
Executes tasks in a flowgraph.
|
|
3159
3159
|
|
|
@@ -3177,12 +3177,23 @@ class Chip:
|
|
|
3177
3177
|
processes to exit before start, returning control to the the main
|
|
3178
3178
|
program which can then exit.
|
|
3179
3179
|
|
|
3180
|
+
Args:
|
|
3181
|
+
raise_exception (bool): if True, will rethrow errors that the flow raises,
|
|
3182
|
+
otherwise will report the error and return False
|
|
3183
|
+
|
|
3180
3184
|
Examples:
|
|
3181
3185
|
>>> run()
|
|
3182
3186
|
Runs the execution flow defined by the flowgraph dictionary.
|
|
3183
3187
|
'''
|
|
3184
3188
|
|
|
3185
|
-
|
|
3189
|
+
try:
|
|
3190
|
+
sc_runner(self)
|
|
3191
|
+
except Exception as e:
|
|
3192
|
+
if raise_exception:
|
|
3193
|
+
raise e
|
|
3194
|
+
self.logger.error(str(e))
|
|
3195
|
+
return False
|
|
3196
|
+
return True
|
|
3186
3197
|
|
|
3187
3198
|
###########################################################################
|
|
3188
3199
|
def show(self, filename=None, screenshot=False, extension=None):
|
|
@@ -3320,7 +3331,7 @@ class Chip:
|
|
|
3320
3331
|
|
|
3321
3332
|
# run show flow
|
|
3322
3333
|
try:
|
|
3323
|
-
self.run()
|
|
3334
|
+
self.run(raise_exception=True)
|
|
3324
3335
|
if screenshot:
|
|
3325
3336
|
step, index = _get_flowgraph_exit_nodes(self, flow='showflow')[0]
|
|
3326
3337
|
success = self.find_result('png', step=step, index=index)
|
|
@@ -10,7 +10,7 @@ try:
|
|
|
10
10
|
except ImportError:
|
|
11
11
|
from siliconcompiler.schema.utils import trim
|
|
12
12
|
|
|
13
|
-
SCHEMA_VERSION = '0.
|
|
13
|
+
SCHEMA_VERSION = '0.49.0'
|
|
14
14
|
|
|
15
15
|
#############################################################################
|
|
16
16
|
# PARAM DEFINITION
|
|
@@ -1260,17 +1260,35 @@ def schema_datasheet(cfg, name='default', mode='default'):
|
|
|
1260
1260
|
example=[
|
|
1261
1261
|
"cli: -datasheet_package_type 'abcd bga'",
|
|
1262
1262
|
"api: chip.set('datasheet', 'package', 'abcd', 'type', 'bga')"],
|
|
1263
|
-
schelp="""Package type
|
|
1263
|
+
schelp="""Package type.""")
|
|
1264
1264
|
|
|
1265
1265
|
scparam(cfg, ['datasheet', 'package', name, 'footprint'],
|
|
1266
|
-
sctype='
|
|
1266
|
+
sctype='[file]',
|
|
1267
1267
|
shorthelp="Datasheet: package footprint",
|
|
1268
|
-
switch="-datasheet_package_footprint 'name <
|
|
1268
|
+
switch="-datasheet_package_footprint 'name <file>'",
|
|
1269
|
+
example=[
|
|
1270
|
+
"cli: -datasheet_package_footprint 'abcd ./soic8.kicad_mod'",
|
|
1271
|
+
"api: chip.set('datasheet', 'package', 'abcd', 'footprint', './soic8.kicad_mod')"],
|
|
1272
|
+
schelp="""Package footprint file. Supported 3D model file formats include:
|
|
1273
|
+
|
|
1274
|
+
* (KICAD_MOD) KiCad Standard Footprint Format
|
|
1275
|
+
|
|
1276
|
+
""")
|
|
1277
|
+
|
|
1278
|
+
scparam(cfg, ['datasheet', 'package', name, '3dmodel'],
|
|
1279
|
+
sctype='[file]',
|
|
1280
|
+
shorthelp="Datasheet: package 3D model",
|
|
1281
|
+
switch="-datasheet_package_3dmodel 'name <file>'",
|
|
1269
1282
|
example=[
|
|
1270
|
-
"cli: -
|
|
1271
|
-
"api: chip.set('datasheet', 'package', 'abcd', '
|
|
1272
|
-
schelp="""Package
|
|
1273
|
-
|
|
1283
|
+
"cli: -datasheet_package_3dmodel 'abcd ./soic8.step'",
|
|
1284
|
+
"api: chip.set('datasheet', 'package', 'abcd', '3dmodel', './soic8.step')"],
|
|
1285
|
+
schelp="""Package 3D model file. Supported 3D model file formats include:
|
|
1286
|
+
|
|
1287
|
+
* (STEP) Standard for the Exchange of Product Data Format
|
|
1288
|
+
* (STL) Stereolithography Format
|
|
1289
|
+
* (WRL) Virtually Reality Modeling Language Format
|
|
1290
|
+
|
|
1291
|
+
""")
|
|
1274
1292
|
|
|
1275
1293
|
scparam(cfg, ['datasheet', 'package', name, 'drawing'],
|
|
1276
1294
|
sctype='[file]',
|
|
@@ -1279,38 +1297,14 @@ def schema_datasheet(cfg, name='default', mode='default'):
|
|
|
1279
1297
|
example=[
|
|
1280
1298
|
"cli: -datasheet_package_drawing 'abcd p484.pdf'",
|
|
1281
1299
|
"api: chip.set('datasheet', 'package', 'abcd', 'drawing', 'p484.pdf')"],
|
|
1282
|
-
schelp="""Mechanical
|
|
1283
|
-
|
|
1300
|
+
schelp="""Mechanical drawing for documentation purposes.
|
|
1301
|
+
Supported file formats include: PDF, DOC, SVG, and PNG.""")
|
|
1284
1302
|
|
|
1285
|
-
|
|
1286
|
-
sctype='int',
|
|
1287
|
-
shorthelp="Datasheet: package total pincount",
|
|
1288
|
-
switch="-datasheet_package_pincount 'name <int>'",
|
|
1289
|
-
example=[
|
|
1290
|
-
"cli: -datasheet_package_pincount 'abcd 484'",
|
|
1291
|
-
"api: chip.set('datasheet', 'package', 'abcd', 'pincount', '484')"],
|
|
1292
|
-
schelp="""Total number package pins of the named package.""")
|
|
1293
|
-
|
|
1294
|
-
scparam(cfg, ['datasheet', 'package', name, 'anchor'],
|
|
1295
|
-
sctype='(float,float)',
|
|
1296
|
-
defvalue=(0.0, 0.0),
|
|
1297
|
-
unit='um',
|
|
1298
|
-
shorthelp="Datasheeet: package anchor",
|
|
1299
|
-
switch="-datasheet_package_anchor 'name <(float,float)>'",
|
|
1300
|
-
example=[
|
|
1301
|
-
"cli: -datasheet_package_anchor 'i0 (3.0,3.0)'",
|
|
1302
|
-
"api: chip.set('datasheet', 'package', 'i0', 'anchor', (3.0, 3.0))"],
|
|
1303
|
-
schelp="""
|
|
1304
|
-
Package anchor point with respect to the lower left corner of the package.
|
|
1305
|
-
When placing a component on a substrate, the placement location specifies
|
|
1306
|
-
the distance from the substrate origin to the anchor point of the placed
|
|
1307
|
-
object.""")
|
|
1308
|
-
|
|
1309
|
-
# critical dimensions
|
|
1303
|
+
# key package metrics
|
|
1310
1304
|
metrics = {'length': ['length', (4000, 4000, 4000), 'um'],
|
|
1311
1305
|
'width': ['width', (4000, 4000, 4000), 'um'],
|
|
1312
1306
|
'thickness': ['thickness', (900, 1000, 1100), 'um'],
|
|
1313
|
-
'
|
|
1307
|
+
'pinpitch': ['pin pitch', (800, 850, 900), 'um']
|
|
1314
1308
|
}
|
|
1315
1309
|
|
|
1316
1310
|
for i, v in metrics.items():
|
|
@@ -1322,63 +1316,46 @@ def schema_datasheet(cfg, name='default', mode='default'):
|
|
|
1322
1316
|
example=[
|
|
1323
1317
|
f"cli: -datasheet_package_{i} 'abcd {v[1]}'",
|
|
1324
1318
|
f"api: chip.set('datasheet', 'package', 'abcd', '{i}', {v[1]}"],
|
|
1325
|
-
schelp=f"""
|
|
1319
|
+
schelp=f"""Package {v[0]}. Values are tuples of
|
|
1326
1320
|
(min, nominal, max).""")
|
|
1327
1321
|
|
|
1328
|
-
#
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
shorthelp="Datasheet: package pin shape",
|
|
1334
|
-
switch="-datasheet_package_pin_shape 'name pinnumber <str>'",
|
|
1322
|
+
# pin
|
|
1323
|
+
scparam(cfg, ['datasheet', 'package', name, 'pincount'],
|
|
1324
|
+
sctype='int',
|
|
1325
|
+
shorthelp="Datasheet: package pin count",
|
|
1326
|
+
switch="-datasheet_package_pincount 'name <int>'",
|
|
1335
1327
|
example=[
|
|
1336
|
-
"cli: -
|
|
1337
|
-
"api: chip.set('datasheet', 'package', 'abcd', '
|
|
1338
|
-
schelp="""
|
|
1339
|
-
and per pin number basis.""")
|
|
1340
|
-
|
|
1341
|
-
metrics = {'width': ['width', (200, 250, 300), 'um'],
|
|
1342
|
-
'length': ['length', (200, 250, 300), 'um']
|
|
1343
|
-
}
|
|
1328
|
+
"cli: -datasheet_package_pincount 'abcd 484'",
|
|
1329
|
+
"api: chip.set('datasheet', 'package', 'abcd', 'pincount', '484')"],
|
|
1330
|
+
schelp="""Total number package pins.""")
|
|
1344
1331
|
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1332
|
+
number = 'default'
|
|
1333
|
+
scparam(cfg, ['datasheet', 'package', name, 'pin', number, 'signal'],
|
|
1334
|
+
sctype='str',
|
|
1335
|
+
shorthelp="Datasheet: package pin signal map",
|
|
1336
|
+
switch="-datasheet_package_pin_signal 'name number <str>'",
|
|
1337
|
+
example=[
|
|
1338
|
+
"cli: -datasheet_package_pin_signal 'abcd B1 clk'",
|
|
1339
|
+
"api: chip.set('datasheet', 'package', 'abcd', 'pin', 'B1', 'signal', 'clk')"],
|
|
1340
|
+
schelp="""Mapping between the package physical pin name ("1", "2", "A1", "B3", ...)
|
|
1341
|
+
and the corresponding device signal name ("VDD", "CLK", "NRST") found in the
|
|
1342
|
+
:keypath:`datasheet,pin`.""")
|
|
1356
1343
|
|
|
1357
|
-
|
|
1344
|
+
# anchor
|
|
1345
|
+
scparam(cfg, ['datasheet', 'package', name, 'anchor'],
|
|
1358
1346
|
sctype='(float,float)',
|
|
1347
|
+
defvalue=(0.0, 0.0),
|
|
1359
1348
|
unit='um',
|
|
1360
|
-
shorthelp="Datasheet: package
|
|
1361
|
-
switch="-
|
|
1349
|
+
shorthelp="Datasheet: package anchor",
|
|
1350
|
+
switch="-datasheet_package_anchor 'name <(float,float)>'",
|
|
1362
1351
|
example=[
|
|
1363
|
-
"cli: -
|
|
1364
|
-
"api: chip.set('datasheet', 'package', '
|
|
1365
|
-
schelp="""
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
sctype='str',
|
|
1371
|
-
shorthelp="Datasheet: package pin name",
|
|
1372
|
-
switch="-datasheet_package_pin_name 'name pinnumber <str>'",
|
|
1373
|
-
example=[
|
|
1374
|
-
"cli: -datasheet_package_pin_name 'abcd B1 clk'",
|
|
1375
|
-
"api: chip.set('datasheet', 'package', 'abcd', 'pin', 'B1', 'name', 'clk')"],
|
|
1376
|
-
schelp="""Datsheet: Package pin name specified on a per package and per pin
|
|
1377
|
-
number basis. The pin number is generally an integer starting at '1' in the case of
|
|
1378
|
-
packages like qfn, qfp and an array index ('A1', 'A2') in the case of array packages
|
|
1379
|
-
like bgas. The pin name refers to the logical function assigned to the physical
|
|
1380
|
-
pin number (e.g clk, vss, in). Details regarding the logical pin is stored in
|
|
1381
|
-
the :keypath:`datasheet,pin`.""")
|
|
1352
|
+
"cli: -datasheet_package_anchor 'i0 (3.0, 3.0)'",
|
|
1353
|
+
"api: chip.set('datasheet', 'package', 'i0', 'anchor', (3.0, 3.0))"],
|
|
1354
|
+
schelp="""
|
|
1355
|
+
Package anchor point with respect to the lower left corner of the package.
|
|
1356
|
+
When placing a component on a substrate, the placement location specifies
|
|
1357
|
+
the distance from the substrate origin to the anchor point of the placed
|
|
1358
|
+
object.""")
|
|
1382
1359
|
|
|
1383
1360
|
######################
|
|
1384
1361
|
# Pin Specifications
|
|
@@ -3784,10 +3761,11 @@ def schema_constraint(cfg):
|
|
|
3784
3761
|
"api: chip.set('constraint', 'component', 'i0', 'halo', (1, 1))"],
|
|
3785
3762
|
schelp="""
|
|
3786
3763
|
Placement keepout halo around the named component, specified as a
|
|
3787
|
-
(horizontal, vertical) tuple
|
|
3764
|
+
(horizontal, vertical) tuple.""")
|
|
3788
3765
|
|
|
3789
3766
|
scparam(cfg, ['constraint', 'component', inst, 'rotation'],
|
|
3790
3767
|
sctype='enum',
|
|
3768
|
+
pernode='optional',
|
|
3791
3769
|
defvalue='R0',
|
|
3792
3770
|
enum=['R0', 'R90', 'R180', 'R270',
|
|
3793
3771
|
'MX', 'MX_R90', 'MX_R180', 'MX_R270',
|
|
@@ -3795,7 +3773,6 @@ def schema_constraint(cfg):
|
|
|
3795
3773
|
'MZ', 'MZ_R90', 'MZ_R180', 'MZ_R270',
|
|
3796
3774
|
'MZ_MX', 'MZ_MX_R90', 'MZ_MX_R180', 'MZ_MX_R270',
|
|
3797
3775
|
'MZ_MY', 'MZ_MY_R90', 'MZ_MY_R180', 'MZ_MY_R270'],
|
|
3798
|
-
pernode='optional',
|
|
3799
3776
|
shorthelp="Constraint: component rotation",
|
|
3800
3777
|
switch="-constraint_component_rotation 'inst <str>'",
|
|
3801
3778
|
example=[
|
|
@@ -3829,6 +3806,49 @@ def schema_constraint(cfg):
|
|
|
3829
3806
|
* ``MZ_MX_R270``, ``MZ_MY_R90``: Reverse metal stack, flip on x-axis and rotate 270 deg ccw
|
|
3830
3807
|
""")
|
|
3831
3808
|
|
|
3809
|
+
scparam(cfg, ['constraint', 'component', inst, 'substrate'],
|
|
3810
|
+
sctype='str',
|
|
3811
|
+
pernode='optional',
|
|
3812
|
+
shorthelp="Constraint: component substrate",
|
|
3813
|
+
switch="-constraint_component_substrate 'inst <str>'",
|
|
3814
|
+
example=[
|
|
3815
|
+
"cli: -constraint_component_substrate 'i0 pcb0'",
|
|
3816
|
+
"api: chip.set('constraint', 'component', 'i0', 'substrate', 'pcb0')"],
|
|
3817
|
+
schelp="""
|
|
3818
|
+
Substrates are supporting material that components are placed upon.
|
|
3819
|
+
List of supported substrates includes (but not limited to):
|
|
3820
|
+
wafers, dies, panels, PCBs.""")
|
|
3821
|
+
|
|
3822
|
+
scparam(cfg, ['constraint', 'component', inst, 'side'],
|
|
3823
|
+
sctype='enum',
|
|
3824
|
+
enum=['left', 'right', 'front', 'back', 'top', 'bottom'],
|
|
3825
|
+
pernode='optional',
|
|
3826
|
+
shorthelp="Constraint: component side",
|
|
3827
|
+
switch="-constraint_component_side 'inst <str>'",
|
|
3828
|
+
example=[
|
|
3829
|
+
"cli: -constraint_component_side 'i0 top'",
|
|
3830
|
+
"api: chip.set('constraint', 'component', 'i0', 'side', 'top')"],
|
|
3831
|
+
schelp="""
|
|
3832
|
+
Side of the substrate where the component should be placed. The `side`
|
|
3833
|
+
definitions are with respect to a viewer looking sideways at an object.
|
|
3834
|
+
Top is towards the sky, front is the side closest to the viewer, and
|
|
3835
|
+
right is right. The maximum number of sides per substrate is six""")
|
|
3836
|
+
|
|
3837
|
+
scparam(cfg, ['constraint', 'component', inst, 'zheight'],
|
|
3838
|
+
sctype='float',
|
|
3839
|
+
pernode='optional',
|
|
3840
|
+
unit='um',
|
|
3841
|
+
shorthelp="Constraint: component placement zheight",
|
|
3842
|
+
switch="-constraint_component_zheight 'inst <float>'",
|
|
3843
|
+
example=[
|
|
3844
|
+
"cli: -constraint_component_zheight 'i0 100.0'",
|
|
3845
|
+
"api: chip.set('constraint', 'component', 'i0', 'zheight', 100.0)"],
|
|
3846
|
+
schelp="""
|
|
3847
|
+
Height above the substrate for component placement. The space
|
|
3848
|
+
between the component and substrate is occupied by material,
|
|
3849
|
+
supporting scaffolding, and electrical connections (eg. bumps,
|
|
3850
|
+
vias, pillars).""")
|
|
3851
|
+
|
|
3832
3852
|
# PINS
|
|
3833
3853
|
name = 'default'
|
|
3834
3854
|
scparam(cfg, ['constraint', 'pin', name, 'placement'],
|
|
@@ -3848,6 +3868,44 @@ def schema_constraint(cfg):
|
|
|
3848
3868
|
may adjust sizes to meet competing goals such as manufacturing design
|
|
3849
3869
|
rules and grid placement guidelines.""")
|
|
3850
3870
|
|
|
3871
|
+
metrics = {'width': ['width', 1.0],
|
|
3872
|
+
'length': ['length', 1.0],
|
|
3873
|
+
'height': ['height', 1.0]
|
|
3874
|
+
}
|
|
3875
|
+
|
|
3876
|
+
for i, v in metrics.items():
|
|
3877
|
+
scparam(cfg, ['constraint', 'pin', name, i],
|
|
3878
|
+
sctype='float',
|
|
3879
|
+
unit='um',
|
|
3880
|
+
pernode='optional',
|
|
3881
|
+
shorthelp=f"Constraint: pin {i}",
|
|
3882
|
+
switch=f"-constraint_pin_{i} 'name <float>'",
|
|
3883
|
+
example=[
|
|
3884
|
+
f"cli: -constraint_pin_{i} 'nreset {v[1]}'",
|
|
3885
|
+
f"api: chip.set('constraint', 'pin', 'nreset', {i}, {v[1]})"],
|
|
3886
|
+
schelp=f"""
|
|
3887
|
+
Pin {i} constraint. This parameter represents goal/intent, not an exact
|
|
3888
|
+
specification. The layout system may adjust sizes to meet
|
|
3889
|
+
competing goals such as manufacturing design rules and grid placement
|
|
3890
|
+
guidelines.""")
|
|
3891
|
+
|
|
3892
|
+
scparam(cfg, ['constraint', 'pin', name, 'shape'],
|
|
3893
|
+
sctype='enum',
|
|
3894
|
+
enum=['circle', 'rectangle', 'square',
|
|
3895
|
+
'hexagon', 'octagon', 'oval', 'pill', 'polygon'],
|
|
3896
|
+
pernode='optional',
|
|
3897
|
+
shorthelp="Constraint: pin shape",
|
|
3898
|
+
switch="-constraint_pin_shape 'name <str>'",
|
|
3899
|
+
example=[
|
|
3900
|
+
"cli: -constraint_pin_shape 'nreset circle'",
|
|
3901
|
+
"api: chip.set('constraint', 'pin', 'nreset', 'shape', 'circle')"],
|
|
3902
|
+
schelp="""
|
|
3903
|
+
Pin shape constraint specified on a per pin basis. In 3D design systems,
|
|
3904
|
+
the pin shape represents the cross section of the pin in the direction
|
|
3905
|
+
orthogonal to the signal flow direction. The 'pill' (aka stadium) shape,
|
|
3906
|
+
is rectangle with semicircles at a pair of opposite sides. The other
|
|
3907
|
+
pin shapes represent common geometric shape definitions.""")
|
|
3908
|
+
|
|
3851
3909
|
scparam(cfg, ['constraint', 'pin', name, 'layer'],
|
|
3852
3910
|
sctype='str',
|
|
3853
3911
|
pernode='optional',
|
|
@@ -3903,8 +3961,8 @@ def schema_constraint(cfg):
|
|
|
3903
3961
|
"cli: -constraint_net_maxlength 'nreset 1000'",
|
|
3904
3962
|
"api: chip.set('constraint', 'net', 'nreset', 'maxlength', '1000')"],
|
|
3905
3963
|
schelp="""
|
|
3906
|
-
Maximum total length of a net
|
|
3907
|
-
|
|
3964
|
+
Maximum total length of a net. Wildcards ('*') can be used for
|
|
3965
|
+
net names.""")
|
|
3908
3966
|
|
|
3909
3967
|
scparam(cfg, ['constraint', 'net', name, 'maxresistance'],
|
|
3910
3968
|
sctype='float',
|
|
@@ -3930,9 +3988,8 @@ def schema_constraint(cfg):
|
|
|
3930
3988
|
"api: chip.set('constraint', 'net', 'nreset', 'ndr', (0.4, 0.4))"],
|
|
3931
3989
|
schelp="""
|
|
3932
3990
|
Definitions of non-default routing rule specified on a per
|
|
3933
|
-
net basis. Constraints are entered as a (width, space) tuples
|
|
3934
|
-
|
|
3935
|
-
for net names.""")
|
|
3991
|
+
net basis. Constraints are entered as a (width, space) tuples.
|
|
3992
|
+
Wildcards ('*') can be used for net names.""")
|
|
3936
3993
|
|
|
3937
3994
|
scparam(cfg, ['constraint', 'net', name, 'minlayer'],
|
|
3938
3995
|
sctype='str',
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from siliconcompiler.tools import bambu
|
|
2
|
-
from siliconcompiler.tools
|
|
2
|
+
from siliconcompiler.tools import bluespec
|
|
3
3
|
from siliconcompiler.tools.builtin import builtin
|
|
4
4
|
from siliconcompiler.tools.chisel import chisel
|
|
5
5
|
from siliconcompiler.tools.execute import execute
|
|
6
6
|
from siliconcompiler.tools.genfasm import genfasm
|
|
7
7
|
from siliconcompiler.tools.ghdl import ghdl
|
|
8
8
|
from siliconcompiler.tools import gtkwave
|
|
9
|
+
from siliconcompiler.tools import graphviz
|
|
9
10
|
from siliconcompiler.tools.icarus import icarus
|
|
10
11
|
from siliconcompiler.tools.icepack import icepack
|
|
11
12
|
from siliconcompiler.tools.klayout import klayout
|
|
@@ -39,6 +40,7 @@ def get_tools():
|
|
|
39
40
|
execute,
|
|
40
41
|
genfasm,
|
|
41
42
|
ghdl,
|
|
43
|
+
graphviz,
|
|
42
44
|
gtkwave,
|
|
43
45
|
icarus,
|
|
44
46
|
icepack,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
'''
|
|
3
2
|
Bluespec is a high-level hardware description language. It has a variety of
|
|
4
3
|
advanced features including a powerful type system that can prevent errors
|
|
@@ -24,10 +23,6 @@ def make_docs(chip):
|
|
|
24
23
|
return chip
|
|
25
24
|
|
|
26
25
|
|
|
27
|
-
# Directory inside step/index dir to store bsc intermediate results.
|
|
28
|
-
VLOG_DIR = 'verilog'
|
|
29
|
-
|
|
30
|
-
|
|
31
26
|
################################
|
|
32
27
|
# Setup Tool (pre executable)
|
|
33
28
|
################################
|