siliconcompiler 0.30.0__tar.gz → 0.31.1__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.30.0 → siliconcompiler-0.31.1}/Changes +36 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/PKG-INFO +21 -23
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/README.md +14 -16
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/pyproject.toml +10 -6
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_install.py +26 -4
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_remote.py +1 -3
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/core.py +24 -9
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flowgraph.py +11 -23
- siliconcompiler-0.30.0/siliconcompiler/package.py → siliconcompiler-0.31.1/siliconcompiler/package/__init__.py +62 -176
- siliconcompiler-0.31.1/siliconcompiler/package/git.py +81 -0
- siliconcompiler-0.31.1/siliconcompiler/package/https.py +93 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/schema.py +9 -8
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/report.py +4 -3
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/__init__.py +127 -113
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/docker_runner.py +4 -4
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/run_node.py +3 -3
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/send_messages.py +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/schema/schema_cfg.py +367 -357
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/schema/schema_obj.py +39 -29
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/schema/utils.py +19 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/sphinx_ext/schemagen.py +3 -1
- siliconcompiler-0.31.1/siliconcompiler/templates/replay/replay.sh.j2 +92 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/tcl/manifest.tcl.j2 +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/__init__.py +8 -2
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/asic.py +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +3 -5
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/genfasm/genfasm.py +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/export.py +5 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout.py +18 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout_export.py +4 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout_operations.py +5 -2
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout_utils.py +23 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/operations.py +5 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/magic.py +1 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/_apr.py +14 -3
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/antenna_repair.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/detailed_placement.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/detailed_route.py +8 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/fillercell_insertion.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/global_placement.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/pin_placement.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/rdlroute.py +4 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/repair_design.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/repair_timing.py +2 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +6 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +8 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +1 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +2 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +3 -3
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +5 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +1 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +3 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +29 -12
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +15 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +28 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +3 -13
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/vpr.py +86 -6
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/__init__.py +7 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/sc_syn.tcl +33 -24
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/syn_asic.py +27 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/syn_asic.tcl +27 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/_tools.json +15 -3
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/rhel8/install-yosys-moosic.sh +17 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/rhel8/install-yosys-slang.sh +22 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +17 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +22 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +17 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +22 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +17 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +22 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +17 -0
- siliconcompiler-0.31.1/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +22 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/utils/__init__.py +33 -5
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/PKG-INFO +21 -23
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/SOURCES.txt +14 -1
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/entry_points.txt +4 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/requires.txt +6 -6
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/.dockerignore +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/.flake8 +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/.gitattributes +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/.gitignore +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/LICENSE +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/MANIFEST.in +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/SECURITY.md +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/scripts/.gitignore +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/scripts/check_library.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/scripts/report_library.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/setup.cfg +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/_common.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/fpgas/vpr_example.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/issue.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/client.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/components/graph.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/state.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/dashboard/viewer.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/sphinx_ext/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/email/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/report/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/asic_clock.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/concatenate.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/power_grid.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/slang/elaborate.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/template/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/lec.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/screenshot.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/units.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/utils/logging.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.30.0 → siliconcompiler-0.31.1}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,42 @@ 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.31.1 (2025-03-06)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Minor:**
|
|
15
|
+
|
|
16
|
+
* Fixed tcl manifest to correctly reflect the data types from the schema.
|
|
17
|
+
* Added end of install status message to `sc-install`.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
* Tools:
|
|
21
|
+
|
|
22
|
+
* vpr: updated to v9.0 and added timing metrics extraction.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
SiliconCompiler 0.31.0 (2025-03-03)
|
|
26
|
+
=========================================
|
|
27
|
+
|
|
28
|
+
**Major:**
|
|
29
|
+
|
|
30
|
+
* Updated schema to support further advanced packaging.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
**Minor:**
|
|
34
|
+
|
|
35
|
+
* Improved the generation of relay files to provide better insight when debugging.
|
|
36
|
+
* Disabled the generation of the html report by default.
|
|
37
|
+
* Fixed the handling of environmental variables to ensure they are all set at the start of the node execution.
|
|
38
|
+
* Made schema fields pernode and scope enums for easier handling.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
* Tools:
|
|
42
|
+
|
|
43
|
+
* openroad: added global routing metrics recording.
|
|
44
|
+
* yosys: added support for loading slang and moosic plugins.
|
|
45
|
+
|
|
46
|
+
|
|
11
47
|
SiliconCompiler 0.30.0 (2025-02-18)
|
|
12
48
|
=========================================
|
|
13
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.31.1
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
|
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: LICENSE
|
|
28
28
|
Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
|
|
29
|
-
Requires-Dist: aiohttp==3.11.
|
|
29
|
+
Requires-Dist: aiohttp==3.11.13; python_version >= "3.9"
|
|
30
30
|
Requires-Dist: requests==2.32.3
|
|
31
31
|
Requires-Dist: PyYAML==6.0.2
|
|
32
32
|
Requires-Dist: pandas>=1.1.5
|
|
@@ -39,7 +39,7 @@ Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
|
|
|
39
39
|
Requires-Dist: Pillow==11.1.0; python_version >= "3.9"
|
|
40
40
|
Requires-Dist: GitPython==3.1.44
|
|
41
41
|
Requires-Dist: lambdapdk>=0.1.47
|
|
42
|
-
Requires-Dist: PyGithub==2.6.
|
|
42
|
+
Requires-Dist: PyGithub==2.6.1
|
|
43
43
|
Requires-Dist: urllib3>=1.26.0
|
|
44
44
|
Requires-Dist: fasteners==0.19
|
|
45
45
|
Requires-Dist: fastjsonschema==2.21.1
|
|
@@ -48,13 +48,13 @@ Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
|
48
48
|
Requires-Dist: sc-surelog==1.84.1
|
|
49
49
|
Requires-Dist: orjson==3.10.15
|
|
50
50
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
-
Requires-Dist: streamlit==1.42.
|
|
51
|
+
Requires-Dist: streamlit==1.42.2; 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"
|
|
55
55
|
Requires-Dist: streamlit-autorefresh==1.0.1; python_full_version != "3.9.7"
|
|
56
56
|
Provides-Extra: test
|
|
57
|
-
Requires-Dist: pytest==8.3.
|
|
57
|
+
Requires-Dist: pytest==8.3.5; extra == "test"
|
|
58
58
|
Requires-Dist: pytest-xdist==3.6.1; extra == "test"
|
|
59
59
|
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
60
60
|
Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
|
|
@@ -65,10 +65,10 @@ Requires-Dist: responses==0.25.6; extra == "test"
|
|
|
65
65
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
66
66
|
Provides-Extra: lint
|
|
67
67
|
Requires-Dist: flake8==7.1.2; extra == "lint"
|
|
68
|
-
Requires-Dist: tclint==0.5.
|
|
68
|
+
Requires-Dist: tclint==0.5.3; extra == "lint"
|
|
69
69
|
Requires-Dist: codespell==2.4.1; extra == "lint"
|
|
70
70
|
Provides-Extra: docs
|
|
71
|
-
Requires-Dist: Sphinx==8.
|
|
71
|
+
Requires-Dist: Sphinx==8.2.3; extra == "docs"
|
|
72
72
|
Requires-Dist: pip-licenses==5.0.0; extra == "docs"
|
|
73
73
|
Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
|
|
74
74
|
Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
|
|
@@ -99,19 +99,19 @@ SiliconCompiler is a modular hardware build system ("make for silicon"). The pro
|
|
|
99
99
|
|
|
100
100
|
| Type | Supported|
|
|
101
101
|
|------|----------|
|
|
102
|
-
|**Design Languages**| C, Verilog, SV, VHDL, Chisel, Migen/Amaranth, Bluespec
|
|
102
|
+
|**Design Languages**| C, Verilog, SV, VHDL, Chisel, Migen/Amaranth, Bluespec, [MLIR](https://en.wikipedia.org/wiki/MLIR_(software))
|
|
103
103
|
|**Simulation Tools**| Verilator, Icarus, GHDL, Xyce
|
|
104
104
|
|**Synthesis**| Yosys, Vivado, Synopsys, Cadence
|
|
105
|
-
|**ASIC APR**|
|
|
105
|
+
|**ASIC APR**| OpenROAD, Synopsys, Cadence
|
|
106
106
|
|**FPGA APR**| VPR, nextpnr, Vivado
|
|
107
|
-
|**Layout Viewer**| Klayout,
|
|
108
|
-
|**DRC/LVS**| Magic, Synopsys, Siemens
|
|
109
|
-
|**PDKs**| sky130, gf180, asap7, freepdk45, gf12lp, gf22fdx, intel16
|
|
107
|
+
|**Layout Viewer**| Klayout, OpenROAD, Cadence, Synopsys
|
|
108
|
+
|**DRC/LVS**| Klayout, Magic, Synopsys, Siemens
|
|
109
|
+
|**PDKs**| sky130, ihp130, gf180, asap7, freepdk45, gf12lp, gf22fdx, intel16
|
|
110
110
|
|
|
111
111
|
# Getting Started
|
|
112
112
|
|
|
113
113
|
SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and
|
|
114
|
-
Linux platforms. For working Python 3.8-3.
|
|
114
|
+
Linux platforms. For working Python 3.8-3.13 environment, just use pip.
|
|
115
115
|
|
|
116
116
|
```sh
|
|
117
117
|
python3 -m pip install --upgrade siliconcompiler
|
|
@@ -166,17 +166,15 @@ A. Olofsson, W. Ransohoff, N. Moroze, "[Invited: A Distributed Approach to Silic
|
|
|
166
166
|
Bibtex:
|
|
167
167
|
```
|
|
168
168
|
@inproceedings{10.1145/3489517.3530673,
|
|
169
|
-
author = {Olofsson, Andreas and Ransohoff, William and Moroze, Noah},
|
|
170
|
-
title = {A Distributed Approach to Silicon Compilation: Invited},
|
|
171
|
-
year = {2022},
|
|
172
|
-
booktitle = {Proceedings of the 59th ACM/IEEE Design Automation Conference},
|
|
173
|
-
pages = {1343–1346},
|
|
174
|
-
location = {San Francisco, California}
|
|
169
|
+
author = {Olofsson, Andreas and Ransohoff, William and Moroze, Noah},
|
|
170
|
+
title = {A Distributed Approach to Silicon Compilation: Invited},
|
|
171
|
+
year = {2022},
|
|
172
|
+
booktitle = {Proceedings of the 59th ACM/IEEE Design Automation Conference},
|
|
173
|
+
pages = {1343–1346},
|
|
174
|
+
location = {San Francisco, California}
|
|
175
175
|
}
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
|
|
180
178
|
# Installation
|
|
181
179
|
|
|
182
180
|
Complete installation instructions are available in the [Installation Guide](https://docs.siliconcompiler.com/en/stable/user_guide/installation.html).
|
|
@@ -194,14 +192,14 @@ python3 -m pip install -e .[docs,test] # Optional install step for generating d
|
|
|
194
192
|
|
|
195
193
|
Installation instructions for all external tools can be found in the
|
|
196
194
|
[External Tools](https://docs.siliconcompiler.com/en/stable/user_guide/installation.html#external-tools) section
|
|
197
|
-
of the user guide. We have included shell setup scripts (Ubuntu) for most of the supported tools.
|
|
195
|
+
of the user guide. We have included shell setup scripts (Ubuntu) for most of the supported tools, which can be accessed via [sc-install](https://docs.siliconcompiler.com/en/latest/reference_manual/apps.html#apps-sc-install-ref).
|
|
198
196
|
See the [./siliconcompiler/toolscripts](./siliconcompiler/toolscripts) directory for a complete set of scripts and [./siliconcompiler/toolscripts/_tools.json](./siliconcompiler/toolscripts/_tools.json) for the currently recommended tool versions.
|
|
199
197
|
|
|
200
198
|
# Contributing
|
|
201
199
|
|
|
202
200
|
SiliconCompiler is an open-source project and welcomes contributions. To find out
|
|
203
201
|
how to contribute to the project, see our
|
|
204
|
-
[Contributing Guidelines
|
|
202
|
+
[Contributing Guidelines](./CONTRIBUTING.md).
|
|
205
203
|
|
|
206
204
|
# Issues / Bugs
|
|
207
205
|
|
|
@@ -17,19 +17,19 @@ SiliconCompiler is a modular hardware build system ("make for silicon"). The pro
|
|
|
17
17
|
|
|
18
18
|
| Type | Supported|
|
|
19
19
|
|------|----------|
|
|
20
|
-
|**Design Languages**| C, Verilog, SV, VHDL, Chisel, Migen/Amaranth, Bluespec
|
|
20
|
+
|**Design Languages**| C, Verilog, SV, VHDL, Chisel, Migen/Amaranth, Bluespec, [MLIR](https://en.wikipedia.org/wiki/MLIR_(software))
|
|
21
21
|
|**Simulation Tools**| Verilator, Icarus, GHDL, Xyce
|
|
22
22
|
|**Synthesis**| Yosys, Vivado, Synopsys, Cadence
|
|
23
|
-
|**ASIC APR**|
|
|
23
|
+
|**ASIC APR**| OpenROAD, Synopsys, Cadence
|
|
24
24
|
|**FPGA APR**| VPR, nextpnr, Vivado
|
|
25
|
-
|**Layout Viewer**| Klayout,
|
|
26
|
-
|**DRC/LVS**| Magic, Synopsys, Siemens
|
|
27
|
-
|**PDKs**| sky130, gf180, asap7, freepdk45, gf12lp, gf22fdx, intel16
|
|
25
|
+
|**Layout Viewer**| Klayout, OpenROAD, Cadence, Synopsys
|
|
26
|
+
|**DRC/LVS**| Klayout, Magic, Synopsys, Siemens
|
|
27
|
+
|**PDKs**| sky130, ihp130, gf180, asap7, freepdk45, gf12lp, gf22fdx, intel16
|
|
28
28
|
|
|
29
29
|
# Getting Started
|
|
30
30
|
|
|
31
31
|
SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and
|
|
32
|
-
Linux platforms. For working Python 3.8-3.
|
|
32
|
+
Linux platforms. For working Python 3.8-3.13 environment, just use pip.
|
|
33
33
|
|
|
34
34
|
```sh
|
|
35
35
|
python3 -m pip install --upgrade siliconcompiler
|
|
@@ -84,17 +84,15 @@ A. Olofsson, W. Ransohoff, N. Moroze, "[Invited: A Distributed Approach to Silic
|
|
|
84
84
|
Bibtex:
|
|
85
85
|
```
|
|
86
86
|
@inproceedings{10.1145/3489517.3530673,
|
|
87
|
-
author = {Olofsson, Andreas and Ransohoff, William and Moroze, Noah},
|
|
88
|
-
title = {A Distributed Approach to Silicon Compilation: Invited},
|
|
89
|
-
year = {2022},
|
|
90
|
-
booktitle = {Proceedings of the 59th ACM/IEEE Design Automation Conference},
|
|
91
|
-
pages = {1343–1346},
|
|
92
|
-
location = {San Francisco, California}
|
|
87
|
+
author = {Olofsson, Andreas and Ransohoff, William and Moroze, Noah},
|
|
88
|
+
title = {A Distributed Approach to Silicon Compilation: Invited},
|
|
89
|
+
year = {2022},
|
|
90
|
+
booktitle = {Proceedings of the 59th ACM/IEEE Design Automation Conference},
|
|
91
|
+
pages = {1343–1346},
|
|
92
|
+
location = {San Francisco, California}
|
|
93
93
|
}
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
|
|
98
96
|
# Installation
|
|
99
97
|
|
|
100
98
|
Complete installation instructions are available in the [Installation Guide](https://docs.siliconcompiler.com/en/stable/user_guide/installation.html).
|
|
@@ -112,14 +110,14 @@ python3 -m pip install -e .[docs,test] # Optional install step for generating d
|
|
|
112
110
|
|
|
113
111
|
Installation instructions for all external tools can be found in the
|
|
114
112
|
[External Tools](https://docs.siliconcompiler.com/en/stable/user_guide/installation.html#external-tools) section
|
|
115
|
-
of the user guide. We have included shell setup scripts (Ubuntu) for most of the supported tools.
|
|
113
|
+
of the user guide. We have included shell setup scripts (Ubuntu) for most of the supported tools, which can be accessed via [sc-install](https://docs.siliconcompiler.com/en/latest/reference_manual/apps.html#apps-sc-install-ref).
|
|
116
114
|
See the [./siliconcompiler/toolscripts](./siliconcompiler/toolscripts) directory for a complete set of scripts and [./siliconcompiler/toolscripts/_tools.json](./siliconcompiler/toolscripts/_tools.json) for the currently recommended tool versions.
|
|
117
115
|
|
|
118
116
|
# Contributing
|
|
119
117
|
|
|
120
118
|
SiliconCompiler is an open-source project and welcomes contributions. To find out
|
|
121
119
|
how to contribute to the project, see our
|
|
122
|
-
[Contributing Guidelines
|
|
120
|
+
[Contributing Guidelines](./CONTRIBUTING.md).
|
|
123
121
|
|
|
124
122
|
# Issues / Bugs
|
|
125
123
|
|
|
@@ -33,7 +33,7 @@ classifiers = [
|
|
|
33
33
|
requires-python = ">= 3.8"
|
|
34
34
|
dependencies = [
|
|
35
35
|
"aiohttp == 3.10.11; python_version <= '3.8'",
|
|
36
|
-
"aiohttp == 3.11.
|
|
36
|
+
"aiohttp == 3.11.13; python_version >= '3.9'",
|
|
37
37
|
"requests == 2.32.3",
|
|
38
38
|
"PyYAML == 6.0.2",
|
|
39
39
|
"pandas >= 1.1.5",
|
|
@@ -46,7 +46,7 @@ dependencies = [
|
|
|
46
46
|
"Pillow == 11.1.0; python_version >= '3.9'",
|
|
47
47
|
"GitPython == 3.1.44",
|
|
48
48
|
"lambdapdk >= 0.1.47",
|
|
49
|
-
"PyGithub == 2.6.
|
|
49
|
+
"PyGithub == 2.6.1",
|
|
50
50
|
"urllib3 >= 1.26.0", # Required for PyGithub
|
|
51
51
|
"fasteners == 0.19",
|
|
52
52
|
"fastjsonschema == 2.21.1",
|
|
@@ -57,7 +57,7 @@ dependencies = [
|
|
|
57
57
|
|
|
58
58
|
# dashboard, streamlit does not support 3.9.7
|
|
59
59
|
"streamlit == 1.40.1; python_version <= '3.8'",
|
|
60
|
-
"streamlit == 1.42.
|
|
60
|
+
"streamlit == 1.42.2; 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'",
|
|
@@ -90,6 +90,10 @@ scsetup = "siliconcompiler.utils.showtools:setup"
|
|
|
90
90
|
[project.entry-points."siliconcompiler.target"]
|
|
91
91
|
targets = "siliconcompiler.targets:get_targets"
|
|
92
92
|
|
|
93
|
+
[project.entry-points."siliconcompiler.path_resolver"]
|
|
94
|
+
https = "siliconcompiler.package.https:get_resolver"
|
|
95
|
+
git = "siliconcompiler.package.git:get_resolver"
|
|
96
|
+
|
|
93
97
|
[project.entry-points."siliconcompiler.docs"]
|
|
94
98
|
linkcode = "siliconcompiler.sphinx_ext:get_codeurl"
|
|
95
99
|
targets = "siliconcompiler.sphinx_ext:targets"
|
|
@@ -102,7 +106,7 @@ checklists = "siliconcompiler.sphinx_ext:checklists"
|
|
|
102
106
|
|
|
103
107
|
[project.optional-dependencies]
|
|
104
108
|
test = [
|
|
105
|
-
"pytest == 8.3.
|
|
109
|
+
"pytest == 8.3.5",
|
|
106
110
|
"pytest-xdist == 3.6.1",
|
|
107
111
|
"pytest-timeout == 2.3.1",
|
|
108
112
|
"pytest-asyncio == 0.24.0; python_version <= '3.8'",
|
|
@@ -114,11 +118,11 @@ test = [
|
|
|
114
118
|
]
|
|
115
119
|
lint = [
|
|
116
120
|
"flake8 == 7.1.2",
|
|
117
|
-
"tclint == 0.5.
|
|
121
|
+
"tclint == 0.5.3",
|
|
118
122
|
"codespell == 2.4.1"
|
|
119
123
|
]
|
|
120
124
|
docs = [
|
|
121
|
-
"Sphinx == 8.
|
|
125
|
+
"Sphinx == 8.2.3",
|
|
122
126
|
"pip-licenses == 5.0.0",
|
|
123
127
|
"pydata-sphinx-theme == 0.16.1",
|
|
124
128
|
"sc-leflib >= 0.2.0"
|
|
@@ -17,7 +17,7 @@ class ChoiceOptional(Container):
|
|
|
17
17
|
def __init__(self, choices):
|
|
18
18
|
super().__init__()
|
|
19
19
|
|
|
20
|
-
self.__choices = set(choices)
|
|
20
|
+
self.__choices = sorted(set(choices))
|
|
21
21
|
|
|
22
22
|
def __contains__(self, item):
|
|
23
23
|
if not item:
|
|
@@ -30,7 +30,7 @@ class ChoiceOptional(Container):
|
|
|
30
30
|
|
|
31
31
|
def get_items(self, choices):
|
|
32
32
|
items = set(choices)
|
|
33
|
-
return sorted(
|
|
33
|
+
return sorted(items)
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
def install_tool(tool, script, build_dir, prefix):
|
|
@@ -101,6 +101,19 @@ def print_machine_info():
|
|
|
101
101
|
print("Scripts: ", _get_tool_script_dir())
|
|
102
102
|
|
|
103
103
|
|
|
104
|
+
def __print_summary(successful, failed):
|
|
105
|
+
max_len = 64
|
|
106
|
+
print("#"*max_len)
|
|
107
|
+
if successful:
|
|
108
|
+
msg = f"Installed: {', '.join(sorted(successful))}"
|
|
109
|
+
print(f"# {msg}")
|
|
110
|
+
|
|
111
|
+
if failed:
|
|
112
|
+
msg = f"Failed to install: {failed}"
|
|
113
|
+
print(f"# {msg}")
|
|
114
|
+
print("#"*max_len)
|
|
115
|
+
|
|
116
|
+
|
|
104
117
|
def _get_tool_script_dir():
|
|
105
118
|
return Path(siliconcompiler.__file__).parent / "toolscripts"
|
|
106
119
|
|
|
@@ -143,6 +156,10 @@ def _recommended_tool_groups(tools):
|
|
|
143
156
|
return filter_groups
|
|
144
157
|
|
|
145
158
|
|
|
159
|
+
class HelpFormatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescriptionHelpFormatter):
|
|
160
|
+
pass
|
|
161
|
+
|
|
162
|
+
|
|
146
163
|
def main():
|
|
147
164
|
progname = "sc-install"
|
|
148
165
|
description = """
|
|
@@ -174,7 +191,7 @@ To system debugging information (this should only be used to debug):
|
|
|
174
191
|
parser = argparse.ArgumentParser(
|
|
175
192
|
prog=progname,
|
|
176
193
|
description=description,
|
|
177
|
-
formatter_class=
|
|
194
|
+
formatter_class=HelpFormatter)
|
|
178
195
|
|
|
179
196
|
tools = _get_tools_list()
|
|
180
197
|
|
|
@@ -238,6 +255,7 @@ To system debugging information (this should only be used to debug):
|
|
|
238
255
|
args.tool.extend(tool_groups[group])
|
|
239
256
|
|
|
240
257
|
tools_handled = set()
|
|
258
|
+
tools_completed = set()
|
|
241
259
|
for tool in args.tool:
|
|
242
260
|
if tool in tools_handled:
|
|
243
261
|
continue
|
|
@@ -246,9 +264,14 @@ To system debugging information (this should only be used to debug):
|
|
|
246
264
|
show_tool(tool, tools[tool])
|
|
247
265
|
else:
|
|
248
266
|
if not install_tool(tool, tools[tool], args.build_dir, args.prefix):
|
|
267
|
+
__print_summary(tools_completed, tool)
|
|
249
268
|
return 1
|
|
269
|
+
else:
|
|
270
|
+
tools_completed.add(tool)
|
|
250
271
|
|
|
251
272
|
if not args.show:
|
|
273
|
+
__print_summary(tools_completed, None)
|
|
274
|
+
|
|
252
275
|
msgs = []
|
|
253
276
|
for env, path in (
|
|
254
277
|
("PATH", "bin"),
|
|
@@ -258,7 +281,6 @@ To system debugging information (this should only be used to debug):
|
|
|
258
281
|
os.path.expandvars(os.path.expanduser(p))
|
|
259
282
|
for p in os.getenv(env, "").split(":")
|
|
260
283
|
]
|
|
261
|
-
print(envs)
|
|
262
284
|
if check_path not in envs:
|
|
263
285
|
msgs.extend([
|
|
264
286
|
"",
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# Copyright 2023 Silicon Compiler Authors. All Rights Reserved.
|
|
2
|
-
import copy
|
|
3
2
|
import os
|
|
4
3
|
import sys
|
|
5
4
|
|
|
@@ -157,7 +156,6 @@ To delete a job, use:
|
|
|
157
156
|
# in its "check_progress/ until job is done" loop.
|
|
158
157
|
elif args['reconnect']:
|
|
159
158
|
# Start from successors of entry nodes, so entry nodes are not fetched from remote.
|
|
160
|
-
environment = copy.deepcopy(os.environ)
|
|
161
159
|
flow = chip.get('option', 'flow')
|
|
162
160
|
entry_nodes = _get_flowgraph_entry_nodes(chip, flow)
|
|
163
161
|
for entry_node in entry_nodes:
|
|
@@ -177,7 +175,7 @@ To delete a job, use:
|
|
|
177
175
|
f'{chip.design}.pkg.json')
|
|
178
176
|
if os.path.exists(manifest):
|
|
179
177
|
chip.schema.read_journal(manifest)
|
|
180
|
-
_finalize_run(chip
|
|
178
|
+
_finalize_run(chip)
|
|
181
179
|
|
|
182
180
|
# Summarize the run.
|
|
183
181
|
chip.summary()
|
|
@@ -392,7 +392,7 @@ class Chip:
|
|
|
392
392
|
for vals, step, index in self.schema._getvals(*key):
|
|
393
393
|
if not vals:
|
|
394
394
|
continue
|
|
395
|
-
if self.get(*key, field='pernode')
|
|
395
|
+
if not self.get(*key, field='pernode').is_never():
|
|
396
396
|
if step is None:
|
|
397
397
|
step = Schema.GLOBAL_KEY
|
|
398
398
|
if index is None:
|
|
@@ -852,7 +852,7 @@ class Chip:
|
|
|
852
852
|
strict = self.schema.get('option', 'strict')
|
|
853
853
|
if field == 'value' and strict:
|
|
854
854
|
pernode = self.schema.get(*keypath, field='pernode')
|
|
855
|
-
if pernode ==
|
|
855
|
+
if pernode == schema_utils.PerNode.OPTIONAL and \
|
|
856
856
|
(step is None or index is None) and \
|
|
857
857
|
(Schema.GLOBAL_KEY not in (step, index)): # allow explicit access to global
|
|
858
858
|
self.error(
|
|
@@ -1111,7 +1111,7 @@ class Chip:
|
|
|
1111
1111
|
package_dir = os.path.dirname(os.path.abspath(filename))
|
|
1112
1112
|
|
|
1113
1113
|
def __make_path(rel, path):
|
|
1114
|
-
path = utils._resolve_env_vars(self, path)
|
|
1114
|
+
path = utils._resolve_env_vars(self, path, None, None)
|
|
1115
1115
|
if os.path.isabs(path):
|
|
1116
1116
|
if path.startswith(rel):
|
|
1117
1117
|
return os.path.relpath(path, rel), package_name
|
|
@@ -1282,7 +1282,7 @@ class Chip:
|
|
|
1282
1282
|
"""
|
|
1283
1283
|
strict = self.get('option', 'strict')
|
|
1284
1284
|
pernode = self.get(*keypath, field='pernode')
|
|
1285
|
-
if strict and pernode ==
|
|
1285
|
+
if strict and pernode == schema_utils.PerNode.OPTIONAL and (step is None or index is None):
|
|
1286
1286
|
self.error(
|
|
1287
1287
|
f"Invalid args to find_files() of keypath {keypath}: step and "
|
|
1288
1288
|
"index are required for reading from this parameter while "
|
|
@@ -1394,7 +1394,9 @@ class Chip:
|
|
|
1394
1394
|
result.append(utils.find_sc_file(self,
|
|
1395
1395
|
path,
|
|
1396
1396
|
missing_ok=missing_ok,
|
|
1397
|
-
search_paths=search_paths
|
|
1397
|
+
search_paths=search_paths,
|
|
1398
|
+
step=step,
|
|
1399
|
+
index=index))
|
|
1398
1400
|
|
|
1399
1401
|
if self._relative_path and not abs_path_only:
|
|
1400
1402
|
rel_result = []
|
|
@@ -2828,10 +2830,10 @@ class Chip:
|
|
|
2828
2830
|
set_step = None
|
|
2829
2831
|
set_index = None
|
|
2830
2832
|
pernode = self.get(*keypath, field='pernode')
|
|
2831
|
-
if pernode ==
|
|
2833
|
+
if pernode == schema_utils.PerNode.REQUIRED:
|
|
2832
2834
|
set_step = step
|
|
2833
2835
|
set_index = index
|
|
2834
|
-
elif pernode ==
|
|
2836
|
+
elif pernode == schema_utils.PerNode.OPTIONAL:
|
|
2835
2837
|
for vals, key_step, key_index in self.schema._getvals(*keypath):
|
|
2836
2838
|
if key_step == step and key_index == index and vals:
|
|
2837
2839
|
set_step = step
|
|
@@ -2887,7 +2889,7 @@ class Chip:
|
|
|
2887
2889
|
return self._dash
|
|
2888
2890
|
|
|
2889
2891
|
###########################################################################
|
|
2890
|
-
def summary(self, show_all_indices=False, generate_image=True, generate_html=
|
|
2892
|
+
def summary(self, show_all_indices=False, generate_image=True, generate_html=False):
|
|
2891
2893
|
'''
|
|
2892
2894
|
Prints a summary of the compilation manifest.
|
|
2893
2895
|
|
|
@@ -2927,6 +2929,10 @@ class Chip:
|
|
|
2927
2929
|
results_img = os.path.join(work_dir, f'{self.design}.png')
|
|
2928
2930
|
results_html = os.path.join(work_dir, 'report.html')
|
|
2929
2931
|
|
|
2932
|
+
for path in (results_img, results_html):
|
|
2933
|
+
if os.path.exists(path):
|
|
2934
|
+
os.remove(path)
|
|
2935
|
+
|
|
2930
2936
|
if generate_image:
|
|
2931
2937
|
_generate_summary_image(self, results_img)
|
|
2932
2938
|
|
|
@@ -2944,7 +2950,7 @@ class Chip:
|
|
|
2944
2950
|
elif os.path.isfile(results_html):
|
|
2945
2951
|
_open_html_report(self, results_html)
|
|
2946
2952
|
else:
|
|
2947
|
-
self.
|
|
2953
|
+
self.dashboard(wait=False)
|
|
2948
2954
|
|
|
2949
2955
|
###########################################################################
|
|
2950
2956
|
def clock(self, pin, period, jitter=0, mode='global'):
|
|
@@ -3092,6 +3098,13 @@ class Chip:
|
|
|
3092
3098
|
step (str): Step name
|
|
3093
3099
|
index (int): Step index
|
|
3094
3100
|
'''
|
|
3101
|
+
|
|
3102
|
+
if flow not in self.getkeys('flowgraph'):
|
|
3103
|
+
raise ValueError(f'{flow} is not in the manifest')
|
|
3104
|
+
|
|
3105
|
+
if step not in self.getkeys('flowgraph', flow):
|
|
3106
|
+
raise ValueError(f'{step} is not a valid step in {flow}')
|
|
3107
|
+
|
|
3095
3108
|
if index is None:
|
|
3096
3109
|
# Iterate over all indexes
|
|
3097
3110
|
for index in self.getkeys('flowgraph', flow, step):
|
|
@@ -3099,6 +3112,8 @@ class Chip:
|
|
|
3099
3112
|
return
|
|
3100
3113
|
|
|
3101
3114
|
index = str(index)
|
|
3115
|
+
if index not in self.getkeys('flowgraph', flow, step):
|
|
3116
|
+
raise ValueError(f'{index} is not a valid index for {step} in {flow}')
|
|
3102
3117
|
|
|
3103
3118
|
# Save input edges
|
|
3104
3119
|
node = (step, index)
|
|
@@ -4,23 +4,6 @@ from siliconcompiler import SiliconCompilerError, NodeStatus
|
|
|
4
4
|
from siliconcompiler.tools._common import input_file_node_name, get_tool_task
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
def _check_execution_nodes_inputs(chip, flow):
|
|
8
|
-
for node in nodes_to_execute(chip, flow):
|
|
9
|
-
if node in _get_execution_entry_nodes(chip, flow):
|
|
10
|
-
continue
|
|
11
|
-
pruned_node_inputs = set(_get_pruned_node_inputs(chip, flow, node))
|
|
12
|
-
node_inputs = set(_get_flowgraph_node_inputs(chip, flow, node))
|
|
13
|
-
tool, task = get_tool_task(chip, node[0], node[1], flow=flow)
|
|
14
|
-
if tool == 'builtin' and not pruned_node_inputs or \
|
|
15
|
-
tool != 'builtin' and pruned_node_inputs != node_inputs:
|
|
16
|
-
chip.logger.warning(
|
|
17
|
-
f'Flowgraph connection from {node_inputs.difference(pruned_node_inputs)} '
|
|
18
|
-
f'to {node} is missing. '
|
|
19
|
-
f'Double check your flowgraph and from/to/prune options.')
|
|
20
|
-
return False
|
|
21
|
-
return True
|
|
22
|
-
|
|
23
|
-
|
|
24
7
|
def _nodes_to_execute(chip, flow, from_nodes, to_nodes, prune_nodes):
|
|
25
8
|
'''
|
|
26
9
|
Assumes a flowgraph with valid edges for the inputs
|
|
@@ -283,12 +266,12 @@ def nodes_to_execute(chip, flow=None):
|
|
|
283
266
|
if flow is None:
|
|
284
267
|
flow = chip.get('option', 'flow')
|
|
285
268
|
|
|
286
|
-
from_nodes = _get_execution_entry_nodes(chip, flow)
|
|
287
|
-
to_nodes = _get_execution_exit_nodes(chip, flow)
|
|
288
|
-
prune_nodes = chip.get('option', 'prune')
|
|
269
|
+
from_nodes = set(_get_execution_entry_nodes(chip, flow))
|
|
270
|
+
to_nodes = set(_get_execution_exit_nodes(chip, flow))
|
|
271
|
+
prune_nodes = set(chip.get('option', 'prune'))
|
|
289
272
|
if from_nodes == to_nodes:
|
|
290
273
|
return list(filter(lambda node: node not in prune_nodes, from_nodes))
|
|
291
|
-
return _nodes_to_execute(chip, flow,
|
|
274
|
+
return _nodes_to_execute(chip, flow, from_nodes, to_nodes, prune_nodes)
|
|
292
275
|
|
|
293
276
|
|
|
294
277
|
###########################################################################
|
|
@@ -345,8 +328,13 @@ def _check_flowgraph(chip, flow=None):
|
|
|
345
328
|
chip.logger.error(f'{step} is not defined in the {flow} flowgraph')
|
|
346
329
|
error = True
|
|
347
330
|
|
|
348
|
-
|
|
349
|
-
|
|
331
|
+
for step, index in chip.get('option', 'prune'):
|
|
332
|
+
if step not in chip.getkeys('flowgraph', flow):
|
|
333
|
+
chip.logger.error(f'{step} is not defined in the {flow} flowgraph')
|
|
334
|
+
error = True
|
|
335
|
+
elif str(index) not in chip.getkeys('flowgraph', flow, step):
|
|
336
|
+
chip.logger.error(f'{step}{index} is not defined in the {flow} flowgraph')
|
|
337
|
+
error = True
|
|
350
338
|
|
|
351
339
|
unreachable_steps = _unreachable_steps_to_execute(chip, flow)
|
|
352
340
|
if unreachable_steps:
|