siliconcompiler 0.31.1__tar.gz → 0.32.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.31.1 → siliconcompiler-0.32.0}/.readthedocs.yaml +1 -2
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/Changes +18 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/PKG-INFO +3 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/pyproject.toml +2 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc.py +1 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/utils/summarize.py +1 -1
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/core.py +33 -39
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/_common.py +10 -4
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/__init__.py +7 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/git.py +4 -1
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/https.py +6 -2
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/__init__.py +16 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/report.py +6 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/run_node.py +4 -1
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/_apr.py +15 -5
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +10 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +27 -0
- siliconcompiler-0.32.0/siliconcompiler/tools/slang/__init__.py +216 -0
- siliconcompiler-0.32.0/siliconcompiler/tools/slang/elaborate.py +151 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/slang/lint.py +20 -10
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/__init__.py +17 -4
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/_tools.json +2 -2
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/units.py +10 -7
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/use.py +5 -2
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/PKG-INFO +3 -6
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/requires.txt +2 -6
- siliconcompiler-0.31.1/siliconcompiler/tools/slang/__init__.py +0 -126
- siliconcompiler-0.31.1/siliconcompiler/tools/slang/elaborate.py +0 -46
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.dockerignore +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.flake8 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.gitattributes +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.gitignore +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/LICENSE +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/MANIFEST.in +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/README.md +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/SECURITY.md +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/.gitignore +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/check_library.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/report_library.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/setup.cfg +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_install.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_remote.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/vpr_example.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/issue.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/client.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/graph.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/state.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/viewer.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/docker_runner.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/schema_cfg.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/schema_obj.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/replay.sh.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/asic.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/asic_clock.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/concatenate.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/export.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/magic.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/power_grid.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/template/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/lec.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/screenshot.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/__init__.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/logging.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/SOURCES.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,24 @@ 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.32.0 (2025-03-11)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Major:**
|
|
15
|
+
|
|
16
|
+
* Changed default behavior of `.summary` to only print metrics summary, and added `.snapshot` to generate and display job summary image.
|
|
17
|
+
* Moved default verilog/system verilog frontend parser to Slang.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
**Minor:**
|
|
21
|
+
|
|
22
|
+
* Changed examples to use a `requirements.txt` file for external dependencies.
|
|
23
|
+
|
|
24
|
+
* Tools:
|
|
25
|
+
|
|
26
|
+
* openroad: added timing histogram reports.
|
|
27
|
+
|
|
28
|
+
|
|
11
29
|
SiliconCompiler 0.31.1 (2025-03-06)
|
|
12
30
|
=========================================
|
|
13
31
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.32.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
|
|
@@ -45,10 +45,10 @@ Requires-Dist: fasteners==0.19
|
|
|
45
45
|
Requires-Dist: fastjsonschema==2.21.1
|
|
46
46
|
Requires-Dist: docker==7.1.0
|
|
47
47
|
Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
48
|
-
Requires-Dist: sc-surelog==1.84.1
|
|
49
48
|
Requires-Dist: orjson==3.10.15
|
|
49
|
+
Requires-Dist: pyslang==8.0.0
|
|
50
50
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
-
Requires-Dist: streamlit==1.
|
|
51
|
+
Requires-Dist: streamlit==1.43.1; 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"
|
|
@@ -74,9 +74,6 @@ Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
|
|
|
74
74
|
Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
|
|
75
75
|
Provides-Extra: profile
|
|
76
76
|
Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
|
|
77
|
-
Provides-Extra: examples
|
|
78
|
-
Requires-Dist: migen==0.9.2; extra == "examples"
|
|
79
|
-
Requires-Dist: lambdalib==0.3.3; extra == "examples"
|
|
80
77
|
Provides-Extra: optimizer
|
|
81
78
|
Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
|
|
82
79
|
|
|
@@ -52,12 +52,12 @@ dependencies = [
|
|
|
52
52
|
"fastjsonschema == 2.21.1",
|
|
53
53
|
"docker == 7.1.0",
|
|
54
54
|
"importlib_metadata; python_version < '3.10'",
|
|
55
|
-
"sc-surelog == 1.84.1",
|
|
56
55
|
"orjson == 3.10.15",
|
|
56
|
+
"pyslang == 8.0.0",
|
|
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.43.1; 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'",
|
|
@@ -130,10 +130,6 @@ docs = [
|
|
|
130
130
|
profile = [
|
|
131
131
|
"gprof2dot == 2024.6.6"
|
|
132
132
|
]
|
|
133
|
-
examples = [
|
|
134
|
-
"migen == 0.9.2",
|
|
135
|
-
"lambdalib == 0.3.3"
|
|
136
|
-
]
|
|
137
133
|
optimizer = [
|
|
138
134
|
"google-vizier[jax] == 0.1.21; python_version >= '3.10'"
|
|
139
135
|
]
|
|
@@ -26,7 +26,6 @@ from siliconcompiler import _metadata
|
|
|
26
26
|
from siliconcompiler import NodeStatus, SiliconCompilerError
|
|
27
27
|
from siliconcompiler.report import _show_summary_table
|
|
28
28
|
from siliconcompiler.report import _generate_summary_image, _open_summary_image
|
|
29
|
-
from siliconcompiler.report import _generate_html_report, _open_html_report
|
|
30
29
|
from siliconcompiler.report import Dashboard
|
|
31
30
|
from siliconcompiler import package as sc_package
|
|
32
31
|
import glob
|
|
@@ -211,6 +210,8 @@ class Chip:
|
|
|
211
210
|
|
|
212
211
|
self.logger.addHandler(file_handler)
|
|
213
212
|
|
|
213
|
+
return file_handler
|
|
214
|
+
|
|
214
215
|
###########################################################################
|
|
215
216
|
def _init_logger(self, step=None, index=None, in_run=False):
|
|
216
217
|
|
|
@@ -2889,7 +2890,7 @@ class Chip:
|
|
|
2889
2890
|
return self._dash
|
|
2890
2891
|
|
|
2891
2892
|
###########################################################################
|
|
2892
|
-
def summary(self, show_all_indices=False
|
|
2893
|
+
def summary(self, show_all_indices=False):
|
|
2893
2894
|
'''
|
|
2894
2895
|
Prints a summary of the compilation manifest.
|
|
2895
2896
|
|
|
@@ -2902,13 +2903,6 @@ class Chip:
|
|
|
2902
2903
|
show_all_indices (bool): If True, displays metrics for all indices
|
|
2903
2904
|
of each step. If False, displays metrics only for winning
|
|
2904
2905
|
indices.
|
|
2905
|
-
generate_image (bool): If True, generates a summary image featuring
|
|
2906
|
-
a layout screenshot and a subset of metrics. Requires that the
|
|
2907
|
-
current job has an ending node that generated a PNG file.
|
|
2908
|
-
generate_html (bool): If True, generates an HTML report featuring a
|
|
2909
|
-
metrics summary table and manifest tree view. The report will
|
|
2910
|
-
include a layout screenshot if the current job has an ending node
|
|
2911
|
-
that generated a PNG file.
|
|
2912
2906
|
|
|
2913
2907
|
Examples:
|
|
2914
2908
|
>>> chip.summary()
|
|
@@ -2921,36 +2915,36 @@ class Chip:
|
|
|
2921
2915
|
|
|
2922
2916
|
_show_summary_table(self, flow, nodes_to_execute, show_all_indices=show_all_indices)
|
|
2923
2917
|
|
|
2924
|
-
#
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2918
|
+
# dashboard does not generate any data
|
|
2919
|
+
self.logger.info('Dashboard at "sc-dashboard '
|
|
2920
|
+
f'-cfg {self.getworkdir()}/{self.design}.pkg.json"')
|
|
2921
|
+
|
|
2922
|
+
###########################################################################
|
|
2923
|
+
def snapshot(self, path=None, display=True):
|
|
2924
|
+
'''
|
|
2925
|
+
Creates a snapshot image of the job
|
|
2926
|
+
|
|
2927
|
+
Args:
|
|
2928
|
+
path (str): Path to generate the image at, if not provided will default to
|
|
2929
|
+
<job>/<design>.png
|
|
2930
|
+
display (bool): If True, will open the image for viewing. If :keypath:`option,nodisplay`
|
|
2931
|
+
is True, this argument will be ignored.
|
|
2932
|
+
|
|
2933
|
+
Examples:
|
|
2934
|
+
>>> chip.snapshot()
|
|
2935
|
+
Creates a snapshot image in the default location
|
|
2936
|
+
'''
|
|
2937
|
+
|
|
2938
|
+
if not path:
|
|
2939
|
+
path = os.path.join(self.getworkdir(), f'{self.design}.png')
|
|
2940
|
+
|
|
2941
|
+
if os.path.exists(path):
|
|
2942
|
+
os.remove(path)
|
|
2943
|
+
|
|
2944
|
+
_generate_summary_image(self, path)
|
|
2945
|
+
|
|
2946
|
+
if os.path.isfile(path) and not self.get('option', 'nodisplay') and display:
|
|
2947
|
+
_open_summary_image(path)
|
|
2954
2948
|
|
|
2955
2949
|
###########################################################################
|
|
2956
2950
|
def clock(self, pin, period, jitter=0, mode='global'):
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from siliconcompiler.tools.surelog import parse as surelog_parse
|
|
2
|
+
from siliconcompiler.tools.slang import elaborate as slang_preprocess
|
|
2
3
|
from siliconcompiler.tools.chisel import convert as chisel_convert
|
|
3
4
|
from siliconcompiler.tools.bambu import convert as bambu_convert
|
|
4
5
|
from siliconcompiler.tools.bluespec import convert as bluespec_convert
|
|
@@ -7,6 +8,8 @@ from siliconcompiler.tools.sv2v import convert as sv2v_convert
|
|
|
7
8
|
|
|
8
9
|
from siliconcompiler.tools.builtin import concatenate
|
|
9
10
|
|
|
11
|
+
from siliconcompiler.tools.slang import has_pyslang
|
|
12
|
+
|
|
10
13
|
|
|
11
14
|
def _make_docs(chip):
|
|
12
15
|
from siliconcompiler.targets import freepdk45_demo
|
|
@@ -20,9 +23,12 @@ def _make_docs(chip):
|
|
|
20
23
|
chip.use(freepdk45_demo)
|
|
21
24
|
|
|
22
25
|
|
|
23
|
-
def __get_frontends(allow_system_verilog):
|
|
26
|
+
def __get_frontends(allow_system_verilog, use_surelog=False):
|
|
27
|
+
parser = surelog_parse
|
|
28
|
+
if not use_surelog and has_pyslang():
|
|
29
|
+
parser = slang_preprocess
|
|
24
30
|
systemverilog_frontend = [
|
|
25
|
-
('import.verilog',
|
|
31
|
+
('import.verilog', parser)
|
|
26
32
|
]
|
|
27
33
|
if not allow_system_verilog:
|
|
28
34
|
systemverilog_frontend.append(('import.convert', sv2v_convert))
|
|
@@ -36,7 +42,7 @@ def __get_frontends(allow_system_verilog):
|
|
|
36
42
|
}
|
|
37
43
|
|
|
38
44
|
|
|
39
|
-
def setup_multiple_frontends(flow, allow_system_verilog=False):
|
|
45
|
+
def setup_multiple_frontends(flow, allow_system_verilog=False, use_surelog=False):
|
|
40
46
|
'''
|
|
41
47
|
Sets of multiple frontends if different frontends are required.
|
|
42
48
|
|
|
@@ -45,7 +51,7 @@ def setup_multiple_frontends(flow, allow_system_verilog=False):
|
|
|
45
51
|
|
|
46
52
|
concat_nodes = []
|
|
47
53
|
flowname = flow.design
|
|
48
|
-
for _, pipe in __get_frontends(allow_system_verilog).items():
|
|
54
|
+
for _, pipe in __get_frontends(allow_system_verilog, use_surelog=use_surelog).items():
|
|
49
55
|
prev_step = None
|
|
50
56
|
for step, task in pipe:
|
|
51
57
|
flow.node(flowname, step, task)
|
|
@@ -41,11 +41,11 @@ def get_download_cache_path(chip, package, ref):
|
|
|
41
41
|
os.path.join(cache_path, f'{package}-{ref}.lock')
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
def _file_path_resolver(chip, package, path, ref, url):
|
|
44
|
+
def _file_path_resolver(chip, package, path, ref, url, fetch):
|
|
45
45
|
return os.path.abspath(path.replace('file://', ''))
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
def _python_path_resolver(chip, package, path, ref, url):
|
|
48
|
+
def _python_path_resolver(chip, package, path, ref, url, fetch):
|
|
49
49
|
return path_from_python(chip, url.netloc)
|
|
50
50
|
|
|
51
51
|
|
|
@@ -66,7 +66,7 @@ def _get_path_resolver(path):
|
|
|
66
66
|
raise ValueError(f"{path} is not supported")
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
def _path(chip, package):
|
|
69
|
+
def _path(chip, package, fetch):
|
|
70
70
|
# Initially try retrieving data source from schema
|
|
71
71
|
data = {}
|
|
72
72
|
data['path'] = chip.get('package', 'source', package, 'path')
|
|
@@ -84,22 +84,23 @@ def _path(chip, package):
|
|
|
84
84
|
|
|
85
85
|
path_resolver, url = _get_path_resolver(data['path'])
|
|
86
86
|
|
|
87
|
-
return path_resolver(chip, package, data['path'], data['ref'], url)
|
|
87
|
+
return path_resolver(chip, package, data['path'], data['ref'], url, fetch)
|
|
88
88
|
|
|
89
89
|
|
|
90
|
-
def path(chip, package):
|
|
90
|
+
def path(chip, package, fetch=True):
|
|
91
91
|
"""
|
|
92
92
|
Compute data source data path
|
|
93
93
|
Additionally cache data source data if possible
|
|
94
94
|
Parameters:
|
|
95
95
|
package (str): Name of the data source
|
|
96
|
+
fetch (bool): Flag to indicate that the path should be fetched
|
|
96
97
|
Returns:
|
|
97
98
|
path: Location of data source on the local system
|
|
98
99
|
"""
|
|
99
100
|
|
|
100
101
|
if package not in chip._packages:
|
|
101
102
|
changed = False
|
|
102
|
-
data_path = _path(chip, package)
|
|
103
|
+
data_path = _path(chip, package, fetch)
|
|
103
104
|
|
|
104
105
|
if isinstance(data_path, tuple) and len(data_path) == 2:
|
|
105
106
|
data_path, changed = data_path
|
|
@@ -15,9 +15,12 @@ def get_resolver(url):
|
|
|
15
15
|
return None
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
def git_resolver(chip, package, path, ref, url):
|
|
18
|
+
def git_resolver(chip, package, path, ref, url, fetch):
|
|
19
19
|
data_path, data_path_lock = get_download_cache_path(chip, package, ref)
|
|
20
20
|
|
|
21
|
+
if not fetch:
|
|
22
|
+
return data_path, False
|
|
23
|
+
|
|
21
24
|
# Acquire lock
|
|
22
25
|
data_lock = InterProcessLock(data_path_lock)
|
|
23
26
|
aquire_data_lock(data_path, data_lock)
|
|
@@ -21,16 +21,20 @@ def get_resolver(url):
|
|
|
21
21
|
return None
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
def http_resolver(chip, package, path, ref, url):
|
|
24
|
+
def http_resolver(chip, package, path, ref, url, fetch):
|
|
25
25
|
data_path, data_path_lock = get_download_cache_path(chip, package, ref)
|
|
26
26
|
|
|
27
|
-
if
|
|
27
|
+
if not fetch:
|
|
28
28
|
return data_path, False
|
|
29
29
|
|
|
30
30
|
# Acquire lock
|
|
31
31
|
data_lock = InterProcessLock(data_path_lock)
|
|
32
32
|
aquire_data_lock(data_path, data_lock)
|
|
33
33
|
|
|
34
|
+
if os.path.exists(data_path):
|
|
35
|
+
release_data_lock(data_lock)
|
|
36
|
+
return data_path, False
|
|
37
|
+
|
|
34
38
|
extract_from_url(chip, package, path, ref, url, data_path)
|
|
35
39
|
|
|
36
40
|
release_data_lock(data_lock)
|
|
@@ -433,7 +433,7 @@ def node_file_tree_viewer(chip, step, index):
|
|
|
433
433
|
lookup = {}
|
|
434
434
|
tree_items = []
|
|
435
435
|
|
|
436
|
-
file_metrics = report.get_metrics_source(chip, step, index)
|
|
436
|
+
metrics_source, file_metrics = report.get_metrics_source(chip, step, index)
|
|
437
437
|
work_dir = chip.getworkdir(step=step, index=index)
|
|
438
438
|
|
|
439
439
|
def make_item(file):
|
|
@@ -446,12 +446,22 @@ def node_file_tree_viewer(chip, step, index):
|
|
|
446
446
|
|
|
447
447
|
check_file = os.path.relpath(file['value'], work_dir)
|
|
448
448
|
if check_file in file_metrics:
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
449
|
+
metrics = set(file_metrics[check_file])
|
|
450
|
+
primary_source = set()
|
|
451
|
+
if check_file in metrics_source:
|
|
452
|
+
primary_source = set(metrics_source[check_file])
|
|
453
|
+
metrics = metrics - primary_source
|
|
454
|
+
|
|
455
|
+
for color, metric_set in (('blue', primary_source), ('green', metrics)):
|
|
456
|
+
if len(item.tag) >= 5:
|
|
454
457
|
break
|
|
458
|
+
|
|
459
|
+
for metric in metric_set:
|
|
460
|
+
if len(item.tag) < 5:
|
|
461
|
+
item.tag.append(sac.Tag(metric, color=color))
|
|
462
|
+
else:
|
|
463
|
+
item.tag.append(sac.Tag('metrics...', color='geekblue'))
|
|
464
|
+
break
|
|
455
465
|
item.tooltip = "metrics: " + ", ".join(file_metrics[check_file])
|
|
456
466
|
|
|
457
467
|
if 'children' in file:
|
|
@@ -302,20 +302,20 @@ def get_metrics_source(chip, step, index):
|
|
|
302
302
|
index (string) : Index of node.
|
|
303
303
|
'''
|
|
304
304
|
file_to_metric = {}
|
|
305
|
+
metric_primary_source = {}
|
|
305
306
|
tool, task = get_tool_task(chip, step, index)
|
|
306
307
|
if not chip.valid('tool', tool, 'task', task, 'report'):
|
|
307
|
-
return file_to_metric
|
|
308
|
+
return metric_primary_source, file_to_metric
|
|
308
309
|
|
|
309
310
|
metrics = chip.getkeys('tool', tool, 'task', task, 'report')
|
|
310
311
|
|
|
311
312
|
for metric in metrics:
|
|
312
313
|
sources = chip.get('tool', tool, 'task', task, 'report', metric, step=step, index=index)
|
|
314
|
+
if sources:
|
|
315
|
+
metric_primary_source.setdefault(sources[0], []).append(metric)
|
|
313
316
|
for source in sources:
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
else:
|
|
317
|
-
file_to_metric[source] = [metric]
|
|
318
|
-
return file_to_metric
|
|
317
|
+
file_to_metric.setdefault(source, []).append(metric)
|
|
318
|
+
return metric_primary_source, file_to_metric
|
|
319
319
|
|
|
320
320
|
|
|
321
321
|
def get_files(chip, step, index):
|
|
@@ -45,6 +45,9 @@ def main():
|
|
|
45
45
|
metavar='<package>:<directory>',
|
|
46
46
|
nargs='+',
|
|
47
47
|
help='Map of caches to prepopulate runner with')
|
|
48
|
+
parser.add_argument('-fetch_cache',
|
|
49
|
+
action='store_true',
|
|
50
|
+
help='Allow for cache downloads')
|
|
48
51
|
parser.add_argument('-step',
|
|
49
52
|
required=True,
|
|
50
53
|
metavar='<step>',
|
|
@@ -105,7 +108,7 @@ def main():
|
|
|
105
108
|
|
|
106
109
|
# Populate cache
|
|
107
110
|
for package in chip.getkeys('package', 'source'):
|
|
108
|
-
sc_path(chip, package)
|
|
111
|
+
sc_path(chip, package, fetch=args.fetch_cache)
|
|
109
112
|
|
|
110
113
|
# Run the task.
|
|
111
114
|
error = True
|
|
@@ -84,12 +84,16 @@ def extract_metrics(chip):
|
|
|
84
84
|
metric_reports = {
|
|
85
85
|
"setuptns": [
|
|
86
86
|
"timing/total_negative_slack.rpt",
|
|
87
|
-
"timing/setup.rpt"
|
|
87
|
+
"timing/setup.rpt",
|
|
88
|
+
"timing/setup.histogram.rpt",
|
|
89
|
+
"images/timing/setup.histogram.png"
|
|
88
90
|
],
|
|
89
91
|
"setupslack": [
|
|
90
92
|
"timing/worst_slack.setup.rpt",
|
|
91
93
|
"timing/setup.rpt",
|
|
92
|
-
"timing/setup.topN.rpt"
|
|
94
|
+
"timing/setup.topN.rpt",
|
|
95
|
+
"timing/setup.histogram.rpt",
|
|
96
|
+
"images/timing/setup.histogram.png"
|
|
93
97
|
],
|
|
94
98
|
"setupskew": [
|
|
95
99
|
"timing/skew.setup.rpt",
|
|
@@ -99,12 +103,16 @@ def extract_metrics(chip):
|
|
|
99
103
|
],
|
|
100
104
|
"setuppaths": [
|
|
101
105
|
"timing/setup.rpt",
|
|
102
|
-
"timing/setup.topN.rpt"
|
|
106
|
+
"timing/setup.topN.rpt",
|
|
107
|
+
"timing/setup.histogram.rpt",
|
|
108
|
+
"images/timing/setup.histogram.png"
|
|
103
109
|
],
|
|
104
110
|
"holdslack": [
|
|
105
111
|
"timing/worst_slack.hold.rpt",
|
|
106
112
|
"timing/hold.rpt",
|
|
107
|
-
"timing/hold.topN.rpt"
|
|
113
|
+
"timing/hold.topN.rpt",
|
|
114
|
+
"timing/hold.histogram.rpt",
|
|
115
|
+
"images/timing/hold.histogram.png"
|
|
108
116
|
],
|
|
109
117
|
"holdskew": [
|
|
110
118
|
"timing/skew.hold.rpt",
|
|
@@ -114,7 +122,9 @@ def extract_metrics(chip):
|
|
|
114
122
|
],
|
|
115
123
|
"holdpaths": [
|
|
116
124
|
"timing/hold.rpt",
|
|
117
|
-
"timing/hold.topN.rpt"
|
|
125
|
+
"timing/hold.topN.rpt",
|
|
126
|
+
"timing/hold.histogram.rpt",
|
|
127
|
+
"images/timing/hold.histogram.png"
|
|
118
128
|
],
|
|
119
129
|
"unconstrained": [
|
|
120
130
|
"timing/unconstrained.rpt",
|
|
@@ -27,6 +27,11 @@ if { [sc_cfg_tool_task_check_in_list setup var reports] } {
|
|
|
27
27
|
tee -file reports/timing/total_negative_slack.rpt \
|
|
28
28
|
"report_tns"
|
|
29
29
|
report_tns_metric -setup
|
|
30
|
+
|
|
31
|
+
if { [sc_check_version 19519] } {
|
|
32
|
+
tee -quiet -file reports/timing/setup.histogram.rpt \
|
|
33
|
+
"report_timing_histogram -num_bins 20 -setup"
|
|
34
|
+
}
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
if { [sc_cfg_tool_task_check_in_list hold var reports] } {
|
|
@@ -42,6 +47,11 @@ if { [sc_cfg_tool_task_check_in_list hold var reports] } {
|
|
|
42
47
|
report_worst_slack_metric -hold
|
|
43
48
|
|
|
44
49
|
report_tns_metric -hold
|
|
50
|
+
|
|
51
|
+
if { [sc_check_version 19519] } {
|
|
52
|
+
tee -quiet -file reports/timing/hold.histogram.rpt \
|
|
53
|
+
"report_timing_histogram -num_bins 20 -hold"
|
|
54
|
+
}
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
if { [sc_cfg_tool_task_check_in_list unconstrained var reports] } {
|
|
@@ -304,6 +304,30 @@ proc sc_image_clocktree { } {
|
|
|
304
304
|
gui::hide_widget "Clock Tree Viewer"
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
+
proc sc_image_timing_histograms { } {
|
|
308
|
+
if { ![sc_check_version 19526] } {
|
|
309
|
+
return
|
|
310
|
+
}
|
|
311
|
+
file mkdir reports/images/timing
|
|
312
|
+
|
|
313
|
+
if { [sc_cfg_tool_task_check_in_list setup var reports] } {
|
|
314
|
+
set path reports/images/timing/setup.histogram.png
|
|
315
|
+
utl::info FLW 1 "Saving setup timing histogram to $path"
|
|
316
|
+
save_histogram_image $path \
|
|
317
|
+
-mode setup \
|
|
318
|
+
-width 500 \
|
|
319
|
+
-height 500
|
|
320
|
+
}
|
|
321
|
+
if { [sc_cfg_tool_task_check_in_list hold var reports] } {
|
|
322
|
+
set path reports/images/timing/hold.histogram.png
|
|
323
|
+
utl::info FLW 1 "Saving hold timing histogram to $path"
|
|
324
|
+
save_histogram_image $path \
|
|
325
|
+
-mode hold \
|
|
326
|
+
-width 500 \
|
|
327
|
+
-height 500
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
307
331
|
proc sc_image_optimizer { } {
|
|
308
332
|
global sc_design
|
|
309
333
|
sc_image_setup_default
|
|
@@ -390,6 +414,9 @@ if { [sc_cfg_tool_task_check_in_list module_view var reports] } {
|
|
|
390
414
|
# Markers
|
|
391
415
|
sc_image_markers
|
|
392
416
|
|
|
417
|
+
# Histograms
|
|
418
|
+
sc_image_timing_histograms
|
|
419
|
+
|
|
393
420
|
# Heatmaps
|
|
394
421
|
if { [sc_cfg_tool_task_check_in_list placement_density var reports] } {
|
|
395
422
|
sc_image_placement_density
|