siliconcompiler 0.36.3__tar.gz → 0.36.5__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.3 → siliconcompiler-0.36.5}/.readthedocs.yaml +1 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/Changes +26 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/PKG-INFO +3 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/pyproject.toml +3 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_install.py +23 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_issue.py +4 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/design.py +2 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/dvflow.py +13 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/__init__.py +19 -14
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/git.py +3 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/project.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/client.py +9 -3
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/cli/board.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/scheduler.py +22 -60
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/schedulernode.py +5 -5
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/baseschema.py +15 -6
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/cmdlineschema.py +3 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/filesetschema.py +2 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tool.py +10 -10
- siliconcompiler-0.36.5/siliconcompiler/tools/_common/cocotb/cocotb_task.py +286 -0
- siliconcompiler-0.36.5/siliconcompiler/tools/builtin/wait.py +152 -0
- siliconcompiler-0.36.5/siliconcompiler/tools/icarus/cocotb_exec.py +53 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icarus/compile.py +47 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/_apr.py +13 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +9 -2
- siliconcompiler-0.36.5/siliconcompiler/tools/verilator/cocotb_compile.py +55 -0
- siliconcompiler-0.36.5/siliconcompiler/tools/verilator/cocotb_exec.py +52 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/compile.py +12 -8
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/__init__.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/syn_asic.py +3 -3
- siliconcompiler-0.36.5/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/_tools.json +5 -5
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-icarus.sh +2 -2
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-magic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +2 -2
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-xyce.sh +5 -5
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -2
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-icarus.sh +2 -2
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-magic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-opensta.sh +5 -5
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +2 -2
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-vpr.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-wildebeest.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-xyce.sh +5 -5
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-bluespec.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-icarus.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-magic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-openroad.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +5 -5
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-slurm.sh +3 -3
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-sv2v.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-verilator.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-xyce.sh +3 -3
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-icarus.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-keplerformal.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-nextpnr.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-openroad.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-opensta.sh +5 -5
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-slurm.sh +3 -3
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-surelog.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-surfer.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-verilator.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-wildebeest.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-xyce.sh +3 -3
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-yosys-moosic.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-yosys-slang.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-bluespec.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-keplerformal.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-magic.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-nextpnr.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-openroad.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-opensta.sh +5 -5
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-surelog.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-surfer.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-sv2v.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-verilator.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-wildebeest.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-xyce.sh +3 -3
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-yosys-moosic.sh +1 -1
- {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-yosys-slang.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/curation.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/settings.py +1 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/PKG-INFO +3 -1
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/SOURCES.txt +5 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/requires.txt +5 -0
- siliconcompiler-0.36.3/siliconcompiler/tools/builtin/wait.py +0 -16
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.dockerignore +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.flake8 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.gitattributes +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.gitignore +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/LICENSE +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/MANIFEST.in +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/README.md +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/SECURITY.md +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/.gitignore +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/class_hierarchy.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/methods.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/requirements.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/setup.cfg +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_remote.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/asic.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklist.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_component.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_floorplan.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_pins.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_timing.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/fpga_timing.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/timing_mode.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/heartbeat.pcf +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/heartbeat.sdc +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/tech_flops.lib +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/tech_flops.v +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/vtr_primitives.lib +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000.xml +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_constraint_map.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_rr_graph.xml +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_yosys_config.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/heartbeat.sdc +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/general.j2 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/README.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/run.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/replay.sh.j2 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/asic_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/fpga_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/highresscreenshotflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpga.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/library.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/asic.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/fpga.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/github.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/https.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/pdk.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/cli/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/flowgraph.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/graph.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/_common.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/state.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/utils/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/utils/file_utils.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/viewer.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/report.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/docker.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/error.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/taskscheduler.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/_metadata.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/schemagen.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/utils.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/editableschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/journal.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/namedschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parameter.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parametertype.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parametervalue.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/safeschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/dependencyschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/metric.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/option.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/packageschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/pathschema.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/record.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schematic.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/_common/sdc → siliconcompiler-0.36.5/siliconcompiler/tools/_common/cocotb}/__init__.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/_common/tcl → siliconcompiler-0.36.5/siliconcompiler/tools/_common/sdc}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/openroad/templates → siliconcompiler-0.36.5/siliconcompiler/tools/_common/tcl}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/filter.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/importfiles.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/template/SCDriver.scala +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/template/build.sbt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/keplerformal/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/keplerformal/lec.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/export.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/merge.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_export.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_merge.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_operations.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_utils.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_drc.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_extspice.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_magic.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/scripts/sc_lvs.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/power_grid.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/power_grid_analysis.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/opensta/scripts → siliconcompiler-0.36.5/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/surelog/templates → siliconcompiler-0.36.5/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/elaborate.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/vivado/scripts → siliconcompiler-0.36.5/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surfer/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surfer/show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/yosys/techmaps → siliconcompiler-0.36.5/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/lec_asic.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/procs.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_lec.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/syn_strategies.tcl +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.36.3/siliconcompiler/tools/yosys/templates → siliconcompiler-0.36.5/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-xdm.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/__init__.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/issue.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/logging.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/multiprocessing.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/paths.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/units.py +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/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.5 (2026-02-02)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Minor:**
|
|
15
|
+
|
|
16
|
+
* Fixed dashboard line wrapping to correctly account for the width of the terminal.
|
|
17
|
+
* Reworked error handling to ensure backtrace is available when running with the dashboard.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
SiliconCompiler 0.36.4 (2026-01-31)
|
|
21
|
+
=========================================
|
|
22
|
+
|
|
23
|
+
**Minor:**
|
|
24
|
+
|
|
25
|
+
* Fixed commandline handling of `sc-issue` when `-cfg` is missing.
|
|
26
|
+
* Added support for `-jobs` to `sc-install` to control number of build jobs.
|
|
27
|
+
* Updated detection of editable python installs.
|
|
28
|
+
* Fixed json serialization bug when journal is active.
|
|
29
|
+
|
|
30
|
+
* Tools:
|
|
31
|
+
|
|
32
|
+
* yosys: removed default use of kogge-stone techmap pass.
|
|
33
|
+
* openroad: correctly include lefs in floorplanning required keys.
|
|
34
|
+
* icarus, verilator: added support for cocotb plugins.
|
|
35
|
+
|
|
36
|
+
|
|
11
37
|
SiliconCompiler 0.36.3 (2026-01-21)
|
|
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.5
|
|
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
|
|
@@ -70,6 +70,8 @@ Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
|
|
|
70
70
|
Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
|
|
71
71
|
Provides-Extra: optimizer
|
|
72
72
|
Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
|
|
73
|
+
Provides-Extra: cocotb
|
|
74
|
+
Requires-Dist: cocotb<2.1.0,>=2.0.1; (python_version >= "3.7" and python_version <= "3.13") and extra == "cocotb"
|
|
73
75
|
Dynamic: license-file
|
|
74
76
|
|
|
75
77
|

|
|
@@ -124,6 +124,9 @@ docs = [
|
|
|
124
124
|
optimizer = [
|
|
125
125
|
"google-vizier[jax] == 0.1.21; python_version >= '3.10'"
|
|
126
126
|
]
|
|
127
|
+
cocotb = [
|
|
128
|
+
"cocotb >= 2.0.1, < 2.1.0; python_version >= '3.7' and python_version <= '3.13'"
|
|
129
|
+
]
|
|
127
130
|
|
|
128
131
|
[tool.setuptools]
|
|
129
132
|
include-package-data = true
|
|
@@ -92,7 +92,8 @@ class ChoiceOptional(Container):
|
|
|
92
92
|
return sorted(items)
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
def install_tool(tool: str, script: str, build_dir: str, prefix: str
|
|
95
|
+
def install_tool(tool: str, script: str, build_dir: str, prefix: str,
|
|
96
|
+
jobs: Optional[int] = None) -> bool:
|
|
96
97
|
"""
|
|
97
98
|
Prepare a build directory, configure the environment, and execute an install script for a tool.
|
|
98
99
|
|
|
@@ -102,6 +103,8 @@ def install_tool(tool: str, script: str, build_dir: str, prefix: str) -> bool:
|
|
|
102
103
|
build_dir (str): Base directory where a per-tool build directory will be created.
|
|
103
104
|
prefix (str): Installation prefix; added to PATH and used to determine whether
|
|
104
105
|
sudo is required.
|
|
106
|
+
jobs (Optional[int]): Maximum number of parallel jobs to use during build. If None,
|
|
107
|
+
defaults to the number of CPU cores.
|
|
105
108
|
|
|
106
109
|
Returns:
|
|
107
110
|
bool: `True` if the install script exited with status 0, `False` otherwise.
|
|
@@ -117,6 +120,8 @@ def install_tool(tool: str, script: str, build_dir: str, prefix: str) -> bool:
|
|
|
117
120
|
env["PATH"] = ":".join(path)
|
|
118
121
|
env["PREFIX"] = prefix
|
|
119
122
|
env["USE_SUDO_INSTALL"] = "no"
|
|
123
|
+
if jobs is not None:
|
|
124
|
+
env["NPROC"] = str(jobs)
|
|
120
125
|
try:
|
|
121
126
|
os.makedirs(prefix, exist_ok=True)
|
|
122
127
|
except PermissionError:
|
|
@@ -312,6 +317,12 @@ To install tools in a different location:
|
|
|
312
317
|
To build tools in a different location:
|
|
313
318
|
sc-install -build_dir /tmp yosys
|
|
314
319
|
|
|
320
|
+
To limit parallel build jobs (useful for memory-constrained systems):
|
|
321
|
+
sc-install yosys -jobs 4
|
|
322
|
+
|
|
323
|
+
To combine options (custom location with limited parallelism):
|
|
324
|
+
sc-install -prefix /opt/tools -jobs 8 openroad yosys
|
|
325
|
+
|
|
315
326
|
To show the install script:
|
|
316
327
|
sc-install -show openroad
|
|
317
328
|
|
|
@@ -359,6 +370,13 @@ Tool groups:
|
|
|
359
370
|
help="Directory to build the tool in",
|
|
360
371
|
metavar="<path>")
|
|
361
372
|
|
|
373
|
+
parser.add_argument(
|
|
374
|
+
"-jobs",
|
|
375
|
+
type=int,
|
|
376
|
+
default=None,
|
|
377
|
+
help="Maximum number of parallel build jobs (default: number of CPU cores)",
|
|
378
|
+
metavar="<int>")
|
|
379
|
+
|
|
362
380
|
parser.add_argument(
|
|
363
381
|
"-show",
|
|
364
382
|
action="store_true",
|
|
@@ -389,6 +407,9 @@ Tool groups:
|
|
|
389
407
|
|
|
390
408
|
tools_handled = set()
|
|
391
409
|
tools_completed = set()
|
|
410
|
+
if args.jobs is not None and args.jobs < 1:
|
|
411
|
+
print("Error: -jobs must be a positive integer", file=sys.stderr)
|
|
412
|
+
return 1
|
|
392
413
|
for tool in args.tool:
|
|
393
414
|
if tool in tools_handled:
|
|
394
415
|
continue
|
|
@@ -396,7 +417,7 @@ Tool groups:
|
|
|
396
417
|
if args.show:
|
|
397
418
|
show_tool(tool, tools[tool])
|
|
398
419
|
else:
|
|
399
|
-
if not install_tool(tool, tools[tool], args.build_dir, args.prefix):
|
|
420
|
+
if not install_tool(tool, tools[tool], args.build_dir, args.prefix, args.jobs):
|
|
400
421
|
notstarted = set(args.tool) - tools_completed - tools_handled
|
|
401
422
|
__print_summary(tools_completed, tool, notstarted)
|
|
402
423
|
return 1
|
|
@@ -70,6 +70,10 @@ To run a testcase, use:
|
|
|
70
70
|
switchlist=switchlist)
|
|
71
71
|
|
|
72
72
|
if not issue.get("cmdarg", "run"):
|
|
73
|
+
if not issue.get("cmdarg", "cfg"):
|
|
74
|
+
issue.logger.error('-cfg must be provided')
|
|
75
|
+
return 1
|
|
76
|
+
|
|
73
77
|
project: Project = Project.from_manifest(filepath=issue.get("cmdarg", "cfg"))
|
|
74
78
|
|
|
75
79
|
# Determine abs path for build dir
|
|
@@ -697,9 +697,9 @@ class Design(DependencySchema, LibrarySchema):
|
|
|
697
697
|
if option in ['idir', 'libdir']:
|
|
698
698
|
try:
|
|
699
699
|
dataroot = self._get_active_dataroot(dataroot)
|
|
700
|
-
except ValueError
|
|
700
|
+
except ValueError:
|
|
701
701
|
if any(not os.path.isabs(v) for v in value):
|
|
702
|
-
raise
|
|
702
|
+
raise
|
|
703
703
|
|
|
704
704
|
with self.active_dataroot(dataroot):
|
|
705
705
|
if list in typelist and not clobber:
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
from siliconcompiler.tools.icarus import compile as icarus_compile
|
|
2
|
+
from siliconcompiler.tools.icarus import cocotb_exec as icarus_cocotb
|
|
2
3
|
from siliconcompiler.tools.verilator import compile as verilator_compile
|
|
4
|
+
from siliconcompiler.tools.verilator import cocotb_compile as verilator_cocotb_compile
|
|
5
|
+
from siliconcompiler.tools.verilator import cocotb_exec as verilator_cocotb
|
|
3
6
|
from siliconcompiler.tools.execute import exec_input
|
|
4
7
|
from siliconcompiler.tools.xyce import simulate as xyce_simulate
|
|
5
8
|
from siliconcompiler.tools.xdm import convert as xdm_convert
|
|
@@ -24,7 +27,9 @@ class DVFlow(Flowgraph):
|
|
|
24
27
|
Supported tools are:
|
|
25
28
|
|
|
26
29
|
* 'icarus': Compiles and simulates with the Icarus Verilog simulator.
|
|
30
|
+
* 'icarus-cocotb': Compiles with Icarus and runs cocotb Python testbenches.
|
|
27
31
|
* 'verilator': Compiles and simulates with Verilator.
|
|
32
|
+
* 'verilator-cocotb': Compiles with Verilator and runs cocotb Python testbenches.
|
|
28
33
|
* 'xyce': Simulates a netlist with the Xyce circuit simulator.
|
|
29
34
|
* 'xdm-xyce': Converts a design to a Xyce-compatible format and simulates.
|
|
30
35
|
'''
|
|
@@ -50,10 +55,18 @@ class DVFlow(Flowgraph):
|
|
|
50
55
|
self.node("compile", icarus_compile.CompileTask())
|
|
51
56
|
sim_task = exec_input.ExecInputTask()
|
|
52
57
|
com_name = "compile"
|
|
58
|
+
elif tool == "icarus-cocotb":
|
|
59
|
+
self.node("compile", icarus_compile.CompileTask())
|
|
60
|
+
sim_task = icarus_cocotb.CocotbExecTask()
|
|
61
|
+
com_name = "compile"
|
|
53
62
|
elif tool == "verilator":
|
|
54
63
|
self.node("compile", verilator_compile.CompileTask())
|
|
55
64
|
sim_task = exec_input.ExecInputTask()
|
|
56
65
|
com_name = "compile"
|
|
66
|
+
elif tool == "verilator-cocotb":
|
|
67
|
+
self.node("compile", verilator_cocotb_compile.CocotbCompileTask())
|
|
68
|
+
sim_task = verilator_cocotb.CocotbExecTask()
|
|
69
|
+
com_name = "compile"
|
|
57
70
|
elif tool == "xyce":
|
|
58
71
|
sim_task = xyce_simulate.SimulateTask()
|
|
59
72
|
com_name = None
|
|
@@ -16,6 +16,7 @@ import logging
|
|
|
16
16
|
import os
|
|
17
17
|
import random
|
|
18
18
|
import re
|
|
19
|
+
import site
|
|
19
20
|
import shutil
|
|
20
21
|
import time
|
|
21
22
|
import threading
|
|
@@ -27,7 +28,7 @@ from typing import Optional, List, Dict, Type, Union, TYPE_CHECKING, Final
|
|
|
27
28
|
|
|
28
29
|
from fasteners import InterProcessLock
|
|
29
30
|
from importlib.metadata import distributions, distribution
|
|
30
|
-
from pathlib import Path
|
|
31
|
+
from pathlib import Path, PureWindowsPath
|
|
31
32
|
from urllib import parse as url_parse
|
|
32
33
|
|
|
33
34
|
from siliconcompiler.utils import get_plugins, default_cache_dir
|
|
@@ -541,14 +542,14 @@ class RemoteResolver(Resolver):
|
|
|
541
542
|
|
|
542
543
|
try:
|
|
543
544
|
self.resolve_remote()
|
|
544
|
-
except BaseException
|
|
545
|
+
except BaseException:
|
|
545
546
|
# Exception occurred, so need to cleanup
|
|
546
547
|
try:
|
|
547
548
|
shutil.rmtree(self.cache_path)
|
|
548
549
|
except BaseException as cleane:
|
|
549
550
|
self.logger.error(f"Exception occurred during cleanup: {cleane} "
|
|
550
551
|
f"({cleane.__class__.__name__})")
|
|
551
|
-
raise
|
|
552
|
+
raise
|
|
552
553
|
|
|
553
554
|
self.set_changed()
|
|
554
555
|
return self.cache_path
|
|
@@ -647,21 +648,25 @@ class PythonPathResolver(Resolver):
|
|
|
647
648
|
return False
|
|
648
649
|
dist_name = dist_map[module_name][0]
|
|
649
650
|
|
|
650
|
-
is_editable = False
|
|
651
651
|
dist_obj = distribution(dist_name)
|
|
652
|
-
if not dist_obj
|
|
652
|
+
if not dist_obj:
|
|
653
653
|
return False
|
|
654
654
|
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
655
|
+
direct_url_content = dist_obj.read_text('direct_url.json')
|
|
656
|
+
if direct_url_content:
|
|
657
|
+
direct_url = json.loads(direct_url_content)
|
|
658
|
+
return direct_url.get('dir_info', {}).get('editable', False)
|
|
659
|
+
|
|
660
|
+
dist_loc = dist_obj.locate_file('')
|
|
661
|
+
site_paths = site.getsitepackages()
|
|
662
|
+
user_site_path = site.getusersitepackages()
|
|
663
|
+
if user_site_path:
|
|
664
|
+
site_paths.append(user_site_path)
|
|
665
|
+
if not dist_loc or not site_paths:
|
|
666
|
+
return False
|
|
663
667
|
|
|
664
|
-
|
|
668
|
+
dist_loc = PureWindowsPath(dist_loc).as_posix()
|
|
669
|
+
return dist_loc not in [PureWindowsPath(site_path).as_posix() for site_path in site_paths]
|
|
665
670
|
|
|
666
671
|
@staticmethod
|
|
667
672
|
def set_dataroot(root: "PathSchema",
|
|
@@ -151,7 +151,8 @@ class GitResolver(RemoteResolver):
|
|
|
151
151
|
for submodule in repo.submodules:
|
|
152
152
|
submodule.update(recursive=True, init=True, force=True)
|
|
153
153
|
except GitCommandError as e:
|
|
154
|
-
|
|
154
|
+
error_msg = str(e)
|
|
155
|
+
if 'Permission denied' in error_msg or 'could not read Username' in error_msg:
|
|
155
156
|
if self.urlscheme in ('ssh', 'git+ssh'):
|
|
156
157
|
raise RuntimeError('Failed to authenticate with Git. Please ensure your SSH '
|
|
157
158
|
'keys are set up correctly.')
|
|
@@ -160,4 +161,4 @@ class GitResolver(RemoteResolver):
|
|
|
160
161
|
'via GITHUB_TOKEN or use an SSH URL.')
|
|
161
162
|
else:
|
|
162
163
|
# Re-raise other Git errors
|
|
163
|
-
raise
|
|
164
|
+
raise
|
|
@@ -570,7 +570,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
|
|
|
570
570
|
self.logger.error(f"Run failed: {e.msg}")
|
|
571
571
|
if scheduler and scheduler.log:
|
|
572
572
|
self.logger.error(f"Job log: {os.path.abspath(scheduler.log)}")
|
|
573
|
-
raise RuntimeError(f"Run failed: {e.msg}")
|
|
573
|
+
raise RuntimeError(f"Run failed: {e.msg}") from None
|
|
574
574
|
finally:
|
|
575
575
|
if self.__dashboard:
|
|
576
576
|
# Update dashboard
|
|
@@ -18,6 +18,7 @@ from siliconcompiler import NodeStatus as SCNodeStatus
|
|
|
18
18
|
from siliconcompiler._metadata import default_server
|
|
19
19
|
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
20
20
|
from siliconcompiler.scheduler import Scheduler
|
|
21
|
+
from siliconcompiler.scheduler.error import SCRuntimeError
|
|
21
22
|
from siliconcompiler.schema import Journal, Parameter
|
|
22
23
|
from siliconcompiler.package import PythonPathResolver, FileResolver, KeyPathResolver
|
|
23
24
|
|
|
@@ -490,7 +491,12 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
490
491
|
get_console_formatter(self.__project, True, self.STEP_NAME, None))
|
|
491
492
|
|
|
492
493
|
# Ask the remote server to start processing the requested step.
|
|
493
|
-
|
|
494
|
+
try:
|
|
495
|
+
self.__request_run()
|
|
496
|
+
except KeyboardInterrupt:
|
|
497
|
+
return
|
|
498
|
+
except Exception as e:
|
|
499
|
+
raise SCRuntimeError(str(e)) from None
|
|
494
500
|
|
|
495
501
|
# Run the main 'check_progress' loop to monitor job status until it finishes.
|
|
496
502
|
try:
|
|
@@ -609,14 +615,14 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
609
615
|
# Wrapper to allow for capturing of Ctrl+C
|
|
610
616
|
try:
|
|
611
617
|
self.__run_loop()
|
|
612
|
-
except KeyboardInterrupt
|
|
618
|
+
except KeyboardInterrupt:
|
|
613
619
|
manifest_path = self.remote_manifest()
|
|
614
620
|
reconnect_cmd = f'sc-remote -cfg {manifest_path} -reconnect'
|
|
615
621
|
cancel_cmd = f'sc-remote -cfg {manifest_path} -cancel'
|
|
616
622
|
self.__logger.info('Disconnecting from remote job')
|
|
617
623
|
self.__logger.info(f'To reconnect to this job use: {reconnect_cmd}')
|
|
618
624
|
self.__logger.info(f'To cancel this job use: {cancel_cmd}')
|
|
619
|
-
raise
|
|
625
|
+
raise
|
|
620
626
|
|
|
621
627
|
def __import_run_manifests(self, starttimes):
|
|
622
628
|
if not self.__setup_information_loaded:
|
{siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/cli/board.py
RENAMED
|
@@ -609,7 +609,7 @@ class Board:
|
|
|
609
609
|
if layout.log_height == 0:
|
|
610
610
|
return None
|
|
611
611
|
|
|
612
|
-
table = Table(box=None)
|
|
612
|
+
table = Table(box=None, width=layout.width)
|
|
613
613
|
table.add_column(overflow="ellipsis", no_wrap=True, vertical="bottom")
|
|
614
614
|
table.show_edge = False
|
|
615
615
|
table.show_lines = False
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import io
|
|
2
1
|
import logging
|
|
3
2
|
import multiprocessing
|
|
4
3
|
import os
|
|
@@ -6,7 +5,6 @@ import re
|
|
|
6
5
|
import shutil
|
|
7
6
|
import sys
|
|
8
7
|
import tempfile
|
|
9
|
-
import traceback
|
|
10
8
|
|
|
11
9
|
import os.path
|
|
12
10
|
|
|
@@ -186,47 +184,6 @@ class Scheduler:
|
|
|
186
184
|
task_scheduler.run(self.__joblog_handler)
|
|
187
185
|
task_scheduler.check()
|
|
188
186
|
|
|
189
|
-
def __excepthook(self, exc_type, exc_value, exc_traceback):
|
|
190
|
-
"""
|
|
191
|
-
Handle uncaught exceptions by recording them to the job log, emitting a full traceback,
|
|
192
|
-
stopping any running dashboard, and notifying the multiprocessing manager.
|
|
193
|
-
|
|
194
|
-
Logs a concise exception summary and the full traceback to the scheduler's job logger,
|
|
195
|
-
forwards KeyboardInterrupt to the default system excepthook, invokes the
|
|
196
|
-
project's dashboard stop method when present, and signals an uncaught exception
|
|
197
|
-
to the multiprocessing manager.
|
|
198
|
-
|
|
199
|
-
Parameters:
|
|
200
|
-
exc_type (Type[BaseException]): Exception class of the uncaught exception.
|
|
201
|
-
exc_value (BaseException): Exception instance (may contain the message).
|
|
202
|
-
exc_traceback (types.TracebackType): Traceback object for the exception.
|
|
203
|
-
"""
|
|
204
|
-
if issubclass(exc_type, KeyboardInterrupt):
|
|
205
|
-
sys.__excepthook__(exc_type, exc_value, exc_traceback)
|
|
206
|
-
return
|
|
207
|
-
|
|
208
|
-
# Print a summary of the exception
|
|
209
|
-
except_msg = f"Exception raised: {exc_type.__name__}"
|
|
210
|
-
exc_value = str(exc_value).strip()
|
|
211
|
-
if exc_value:
|
|
212
|
-
except_msg += f" / {exc_value}"
|
|
213
|
-
self.__logger.error(except_msg)
|
|
214
|
-
|
|
215
|
-
trace = io.StringIO()
|
|
216
|
-
|
|
217
|
-
# Print the full traceback for debugging
|
|
218
|
-
self.__logger.error("Traceback (most recent call last):")
|
|
219
|
-
traceback.print_tb(exc_traceback, file=trace)
|
|
220
|
-
for line in trace.getvalue().splitlines():
|
|
221
|
-
self.__logger.error(line)
|
|
222
|
-
|
|
223
|
-
# Ensure dashboard receives a stop if running
|
|
224
|
-
if self.__project._Project__dashboard:
|
|
225
|
-
self.__project._Project__dashboard.stop()
|
|
226
|
-
|
|
227
|
-
# Mark error to keep logfile
|
|
228
|
-
MPManager.error("uncaught exception")
|
|
229
|
-
|
|
230
187
|
def __install_file_logger(self) -> None:
|
|
231
188
|
"""
|
|
232
189
|
Set up a per-job file logger for the current project and attach it to the
|
|
@@ -256,26 +213,23 @@ class Scheduler:
|
|
|
256
213
|
The main entry point to start the compilation flow.
|
|
257
214
|
|
|
258
215
|
This method orchestrates the entire run, including:
|
|
259
|
-
-
|
|
216
|
+
- Performing robust error handling and logging.
|
|
260
217
|
- Initializing the job directory and log files.
|
|
261
218
|
- Configuring and setting up all nodes in the flow.
|
|
262
219
|
- Validating the manifest.
|
|
263
220
|
- Executing the core run loop.
|
|
264
221
|
- Recording the final results and history.
|
|
265
222
|
"""
|
|
266
|
-
# Install hook to ensure exception is logged
|
|
267
|
-
org_excepthook = sys.excepthook
|
|
268
|
-
sys.excepthook = self.__excepthook
|
|
269
223
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
self.__org_job_name = None
|
|
224
|
+
# Determine job name first so we can create a log
|
|
225
|
+
if not self.__increment_job_name():
|
|
226
|
+
# No need to copy, no remove org job name
|
|
227
|
+
self.__org_job_name = None
|
|
275
228
|
|
|
276
|
-
|
|
277
|
-
|
|
229
|
+
# Clean the directory early if needed
|
|
230
|
+
self.__clean_build_dir_full()
|
|
278
231
|
|
|
232
|
+
try:
|
|
279
233
|
# Install job file logger
|
|
280
234
|
self.__install_file_logger()
|
|
281
235
|
|
|
@@ -317,9 +271,6 @@ class Scheduler:
|
|
|
317
271
|
|
|
318
272
|
try:
|
|
319
273
|
self.run_core()
|
|
320
|
-
except SCRuntimeError as e:
|
|
321
|
-
raise e
|
|
322
|
-
|
|
323
274
|
finally:
|
|
324
275
|
# Store run in history
|
|
325
276
|
self.__project._record_history()
|
|
@@ -328,13 +279,24 @@ class Scheduler:
|
|
|
328
279
|
self.__project.write_manifest(self.manifest)
|
|
329
280
|
|
|
330
281
|
send_messages.send(self.__project, 'summary', None, None)
|
|
282
|
+
except KeyboardInterrupt:
|
|
283
|
+
pass
|
|
284
|
+
except SCRuntimeError:
|
|
285
|
+
raise
|
|
286
|
+
except Exception as e:
|
|
287
|
+
utils.print_traceback(self.__logger, e)
|
|
288
|
+
|
|
289
|
+
if self.__project._Project__dashboard:
|
|
290
|
+
self.__project._Project__dashboard.stop()
|
|
291
|
+
|
|
292
|
+
MPManager.error(str(e) or "uncaught exception")
|
|
293
|
+
|
|
294
|
+
raise SCRuntimeError(str(e))
|
|
331
295
|
finally:
|
|
332
296
|
if self.__joblog_handler is not None:
|
|
333
297
|
self.__logger.removeHandler(self.__joblog_handler)
|
|
334
298
|
self.__joblog_handler.close()
|
|
335
299
|
self.__joblog_handler = logging.NullHandler()
|
|
336
|
-
# Restore hook
|
|
337
|
-
sys.excepthook = org_excepthook
|
|
338
300
|
|
|
339
301
|
def __check_tool_requirements(self) -> bool:
|
|
340
302
|
"""
|
|
@@ -795,7 +757,7 @@ class Scheduler:
|
|
|
795
757
|
runrequired.log(self.__logger)
|
|
796
758
|
|
|
797
759
|
if isinstance(runrequired, SchedulerFlowReset):
|
|
798
|
-
raise runrequired
|
|
760
|
+
raise runrequired
|
|
799
761
|
|
|
800
762
|
# This node must be run
|
|
801
763
|
self.__mark_pending(*node)
|
{siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/schedulernode.py
RENAMED
|
@@ -407,10 +407,10 @@ class SchedulerNode:
|
|
|
407
407
|
self.__record.set('status', NodeStatus.SKIPPED,
|
|
408
408
|
step=self.__step, index=self.__index)
|
|
409
409
|
return False
|
|
410
|
-
except Exception
|
|
410
|
+
except Exception:
|
|
411
411
|
self.logger.error(f'Failed to run setup() for {self.__step}/{self.__index} '
|
|
412
412
|
f'with {task.tool()}/{task.task()}')
|
|
413
|
-
raise
|
|
413
|
+
raise
|
|
414
414
|
|
|
415
415
|
return True
|
|
416
416
|
|
|
@@ -951,7 +951,7 @@ class SchedulerNode:
|
|
|
951
951
|
self.logger.error(
|
|
952
952
|
f"Pre-processing failed for {self.__task.tool()}/{self.__task.task()}")
|
|
953
953
|
utils.print_traceback(self.logger, e)
|
|
954
|
-
raise
|
|
954
|
+
raise
|
|
955
955
|
|
|
956
956
|
if self.__record.get('status', step=self.__step, index=self.__index) == NodeStatus.SKIPPED:
|
|
957
957
|
# copy inputs to outputs and skip execution
|
|
@@ -1007,8 +1007,8 @@ class SchedulerNode:
|
|
|
1007
1007
|
step=self.__step, index=self.__index),
|
|
1008
1008
|
self.__project.get('option', 'timeout',
|
|
1009
1009
|
step=self.__step, index=self.__index))
|
|
1010
|
-
except Exception
|
|
1011
|
-
raise
|
|
1010
|
+
except Exception:
|
|
1011
|
+
raise
|
|
1012
1012
|
|
|
1013
1013
|
if ret_code != 0:
|
|
1014
1014
|
msg = f'Command failed with code {ret_code}.'
|
|
@@ -8,6 +8,7 @@ import contextlib
|
|
|
8
8
|
import copy
|
|
9
9
|
import importlib
|
|
10
10
|
import logging
|
|
11
|
+
import pathlib
|
|
11
12
|
|
|
12
13
|
try:
|
|
13
14
|
import gzip
|
|
@@ -385,10 +386,18 @@ class BaseSchema:
|
|
|
385
386
|
fout = BaseSchema.__open_file(filepath, is_read=False)
|
|
386
387
|
|
|
387
388
|
try:
|
|
389
|
+
def default(obj: Any) -> Any:
|
|
390
|
+
if isinstance(obj, pathlib.PurePath):
|
|
391
|
+
# Cast everything to a windows path and convert to posix.
|
|
392
|
+
# https://stackoverflow.com/questions/73682260
|
|
393
|
+
return pathlib.PureWindowsPath(obj).as_posix()
|
|
394
|
+
raise TypeError
|
|
395
|
+
|
|
388
396
|
if _has_orjson:
|
|
389
|
-
manifest_str = json.dumps(self.getdict(), option=json.OPT_INDENT_2
|
|
397
|
+
manifest_str = json.dumps(self.getdict(), option=json.OPT_INDENT_2,
|
|
398
|
+
default=default).decode()
|
|
390
399
|
else:
|
|
391
|
-
manifest_str = json.dumps(self.getdict(), indent=2)
|
|
400
|
+
manifest_str = json.dumps(self.getdict(), indent=2, default=default)
|
|
392
401
|
fout.write(manifest_str)
|
|
393
402
|
finally:
|
|
394
403
|
fout.close()
|
|
@@ -503,7 +512,7 @@ class BaseSchema:
|
|
|
503
512
|
except Exception as e:
|
|
504
513
|
new_msg = f"error while accessing {self.__format_key(*keypath)}: {e.args[0]}"
|
|
505
514
|
e.args = (new_msg, *e.args[1:])
|
|
506
|
-
raise
|
|
515
|
+
raise
|
|
507
516
|
|
|
508
517
|
def set(self, *args, field: str = 'value', clobber: bool = True,
|
|
509
518
|
step: Optional[str] = None, index: Optional[Union[int, str]] = None) \
|
|
@@ -550,7 +559,7 @@ class BaseSchema:
|
|
|
550
559
|
except Exception as e:
|
|
551
560
|
new_msg = f"error while setting {self.__format_key(*keypath)}: {e.args[0]}"
|
|
552
561
|
e.args = (new_msg, *e.args[1:])
|
|
553
|
-
raise
|
|
562
|
+
raise
|
|
554
563
|
|
|
555
564
|
def add(self, *args, field: str = 'value',
|
|
556
565
|
step: Optional[str] = None, index: Optional[Union[int, str]] = None) \
|
|
@@ -595,7 +604,7 @@ class BaseSchema:
|
|
|
595
604
|
except Exception as e:
|
|
596
605
|
new_msg = f"error while adding to {self.__format_key(*keypath)}: {e.args[0]}"
|
|
597
606
|
e.args = (new_msg, *e.args[1:])
|
|
598
|
-
raise
|
|
607
|
+
raise
|
|
599
608
|
|
|
600
609
|
def unset(self, *keypath: str,
|
|
601
610
|
step: Optional[str] = None,
|
|
@@ -636,7 +645,7 @@ class BaseSchema:
|
|
|
636
645
|
except Exception as e:
|
|
637
646
|
new_msg = f"error while unsetting {self.__format_key(*keypath)}: {e.args[0]}"
|
|
638
647
|
e.args = (new_msg, *e.args[1:])
|
|
639
|
-
raise
|
|
648
|
+
raise
|
|
640
649
|
|
|
641
650
|
def remove(self, *keypath: str):
|
|
642
651
|
'''
|
{siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/cmdlineschema.py
RENAMED
|
@@ -143,7 +143,7 @@ class CommandLineSchema(BaseSchema):
|
|
|
143
143
|
# Grab config from argv
|
|
144
144
|
try:
|
|
145
145
|
cfg_index = sys.argv.index("-cfg", 1)
|
|
146
|
-
if cfg_index < len(sys.argv):
|
|
146
|
+
if cfg_index + 1 < len(sys.argv):
|
|
147
147
|
cfg_file = sys.argv[cfg_index + 1]
|
|
148
148
|
except ValueError:
|
|
149
149
|
pass
|
|
@@ -161,7 +161,8 @@ class CommandLineSchema(BaseSchema):
|
|
|
161
161
|
# Add commandline key for input files
|
|
162
162
|
if not isinstance(schema, CommandLineSchema):
|
|
163
163
|
raise TypeError("Schema is not a commandline class")
|
|
164
|
-
|
|
164
|
+
|
|
165
|
+
if not schema.valid("cmdarg", "input"):
|
|
165
166
|
schema._add_commandline_argument("input", "[file]", "input files", ...)
|
|
166
167
|
keyschema._add_commandline_argument("input", "[file]", "input files", ...)
|
|
167
168
|
|
{siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/filesetschema.py
RENAMED
|
@@ -122,9 +122,9 @@ class FileSetSchema(PathSchema):
|
|
|
122
122
|
|
|
123
123
|
try:
|
|
124
124
|
dataroot = self._get_active_dataroot(dataroot)
|
|
125
|
-
except ValueError
|
|
125
|
+
except ValueError:
|
|
126
126
|
if not os.path.isabs(filename):
|
|
127
|
-
raise
|
|
127
|
+
raise
|
|
128
128
|
|
|
129
129
|
# adding files to dictionary
|
|
130
130
|
with self.active_dataroot(dataroot):
|