siliconcompiler 0.36.1__tar.gz → 0.36.3__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.36.1 → siliconcompiler-0.36.3}/Changes +26 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/PKG-INFO +3 -3
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/pyproject.toml +2 -2
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/scripts/.gitignore +1 -0
- siliconcompiler-0.36.3/scripts/class_hierarchy.py +128 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/asic.py +4 -4
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/design.py +6 -1
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/package/__init__.py +3 -2
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/project.py +36 -18
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/baseschema.py +7 -4
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/docschema.py +3 -3
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/editableschema.py +1 -1
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/namedschema.py +6 -6
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/cmdlineschema.py +5 -3
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/filesetschema.py +9 -1
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/pathschema.py +16 -10
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tool.py +7 -3
- siliconcompiler-0.36.3/siliconcompiler/tools/builtin/wait.py +16 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/keplerformal/lec.py +2 -2
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/export.py +1 -3
- siliconcompiler-0.36.3/siliconcompiler/tools/klayout/merge.py +95 -0
- siliconcompiler-0.36.3/siliconcompiler/tools/klayout/scripts/klayout_merge.py +79 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/_apr.py +69 -11
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/power_grid.py +1 -1
- siliconcompiler-0.36.3/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +25 -0
- siliconcompiler-0.36.3/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +3 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/__init__.py +9 -9
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/place.py +1 -2
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/syn_asic.py +4 -4
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/syn_fpga.py +7 -8
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/_tools.json +6 -6
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/logging.py +6 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/PKG-INFO +3 -3
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/SOURCES.txt +4 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/requires.txt +2 -2
- siliconcompiler-0.36.1/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -23
- siliconcompiler-0.36.1/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -1
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/.dockerignore +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/.flake8 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/.gitattributes +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/.gitignore +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/LICENSE +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/MANIFEST.in +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/README.md +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/SECURITY.md +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/scripts/methods.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/scripts/requirements.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/setup.cfg +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_install.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_remote.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/checklist.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/asic_component.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/asic_floorplan.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/asic_pins.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/asic_timing.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/fpga_timing.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/constraints/timing_mode.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/heartbeat.pcf +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/heartbeat.sdc +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/tech_flops.lib +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/tech_flops.v +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/vtr_primitives.lib +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/z1000.xml +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/z1000_constraint_map.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/z1000_rr_graph.xml +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/demo_fpga/z1000_yosys_config.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/heartbeat.sdc +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/email/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/email/general.j2 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/issue/README.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/issue/run.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/replay/replay.sh.j2 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/data/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/demos/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/demos/asic_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/demos/fpga_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/highresscreenshotflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/fpga.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/library.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/metrics/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/metrics/asic.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/metrics/fpga.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/package/git.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/package/github.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/package/https.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/pdk.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/client.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/cli/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/cli/board.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/components/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/components/flowgraph.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/components/graph.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/layouts/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/layouts/_common.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/state.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/utils/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/utils/file_utils.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/dashboard/web/viewer.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/report.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/docker.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/error.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/scheduler.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/schedulernode.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/taskscheduler.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/_metadata.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/docs/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/docs/schemagen.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/docs/utils.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/journal.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/parameter.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/parametertype.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/parametervalue.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/safeschema.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/dependencyschema.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/metric.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/option.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/packageschema.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/record.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schematic.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/filter.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/importfiles.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/chisel/template/SCDriver.scala +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/chisel/template/build.sbt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/keplerformal/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/scripts/klayout_export.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/scripts/klayout_operations.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/scripts/klayout_show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/scripts/klayout_utils.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/scripts/sc_drc.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/scripts/sc_extspice.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/magic/scripts/sc_magic.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/netgen/scripts/sc_lvs.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/power_grid_analysis.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/slang/elaborate.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surfer/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/surfer/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/lec_asic.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/procs.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/sc_lec.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/scripts/syn_strategies.tcl +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-xdm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-opensta.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-vpr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-wildebeest.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-keplerformal.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-surfer.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-wildebeest.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-keplerformal.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-surfer.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-wildebeest.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/__init__.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/curation.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/issue.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/multiprocessing.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/paths.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/settings.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/utils/units.py +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,32 @@ 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.36.3 (2026-01-21)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Minor:**
|
|
15
|
+
|
|
16
|
+
* Tools:
|
|
17
|
+
|
|
18
|
+
* builtin: added wait task to better handle stalling flow progress
|
|
19
|
+
* klayout: added merge task to provide a simple interface for merging multiple GDSs
|
|
20
|
+
* pyslang: updated to v10.0.0
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
SiliconCompiler 0.36.2 (2026-01-16)
|
|
24
|
+
=========================================
|
|
25
|
+
|
|
26
|
+
**Minor:**
|
|
27
|
+
|
|
28
|
+
* Corrected auto dataroot behavior when setting abs paths.
|
|
29
|
+
* Corrected logging during check_filepaths on design objects to ensure errors are printed.
|
|
30
|
+
* Added `.get_library` to Project to allow access to imported libraries.
|
|
31
|
+
|
|
32
|
+
* Tools:
|
|
33
|
+
|
|
34
|
+
* openroad: added option to bypass SDC loading.
|
|
35
|
+
|
|
36
|
+
|
|
11
37
|
SiliconCompiler 0.36.1 (2026-01-10)
|
|
12
38
|
=========================================
|
|
13
39
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.36.
|
|
3
|
+
Version: 0.36.3
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author: Zero ASIC
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -38,12 +38,12 @@ Requires-Dist: PyYAML<7.0.0,>=6.0.0
|
|
|
38
38
|
Requires-Dist: GitPython<3.2,>=3.1.44
|
|
39
39
|
Requires-Dist: PyGithub<2.9.0,>=2.8.0
|
|
40
40
|
Requires-Dist: urllib3>=1.26.0
|
|
41
|
-
Requires-Dist: lambdapdk>=0.2.
|
|
41
|
+
Requires-Dist: lambdapdk>=0.2.7
|
|
42
42
|
Requires-Dist: fasteners>=0.20
|
|
43
43
|
Requires-Dist: pandas>=1.1.5
|
|
44
44
|
Requires-Dist: psutil>=5.8.0
|
|
45
45
|
Requires-Dist: Jinja2>=2.11.3
|
|
46
|
-
Requires-Dist: pyslang==
|
|
46
|
+
Requires-Dist: pyslang==10.0.0
|
|
47
47
|
Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
48
48
|
Requires-Dist: streamlit==1.46.1; python_full_version != "3.9.7"
|
|
49
49
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
@@ -45,14 +45,14 @@ dependencies = [
|
|
|
45
45
|
"PyGithub >= 2.8.0, < 2.9.0",
|
|
46
46
|
"urllib3 >= 1.26.0", # Required for PyGithub
|
|
47
47
|
|
|
48
|
-
"lambdapdk >= 0.2.
|
|
48
|
+
"lambdapdk >= 0.2.7",
|
|
49
49
|
|
|
50
50
|
"fasteners >= 0.20",
|
|
51
51
|
"pandas >= 1.1.5",
|
|
52
52
|
"psutil >= 5.8.0",
|
|
53
53
|
"Jinja2 >= 2.11.3",
|
|
54
54
|
|
|
55
|
-
"pyslang ==
|
|
55
|
+
"pyslang == 10.0.0",
|
|
56
56
|
|
|
57
57
|
"importlib_metadata; python_version < '3.10'",
|
|
58
58
|
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import inspect
|
|
3
|
+
import importlib
|
|
4
|
+
from argparse import ArgumentParser
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
import graphviz
|
|
8
|
+
_has_graphviz = True
|
|
9
|
+
except ModuleNotFoundError:
|
|
10
|
+
_has_graphviz = False
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# Import all the classes
|
|
14
|
+
from siliconcompiler import (Project, ASIC, FPGA, Lint, Sim, Design, PDK,
|
|
15
|
+
Flowgraph, Checklist, StdCellLibrary, FPGADevice,
|
|
16
|
+
Task, ShowTask, ScreenshotTask, Schematic)
|
|
17
|
+
from siliconcompiler.asic import ASICTask
|
|
18
|
+
from siliconcompiler.constraints import (ASICTimingConstraintSchema, ASICAreaConstraint,
|
|
19
|
+
ASICComponentConstraints, ASICPinConstraints,
|
|
20
|
+
FPGAComponentConstraints, FPGAPinConstraints,
|
|
21
|
+
FPGATimingConstraintSchema)
|
|
22
|
+
from siliconcompiler.schema_support import metric, record, option
|
|
23
|
+
from siliconcompiler.library import ToolLibrarySchema
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def generate_class_hierarchy(classes, output_file="class_hierarchy"):
|
|
27
|
+
"""
|
|
28
|
+
Generates a class inheritance graph using graphviz.
|
|
29
|
+
"""
|
|
30
|
+
if not _has_graphviz:
|
|
31
|
+
raise RuntimeError("Graphviz is not installed."
|
|
32
|
+
" Please install it to generate class hierarchy graphs.")
|
|
33
|
+
|
|
34
|
+
dot = graphviz.Digraph('SiliconCompiler Class Hierarchy',
|
|
35
|
+
comment='SiliconCompiler Class Hierarchy')
|
|
36
|
+
dot.attr('graph', rankdir='RL', concentrate='true')
|
|
37
|
+
dot.attr('node', shape='box', style='rounded,filled')
|
|
38
|
+
|
|
39
|
+
SCHEMA_COLOR = "#fff8dc" # cornsilk
|
|
40
|
+
SCHEMA_SUPPORT_COLOR = "#add8e6" # lightblue
|
|
41
|
+
DEFAULT_COLOR = "#d3d3d3" # lightgrey
|
|
42
|
+
|
|
43
|
+
# Classes exposed at the top-level of the siliconcompiler package
|
|
44
|
+
TOP_LEVEL_CLASSES = {
|
|
45
|
+
'Project', 'ASIC', 'FPGA', 'Lint', 'Sim', 'Design', 'PDK',
|
|
46
|
+
'Flowgraph', 'Checklist', 'StdCellLibrary', 'FPGADevice',
|
|
47
|
+
'Task', 'ShowTask', 'ScreenshotTask', 'Schematic'
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
added_nodes = set()
|
|
51
|
+
|
|
52
|
+
all_mro_classes = set()
|
|
53
|
+
for cls in classes:
|
|
54
|
+
mro = [c for c in inspect.getmro(cls) if 'siliconcompiler' in c.__module__ or c is cls]
|
|
55
|
+
all_mro_classes.update(mro)
|
|
56
|
+
|
|
57
|
+
# Create a subgraph for top-level classes to cluster them
|
|
58
|
+
with dot.subgraph(name='cluster_api') as c:
|
|
59
|
+
c.attr(label='SiliconCompiler API', style='filled', color='#f0f0f0', fontcolor='black')
|
|
60
|
+
|
|
61
|
+
for cls in all_mro_classes:
|
|
62
|
+
if cls.__name__ not in added_nodes:
|
|
63
|
+
module_name = cls.__module__
|
|
64
|
+
if module_name.startswith('siliconcompiler.schema.'):
|
|
65
|
+
color = SCHEMA_COLOR
|
|
66
|
+
elif module_name.startswith('siliconcompiler.schema_support.'):
|
|
67
|
+
color = SCHEMA_SUPPORT_COLOR
|
|
68
|
+
else:
|
|
69
|
+
color = DEFAULT_COLOR
|
|
70
|
+
|
|
71
|
+
# Add node to the cluster or the main graph
|
|
72
|
+
if cls.__name__ in TOP_LEVEL_CLASSES:
|
|
73
|
+
c.node(cls.__name__, fillcolor=color)
|
|
74
|
+
else:
|
|
75
|
+
dot.node(cls.__name__, fillcolor=color)
|
|
76
|
+
added_nodes.add(cls.__name__)
|
|
77
|
+
edges = []
|
|
78
|
+
for cls in all_mro_classes:
|
|
79
|
+
for base in cls.__bases__:
|
|
80
|
+
if 'siliconcompiler' not in base.__module__:
|
|
81
|
+
continue
|
|
82
|
+
if (base.__name__, cls.__name__) in edges:
|
|
83
|
+
continue
|
|
84
|
+
edges.append((base.__name__, cls.__name__))
|
|
85
|
+
# Add edge
|
|
86
|
+
dot.edge(f"{base.__name__}:w", f"{cls.__name__}:e")
|
|
87
|
+
# Save the dot file and render a PNG
|
|
88
|
+
try:
|
|
89
|
+
dot.render(output_file, view=False, format='png', cleanup=True)
|
|
90
|
+
print(f"Generated class hierarchy graph at {output_file}.png")
|
|
91
|
+
except graphviz.ExecutableNotFound:
|
|
92
|
+
print("Graphviz executable not found. Please install it and add it to your PATH.")
|
|
93
|
+
print("On Debian/Ubuntu: sudo apt-get install graphviz")
|
|
94
|
+
print("On macOS (with Homebrew): brew install graphviz")
|
|
95
|
+
|
|
96
|
+
with open(f"{output_file}.dot", 'w') as f:
|
|
97
|
+
f.write(dot.source)
|
|
98
|
+
print(f"Generated dot file at {output_file}.dot")
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
if __name__ == "__main__":
|
|
102
|
+
parser = ArgumentParser(
|
|
103
|
+
description="Generate a class inheritance graph for SiliconCompiler classes.")
|
|
104
|
+
parser.add_argument("cls", nargs="?",
|
|
105
|
+
help="A specific class to graph in module/ClassName format "
|
|
106
|
+
"(e.g., siliconcompiler/Project).")
|
|
107
|
+
parser.add_argument("--output", default="class_hierarchy",
|
|
108
|
+
help="Output file name without extension.")
|
|
109
|
+
args = parser.parse_args()
|
|
110
|
+
|
|
111
|
+
if args.cls:
|
|
112
|
+
module, cls_name = args.cls.split("/")
|
|
113
|
+
classes_to_graph = [getattr(importlib.import_module(module), cls_name)]
|
|
114
|
+
else:
|
|
115
|
+
# The list of classes from methods.py
|
|
116
|
+
classes_to_graph = [
|
|
117
|
+
Project, ASIC, FPGA, Lint, Sim,
|
|
118
|
+
Design, PDK, Flowgraph, Checklist, StdCellLibrary, FPGADevice, Schematic,
|
|
119
|
+
Task, ShowTask, ScreenshotTask,
|
|
120
|
+
ASICTask,
|
|
121
|
+
ASICTimingConstraintSchema, ASICAreaConstraint, ASICComponentConstraints,
|
|
122
|
+
ASICPinConstraints, FPGAComponentConstraints, FPGAPinConstraints,
|
|
123
|
+
FPGATimingConstraintSchema,
|
|
124
|
+
metric.MetricSchema, record.RecordSchema, option.OptionSchema,
|
|
125
|
+
ToolLibrarySchema
|
|
126
|
+
]
|
|
127
|
+
|
|
128
|
+
generate_class_hierarchy(classes_to_graph, args.output)
|
|
@@ -244,7 +244,7 @@ class ASIC(Project):
|
|
|
244
244
|
if pdk not in self.getkeys("library"):
|
|
245
245
|
error = True
|
|
246
246
|
self.logger.error(f"{pdk} library has not been loaded")
|
|
247
|
-
elif not isinstance(self.
|
|
247
|
+
elif not isinstance(self.get_library(pdk), PDK):
|
|
248
248
|
error = True
|
|
249
249
|
self.logger.error(f"{pdk} must be a PDK")
|
|
250
250
|
|
|
@@ -432,7 +432,7 @@ class ASIC(Project):
|
|
|
432
432
|
if not self.get("asic", "pdk") and self.get("asic", "mainlib"):
|
|
433
433
|
mainlib = None
|
|
434
434
|
if self._has_library(self.get("asic", "mainlib")):
|
|
435
|
-
mainlib = self.
|
|
435
|
+
mainlib = self.get_library(self.get("asic", "mainlib"))
|
|
436
436
|
if mainlib:
|
|
437
437
|
mainlib_pdk = mainlib.get("asic", "pdk")
|
|
438
438
|
if mainlib_pdk:
|
|
@@ -530,7 +530,7 @@ class ASICTask(Task):
|
|
|
530
530
|
raise ValueError("mainlib has not been defined in [asic,mainlib]")
|
|
531
531
|
if mainlib not in self.project.getkeys("library"):
|
|
532
532
|
raise LookupError(f"{mainlib} has not been loaded")
|
|
533
|
-
return self.project.
|
|
533
|
+
return self.project.get_library(mainlib)
|
|
534
534
|
|
|
535
535
|
@property
|
|
536
536
|
def pdk(self) -> PDK:
|
|
@@ -540,7 +540,7 @@ class ASICTask(Task):
|
|
|
540
540
|
raise ValueError("pdk has not been defined in [asic,pdk]")
|
|
541
541
|
if pdk not in self.project.getkeys("library"):
|
|
542
542
|
raise LookupError(f"{pdk} has not been loaded")
|
|
543
|
-
return self.project.
|
|
543
|
+
return self.project.get_library(pdk)
|
|
544
544
|
|
|
545
545
|
def set_asic_var(self,
|
|
546
546
|
key: str,
|
|
@@ -694,7 +694,12 @@ class Design(DependencySchema, LibrarySchema):
|
|
|
694
694
|
if dataroot is ...:
|
|
695
695
|
dataroot = None
|
|
696
696
|
else:
|
|
697
|
-
|
|
697
|
+
if option in ['idir', 'libdir']:
|
|
698
|
+
try:
|
|
699
|
+
dataroot = self._get_active_dataroot(dataroot)
|
|
700
|
+
except ValueError as e:
|
|
701
|
+
if any(not os.path.isabs(v) for v in value):
|
|
702
|
+
raise e
|
|
698
703
|
|
|
699
704
|
with self.active_dataroot(dataroot):
|
|
700
705
|
if list in typelist and not clobber:
|
|
@@ -72,9 +72,10 @@ class Resolver:
|
|
|
72
72
|
self.__cacheid = None
|
|
73
73
|
|
|
74
74
|
if self.__root and hasattr(self.__root, "logger"):
|
|
75
|
-
|
|
75
|
+
rootlogger = self.__root.logger
|
|
76
76
|
else:
|
|
77
|
-
|
|
77
|
+
rootlogger = MPManager.logger()
|
|
78
|
+
self.__logger = rootlogger.getChild(f"resolver-{self.name}")
|
|
78
79
|
|
|
79
80
|
@staticmethod
|
|
80
81
|
def populate_resolvers() -> None:
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import os
|
|
3
|
-
import sys
|
|
4
3
|
import uuid
|
|
5
4
|
|
|
6
5
|
import os.path
|
|
7
6
|
|
|
8
|
-
from typing import Union, List, Tuple, TextIO, Optional, Dict, Set
|
|
7
|
+
from typing import Type, Union, List, Tuple, TextIO, Optional, Dict, Set, TypeVar
|
|
9
8
|
|
|
10
9
|
from siliconcompiler.schema import BaseSchema, NamedSchema, EditableSchema, Parameter, Scope, \
|
|
11
10
|
__version__ as schema_version, \
|
|
@@ -28,12 +27,14 @@ from siliconcompiler.schema_support.pathschema import PathSchemaBase
|
|
|
28
27
|
|
|
29
28
|
from siliconcompiler.report.dashboard.cli import CliDashboard
|
|
30
29
|
from siliconcompiler.scheduler import Scheduler, SCRuntimeError
|
|
31
|
-
from siliconcompiler.utils.logging import
|
|
30
|
+
from siliconcompiler.utils.logging import get_stream_handler
|
|
32
31
|
from siliconcompiler.utils import get_file_ext
|
|
33
32
|
from siliconcompiler.utils.multiprocessing import MPManager
|
|
34
33
|
from siliconcompiler.utils.paths import jobdir, workdir
|
|
35
34
|
from siliconcompiler.flows.showflow import ShowFlow
|
|
36
35
|
|
|
36
|
+
TProject = TypeVar("TProject", bound="Project")
|
|
37
|
+
|
|
37
38
|
|
|
38
39
|
class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
39
40
|
"""
|
|
@@ -143,12 +144,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
143
144
|
self.__logger = MPManager.logger().getChild(f"project_{uuid.uuid4().hex}")
|
|
144
145
|
self.__logger.setLevel(logging.INFO)
|
|
145
146
|
|
|
146
|
-
self._logger_console =
|
|
147
|
-
if SCColorLoggerFormatter.supports_color(sys.stdout):
|
|
148
|
-
self._logger_console.setFormatter(SCColorLoggerFormatter(SCLoggerFormatter()))
|
|
149
|
-
else:
|
|
150
|
-
self._logger_console.setFormatter(SCLoggerFormatter())
|
|
151
|
-
|
|
147
|
+
self._logger_console = get_stream_handler(self, in_run=False, step=None, index=None)
|
|
152
148
|
self.__logger.addHandler(self._logger_console)
|
|
153
149
|
|
|
154
150
|
def __init_dashboard(self):
|
|
@@ -225,7 +221,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
225
221
|
if not self.valid("library", design_name):
|
|
226
222
|
raise KeyError(f"{design_name} design has not been loaded")
|
|
227
223
|
|
|
228
|
-
return self.
|
|
224
|
+
return self.get_library(design_name)
|
|
229
225
|
|
|
230
226
|
@property
|
|
231
227
|
def option(self) -> OptionSchema:
|
|
@@ -242,7 +238,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
242
238
|
return self.get("option", field="schema")
|
|
243
239
|
|
|
244
240
|
@classmethod
|
|
245
|
-
def convert(cls, obj: "Project") ->
|
|
241
|
+
def convert(cls: Type[TProject], obj: "Project") -> TProject:
|
|
246
242
|
"""
|
|
247
243
|
Converts a project from one type to another (e.g., Project to Sim).
|
|
248
244
|
|
|
@@ -482,7 +478,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
482
478
|
if not self._has_library(src_lib):
|
|
483
479
|
continue
|
|
484
480
|
|
|
485
|
-
if not self.
|
|
481
|
+
if not self.get_library(src_lib).has_fileset(src_fileset):
|
|
486
482
|
self.logger.error(f"{src_fileset} is not a valid fileset in {src_lib}")
|
|
487
483
|
error = True
|
|
488
484
|
continue
|
|
@@ -496,7 +492,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
496
492
|
continue
|
|
497
493
|
|
|
498
494
|
if dst_fileset and \
|
|
499
|
-
not self.
|
|
495
|
+
not self.get_library(dst_lib).has_fileset(dst_fileset):
|
|
500
496
|
self.logger.error(f"{dst_fileset} is not a valid fileset in {dst_lib}")
|
|
501
497
|
error = True
|
|
502
498
|
continue
|
|
@@ -532,7 +528,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
532
528
|
f"{', '.join([f'{step}/{index}' for step, index in breakpoints])}")
|
|
533
529
|
self.__dashboard.stop()
|
|
534
530
|
|
|
535
|
-
def run(self) ->
|
|
531
|
+
def run(self) -> TProject:
|
|
536
532
|
'''
|
|
537
533
|
Executes the compilation flow defined in the project's flowgraph.
|
|
538
534
|
|
|
@@ -715,7 +711,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
715
711
|
if dst_lib:
|
|
716
712
|
if not self._has_library(dst_lib):
|
|
717
713
|
raise KeyError(f"{dst_lib} is not a loaded library")
|
|
718
|
-
dst_obj = self.
|
|
714
|
+
dst_obj = self.get_library(dst_lib)
|
|
719
715
|
else:
|
|
720
716
|
dst_obj = None
|
|
721
717
|
if not dst_fileset:
|
|
@@ -844,7 +840,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
844
840
|
|
|
845
841
|
if isinstance(src_dep, str):
|
|
846
842
|
if self._has_library(src_dep):
|
|
847
|
-
src_dep = self.
|
|
843
|
+
src_dep = self.get_library(src_dep)
|
|
848
844
|
else:
|
|
849
845
|
src_dep_name = src_dep
|
|
850
846
|
src_dep = None
|
|
@@ -875,7 +871,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
875
871
|
if not self._has_library(alias_dep):
|
|
876
872
|
raise KeyError(f"{alias_dep} has not been loaded")
|
|
877
873
|
|
|
878
|
-
alias_dep = self.
|
|
874
|
+
alias_dep = self.get_library(alias_dep)
|
|
879
875
|
|
|
880
876
|
if alias_dep is not None:
|
|
881
877
|
if isinstance(alias_dep, Design):
|
|
@@ -894,6 +890,28 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
894
890
|
else:
|
|
895
891
|
return self.add("option", "alias", alias)
|
|
896
892
|
|
|
893
|
+
def get_library(self, library: str) -> NamedSchema:
|
|
894
|
+
"""
|
|
895
|
+
Retrieves a library by name from the project.
|
|
896
|
+
|
|
897
|
+
Args:
|
|
898
|
+
library (str): The name of the library to retrieve.
|
|
899
|
+
|
|
900
|
+
Returns:
|
|
901
|
+
NamedSchema: The `NamedSchema` object representing the library.
|
|
902
|
+
|
|
903
|
+
Raises:
|
|
904
|
+
KeyError: If the specified library is not found in the project.
|
|
905
|
+
TypeError: If the provided `library` is not a string.
|
|
906
|
+
"""
|
|
907
|
+
if not isinstance(library, str):
|
|
908
|
+
raise TypeError("library must be a string")
|
|
909
|
+
|
|
910
|
+
if not self._has_library(library):
|
|
911
|
+
raise KeyError(f"{library} is not a valid library")
|
|
912
|
+
|
|
913
|
+
return self.get("library", library, field="schema")
|
|
914
|
+
|
|
897
915
|
def _has_library(self, library: Union[str, NamedSchema]) -> bool:
|
|
898
916
|
"""
|
|
899
917
|
Checks if a library with the given name exists and is loaded in the project.
|
|
@@ -1222,7 +1240,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
1222
1240
|
return None
|
|
1223
1241
|
|
|
1224
1242
|
# Create copy of project to avoid changing user project
|
|
1225
|
-
proj
|
|
1243
|
+
proj = self.copy()
|
|
1226
1244
|
proj.set_flow(ShowFlow(task))
|
|
1227
1245
|
|
|
1228
1246
|
# Setup options:
|
|
@@ -26,12 +26,15 @@ import os.path
|
|
|
26
26
|
|
|
27
27
|
from enum import Enum, auto
|
|
28
28
|
from functools import cache
|
|
29
|
-
from typing import Dict, Type, Tuple, Union, Set, Callable, List, Optional,
|
|
29
|
+
from typing import Dict, Type, Tuple, TypeVar, Union, Set, Callable, List, Optional, \
|
|
30
|
+
TextIO, Iterable, Any
|
|
30
31
|
|
|
31
32
|
from .parameter import Parameter, NodeValue
|
|
32
33
|
from .journal import Journal
|
|
33
34
|
from ._metadata import version
|
|
34
35
|
|
|
36
|
+
TSchema = TypeVar('TSchema', bound='BaseSchema')
|
|
37
|
+
|
|
35
38
|
|
|
36
39
|
class LazyLoad(Enum):
|
|
37
40
|
"""
|
|
@@ -286,10 +289,10 @@ class BaseSchema:
|
|
|
286
289
|
|
|
287
290
|
# Manifest methods
|
|
288
291
|
@classmethod
|
|
289
|
-
def from_manifest(cls,
|
|
292
|
+
def from_manifest(cls: Type[TSchema],
|
|
290
293
|
filepath: Union[None, str] = None,
|
|
291
294
|
cfg: Union[None, Dict] = None,
|
|
292
|
-
lazyload: bool = True) ->
|
|
295
|
+
lazyload: bool = True) -> TSchema:
|
|
293
296
|
'''
|
|
294
297
|
Create a new schema based on the provided source files.
|
|
295
298
|
|
|
@@ -849,7 +852,7 @@ class BaseSchema:
|
|
|
849
852
|
return manifest
|
|
850
853
|
|
|
851
854
|
# Utility functions
|
|
852
|
-
def copy(self, key: Optional[Tuple[str, ...]] = None) ->
|
|
855
|
+
def copy(self: TSchema, key: Optional[Tuple[str, ...]] = None) -> TSchema:
|
|
853
856
|
"""
|
|
854
857
|
Returns a copy of this schema.
|
|
855
858
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from typing import Union, List
|
|
1
|
+
from typing import Type, Union, List
|
|
2
2
|
|
|
3
|
-
from .baseschema import BaseSchema
|
|
3
|
+
from .baseschema import BaseSchema, TSchema
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class DocsSchema(BaseSchema):
|
|
@@ -11,7 +11,7 @@ class DocsSchema(BaseSchema):
|
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
@classmethod
|
|
14
|
-
def make_docs(cls) -> Union[
|
|
14
|
+
def make_docs(cls: Type[TSchema]) -> Union[TSchema, List[TSchema]]:
|
|
15
15
|
"""Generate the documentation representation for this schema.
|
|
16
16
|
|
|
17
17
|
By default, this method returns a standard instance of the class itself.
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
# SC dependencies outside of its directory, since it may be used by tool drivers
|
|
5
5
|
# that have isolated Python environments.
|
|
6
6
|
|
|
7
|
-
from typing import Dict, Tuple, Optional, Set, Union, List
|
|
7
|
+
from typing import Dict, Tuple, Optional, Set, Type, Union, List
|
|
8
8
|
|
|
9
|
-
from .baseschema import BaseSchema, LazyLoad
|
|
9
|
+
from .baseschema import BaseSchema, LazyLoad, TSchema
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class NamedSchema(BaseSchema):
|
|
@@ -76,11 +76,11 @@ class NamedSchema(BaseSchema):
|
|
|
76
76
|
return cfg.get("__meta__", {}).get("name", None)
|
|
77
77
|
|
|
78
78
|
@classmethod
|
|
79
|
-
def from_manifest(cls,
|
|
79
|
+
def from_manifest(cls: Type[TSchema],
|
|
80
80
|
filepath: Union[None, str] = None,
|
|
81
81
|
cfg: Union[None, Dict] = None,
|
|
82
82
|
lazyload: bool = True,
|
|
83
|
-
name: Optional[str] = None):
|
|
83
|
+
name: Optional[str] = None) -> TSchema:
|
|
84
84
|
'''
|
|
85
85
|
Create a new schema based on the provided source files.
|
|
86
86
|
|
|
@@ -115,8 +115,8 @@ class NamedSchema(BaseSchema):
|
|
|
115
115
|
|
|
116
116
|
return super()._from_dict(manifest, keypath, version=version, lazyload=lazyload)
|
|
117
117
|
|
|
118
|
-
def copy(self, key: Optional[Tuple[str, ...]] = None) ->
|
|
119
|
-
copy
|
|
118
|
+
def copy(self: TSchema, key: Optional[Tuple[str, ...]] = None) -> TSchema:
|
|
119
|
+
copy = super().copy(key=key)
|
|
120
120
|
|
|
121
121
|
if key and key[-1] != "default":
|
|
122
122
|
copy.__name = key[-1]
|
{siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/cmdlineschema.py
RENAMED
|
@@ -4,12 +4,14 @@ import sys
|
|
|
4
4
|
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
from typing import Set, List, Optional, Union
|
|
7
|
+
from typing import Set, List, Optional, Type, Union, TypeVar
|
|
8
8
|
|
|
9
9
|
from siliconcompiler.schema import BaseSchema, EditableSchema, Parameter, Scope, PerNode
|
|
10
10
|
from siliconcompiler.schema.utils import trim
|
|
11
11
|
from siliconcompiler import _metadata
|
|
12
12
|
|
|
13
|
+
TCmdSchema = TypeVar("TCmdSchema", bound="CommandLineSchema")
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
class CommandLineSchema(BaseSchema):
|
|
15
17
|
'''
|
|
@@ -68,14 +70,14 @@ class CommandLineSchema(BaseSchema):
|
|
|
68
70
|
EditableSchema(self).insert("cmdarg", name, Parameter(type, **kwargs))
|
|
69
71
|
|
|
70
72
|
@classmethod
|
|
71
|
-
def create_cmdline(cls,
|
|
73
|
+
def create_cmdline(cls: Type[TCmdSchema],
|
|
72
74
|
progname: Optional[str] = None,
|
|
73
75
|
description: Optional[str] = None,
|
|
74
76
|
switchlist: Optional[Union[List[str], Set[str]]] = None,
|
|
75
77
|
version: Optional[str] = None,
|
|
76
78
|
print_banner: bool = True,
|
|
77
79
|
use_cfg: bool = False,
|
|
78
|
-
use_sources: bool = True) ->
|
|
80
|
+
use_sources: bool = True) -> TCmdSchema:
|
|
79
81
|
"""
|
|
80
82
|
Creates an SC command line interface.
|
|
81
83
|
|
{siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/filesetschema.py
RENAMED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import contextlib
|
|
2
2
|
|
|
3
|
+
import os.path
|
|
4
|
+
|
|
3
5
|
from pathlib import Path
|
|
4
6
|
|
|
5
7
|
from typing import List, Tuple, Optional, Union, Iterable, Set
|
|
@@ -118,8 +120,14 @@ class FileSetSchema(PathSchema):
|
|
|
118
120
|
ext = utils.get_file_ext(filename)
|
|
119
121
|
filetype = utils.get_default_iomap().get(ext, ext)
|
|
120
122
|
|
|
123
|
+
try:
|
|
124
|
+
dataroot = self._get_active_dataroot(dataroot)
|
|
125
|
+
except ValueError as e:
|
|
126
|
+
if not os.path.isabs(filename):
|
|
127
|
+
raise e
|
|
128
|
+
|
|
121
129
|
# adding files to dictionary
|
|
122
|
-
with self.active_dataroot(
|
|
130
|
+
with self.active_dataroot(dataroot):
|
|
123
131
|
if clobber:
|
|
124
132
|
return self.set('fileset', fileset, 'file', filetype, filename)
|
|
125
133
|
else:
|
{siliconcompiler-0.36.1 → siliconcompiler-0.36.3}/siliconcompiler/schema_support/pathschema.py
RENAMED
|
@@ -11,7 +11,9 @@ from siliconcompiler.schema.parameter import Parameter, Scope
|
|
|
11
11
|
from siliconcompiler.schema.utils import trim
|
|
12
12
|
|
|
13
13
|
from siliconcompiler.package import Resolver
|
|
14
|
+
from siliconcompiler.utils.logging import get_stream_handler
|
|
14
15
|
from siliconcompiler.utils.paths import collectiondir, cwdirsafe
|
|
16
|
+
from siliconcompiler.utils.multiprocessing import MPManager
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
class PathSchemaBase(BaseSchema):
|
|
@@ -19,6 +21,15 @@ class PathSchemaBase(BaseSchema):
|
|
|
19
21
|
Schema extension to add simpler find_files and check_filepaths
|
|
20
22
|
'''
|
|
21
23
|
|
|
24
|
+
def __getlogger(self, logger_name: str) -> logging.Logger:
|
|
25
|
+
schema_root = self._parent(root=True)
|
|
26
|
+
root_logger = getattr(schema_root, "logger", MPManager.logger())
|
|
27
|
+
logger = root_logger.getChild(logger_name)
|
|
28
|
+
if not logger.handlers:
|
|
29
|
+
logger.addHandler(get_stream_handler(schema_root, in_run=False, step=None, index=None))
|
|
30
|
+
logger.setLevel(logging.INFO)
|
|
31
|
+
return logger
|
|
32
|
+
|
|
22
33
|
def find_files(self, *keypath: str,
|
|
23
34
|
missing_ok: bool = False,
|
|
24
35
|
step: Optional[str] = None, index: Optional[Union[int, str]] = None) \
|
|
@@ -69,13 +80,10 @@ class PathSchemaBase(BaseSchema):
|
|
|
69
80
|
True if all file paths are valid, otherwise False.
|
|
70
81
|
'''
|
|
71
82
|
schema_root = self._parent(root=True)
|
|
72
|
-
logger = getattr(schema_root,
|
|
73
|
-
"logger",
|
|
74
|
-
logging.getLogger("siliconcompiler.check_filepaths"))
|
|
75
83
|
|
|
76
84
|
return super()._check_filepaths(
|
|
77
85
|
ignore_keys=ignore_keys,
|
|
78
|
-
logger=
|
|
86
|
+
logger=self.__getlogger("check_filepaths"),
|
|
79
87
|
collection_dir=collectiondir(schema_root),
|
|
80
88
|
cwd=cwdirsafe(schema_root))
|
|
81
89
|
|
|
@@ -121,13 +129,11 @@ class PathSchemaBase(BaseSchema):
|
|
|
121
129
|
>>> hashlist = hash_files('input', 'rtl', 'verilog')
|
|
122
130
|
Computes, stores, and returns hashes of files in :keypath:`input, rtl, verilog`.
|
|
123
131
|
'''
|
|
124
|
-
schema_root = self._parent(root=True)
|
|
125
|
-
logger = getattr(schema_root,
|
|
126
|
-
"logger",
|
|
127
|
-
logging.getLogger("siliconcompiler.hash_files"))
|
|
128
|
-
|
|
129
132
|
if verbose:
|
|
130
|
-
|
|
133
|
+
self.__getlogger("hash_files").info(
|
|
134
|
+
f"Computing hash value for [{','.join([*self._keypath, *keypath])}]")
|
|
135
|
+
|
|
136
|
+
schema_root = self._parent(root=True)
|
|
131
137
|
|
|
132
138
|
hashes = super()._hash_files(*keypath,
|
|
133
139
|
missing_ok=missing_ok,
|