siliconcompiler 0.28.4__tar.gz → 0.28.6__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.28.4 → siliconcompiler-0.28.6}/Changes +32 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/PKG-INFO +14 -12
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/pyproject.toml +15 -11
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/report_library.py +11 -3
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/_metadata.py +1 -1
- siliconcompiler-0.28.6/siliconcompiler/apps/_common.py +108 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc.py +33 -14
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_dashboard.py +16 -9
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_show.py +17 -15
- siliconcompiler-0.28.6/siliconcompiler/apps/utils/summarize.py +47 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/core.py +20 -12
- siliconcompiler-0.28.6/siliconcompiler/flows/drcflow.py +13 -0
- siliconcompiler-0.28.6/siliconcompiler/flows/interposerflow.py +17 -0
- siliconcompiler-0.28.6/siliconcompiler/libs/interposer.py +8 -0
- siliconcompiler-0.28.6/siliconcompiler/pdks/interposer.py +8 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/schema.py +11 -1
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server.py +7 -2
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/__init__.py +10 -3
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/__init__.py +93 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/schema_cfg.py +15 -3
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/schema_obj.py +51 -1
- siliconcompiler-0.28.6/siliconcompiler/targets/interposer_demo.py +56 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/tcl/manifest.tcl.j2 +2 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/export.py +7 -4
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_export.py +3 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_utils.py +8 -2
- siliconcompiler-0.28.6/siliconcompiler/tools/openroad/metrics.py +44 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/openroad.py +3 -0
- siliconcompiler-0.28.6/siliconcompiler/tools/openroad/rdlroute.py +97 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_apr.tcl +20 -22
- siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +1 -0
- siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +184 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +11 -1
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xyce/__init__.py +1 -1
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/_tools.json +3 -4
- {siliconcompiler-0.28.4/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/rhel8}/install-xyce.sh +4 -5
- {siliconcompiler-0.28.4/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/rhel9}/install-xyce.sh +4 -5
- {siliconcompiler-0.28.4/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/ubuntu20}/install-xyce.sh +2 -2
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +2 -2
- {siliconcompiler-0.28.4/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/ubuntu24}/install-xyce.sh +5 -5
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/PKG-INFO +14 -12
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/SOURCES.txt +10 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/requires.txt +19 -7
- siliconcompiler-0.28.4/siliconcompiler/apps/_common.py +0 -76
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.dockerignore +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.flake8 +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.gitattributes +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.gitignore +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/LICENSE +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/MANIFEST.in +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/README.md +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/SECURITY.md +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/.gitignore +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/setup.cfg +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_install.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_remote.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/_common.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/vpr_example.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/issue.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/asap7sc7p5t.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/gf180mcu.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/nangate45.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sg13g2_stdcell.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sky130hd.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sky130io.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/package.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/asap7.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/freepdk45.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/gf180.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/ihp130.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/skywater130.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/client.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/graph.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/state.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/viewer.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/report.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/docker_runner.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/asic.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/bambu.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/concatenate.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/magic.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/cts.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/dfm.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/export.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/floorplan.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/physyn.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/place.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/route.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_export.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx_extract.tcl +0 -0
- /siliconcompiler-0.28.4/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl → /siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_report.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_write.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/template/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/lec.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/screenshot.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/yosys.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-openroad.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/units.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/__init__.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,38 @@ 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.28.6 (2024-11-12)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Minor:**
|
|
15
|
+
|
|
16
|
+
* Added a support module to call for the manifest summary from `python3 -m siliconcompiler.apps.utils.summarize -cfg <file>`.
|
|
17
|
+
* Removed dashboard from python 3.9.7, due to issue in 3.9.7.
|
|
18
|
+
|
|
19
|
+
* Tools:
|
|
20
|
+
|
|
21
|
+
* openroad: updated metrics task to allow for verilog inputs.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
SiliconCompiler 0.28.5 (2024-11-06)
|
|
25
|
+
=========================================
|
|
26
|
+
|
|
27
|
+
**Major:**
|
|
28
|
+
|
|
29
|
+
* Added interposer_demo target and interposerflow and drcflow.
|
|
30
|
+
|
|
31
|
+
**Minor:**
|
|
32
|
+
|
|
33
|
+
* Added macroarea, padcellarea, and stdcellarea to metrics.
|
|
34
|
+
* Added footprint to datasheet in schema.
|
|
35
|
+
* Improved handling of `sc-show` and `sc-dashboard` when searching for manifests.
|
|
36
|
+
|
|
37
|
+
* Tools:
|
|
38
|
+
|
|
39
|
+
* openroad: added metrics task to collect metrics and an rdlroute task to perform floorplan initization and rdlrouting.
|
|
40
|
+
* klayout: fixed handling of fill during GDS generation.
|
|
41
|
+
|
|
42
|
+
|
|
11
43
|
SiliconCompiler 0.28.4 (2024-10-28)
|
|
12
44
|
=========================================
|
|
13
45
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.6
|
|
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
|
|
@@ -34,28 +34,30 @@ Requires-Dist: graphviz==0.20.3
|
|
|
34
34
|
Requires-Dist: distro==1.9.0
|
|
35
35
|
Requires-Dist: packaging<24,>=21.3
|
|
36
36
|
Requires-Dist: psutil>=5.8.0
|
|
37
|
-
Requires-Dist: Pillow==10.4.0
|
|
37
|
+
Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
|
|
38
|
+
Requires-Dist: Pillow==11.0.0; python_version >= "3.9"
|
|
38
39
|
Requires-Dist: GitPython==3.1.43
|
|
39
|
-
Requires-Dist: lambdapdk>=0.1.
|
|
40
|
-
Requires-Dist: PyGithub==2.
|
|
40
|
+
Requires-Dist: lambdapdk>=0.1.38
|
|
41
|
+
Requires-Dist: PyGithub==2.5.0
|
|
41
42
|
Requires-Dist: urllib3>=1.26.0
|
|
42
43
|
Requires-Dist: fasteners==0.19
|
|
43
44
|
Requires-Dist: fastjsonschema==2.20.0
|
|
44
45
|
Requires-Dist: docker==7.1.0
|
|
45
46
|
Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
46
47
|
Requires-Dist: sc-surelog==1.84.1
|
|
47
|
-
Requires-Dist: orjson==3.10.
|
|
48
|
-
Requires-Dist: streamlit==1.
|
|
49
|
-
Requires-Dist: streamlit_agraph==0.0.45
|
|
50
|
-
Requires-Dist: streamlit-antd-components==0.3.2
|
|
51
|
-
Requires-Dist: streamlit_javascript==0.1.5
|
|
52
|
-
Requires-Dist: streamlit-autorefresh==1.0.1
|
|
48
|
+
Requires-Dist: orjson==3.10.11
|
|
49
|
+
Requires-Dist: streamlit==1.40.0; python_version != "3.9.7"
|
|
50
|
+
Requires-Dist: streamlit_agraph==0.0.45; python_version != "3.9.7"
|
|
51
|
+
Requires-Dist: streamlit-antd-components==0.3.2; python_version != "3.9.7"
|
|
52
|
+
Requires-Dist: streamlit_javascript==0.1.5; python_version != "3.9.7"
|
|
53
|
+
Requires-Dist: streamlit-autorefresh==1.0.1; python_version != "3.9.7"
|
|
53
54
|
Provides-Extra: test
|
|
54
55
|
Requires-Dist: pytest==8.3.3; extra == "test"
|
|
55
56
|
Requires-Dist: pytest-xdist==3.6.1; extra == "test"
|
|
56
57
|
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
57
58
|
Requires-Dist: pytest-asyncio==0.24.0; extra == "test"
|
|
58
|
-
Requires-Dist: pytest-cov==5.0.0; extra == "test"
|
|
59
|
+
Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
|
|
60
|
+
Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
|
|
59
61
|
Requires-Dist: responses==0.25.3; extra == "test"
|
|
60
62
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
61
63
|
Requires-Dist: flake8==7.1.1; extra == "test"
|
|
@@ -70,7 +72,7 @@ Provides-Extra: profile
|
|
|
70
72
|
Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
|
|
71
73
|
Provides-Extra: examples
|
|
72
74
|
Requires-Dist: migen==0.9.2; extra == "examples"
|
|
73
|
-
Requires-Dist: lambdalib==0.
|
|
75
|
+
Requires-Dist: lambdalib==0.3.1; extra == "examples"
|
|
74
76
|
|
|
75
77
|

|
|
76
78
|
|
|
@@ -41,22 +41,25 @@ dependencies = [
|
|
|
41
41
|
"distro == 1.9.0",
|
|
42
42
|
"packaging >= 21.3, < 24", # Less than 24 for streamlit
|
|
43
43
|
"psutil >= 5.8.0",
|
|
44
|
-
"Pillow == 10.4.0",
|
|
44
|
+
"Pillow == 10.4.0; python_version <= '3.8'",
|
|
45
|
+
"Pillow == 11.0.0; python_version >= '3.9'",
|
|
45
46
|
"GitPython == 3.1.43",
|
|
46
|
-
"lambdapdk >= 0.1.
|
|
47
|
-
"PyGithub == 2.
|
|
47
|
+
"lambdapdk >= 0.1.38",
|
|
48
|
+
"PyGithub == 2.5.0",
|
|
48
49
|
"urllib3 >= 1.26.0", # Required for PyGithub
|
|
49
50
|
"fasteners == 0.19",
|
|
50
51
|
"fastjsonschema == 2.20.0",
|
|
51
52
|
"docker == 7.1.0",
|
|
52
53
|
"importlib_metadata; python_version < '3.10'",
|
|
53
54
|
"sc-surelog == 1.84.1",
|
|
54
|
-
"orjson == 3.10.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"streamlit
|
|
58
|
-
"
|
|
59
|
-
"streamlit-
|
|
55
|
+
"orjson == 3.10.11",
|
|
56
|
+
|
|
57
|
+
# dashboard, streamlit does not support 3.9.7
|
|
58
|
+
"streamlit == 1.40.0; python_version != '3.9.7'",
|
|
59
|
+
"streamlit_agraph == 0.0.45; python_version != '3.9.7'",
|
|
60
|
+
"streamlit-antd-components == 0.3.2; python_version != '3.9.7'",
|
|
61
|
+
"streamlit_javascript == 0.1.5; python_version != '3.9.7'",
|
|
62
|
+
"streamlit-autorefresh == 1.0.1; python_version != '3.9.7'"
|
|
60
63
|
]
|
|
61
64
|
license = {text = "Apache License 2.0"}
|
|
62
65
|
dynamic = ["version"]
|
|
@@ -88,7 +91,8 @@ test = [
|
|
|
88
91
|
"pytest-xdist == 3.6.1",
|
|
89
92
|
"pytest-timeout == 2.3.1",
|
|
90
93
|
"pytest-asyncio == 0.24.0",
|
|
91
|
-
"pytest-cov == 5.0.0",
|
|
94
|
+
"pytest-cov == 5.0.0; python_version <= '3.8'",
|
|
95
|
+
"pytest-cov == 6.0.0; python_version >= '3.9'",
|
|
92
96
|
"responses == 0.25.3",
|
|
93
97
|
"PyVirtualDisplay == 3.0",
|
|
94
98
|
"flake8 == 7.1.1",
|
|
@@ -106,7 +110,7 @@ profile = [
|
|
|
106
110
|
]
|
|
107
111
|
examples = [
|
|
108
112
|
"migen == 0.9.2",
|
|
109
|
-
"lambdalib == 0.
|
|
113
|
+
"lambdalib == 0.3.1"
|
|
110
114
|
]
|
|
111
115
|
|
|
112
116
|
[tool.setuptools]
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
from siliconcompiler import Chip
|
|
2
2
|
from siliconcompiler.tools.opensta import report_libraries
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
def main():
|
|
5
6
|
chip = Chip('report_libs')
|
|
6
|
-
chip.create_cmdline(switchlist=['-target'])
|
|
7
|
+
args = chip.create_cmdline(switchlist=['-target'])
|
|
7
8
|
|
|
8
|
-
if
|
|
9
|
+
if 'target' not in args or not args['target']:
|
|
9
10
|
raise ValueError('-target is required')
|
|
10
11
|
|
|
11
12
|
chip.node('report_lib', 'report', report_libraries)
|
|
12
13
|
chip.set('option', 'flow', 'report_lib')
|
|
14
|
+
chip.set('option', 'clean', True)
|
|
13
15
|
|
|
14
16
|
chip.run()
|
|
17
|
+
|
|
18
|
+
return 0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
if __name__ == "__main__":
|
|
22
|
+
main()
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# TODO: this is a hack to get around design name requirement: since legal
|
|
5
|
+
# design names probably can't contain spaces, we can detect if it is unset.
|
|
6
|
+
UNSET_DESIGN = ' unset '
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def manifest_switches():
|
|
10
|
+
'''
|
|
11
|
+
Returns a list of manifest switches that can be used
|
|
12
|
+
to find the manifest based on their values
|
|
13
|
+
'''
|
|
14
|
+
return ['-design',
|
|
15
|
+
'-cfg',
|
|
16
|
+
'-arg_step',
|
|
17
|
+
'-arg_index',
|
|
18
|
+
'-jobname']
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def _get_manifests(cwd):
|
|
22
|
+
manifests = {}
|
|
23
|
+
|
|
24
|
+
def get_dirs(cwd):
|
|
25
|
+
dirs = []
|
|
26
|
+
for dirname in os.listdir(cwd):
|
|
27
|
+
fullpath = os.path.join(cwd, dirname)
|
|
28
|
+
if os.path.isdir(fullpath):
|
|
29
|
+
dirs.append((dirname, fullpath))
|
|
30
|
+
return dirs
|
|
31
|
+
|
|
32
|
+
for _, buildpath in get_dirs(cwd):
|
|
33
|
+
for design, designdir in get_dirs(buildpath):
|
|
34
|
+
for jobname, jobdir in get_dirs(designdir):
|
|
35
|
+
manifest = os.path.join(jobdir, f'{design}.pkg.json')
|
|
36
|
+
if os.path.isfile(manifest):
|
|
37
|
+
manifests[(design, jobname, None, None)] = manifest
|
|
38
|
+
for step, stepdir in get_dirs(jobdir):
|
|
39
|
+
for index, indexdir in get_dirs(stepdir):
|
|
40
|
+
manifest = os.path.join(indexdir, 'outputs', f'{design}.pkg.json')
|
|
41
|
+
if os.path.isfile(manifest):
|
|
42
|
+
manifests[(design, jobname, step, index)] = manifest
|
|
43
|
+
else:
|
|
44
|
+
manifest = os.path.join(indexdir, 'inputs', f'{design}.pkg.json')
|
|
45
|
+
if os.path.isfile(manifest):
|
|
46
|
+
manifests[(design, jobname, step, index)] = manifest
|
|
47
|
+
|
|
48
|
+
organized_manifest = {}
|
|
49
|
+
for (design, job, step, index), manifest in manifests.items():
|
|
50
|
+
jobs = organized_manifest.setdefault(design, {})
|
|
51
|
+
jobs.setdefault(job, {})[step, index] = os.path.abspath(manifest)
|
|
52
|
+
|
|
53
|
+
return organized_manifest
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def pick_manifest_from_file(chip, src_file, all_manifests):
|
|
57
|
+
if src_file is None:
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
if not os.path.exists(src_file):
|
|
61
|
+
chip.logger.error(f'{src_file} cannot be found.')
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
src_dir = os.path.abspath(os.path.dirname(src_file))
|
|
65
|
+
for _, jobs in all_manifests.items():
|
|
66
|
+
for _, nodes in jobs.items():
|
|
67
|
+
for manifest in nodes.values():
|
|
68
|
+
if src_dir == os.path.dirname(manifest):
|
|
69
|
+
return manifest
|
|
70
|
+
|
|
71
|
+
return None
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def pick_manifest(chip, src_file=None):
|
|
75
|
+
all_manifests = _get_manifests(os.getcwd())
|
|
76
|
+
|
|
77
|
+
manifest = pick_manifest_from_file(chip, src_file, all_manifests)
|
|
78
|
+
if manifest:
|
|
79
|
+
return manifest
|
|
80
|
+
|
|
81
|
+
if chip.design == UNSET_DESIGN:
|
|
82
|
+
if len(all_manifests) == 1:
|
|
83
|
+
chip.set('design', list(all_manifests.keys())[0])
|
|
84
|
+
else:
|
|
85
|
+
chip.logger.error('Design name is not set')
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
if chip.design not in all_manifests:
|
|
89
|
+
chip.logger.error(f'Could not find manifest for {chip.design}')
|
|
90
|
+
return None
|
|
91
|
+
|
|
92
|
+
if chip.get('option', 'jobname') not in all_manifests[chip.design] and \
|
|
93
|
+
len(all_manifests[chip.design]) != 1:
|
|
94
|
+
chip.logger.error(f'Could not determine jobname for {chip.design}')
|
|
95
|
+
return None
|
|
96
|
+
|
|
97
|
+
jobname = chip.get('option', 'jobname')
|
|
98
|
+
if chip.get('option', 'jobname') not in all_manifests[chip.design]:
|
|
99
|
+
jobname = list(all_manifests[chip.design].keys())[0]
|
|
100
|
+
|
|
101
|
+
if (None, None) in all_manifests[chip.design][jobname]:
|
|
102
|
+
manifest = all_manifests[chip.design][jobname][None, None]
|
|
103
|
+
else:
|
|
104
|
+
# pick newest manifest
|
|
105
|
+
manifest = list(sorted(all_manifests[chip.design][jobname].values(),
|
|
106
|
+
key=lambda file: os.stat(file).st_ctime))[-1]
|
|
107
|
+
|
|
108
|
+
return manifest
|
|
@@ -10,6 +10,37 @@ from siliconcompiler.targets import skywater130_demo
|
|
|
10
10
|
from siliconcompiler import SiliconCompilerError
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
def _infer_designname(chip):
|
|
14
|
+
topfile = None
|
|
15
|
+
sourcesets = chip.getkeys('input')
|
|
16
|
+
for sourceset in reversed(('rtl', 'hll')):
|
|
17
|
+
if sourceset in sourcesets:
|
|
18
|
+
sourcesets.remove(sourceset)
|
|
19
|
+
sourcesets.insert(0, sourceset)
|
|
20
|
+
for sourceset in sourcesets:
|
|
21
|
+
for filetype in chip.getkeys('input', sourceset):
|
|
22
|
+
all_vals = chip.schema._getvals('input', sourceset, filetype)
|
|
23
|
+
if all_vals:
|
|
24
|
+
# just look at first value
|
|
25
|
+
sources, _, _ = all_vals[0]
|
|
26
|
+
# grab first source
|
|
27
|
+
topfile = sources[0]
|
|
28
|
+
break
|
|
29
|
+
if topfile:
|
|
30
|
+
break
|
|
31
|
+
|
|
32
|
+
if not topfile:
|
|
33
|
+
return None
|
|
34
|
+
|
|
35
|
+
root = os.path.basename(topfile)
|
|
36
|
+
while True:
|
|
37
|
+
root, ext = os.path.splitext(root)
|
|
38
|
+
if not ext:
|
|
39
|
+
break
|
|
40
|
+
|
|
41
|
+
return root
|
|
42
|
+
|
|
43
|
+
|
|
13
44
|
###########################
|
|
14
45
|
def main():
|
|
15
46
|
progname = "sc"
|
|
@@ -50,24 +81,12 @@ def main():
|
|
|
50
81
|
|
|
51
82
|
# Set design if none specified
|
|
52
83
|
if chip.get('design') == UNSET_DESIGN:
|
|
53
|
-
|
|
54
|
-
for sourceset in ('rtl', 'hll'):
|
|
55
|
-
for filetype in chip.getkeys('input', sourceset):
|
|
56
|
-
all_vals = chip.schema._getvals('input', sourceset, filetype)
|
|
57
|
-
if all_vals:
|
|
58
|
-
# just look at first value
|
|
59
|
-
sources, _, _ = all_vals[0]
|
|
60
|
-
# grab first source
|
|
61
|
-
topfile = sources[0]
|
|
62
|
-
break
|
|
63
|
-
if topfile:
|
|
64
|
-
break
|
|
84
|
+
topmodule = _infer_designname(chip)
|
|
65
85
|
|
|
66
|
-
if not
|
|
86
|
+
if not topmodule:
|
|
67
87
|
chip.logger.error('Invalid arguments: either specify -design or provide sources.')
|
|
68
88
|
return 1
|
|
69
89
|
|
|
70
|
-
topmodule = os.path.splitext(os.path.basename(topfile))[0]
|
|
71
90
|
chip.set('design', topmodule)
|
|
72
91
|
|
|
73
92
|
# Set demo target if none specified
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import sys
|
|
3
3
|
import siliconcompiler
|
|
4
4
|
import os
|
|
5
|
-
from siliconcompiler.apps._common import
|
|
5
|
+
from siliconcompiler.apps._common import pick_manifest, manifest_switches, UNSET_DESIGN
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def main():
|
|
@@ -11,9 +11,16 @@ def main():
|
|
|
11
11
|
-----------------------------------------------------------
|
|
12
12
|
SC app to open a dashboard for a given manifest.
|
|
13
13
|
|
|
14
|
-
To open:
|
|
14
|
+
To open and allow sc-dashboard to autoload manifest:
|
|
15
|
+
sc-dashboard
|
|
16
|
+
|
|
17
|
+
To open by specifying manifest:
|
|
15
18
|
sc-dashboard -cfg <path to manifest>
|
|
16
19
|
|
|
20
|
+
To open by specifying design and optionally jobname:
|
|
21
|
+
sc-dashboard -design <name>
|
|
22
|
+
sc-dashboard -design <name> -jobname <jobname>
|
|
23
|
+
|
|
17
24
|
To specify a different port than the default:
|
|
18
25
|
sc-dashboard -cfg <path to manifest> -port 10000
|
|
19
26
|
|
|
@@ -23,10 +30,6 @@ To include another chip object to compare to:
|
|
|
23
30
|
-----------------------------------------------------------
|
|
24
31
|
"""
|
|
25
32
|
|
|
26
|
-
# TODO: this is a hack to get around design name requirement: since legal
|
|
27
|
-
# design names probably can't contain spaces, we can detect if it is unset.
|
|
28
|
-
UNSET_DESIGN = ' unset '
|
|
29
|
-
|
|
30
33
|
# Create a base chip class.
|
|
31
34
|
chip = siliconcompiler.Chip(UNSET_DESIGN)
|
|
32
35
|
|
|
@@ -54,15 +57,19 @@ To include another chip object to compare to:
|
|
|
54
57
|
chip.logger.error(e)
|
|
55
58
|
return 1
|
|
56
59
|
|
|
60
|
+
if not chip.get('option', 'cfg'):
|
|
61
|
+
manifest = pick_manifest(chip)
|
|
62
|
+
|
|
63
|
+
if manifest:
|
|
64
|
+
chip.logger.info(f'Loading manifest: {manifest}')
|
|
65
|
+
chip.read_manifest(manifest)
|
|
66
|
+
|
|
57
67
|
# Error checking
|
|
58
68
|
design = chip.get('design')
|
|
59
69
|
if design == UNSET_DESIGN:
|
|
60
70
|
chip.logger.error('Design not loaded')
|
|
61
71
|
return 1
|
|
62
72
|
|
|
63
|
-
if not load_manifest(chip, None):
|
|
64
|
-
return 1
|
|
65
|
-
|
|
66
73
|
graph_chips = []
|
|
67
74
|
if switches['graph_cfg']:
|
|
68
75
|
for i, name_and_file_path in enumerate(switches['graph_cfg']):
|
|
@@ -3,7 +3,7 @@ import sys
|
|
|
3
3
|
import os
|
|
4
4
|
import siliconcompiler
|
|
5
5
|
from siliconcompiler.utils import get_default_iomap
|
|
6
|
-
from siliconcompiler.apps._common import
|
|
6
|
+
from siliconcompiler.apps._common import manifest_switches, pick_manifest, UNSET_DESIGN
|
|
7
7
|
from siliconcompiler.utils import get_file_ext
|
|
8
8
|
|
|
9
9
|
|
|
@@ -18,6 +18,9 @@ def main():
|
|
|
18
18
|
|
|
19
19
|
Examples:
|
|
20
20
|
|
|
21
|
+
sc-show
|
|
22
|
+
(displays build/adder/job0/write_gds/0/outputs/adder.gds)
|
|
23
|
+
|
|
21
24
|
sc-show -design adder
|
|
22
25
|
(displays build/adder/job0/write_gds/0/outputs/adder.gds)
|
|
23
26
|
|
|
@@ -40,10 +43,6 @@ def main():
|
|
|
40
43
|
(displays build/adder/job0/route/1/outputs/adder.def)
|
|
41
44
|
"""
|
|
42
45
|
|
|
43
|
-
# TODO: this is a hack to get around design name requirement: since legal
|
|
44
|
-
# design names probably can't contain spaces, we can detect if it is unset.
|
|
45
|
-
UNSET_DESIGN = ' unset '
|
|
46
|
-
|
|
47
46
|
# Create a base chip class.
|
|
48
47
|
chip = siliconcompiler.Chip(UNSET_DESIGN)
|
|
49
48
|
|
|
@@ -81,10 +80,6 @@ def main():
|
|
|
81
80
|
chip.logger.error(e)
|
|
82
81
|
return 1
|
|
83
82
|
|
|
84
|
-
# Error checking
|
|
85
|
-
design = chip.get('design')
|
|
86
|
-
design_set = design != UNSET_DESIGN
|
|
87
|
-
|
|
88
83
|
# Search input keys for files
|
|
89
84
|
input_mode = []
|
|
90
85
|
for fileset in chip.getkeys('input'):
|
|
@@ -92,11 +87,6 @@ def main():
|
|
|
92
87
|
if chip.schema._getvals('input', fileset, mode):
|
|
93
88
|
input_mode = [('input', fileset, mode)]
|
|
94
89
|
|
|
95
|
-
if not (design_set or input_mode):
|
|
96
|
-
chip.logger.error('Nothing to load: please define a target with '
|
|
97
|
-
'-cfg, -design, and/or inputs.')
|
|
98
|
-
return 1
|
|
99
|
-
|
|
100
90
|
filename = None
|
|
101
91
|
if input_mode:
|
|
102
92
|
check_ext = list(chip._showtools.keys())
|
|
@@ -115,7 +105,19 @@ def main():
|
|
|
115
105
|
|
|
116
106
|
filename = get_file_from_keys()
|
|
117
107
|
|
|
118
|
-
|
|
108
|
+
# Attempt to load a manifest
|
|
109
|
+
if not chip.get('option', 'cfg'):
|
|
110
|
+
manifest = pick_manifest(chip, src_file=filename)
|
|
111
|
+
if manifest:
|
|
112
|
+
chip.logger.info(f'Loading manifest: {manifest}')
|
|
113
|
+
chip.read_manifest(manifest)
|
|
114
|
+
|
|
115
|
+
# Error checking
|
|
116
|
+
design = chip.get('design')
|
|
117
|
+
design_set = design != UNSET_DESIGN
|
|
118
|
+
if not (design_set or input_mode):
|
|
119
|
+
chip.logger.error('Nothing to load: please define a target with '
|
|
120
|
+
'-cfg, -design, and/or inputs.')
|
|
119
121
|
return 1
|
|
120
122
|
|
|
121
123
|
# Read in file
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Copyright 2024 Silicon Compiler Authors. All Rights Reserved.
|
|
2
|
+
|
|
3
|
+
# Standard Modules
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
import siliconcompiler
|
|
7
|
+
from siliconcompiler.apps._common import UNSET_DESIGN
|
|
8
|
+
from siliconcompiler import SiliconCompilerError
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
###########################
|
|
12
|
+
def main():
|
|
13
|
+
progname = "summarize"
|
|
14
|
+
description = """
|
|
15
|
+
------------------------------------------------------------
|
|
16
|
+
Utility script to print job summary from a manifest
|
|
17
|
+
------------------------------------------------------------
|
|
18
|
+
"""
|
|
19
|
+
# Create a base chip class.
|
|
20
|
+
chip = siliconcompiler.Chip(UNSET_DESIGN)
|
|
21
|
+
|
|
22
|
+
# Read command-line inputs and generate Chip objects to run the flow on.
|
|
23
|
+
try:
|
|
24
|
+
chip.create_cmdline(progname,
|
|
25
|
+
description=description,
|
|
26
|
+
switchlist=['-cfg',
|
|
27
|
+
'-loglevel'])
|
|
28
|
+
except SiliconCompilerError:
|
|
29
|
+
return 1
|
|
30
|
+
except Exception as e:
|
|
31
|
+
chip.logger.error(e)
|
|
32
|
+
return 1
|
|
33
|
+
|
|
34
|
+
design = chip.get('design')
|
|
35
|
+
if design == UNSET_DESIGN:
|
|
36
|
+
chip.logger.error('Design not loaded')
|
|
37
|
+
return 1
|
|
38
|
+
|
|
39
|
+
# Print Job Summary
|
|
40
|
+
chip.summary(generate_image=False, generate_html=False)
|
|
41
|
+
|
|
42
|
+
return 0
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#########################
|
|
46
|
+
if __name__ == "__main__":
|
|
47
|
+
sys.exit(main())
|
|
@@ -399,7 +399,7 @@ class Chip:
|
|
|
399
399
|
self.set(*key, packages, field='package', step=step, index=index)
|
|
400
400
|
|
|
401
401
|
# Read in target if set
|
|
402
|
-
if "target" in extra_params:
|
|
402
|
+
if extra_params is not None and "target" in extra_params:
|
|
403
403
|
if extra_params["target"]:
|
|
404
404
|
# running target command
|
|
405
405
|
# Search order "{name}", and "siliconcompiler.targets.{name}"
|
|
@@ -416,7 +416,7 @@ class Chip:
|
|
|
416
416
|
self.use(modules[0])
|
|
417
417
|
extra_params["target"] = modules[0].__name__
|
|
418
418
|
|
|
419
|
-
if "use" in extra_params:
|
|
419
|
+
if extra_params is not None and "use" in extra_params:
|
|
420
420
|
if extra_params["use"]:
|
|
421
421
|
for use in extra_params["use"]:
|
|
422
422
|
mod = self._load_module(use)
|
|
@@ -437,19 +437,25 @@ class Chip:
|
|
|
437
437
|
if "-target" in additional_args:
|
|
438
438
|
raise ValueError('-target cannot be used as an additional argument')
|
|
439
439
|
|
|
440
|
-
|
|
441
|
-
"
|
|
442
|
-
|
|
443
|
-
|
|
440
|
+
if switchlist is None or '-target' in switchlist:
|
|
441
|
+
additional_args["-target"] = {
|
|
442
|
+
"help": "target to load",
|
|
443
|
+
"metavar": "<target>"
|
|
444
|
+
}
|
|
445
|
+
if switchlist:
|
|
446
|
+
switchlist.remove('-target')
|
|
444
447
|
|
|
445
448
|
if "-use" in additional_args:
|
|
446
449
|
raise ValueError('-use cannot be used as an additional argument')
|
|
447
450
|
|
|
448
|
-
|
|
449
|
-
"
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
451
|
+
if switchlist is None or '-use' in switchlist:
|
|
452
|
+
additional_args["-use"] = {
|
|
453
|
+
"action": "append",
|
|
454
|
+
"help": "modules to load",
|
|
455
|
+
"metavar": "<module>"
|
|
456
|
+
}
|
|
457
|
+
if switchlist:
|
|
458
|
+
switchlist.remove('-use')
|
|
453
459
|
|
|
454
460
|
try:
|
|
455
461
|
return self.schema.create_cmdline(
|
|
@@ -2123,7 +2129,9 @@ class Chip:
|
|
|
2123
2129
|
nonlocal graph_idx
|
|
2124
2130
|
|
|
2125
2131
|
for subgraph in graph_info["graphs"]:
|
|
2132
|
+
child_prefix = prefix
|
|
2126
2133
|
if get_node_count(graph_info["graphs"][subgraph]) > 1:
|
|
2134
|
+
child_prefix = f"{child_prefix}{subgraph}."
|
|
2127
2135
|
graph = graphviz.Digraph(name=f"cluster_{graph_idx}")
|
|
2128
2136
|
graph_idx += 1
|
|
2129
2137
|
|
|
@@ -2143,7 +2151,7 @@ class Chip:
|
|
|
2143
2151
|
else:
|
|
2144
2152
|
graph = parent
|
|
2145
2153
|
|
|
2146
|
-
build_graph(graph_info["graphs"][subgraph], graph,
|
|
2154
|
+
build_graph(graph_info["graphs"][subgraph], graph, child_prefix)
|
|
2147
2155
|
|
|
2148
2156
|
if graph is not parent:
|
|
2149
2157
|
parent.subgraph(graph)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from siliconcompiler import Flow
|
|
2
|
+
|
|
3
|
+
from siliconcompiler.tools.openroad import rdlroute
|
|
4
|
+
from siliconcompiler.tools.klayout import export
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def setup():
|
|
8
|
+
'''
|
|
9
|
+
A flow to perform RDL routing and generate a GDS
|
|
10
|
+
'''
|
|
11
|
+
flow = Flow('interposerflow')
|
|
12
|
+
flow.node('interposerflow', 'rdlroute', rdlroute)
|
|
13
|
+
flow.node('interposerflow', 'write_gds', export)
|
|
14
|
+
|
|
15
|
+
flow.edge('interposerflow', 'rdlroute', 'write_gds')
|
|
16
|
+
|
|
17
|
+
return flow
|