siliconcompiler 0.33.0__tar.gz → 0.33.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/Changes +18 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/PKG-INFO +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/pyproject.toml +4 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/_common.py +5 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/_metadata.py +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_install.py +7 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_remote.py +7 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/core.py +34 -12
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/metric.py +59 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/record.py +6 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/client.py +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server.py +7 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/cli/__init__.py +2 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/cli/board.py +34 -30
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/report.py +10 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/utils.py +12 -6
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/__init__.py +137 -974
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/send_messages.py +9 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/slurm.py +10 -43
- siliconcompiler-0.33.1/siliconcompiler/scheduler/taskscheduler.py +320 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/schema_cfg.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tool.py +127 -19
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/asic.py +5 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/bluespec/convert.py +2 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/_common.py +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/concatenate.py +6 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/minimum.py +7 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/mux.py +7 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/nop.py +7 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/verify.py +7 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/chisel/convert.py +10 -10
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/drc.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout_show.py +6 -6
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout_utils.py +12 -12
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/netgen/count_lvs.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/netgen/lvs.py +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/_apr.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -7
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +18 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +1 -7
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +10 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/timing.py +11 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/slang/__init__.py +3 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/slang/elaborate.py +6 -6
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/slang/lint.py +1 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/_xml_constraint.py +8 -8
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/prepareLib.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/sc_synth_asic.tcl +43 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/screenshot.py +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/syn_asic.py +5 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/_tools.json +8 -6
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +8 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel8}/install-magic.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-montage.sh +1 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel8}/install-netgen.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-slang.sh +11 -4
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +11 -4
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-verible.sh +11 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel8}/install-verilator.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +15 -10
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +8 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel9}/install-magic.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-montage.sh +1 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel9}/install-netgen.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +16 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-opensta.sh +17 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-slang.sh +11 -4
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +11 -4
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-verible.sh +11 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/rhel9}/install-verilator.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-vpr.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +15 -10
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +10 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-chisel.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +8 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-magic.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-openroad.sh +16 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-opensta.sh +16 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-slurm.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-verible.sh +11 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-xdm.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-xyce.sh +13 -8
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-yosys-moosic.sh +10 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu20}/install-yosys.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +10 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-chisel.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-ghdl.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +8 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-magic.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-montage.sh +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-nextpnr.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-openroad.sh +16 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-opensta.sh +17 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-slurm.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-surelog.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-sv2v.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-verible.sh +11 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-verilator.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-vpr.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-xdm.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-xyce.sh +13 -8
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-yosys-moosic.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-yosys-parmys.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu22}/install-yosys.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +12 -4
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +10 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-chisel.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-ghdl.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +8 -1
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-magic.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-montage.sh +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-nextpnr.sh +9 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-openroad.sh +16 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +17 -5
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-slurm.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-surelog.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-sv2v.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-verible.sh +11 -3
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-verilator.sh +9 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-vpr.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +10 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +13 -8
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-yosys-moosic.sh +11 -4
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-yosys-parmys.sh +10 -3
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +10 -2
- {siliconcompiler-0.33.0/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.33.1/siliconcompiler/toolscripts/ubuntu24}/install-yosys.sh +9 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/__init__.py +11 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/flowgraph.py +6 -101
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/issue.py +15 -23
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/logging.py +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/PKG-INFO +2 -2
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/SOURCES.txt +1 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/requires.txt +1 -1
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/.dockerignore +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/.flake8 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/.gitattributes +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/.gitignore +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/LICENSE +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/MANIFEST.in +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/README.md +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/SECURITY.md +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/scripts/.gitignore +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/scripts/check_library.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/scripts/report_library.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/setup.cfg +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/asic.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/checklist.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/email/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/email/general.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/issue/README.txt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/issue/run.sh +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/replay/replay.sh.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/report/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/data/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/_common.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/fpga.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/package/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/package/git.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/package/github.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/package/https.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/pdk.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/components/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/components/flowgraph.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/components/graph.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/layouts/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/layouts/_common.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/state.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/utils/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/utils/file_utils.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/web/viewer.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/docker_runner.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/baseschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/cmdlineschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/docs/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/docs/dynamicgen.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/docs/schemagen.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/docs/utils.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/editableschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/journalingschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/namedschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/packageschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/parameter.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/parametertype.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/parametervalue.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/safeschema.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/schema_obj.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/asic_clock.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/export.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/magic.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/power_grid.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/template/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/lec.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/sc_synth_fpga.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/utils/units.py +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,12 +8,29 @@ 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.33.1 (2025-05-23)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Minor:**
|
|
15
|
+
|
|
16
|
+
* Removed flowgraph utility functions and replaced with calls to flowgraph class.
|
|
17
|
+
* Fixed manifest merging during remote run.
|
|
18
|
+
* Switched core scheduler code to be class instead of a collection methods.
|
|
19
|
+
* Attempt to determine if sudo is needed during `sc-install` and selectively apply it.
|
|
20
|
+
|
|
21
|
+
* Tools:
|
|
22
|
+
|
|
23
|
+
* opensta: added support for sdf reading.
|
|
24
|
+
* slang: use elaboration for linting to ensure user feedback.
|
|
25
|
+
* yosys: ensure cell areas are annotated before determining flattening.
|
|
26
|
+
|
|
27
|
+
|
|
11
28
|
SiliconCompiler 0.33.0 (2025-05-19)
|
|
12
29
|
=========================================
|
|
13
30
|
|
|
14
31
|
**Major:**
|
|
15
32
|
|
|
16
|
-
* Core schema
|
|
33
|
+
* Core schema infrastructure rewritten to provide better testing and easier use when integration changes.
|
|
17
34
|
|
|
18
35
|
**Minor:**
|
|
19
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.33.
|
|
3
|
+
Version: 0.33.1
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -49,7 +49,7 @@ Requires-Dist: orjson==3.10.15; python_version <= "3.8"
|
|
|
49
49
|
Requires-Dist: orjson==3.10.18; python_version >= "3.9"
|
|
50
50
|
Requires-Dist: pyslang==8.0.0
|
|
51
51
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
52
|
-
Requires-Dist: streamlit==1.45.
|
|
52
|
+
Requires-Dist: streamlit==1.45.1; python_version >= "3.9" and python_full_version != "3.9.7"
|
|
53
53
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
54
54
|
Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
|
|
55
55
|
Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
|
|
@@ -58,7 +58,7 @@ dependencies = [
|
|
|
58
58
|
|
|
59
59
|
# dashboard, streamlit does not support 3.9.7
|
|
60
60
|
"streamlit == 1.40.1; python_version <= '3.8'",
|
|
61
|
-
"streamlit == 1.45.
|
|
61
|
+
"streamlit == 1.45.1; python_version >= '3.9' and python_full_version != '3.9.7'",
|
|
62
62
|
"streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
|
|
63
63
|
"streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
|
|
64
64
|
"streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
|
|
@@ -165,6 +165,9 @@ asyncio_default_fixture_loop_scope = "function"
|
|
|
165
165
|
filterwarnings = [
|
|
166
166
|
"ignore:pkg_resources is deprecated as an API:DeprecationWarning",
|
|
167
167
|
'ignore:Deprecated call to `pkg_resources.declare_namespace.*:DeprecationWarning',
|
|
168
|
+
'ignore:The distutils\.sysconfig module is deprecated, use sysconfig instead',
|
|
169
|
+
'ignore:The distutils package is deprecated and slated for removal in Python 3\.12',
|
|
170
|
+
'ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release',
|
|
168
171
|
'ignore:.* is multi-threaded, use of fork\(\) may lead to deadlocks in the child.:DeprecationWarning'
|
|
169
172
|
]
|
|
170
173
|
|
|
@@ -14,6 +14,7 @@ class NodeStatus():
|
|
|
14
14
|
SKIPPED = 'skipped'
|
|
15
15
|
TIMEOUT = 'timeout'
|
|
16
16
|
|
|
17
|
+
@staticmethod
|
|
17
18
|
def is_done(status):
|
|
18
19
|
return status in (
|
|
19
20
|
NodeStatus.SUCCESS,
|
|
@@ -22,23 +23,27 @@ class NodeStatus():
|
|
|
22
23
|
NodeStatus.TIMEOUT
|
|
23
24
|
)
|
|
24
25
|
|
|
26
|
+
@staticmethod
|
|
25
27
|
def is_running(status):
|
|
26
28
|
return status in (
|
|
27
29
|
NodeStatus.QUEUED,
|
|
28
30
|
NodeStatus.RUNNING
|
|
29
31
|
)
|
|
30
32
|
|
|
33
|
+
@staticmethod
|
|
31
34
|
def is_waiting(status):
|
|
32
35
|
return status in (
|
|
33
36
|
NodeStatus.PENDING,
|
|
34
37
|
)
|
|
35
38
|
|
|
39
|
+
@staticmethod
|
|
36
40
|
def is_success(status):
|
|
37
41
|
return status in (
|
|
38
42
|
NodeStatus.SUCCESS,
|
|
39
43
|
NodeStatus.SKIPPED
|
|
40
44
|
)
|
|
41
45
|
|
|
46
|
+
@staticmethod
|
|
42
47
|
def is_error(status):
|
|
43
48
|
return status in (
|
|
44
49
|
NodeStatus.ERROR,
|
|
@@ -42,6 +42,13 @@ def install_tool(tool, script, build_dir, prefix):
|
|
|
42
42
|
# setup environment
|
|
43
43
|
env = os.environ.copy()
|
|
44
44
|
env["PREFIX"] = prefix
|
|
45
|
+
env["USE_SUDO_INSTALL"] = "no"
|
|
46
|
+
try:
|
|
47
|
+
os.makedirs(prefix, exist_ok=True)
|
|
48
|
+
except PermissionError:
|
|
49
|
+
env["USE_SUDO_INSTALL"] = "yes"
|
|
50
|
+
if not os.access(prefix, os.W_OK):
|
|
51
|
+
env["USE_SUDO_INSTALL"] = "yes"
|
|
45
52
|
|
|
46
53
|
# run
|
|
47
54
|
ret = subprocess.call(script, env=env, cwd=build_dir)
|
|
@@ -6,7 +6,7 @@ from siliconcompiler import Chip
|
|
|
6
6
|
from siliconcompiler import SiliconCompilerError
|
|
7
7
|
from siliconcompiler.remote.client import Client, ConfigureClient
|
|
8
8
|
from siliconcompiler.scheduler import _finalize_run
|
|
9
|
-
from siliconcompiler.
|
|
9
|
+
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def main():
|
|
@@ -170,7 +170,12 @@ To delete a job, use:
|
|
|
170
170
|
return 1
|
|
171
171
|
|
|
172
172
|
# Wrap up run
|
|
173
|
-
|
|
173
|
+
runtime = RuntimeFlowgraph(
|
|
174
|
+
chip.schema.get("flowgraph", flow, field='schema'),
|
|
175
|
+
from_steps=chip.get('option', 'from'),
|
|
176
|
+
to_steps=chip.get('option', 'to'),
|
|
177
|
+
prune_nodes=chip.get('option', 'prune'))
|
|
178
|
+
for step, index in runtime.get_nodes():
|
|
174
179
|
manifest = os.path.join(chip.getworkdir(step=step, index=index),
|
|
175
180
|
'outputs',
|
|
176
181
|
f'{chip.design}.pkg.json')
|
|
@@ -37,10 +37,7 @@ from siliconcompiler.report.dashboard import DashboardType
|
|
|
37
37
|
from siliconcompiler import package as sc_package
|
|
38
38
|
import glob
|
|
39
39
|
from siliconcompiler.scheduler import run as sc_runner
|
|
40
|
-
from siliconcompiler.utils.flowgraph import
|
|
41
|
-
_get_pruned_node_inputs, \
|
|
42
|
-
_get_flowgraph_execution_order, _check_flowgraph_io, \
|
|
43
|
-
_get_flowgraph_information
|
|
40
|
+
from siliconcompiler.utils.flowgraph import _check_flowgraph_io, _get_flowgraph_information
|
|
44
41
|
from siliconcompiler.tools._common import get_tool_task
|
|
45
42
|
from types import FunctionType, ModuleType
|
|
46
43
|
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
@@ -1622,11 +1619,26 @@ class Chip:
|
|
|
1622
1619
|
error = True
|
|
1623
1620
|
self.logger.error(f"flowgraph {flow} not defined.")
|
|
1624
1621
|
|
|
1625
|
-
|
|
1622
|
+
runtime = RuntimeFlowgraph(
|
|
1623
|
+
self.schema.get("flowgraph", flow, field='schema'),
|
|
1624
|
+
args=(self.get('arg', 'step'), self.get('arg', 'index')),
|
|
1625
|
+
from_steps=self.get('option', 'from'),
|
|
1626
|
+
to_steps=self.get('option', 'to'),
|
|
1627
|
+
prune_nodes=self.get('option', 'prune'))
|
|
1628
|
+
|
|
1629
|
+
nodes = [node for node in runtime.get_nodes()
|
|
1626
1630
|
if self.get('record', 'status', step=node[0], index=node[1])
|
|
1627
1631
|
!= NodeStatus.SKIPPED]
|
|
1632
|
+
flow_schema = self.schema.get("flowgraph", flow, field="schema")
|
|
1633
|
+
runtime_io = RuntimeFlowgraph(
|
|
1634
|
+
flow_schema,
|
|
1635
|
+
args=(self.get('arg', 'step'), self.get('arg', 'index')),
|
|
1636
|
+
from_steps=set([step for step, _ in flow_schema.get_entry_nodes()]),
|
|
1637
|
+
prune_nodes=self.get('option', 'prune'))
|
|
1638
|
+
|
|
1628
1639
|
for (step, index) in nodes:
|
|
1629
|
-
for in_step, in_index in
|
|
1640
|
+
for in_step, in_index in runtime_io.get_node_inputs(
|
|
1641
|
+
step, index, record=self.schema.get("record", field="schema")):
|
|
1630
1642
|
if (in_step, in_index) in nodes:
|
|
1631
1643
|
# we're gonna run this step, OK
|
|
1632
1644
|
continue
|
|
@@ -1717,7 +1729,7 @@ class Chip:
|
|
|
1717
1729
|
error = True
|
|
1718
1730
|
self.logger.error(f'No executable or run() function specified for {tool}/{task}')
|
|
1719
1731
|
|
|
1720
|
-
if not _check_flowgraph_io(self, nodes=nodes):
|
|
1732
|
+
if not error and not _check_flowgraph_io(self, nodes=nodes):
|
|
1721
1733
|
error = True
|
|
1722
1734
|
|
|
1723
1735
|
return not error
|
|
@@ -2748,7 +2760,13 @@ class Chip:
|
|
|
2748
2760
|
flow = self.get('option', 'flow')
|
|
2749
2761
|
flowgraph_nodes = [(step, index) for index in self.getkeys("flowgraph", flow, step)]
|
|
2750
2762
|
else:
|
|
2751
|
-
|
|
2763
|
+
flow = self.get('option', 'flow')
|
|
2764
|
+
runtime = RuntimeFlowgraph(
|
|
2765
|
+
self.schema.get("flowgraph", flow, field='schema'),
|
|
2766
|
+
from_steps=self.get('option', 'from'),
|
|
2767
|
+
to_steps=self.get('option', 'to'),
|
|
2768
|
+
prune_nodes=self.get('option', 'prune'))
|
|
2769
|
+
flowgraph_nodes = runtime.get_nodes()
|
|
2752
2770
|
|
|
2753
2771
|
if not archive_name:
|
|
2754
2772
|
if step and index:
|
|
@@ -3231,14 +3249,18 @@ class Chip:
|
|
|
3231
3249
|
search_nodes.append((sc_step, sc_index))
|
|
3232
3250
|
elif sc_step:
|
|
3233
3251
|
if flow is not None:
|
|
3234
|
-
|
|
3252
|
+
runtime = RuntimeFlowgraph(
|
|
3253
|
+
self.schema.get("flowgraph", flow, field='schema'),
|
|
3254
|
+
from_steps=self.get('option', 'from'),
|
|
3255
|
+
to_steps=self.get('option', 'to'),
|
|
3256
|
+
prune_nodes=self.get('option', 'prune'))
|
|
3257
|
+
for check_step, check_index in runtime.get_nodes():
|
|
3235
3258
|
if sc_step == check_step:
|
|
3236
3259
|
search_nodes.append((check_step, check_index))
|
|
3237
3260
|
else:
|
|
3238
3261
|
if flow is not None:
|
|
3239
|
-
for nodes in
|
|
3240
|
-
|
|
3241
|
-
reverse=True):
|
|
3262
|
+
for nodes in self.schema.get(
|
|
3263
|
+
"flowgraph", flow, field="schema").get_execution_order(reverse=True):
|
|
3242
3264
|
search_nodes.extend(nodes)
|
|
3243
3265
|
|
|
3244
3266
|
for ext in self._showtools.keys():
|
|
@@ -3,6 +3,7 @@ from siliconcompiler.schema import EditableSchema, Parameter, PerNode, Scope
|
|
|
3
3
|
from siliconcompiler.schema.utils import trim
|
|
4
4
|
|
|
5
5
|
from siliconcompiler.utils.units import convert
|
|
6
|
+
from siliconcompiler.record import RecordTime
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
class MetricSchema(BaseSchema):
|
|
@@ -43,6 +44,64 @@ class MetricSchema(BaseSchema):
|
|
|
43
44
|
|
|
44
45
|
return self.set(metric, value, step=step, index=str(index))
|
|
45
46
|
|
|
47
|
+
def record_totaltime(self, step, index, flow, record):
|
|
48
|
+
"""
|
|
49
|
+
Record the total time for this node
|
|
50
|
+
|
|
51
|
+
Args:
|
|
52
|
+
step (str): step to record
|
|
53
|
+
index (str/int): index to record
|
|
54
|
+
flow (:class:`FlowgraphSchema`): flowgraph to lookup nodes in
|
|
55
|
+
record (:class:`RecordSchema`): record to lookup data in
|
|
56
|
+
"""
|
|
57
|
+
all_nodes = flow.get_nodes()
|
|
58
|
+
node_times = [
|
|
59
|
+
(record.get_recorded_time(*node, RecordTime.START),
|
|
60
|
+
record.get_recorded_time(*node, RecordTime.END)) for node in all_nodes
|
|
61
|
+
]
|
|
62
|
+
|
|
63
|
+
# Remove incomplete records
|
|
64
|
+
node_times = [times for times in node_times if times[0] is not None]
|
|
65
|
+
|
|
66
|
+
if len(node_times) == 0:
|
|
67
|
+
return False
|
|
68
|
+
|
|
69
|
+
node_end = record.get_recorded_time(step, index, RecordTime.END)
|
|
70
|
+
if node_end is None:
|
|
71
|
+
return False
|
|
72
|
+
|
|
73
|
+
node_times = sorted(node_times)
|
|
74
|
+
if len(node_times) > 1:
|
|
75
|
+
new_times = []
|
|
76
|
+
for n in range(len(node_times)):
|
|
77
|
+
if not new_times:
|
|
78
|
+
new_times.append(node_times[n])
|
|
79
|
+
continue
|
|
80
|
+
prev_start_time, prev_end_time = new_times[-1]
|
|
81
|
+
start_time, end_time = node_times[n]
|
|
82
|
+
|
|
83
|
+
new_start = min(prev_start_time, start_time)
|
|
84
|
+
|
|
85
|
+
if prev_end_time is None:
|
|
86
|
+
new_times[-1] = (new_start, end_time)
|
|
87
|
+
elif prev_end_time >= start_time:
|
|
88
|
+
if end_time is not None:
|
|
89
|
+
new_end = max(prev_end_time, end_time)
|
|
90
|
+
else:
|
|
91
|
+
new_end = prev_end_time
|
|
92
|
+
new_times[-1] = (new_start, new_end)
|
|
93
|
+
else:
|
|
94
|
+
new_times.append(node_times[n])
|
|
95
|
+
node_times = new_times
|
|
96
|
+
|
|
97
|
+
total_time = 0
|
|
98
|
+
for start_time, end_time in node_times:
|
|
99
|
+
if start_time > node_end:
|
|
100
|
+
continue
|
|
101
|
+
total_time += min(end_time, node_end) - start_time
|
|
102
|
+
|
|
103
|
+
return self.record(step, index, "totaltime", total_time, unit="s")
|
|
104
|
+
|
|
46
105
|
|
|
47
106
|
###########################################################################
|
|
48
107
|
# Metrics to Track
|
|
@@ -259,7 +259,7 @@ class RecordSchema(BaseSchema):
|
|
|
259
259
|
|
|
260
260
|
def get_recorded_time(self, step, index, type):
|
|
261
261
|
'''
|
|
262
|
-
Returns the time recorded for a given record.
|
|
262
|
+
Returns the time recorded for a given record, or None if nothing is recorded.
|
|
263
263
|
|
|
264
264
|
Args:
|
|
265
265
|
step (str): Step name to associate.
|
|
@@ -267,8 +267,12 @@ class RecordSchema(BaseSchema):
|
|
|
267
267
|
type (:class:`RecordTime`): type of time to record
|
|
268
268
|
'''
|
|
269
269
|
type = RecordTime(type)
|
|
270
|
+
record_time = self.get(type.value, step=step, index=index)
|
|
271
|
+
if record_time is None:
|
|
272
|
+
return None
|
|
273
|
+
|
|
270
274
|
return datetime.strptime(
|
|
271
|
-
|
|
275
|
+
record_time+"+0000",
|
|
272
276
|
RecordSchema.__TIMEFORMAT+"%z").timestamp()
|
|
273
277
|
|
|
274
278
|
def record_tool(self, step, index, info, type):
|
|
@@ -13,9 +13,10 @@ import multiprocessing
|
|
|
13
13
|
from siliconcompiler import utils, SiliconCompilerError, NodeStatus
|
|
14
14
|
from siliconcompiler import NodeStatus as SCNodeStatus
|
|
15
15
|
from siliconcompiler._metadata import default_server
|
|
16
|
-
from siliconcompiler.utils.flowgraph import nodes_to_execute
|
|
17
16
|
from siliconcompiler.remote import JobStatus
|
|
18
17
|
from siliconcompiler.report.dashboard import DashboardType
|
|
18
|
+
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
19
|
+
from siliconcompiler.schema import JournalingSchema
|
|
19
20
|
|
|
20
21
|
# Step name to use while logging
|
|
21
22
|
remote_step_name = 'remote'
|
|
@@ -590,7 +591,7 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
590
591
|
f'{self.__chip.design}.pkg.json')
|
|
591
592
|
if os.path.exists(manifest):
|
|
592
593
|
try:
|
|
593
|
-
self.__chip.schema.read_journal(manifest)
|
|
594
|
+
JournalingSchema(self.__chip.schema).read_journal(manifest)
|
|
594
595
|
node_info["imported"] = True
|
|
595
596
|
changed = True
|
|
596
597
|
except: # noqa E722
|
|
@@ -618,7 +619,13 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
618
619
|
self.__check_interval = check_info['progress_interval']
|
|
619
620
|
|
|
620
621
|
self.__node_information = {}
|
|
621
|
-
|
|
622
|
+
runtime = RuntimeFlowgraph(
|
|
623
|
+
self.__chip.schema.get("flowgraph", self.__chip.get('option', 'flow'), field='schema'),
|
|
624
|
+
from_steps=self.__chip.get('option', 'from'),
|
|
625
|
+
to_steps=self.__chip.get('option', 'to'),
|
|
626
|
+
prune_nodes=self.__chip.get('option', 'prune'))
|
|
627
|
+
|
|
628
|
+
for step, index in runtime.get_nodes():
|
|
622
629
|
done = SCNodeStatus.is_done(self.__chip.get('record', 'status', step=step, index=index))
|
|
623
630
|
node_info = {
|
|
624
631
|
"step": step,
|
|
@@ -21,7 +21,7 @@ from siliconcompiler.schema import SCHEMA_VERSION as sc_schema_version
|
|
|
21
21
|
from siliconcompiler.remote.schema import ServerSchema
|
|
22
22
|
from siliconcompiler.remote import banner, JobStatus
|
|
23
23
|
from siliconcompiler.scheduler.slurm import get_configuration_directory
|
|
24
|
-
from siliconcompiler.
|
|
24
|
+
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# Compile validation code for API request bodies.
|
|
@@ -422,7 +422,12 @@ class Server:
|
|
|
422
422
|
chip.run()
|
|
423
423
|
|
|
424
424
|
# Archive each task.
|
|
425
|
-
|
|
425
|
+
runtime = RuntimeFlowgraph(
|
|
426
|
+
chip.schema.get("flowgraph", chip.get('option', 'flow'), field='schema'),
|
|
427
|
+
from_steps=chip.get('option', 'from'),
|
|
428
|
+
to_steps=chip.get('option', 'to'),
|
|
429
|
+
prune_nodes=chip.get('option', 'prune'))
|
|
430
|
+
for (step, index) in runtime.get_nodes():
|
|
426
431
|
chip.cwd = os.path.join(chip.get('option', 'builddir'), '..')
|
|
427
432
|
tf = tarfile.open(os.path.join(self.nfs_mount,
|
|
428
433
|
job_hash,
|
{siliconcompiler-0.33.0 → siliconcompiler-0.33.1}/siliconcompiler/report/dashboard/cli/board.py
RENAMED
|
@@ -22,6 +22,8 @@ from siliconcompiler import SiliconCompilerError, NodeStatus
|
|
|
22
22
|
from siliconcompiler.utils.logging import SCColorLoggerFormatter
|
|
23
23
|
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
24
24
|
|
|
25
|
+
import atexit
|
|
26
|
+
|
|
25
27
|
|
|
26
28
|
class LogBufferHandler(logging.Handler):
|
|
27
29
|
def __init__(self, sync_queue, n=50, event=None):
|
|
@@ -246,6 +248,15 @@ class Board(metaclass=BoardSingleton):
|
|
|
246
248
|
|
|
247
249
|
def _init_singleton(self):
|
|
248
250
|
self._console = Console(theme=Board.__theme)
|
|
251
|
+
|
|
252
|
+
self.live = Live(
|
|
253
|
+
console=self._console,
|
|
254
|
+
screen=False,
|
|
255
|
+
auto_refresh=True,
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
atexit.register(self._stop_on_exit)
|
|
259
|
+
|
|
249
260
|
self._active = self._console.is_terminal
|
|
250
261
|
if not self._active:
|
|
251
262
|
self._console = None
|
|
@@ -279,6 +290,9 @@ class Board(metaclass=BoardSingleton):
|
|
|
279
290
|
|
|
280
291
|
self._metrics = ("warnings", "errors")
|
|
281
292
|
|
|
293
|
+
def _stop_on_exit(self):
|
|
294
|
+
self.stop()
|
|
295
|
+
|
|
282
296
|
def open_dashboard(self):
|
|
283
297
|
"""Starts the dashboard rendering thread if it is not already running."""
|
|
284
298
|
|
|
@@ -289,7 +303,7 @@ class Board(metaclass=BoardSingleton):
|
|
|
289
303
|
self._update_render_data(None)
|
|
290
304
|
|
|
291
305
|
with self._job_data_lock:
|
|
292
|
-
if not self._render_thread:
|
|
306
|
+
if not self._render_thread or not self._render_thread.is_alive():
|
|
293
307
|
self._render_thread = threading.Thread(target=self._render, daemon=True)
|
|
294
308
|
self._render_event.clear()
|
|
295
309
|
self._render_stop_event.clear()
|
|
@@ -328,7 +342,6 @@ class Board(metaclass=BoardSingleton):
|
|
|
328
342
|
return
|
|
329
343
|
|
|
330
344
|
self._update_render_data(chip, complete=True)
|
|
331
|
-
self.stop()
|
|
332
345
|
|
|
333
346
|
def stop(self):
|
|
334
347
|
"""
|
|
@@ -337,18 +350,20 @@ class Board(metaclass=BoardSingleton):
|
|
|
337
350
|
if not self.is_running():
|
|
338
351
|
return
|
|
339
352
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
if any([not job.complete for job in self._job_data.values()]):
|
|
344
|
-
return
|
|
353
|
+
if self._job_data:
|
|
354
|
+
if any([not job.complete for job in self._job_data.values()]):
|
|
355
|
+
return
|
|
345
356
|
|
|
346
|
-
|
|
347
|
-
|
|
357
|
+
self._render_stop_event.set()
|
|
358
|
+
self._render_event.set()
|
|
348
359
|
|
|
349
360
|
# Wait for rendering to finish
|
|
350
361
|
self.wait()
|
|
351
362
|
|
|
363
|
+
# Restore terminal
|
|
364
|
+
self.live.stop()
|
|
365
|
+
self._console.show_cursor()
|
|
366
|
+
|
|
352
367
|
def wait(self):
|
|
353
368
|
"""Waits for the dashboard rendering thread to finish."""
|
|
354
369
|
if not self.is_running():
|
|
@@ -595,18 +610,11 @@ class Board(metaclass=BoardSingleton):
|
|
|
595
610
|
# Catch any multiprocessing errors
|
|
596
611
|
return True
|
|
597
612
|
|
|
598
|
-
live = None
|
|
599
613
|
try:
|
|
600
614
|
update_data()
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
screen=False,
|
|
605
|
-
# transient=True,
|
|
606
|
-
auto_refresh=True,
|
|
607
|
-
# refresh_per_second=60,
|
|
608
|
-
)
|
|
609
|
-
live.start()
|
|
615
|
+
|
|
616
|
+
if not self.live.is_started:
|
|
617
|
+
self.live.start(refresh=True)
|
|
610
618
|
|
|
611
619
|
while not check_stop_event():
|
|
612
620
|
try:
|
|
@@ -620,18 +628,14 @@ class Board(metaclass=BoardSingleton):
|
|
|
620
628
|
break
|
|
621
629
|
|
|
622
630
|
update_data()
|
|
623
|
-
live.update(self._get_rendable(), refresh=True)
|
|
631
|
+
self.live.update(self._get_rendable(), refresh=True)
|
|
632
|
+
|
|
624
633
|
finally:
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
else:
|
|
631
|
-
self._console.print(self._get_rendable())
|
|
632
|
-
finally:
|
|
633
|
-
# Restore the prompt
|
|
634
|
-
print("\033[?25h", end="")
|
|
634
|
+
update_data()
|
|
635
|
+
if self.live:
|
|
636
|
+
self.live.update(self._get_rendable(), refresh=True)
|
|
637
|
+
else:
|
|
638
|
+
self._console.print(self._get_rendable())
|
|
635
639
|
|
|
636
640
|
def _update_layout(self):
|
|
637
641
|
with self._render_data_lock:
|
|
@@ -3,8 +3,8 @@ import os
|
|
|
3
3
|
from siliconcompiler import Schema
|
|
4
4
|
from siliconcompiler.schema import PerNode
|
|
5
5
|
from siliconcompiler.report import utils
|
|
6
|
-
from siliconcompiler.utils.flowgraph import nodes_to_execute
|
|
7
6
|
from siliconcompiler.tools._common import get_tool_task
|
|
7
|
+
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def make_metric_dataframe(chip):
|
|
@@ -199,7 +199,12 @@ def get_flowgraph_path(chip):
|
|
|
199
199
|
Returns the "winning" path for that job.
|
|
200
200
|
'''
|
|
201
201
|
flow = chip.get('option', 'flow')
|
|
202
|
-
|
|
202
|
+
runtime = RuntimeFlowgraph(
|
|
203
|
+
chip.schema.get("flowgraph", flow, field='schema'),
|
|
204
|
+
from_steps=chip.get('option', 'from'),
|
|
205
|
+
to_steps=chip.get('option', 'to'),
|
|
206
|
+
prune_nodes=chip.get('option', 'prune'))
|
|
207
|
+
return utils._get_flowgraph_path(chip, flow, runtime.get_nodes())
|
|
203
208
|
|
|
204
209
|
|
|
205
210
|
def search_manifest_keys(manifest, key):
|
|
@@ -289,9 +294,9 @@ def get_total_manifest_key_count(manifest):
|
|
|
289
294
|
acc (int) : An accumulator of the current number of folders and files.
|
|
290
295
|
'''
|
|
291
296
|
acc = len(manifest)
|
|
292
|
-
for
|
|
293
|
-
if isinstance(manifest[
|
|
294
|
-
acc += get_total_manifest_key_count(manifest[
|
|
297
|
+
for key in manifest:
|
|
298
|
+
if isinstance(manifest[key], dict):
|
|
299
|
+
acc += get_total_manifest_key_count(manifest[key])
|
|
295
300
|
return acc
|
|
296
301
|
|
|
297
302
|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
from siliconcompiler import NodeStatus
|
|
2
2
|
from siliconcompiler.utils import units
|
|
3
|
-
from siliconcompiler.utils.flowgraph import _get_flowgraph_execution_order, \
|
|
4
|
-
nodes_to_execute
|
|
5
3
|
from siliconcompiler.tools._common import get_tool_task
|
|
6
4
|
|
|
7
5
|
from siliconcompiler.flowgraph import RuntimeFlowgraph
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
def _find_summary_image(chip, ext='png'):
|
|
11
|
-
for nodes in reversed(
|
|
9
|
+
for nodes in reversed(chip.schema.get(
|
|
10
|
+
"flowgraph", chip.get('option', 'flow'), field="schema").get_execution_order()):
|
|
12
11
|
for step, index in nodes:
|
|
13
12
|
layout_img = chip.find_result(ext, step=step, index=index)
|
|
14
13
|
if layout_img:
|
|
@@ -18,7 +17,8 @@ def _find_summary_image(chip, ext='png'):
|
|
|
18
17
|
|
|
19
18
|
def _find_summary_metrics(chip, metrics_map):
|
|
20
19
|
metrics = {}
|
|
21
|
-
for nodes in reversed(
|
|
20
|
+
for nodes in reversed(chip.schema.get(
|
|
21
|
+
"flowgraph", chip.get('option', 'flow'), field="schema").get_execution_order()):
|
|
22
22
|
for step, index in nodes:
|
|
23
23
|
for name, metric_info in metrics_map.items():
|
|
24
24
|
if name in metrics:
|
|
@@ -44,7 +44,13 @@ def _collect_data(chip, flow=None, flowgraph_nodes=None, format_as_string=True):
|
|
|
44
44
|
return [], {}, {}, {}, [], {}
|
|
45
45
|
|
|
46
46
|
if not flowgraph_nodes:
|
|
47
|
-
|
|
47
|
+
runtime = RuntimeFlowgraph(
|
|
48
|
+
chip.schema.get("flowgraph", flow, field='schema'),
|
|
49
|
+
from_steps=chip.get('option', 'from'),
|
|
50
|
+
to_steps=chip.get('option', 'to'),
|
|
51
|
+
prune_nodes=chip.get('option', 'prune'))
|
|
52
|
+
|
|
53
|
+
flowgraph_nodes = list(runtime.get_nodes())
|
|
48
54
|
# only report tool based steps functions
|
|
49
55
|
for (step, index) in list(flowgraph_nodes):
|
|
50
56
|
tool, task = get_tool_task(chip, step, '0', flow=flow)
|
|
@@ -64,7 +70,7 @@ def _collect_data(chip, flow=None, flowgraph_nodes=None, format_as_string=True):
|
|
|
64
70
|
reports = {}
|
|
65
71
|
|
|
66
72
|
# Build ordered list of nodes in flowgraph
|
|
67
|
-
for level_nodes in
|
|
73
|
+
for level_nodes in chip.schema.get("flowgraph", flow, field="schema").get_execution_order():
|
|
68
74
|
nodes.extend(sorted(level_nodes))
|
|
69
75
|
nodes = [node for node in nodes if node in flowgraph_nodes]
|
|
70
76
|
for (step, index) in nodes:
|