siliconcompiler 0.32.1__tar.gz → 0.32.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- siliconcompiler-0.32.3/.dockerignore +4 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/Changes +33 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/PKG-INFO +14 -10
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/pyproject.toml +15 -10
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/_metadata.py +3 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_install.py +13 -5
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_remote.py +2 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/core.py +68 -55
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/issue.py +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/client.py +55 -16
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/__init__.py +3 -2
- siliconcompiler-0.32.3/siliconcompiler/report/dashboard/__init__.py +81 -0
- siliconcompiler-0.32.3/siliconcompiler/report/dashboard/cli/__init__.py +788 -0
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/__init__.py +12 -6
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/components/__init__.py +4 -4
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/components/graph.py +1 -1
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/layouts/__init__.py +3 -3
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/layouts/_common.py +1 -1
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/layouts/vertical_flowgraph.py +5 -5
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/layouts/vertical_flowgraph_node_tab.py +6 -6
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/layouts/vertical_flowgraph_sac_tabs.py +6 -6
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/viewer.py +4 -4
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/__init__.py +44 -13
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/docker_runner.py +2 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/sphinx_ext/dynamicgen.py +11 -11
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/replay/replay.sh.j2 +2 -2
- siliconcompiler-0.32.3/siliconcompiler/templates/tcl/manifest.tcl.j2 +23 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/__init__.py +2 -0
- siliconcompiler-0.32.1/siliconcompiler/templates/tcl/manifest.tcl.j2 → siliconcompiler-0.32.3/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +17 -30
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/_apr.py +7 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/fillmetal_insertion.py +14 -14
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +2 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +54 -8
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +19 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +18 -7
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/__init__.py +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +16 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +35 -7
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/timing.py +6 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/slang/__init__.py +7 -8
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/sv2v/sv2v.py +4 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/__init__.py +4 -36
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/lec.py +3 -4
- siliconcompiler-0.32.1/siliconcompiler/tools/yosys/syn_asic.tcl → siliconcompiler-0.32.3/siliconcompiler/tools/yosys/sc_synth_asic.tcl +87 -0
- siliconcompiler-0.32.1/siliconcompiler/tools/yosys/syn_fpga.tcl → siliconcompiler-0.32.3/siliconcompiler/tools/yosys/sc_synth_fpga.tcl +78 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/syn_asic.py +36 -11
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/syn_fpga.py +23 -16
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/_tools.json +23 -9
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel8}/install-icarus.sh +1 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-magic.sh +1 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-slang.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel8}/install-verible.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel8}/install-verilator.sh +1 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel8}/install-xyce.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9}/install-chisel.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9}/install-icarus.sh +1 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9/install-magic.sh +25 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9/install-opensta.sh +76 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-slang.sh +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +2 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-verible.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9}/install-verilator.sh +1 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9/install-vpr.sh +31 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9}/install-xyce.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9}/install-yosys-moosic.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +61 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-bluespec.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-chisel.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-ghdl.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-magic.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-netgen.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +1 -3
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-openroad.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +72 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-slurm.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-sv2v.sh +1 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-verible.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-verilator.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-vpr.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20}/install-yosys-moosic.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu20/install-yosys-parmys.sh +61 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-bluespec.sh +27 -2
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-chisel.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-ghdl.sh +4 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-magic.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-netgen.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-nextpnr.sh +1 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +72 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-slang.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-slurm.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-sv2v.sh +1 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-verible.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-verilator.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-vpr.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-xyce.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-yosys-moosic.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +61 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu22}/install-yosys-slang.sh +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-bluespec.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +28 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +4 -2
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-magic.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-nextpnr.sh +1 -3
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-openroad.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +72 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-slang.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-slurm.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +3 -1
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-sv2v.sh +1 -1
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +26 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-verilator.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-vpr.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-xyce.sh +2 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-yosys-moosic.sh +2 -0
- siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +61 -0
- {siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.32.3/siliconcompiler/toolscripts/ubuntu24}/install-yosys-slang.sh +3 -1
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +2 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/utils/__init__.py +4 -1
- siliconcompiler-0.32.3/siliconcompiler/utils/logging.py +121 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/PKG-INFO +14 -10
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/SOURCES.txt +26 -16
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/requires.txt +11 -8
- siliconcompiler-0.32.1/.dockerignore +0 -4
- siliconcompiler-0.32.1/siliconcompiler/tools/yosys/sc_syn.tcl +0 -87
- siliconcompiler-0.32.1/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -26
- siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -26
- siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -24
- siliconcompiler-0.32.1/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +0 -22
- siliconcompiler-0.32.1/siliconcompiler/utils/logging.py +0 -67
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/.flake8 +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/.gitattributes +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/.gitignore +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/.readthedocs.yaml +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/LICENSE +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/MANIFEST.in +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/README.md +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/SECURITY.md +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/scripts/.gitignore +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/scripts/check_library.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/scripts/report_library.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/setup.cfg +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/sc_show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/utils/replay.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/checklists/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/_common.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/asicflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/showflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/fpgas/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/libs/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/optimizer/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/optimizer/vizier.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/package/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/package/git.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/package/github.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/package/https.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/pdks/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/components/flowgraph.py +0 -0
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/state.py +0 -0
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/utils/__init__.py +0 -0
- {siliconcompiler-0.32.1/siliconcompiler/report/dashboard → siliconcompiler-0.32.3/siliconcompiler/report/dashboard/web}/utils/file_utils.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/report.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/summary_table.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/send_messages.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/validation/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/schema/schema_cfg.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/schema/schema_obj.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/schema/utils.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/sphinx_ext/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/gf180_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/email/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/issue/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/replay/requirements.txt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/replay/setup.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/report/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/slurm/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/templates/tcl/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/asic.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/asic_clock.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/bambu/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/bluespec/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/concatenate.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/chisel/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/execute/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/genfasm/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/ghdl/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/graphviz/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/graphviz/show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/gtkwave/show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icarus/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icepack/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/drc.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/export.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/operations.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/screenshot.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/klayout/show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/magic.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/montage/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/netgen/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/global_placement.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/global_route.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/metrics.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/power_grid.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/repair_design.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/screenshot.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/openroad/write_data.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/check_library.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/slang/elaborate.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/sv2v/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/template/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/verilator/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/verilator/verilator.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vivado/vivado.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/screenshot.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/units.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/entry_points.txt +0 -0
- {siliconcompiler-0.32.1 → siliconcompiler-0.32.3}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,39 @@ The changes in each SiliconCompiler release version are described below. Commit
|
|
|
8
8
|
version shown in (). Where applicable, the contributors that suggested a given
|
|
9
9
|
feature are shown in [].
|
|
10
10
|
|
|
11
|
+
SiliconCompiler 0.32.3 (2025-04-11)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Major:**
|
|
15
|
+
|
|
16
|
+
* Added a commandline dashboard to provide quick overview of a run. Accessible by adding `.dashboard(type='cli')` before calling `run()`. [Ciprian167]
|
|
17
|
+
|
|
18
|
+
**Minor:**
|
|
19
|
+
|
|
20
|
+
* Fixed `sc-issue` bug that caused the directory to have a partial name.
|
|
21
|
+
* Fixed `replay.sh` generator that caused an invalid bash script to get generated during issue creation.
|
|
22
|
+
|
|
23
|
+
* Tools:
|
|
24
|
+
|
|
25
|
+
* openroad: fixed metal fill script bug that prevented the metal fill from executing properly.
|
|
26
|
+
* opensta: added build scripts for opensta.
|
|
27
|
+
* yosys: added ability use yosys as a frontend for simple design.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
SiliconCompiler 0.32.2 (2025-03-31)
|
|
31
|
+
=========================================
|
|
32
|
+
|
|
33
|
+
**Minor:**
|
|
34
|
+
|
|
35
|
+
* Expanded tool builds to support arm architectures, where possible.
|
|
36
|
+
* Added tool group descriptions to `sc-install -help`.
|
|
37
|
+
|
|
38
|
+
* Tools:
|
|
39
|
+
|
|
40
|
+
* openroad: added repair design option to repair timing to reduce number of design rule violations.
|
|
41
|
+
* yosys: split the FPGA and ASIC synthesis flows.
|
|
42
|
+
|
|
43
|
+
|
|
11
44
|
SiliconCompiler 0.32.1 (2025-03-13)
|
|
12
45
|
=========================================
|
|
13
46
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.32.
|
|
3
|
+
Version: 0.32.3
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
|
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: LICENSE
|
|
28
28
|
Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
|
|
29
|
-
Requires-Dist: aiohttp==3.11.
|
|
29
|
+
Requires-Dist: aiohttp==3.11.16; python_version >= "3.9"
|
|
30
30
|
Requires-Dist: requests==2.32.3
|
|
31
31
|
Requires-Dist: PyYAML==6.0.2
|
|
32
32
|
Requires-Dist: pandas>=1.1.5
|
|
@@ -45,27 +45,30 @@ Requires-Dist: fasteners==0.19
|
|
|
45
45
|
Requires-Dist: fastjsonschema==2.21.1
|
|
46
46
|
Requires-Dist: docker==7.1.0
|
|
47
47
|
Requires-Dist: importlib_metadata; python_version < "3.10"
|
|
48
|
-
Requires-Dist: orjson==3.10.15
|
|
48
|
+
Requires-Dist: orjson==3.10.15; python_version <= "3.8"
|
|
49
|
+
Requires-Dist: orjson==3.10.16; python_version >= "3.9"
|
|
49
50
|
Requires-Dist: pyslang==8.0.0
|
|
50
51
|
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
-
Requires-Dist: streamlit==1.
|
|
52
|
+
Requires-Dist: streamlit==1.44.1; python_version >= "3.9" and python_full_version != "3.9.7"
|
|
52
53
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
53
54
|
Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
|
|
54
55
|
Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
|
|
55
56
|
Requires-Dist: streamlit-autorefresh==1.0.1; python_full_version != "3.9.7"
|
|
57
|
+
Requires-Dist: rich==13.9.4
|
|
56
58
|
Provides-Extra: test
|
|
57
59
|
Requires-Dist: pytest==8.3.5; extra == "test"
|
|
58
60
|
Requires-Dist: pytest-xdist==3.6.1; extra == "test"
|
|
59
61
|
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
60
62
|
Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
|
|
61
|
-
Requires-Dist: pytest-asyncio==0.
|
|
63
|
+
Requires-Dist: pytest-asyncio==0.26.0; python_version >= "3.9" and extra == "test"
|
|
62
64
|
Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
|
|
63
|
-
Requires-Dist: pytest-cov==6.
|
|
64
|
-
Requires-Dist: responses==0.25.
|
|
65
|
+
Requires-Dist: pytest-cov==6.1.1; python_version >= "3.9" and extra == "test"
|
|
66
|
+
Requires-Dist: responses==0.25.7; extra == "test"
|
|
65
67
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
68
|
+
Requires-Dist: logiklib==0.1.0; extra == "test"
|
|
66
69
|
Provides-Extra: lint
|
|
67
|
-
Requires-Dist: flake8==7.
|
|
68
|
-
Requires-Dist: tclint==0.5.
|
|
70
|
+
Requires-Dist: flake8==7.2.0; extra == "lint"
|
|
71
|
+
Requires-Dist: tclint==0.5.4; extra == "lint"
|
|
69
72
|
Requires-Dist: codespell==2.4.1; extra == "lint"
|
|
70
73
|
Provides-Extra: docs
|
|
71
74
|
Requires-Dist: Sphinx==8.2.3; extra == "docs"
|
|
@@ -76,6 +79,7 @@ Provides-Extra: profile
|
|
|
76
79
|
Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
|
|
77
80
|
Provides-Extra: optimizer
|
|
78
81
|
Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
|
|
82
|
+
Dynamic: license-file
|
|
79
83
|
|
|
80
84
|

|
|
81
85
|
|
|
@@ -33,7 +33,7 @@ classifiers = [
|
|
|
33
33
|
requires-python = ">= 3.8"
|
|
34
34
|
dependencies = [
|
|
35
35
|
"aiohttp == 3.10.11; python_version <= '3.8'",
|
|
36
|
-
"aiohttp == 3.11.
|
|
36
|
+
"aiohttp == 3.11.16; python_version >= '3.9'",
|
|
37
37
|
"requests == 2.32.3",
|
|
38
38
|
"PyYAML == 6.0.2",
|
|
39
39
|
"pandas >= 1.1.5",
|
|
@@ -52,16 +52,20 @@ dependencies = [
|
|
|
52
52
|
"fastjsonschema == 2.21.1",
|
|
53
53
|
"docker == 7.1.0",
|
|
54
54
|
"importlib_metadata; python_version < '3.10'",
|
|
55
|
-
"orjson == 3.10.15",
|
|
55
|
+
"orjson == 3.10.15; python_version <= '3.8'",
|
|
56
|
+
"orjson == 3.10.16; python_version >= '3.9'",
|
|
56
57
|
"pyslang == 8.0.0",
|
|
57
58
|
|
|
58
59
|
# dashboard, streamlit does not support 3.9.7
|
|
59
60
|
"streamlit == 1.40.1; python_version <= '3.8'",
|
|
60
|
-
"streamlit == 1.
|
|
61
|
+
"streamlit == 1.44.1; python_version >= '3.9' and python_full_version != '3.9.7'",
|
|
61
62
|
"streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
|
|
62
63
|
"streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
|
|
63
64
|
"streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
|
|
64
|
-
"streamlit-autorefresh == 1.0.1; python_full_version != '3.9.7'"
|
|
65
|
+
"streamlit-autorefresh == 1.0.1; python_full_version != '3.9.7'",
|
|
66
|
+
|
|
67
|
+
# CLI dashboard
|
|
68
|
+
"rich == 13.9.4"
|
|
65
69
|
]
|
|
66
70
|
license = {text = "Apache License 2.0"}
|
|
67
71
|
dynamic = ["version"]
|
|
@@ -111,15 +115,16 @@ test = [
|
|
|
111
115
|
"pytest-xdist == 3.6.1",
|
|
112
116
|
"pytest-timeout == 2.3.1",
|
|
113
117
|
"pytest-asyncio == 0.24.0; python_version <= '3.8'",
|
|
114
|
-
"pytest-asyncio == 0.
|
|
118
|
+
"pytest-asyncio == 0.26.0; python_version >= '3.9'",
|
|
115
119
|
"pytest-cov == 5.0.0; python_version <= '3.8'",
|
|
116
|
-
"pytest-cov == 6.
|
|
117
|
-
"responses == 0.25.
|
|
118
|
-
"PyVirtualDisplay == 3.0"
|
|
120
|
+
"pytest-cov == 6.1.1; python_version >= '3.9'",
|
|
121
|
+
"responses == 0.25.7",
|
|
122
|
+
"PyVirtualDisplay == 3.0",
|
|
123
|
+
"logiklib == 0.1.0"
|
|
119
124
|
]
|
|
120
125
|
lint = [
|
|
121
|
-
"flake8 == 7.
|
|
122
|
-
"tclint == 0.5.
|
|
126
|
+
"flake8 == 7.2.0",
|
|
127
|
+
"tclint == 0.5.4",
|
|
123
128
|
"codespell == 2.4.1"
|
|
124
129
|
]
|
|
125
130
|
docs = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Version number following semver standard.
|
|
2
|
-
version = '0.32.
|
|
2
|
+
version = '0.32.3'
|
|
3
3
|
|
|
4
4
|
# Default server address for remote runs, if unspecified.
|
|
5
5
|
default_server = 'https://server.siliconcompiler.com'
|
|
@@ -21,7 +21,8 @@ authors = [
|
|
|
21
21
|
'Aulihan Teng',
|
|
22
22
|
'Peter Grossmann',
|
|
23
23
|
'Gabriel Aguirre',
|
|
24
|
-
'Martin Troiber'
|
|
24
|
+
'Martin Troiber',
|
|
25
|
+
'Ciprian Antoci'
|
|
25
26
|
]
|
|
26
27
|
|
|
27
28
|
# CLI entry banner autogenerated using pyfiglet.
|
|
@@ -139,8 +139,8 @@ def _get_tools_list():
|
|
|
139
139
|
|
|
140
140
|
def _recommended_tool_groups(tools):
|
|
141
141
|
groups = {
|
|
142
|
-
"asic": {"
|
|
143
|
-
"fpga": {"
|
|
142
|
+
"asic": {"sv2v", "yosys", "openroad", "klayout"},
|
|
143
|
+
"fpga": {"sv2v", "yosys", "vpr"},
|
|
144
144
|
"digital-simulation": {"verilator", "icarus", "gtkwave"},
|
|
145
145
|
"analog-simulation": {"xyce"}
|
|
146
146
|
}
|
|
@@ -162,7 +162,13 @@ class HelpFormatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescript
|
|
|
162
162
|
|
|
163
163
|
def main():
|
|
164
164
|
progname = "sc-install"
|
|
165
|
-
|
|
165
|
+
|
|
166
|
+
tools = _get_tools_list()
|
|
167
|
+
group_desc = "\n".join(
|
|
168
|
+
[f" {grp}: {', '.join(grp_tools)}"
|
|
169
|
+
for grp, grp_tools in _recommended_tool_groups(tools).items()])
|
|
170
|
+
|
|
171
|
+
description = f"""
|
|
166
172
|
-----------------------------------------------------------
|
|
167
173
|
SC app install supported tools.
|
|
168
174
|
|
|
@@ -187,14 +193,16 @@ To show the install script:
|
|
|
187
193
|
To system debugging information (this should only be used to debug):
|
|
188
194
|
sc-install -debug_machine
|
|
189
195
|
-----------------------------------------------------------
|
|
196
|
+
Tool groups:
|
|
197
|
+
{group_desc}
|
|
198
|
+
-----------------------------------------------------------
|
|
190
199
|
"""
|
|
200
|
+
|
|
191
201
|
parser = argparse.ArgumentParser(
|
|
192
202
|
prog=progname,
|
|
193
203
|
description=description,
|
|
194
204
|
formatter_class=HelpFormatter)
|
|
195
205
|
|
|
196
|
-
tools = _get_tools_list()
|
|
197
|
-
|
|
198
206
|
if _get_os_name() is None:
|
|
199
207
|
print("Unsupported operating system", file=sys.stderr)
|
|
200
208
|
print_machine_info()
|
|
@@ -97,8 +97,9 @@ To delete a job, use:
|
|
|
97
97
|
chip.logger.error(f'Error: {", ".join(["-"+e for e in exclusive])} are mutually exclusive')
|
|
98
98
|
return 1
|
|
99
99
|
chip_cfg = chip.get('option', 'cfg')
|
|
100
|
-
if chip_cfg and
|
|
100
|
+
if not chip_cfg and any([args[arg] for arg in cfg_only]):
|
|
101
101
|
chip.logger.error(f'Error: -cfg is required for {", ".join(["-"+e for e in cfg_only])}')
|
|
102
|
+
return 2
|
|
102
103
|
if any([args[arg] for arg in cfg_only]) and args['server']:
|
|
103
104
|
chip.logger.error('Error: -server cannot be specified with '
|
|
104
105
|
f'{", ".join(["-"+e for e in cfg_only])}')
|
|
@@ -17,16 +17,20 @@ import graphviz
|
|
|
17
17
|
import codecs
|
|
18
18
|
import copy
|
|
19
19
|
from inspect import getfullargspec
|
|
20
|
-
from siliconcompiler.remote import client
|
|
21
20
|
from siliconcompiler.schema import Schema, SCHEMA_VERSION
|
|
22
21
|
from siliconcompiler.schema import utils as schema_utils
|
|
23
22
|
from siliconcompiler import utils
|
|
24
|
-
from siliconcompiler.utils.logging import
|
|
23
|
+
from siliconcompiler.utils.logging import SCColorLoggerFormatter, \
|
|
24
|
+
SCLoggerFormatter, SCInRunLoggerFormatter, \
|
|
25
|
+
SCDebugLoggerFormatter, SCDebugInRunLoggerFormatter, \
|
|
26
|
+
SCBlankLoggerFormatter
|
|
25
27
|
from siliconcompiler import _metadata
|
|
26
28
|
from siliconcompiler import NodeStatus, SiliconCompilerError
|
|
27
29
|
from siliconcompiler.report import _show_summary_table
|
|
28
30
|
from siliconcompiler.report import _generate_summary_image, _open_summary_image
|
|
29
|
-
from siliconcompiler.report import
|
|
31
|
+
from siliconcompiler.report.dashboard.web import WebDashboard
|
|
32
|
+
from siliconcompiler.report.dashboard.cli import CliDashboard
|
|
33
|
+
from siliconcompiler.report.dashboard import DashboardType
|
|
30
34
|
from siliconcompiler import package as sc_package
|
|
31
35
|
import glob
|
|
32
36
|
from siliconcompiler.scheduler import run as sc_runner
|
|
@@ -203,13 +207,11 @@ class Chip:
|
|
|
203
207
|
|
|
204
208
|
def _add_file_logger(self, filename):
|
|
205
209
|
# Add a file handler for logging
|
|
206
|
-
logformat = self.logger.handlers[0].formatter
|
|
207
|
-
|
|
208
210
|
file_handler = logging.FileHandler(filename)
|
|
209
|
-
file_handler.setFormatter(logformat)
|
|
210
|
-
|
|
211
211
|
self.logger.addHandler(file_handler)
|
|
212
212
|
|
|
213
|
+
self._init_logger_formats()
|
|
214
|
+
|
|
213
215
|
return file_handler
|
|
214
216
|
|
|
215
217
|
###########################################################################
|
|
@@ -227,58 +229,54 @@ class Chip:
|
|
|
227
229
|
else:
|
|
228
230
|
in_run = False
|
|
229
231
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
log_format.append('%(lineno)-4s')
|
|
235
|
-
|
|
236
|
-
if in_run:
|
|
237
|
-
max_column_width = 20
|
|
238
|
-
# Figure out how wide to make step and index fields
|
|
239
|
-
max_step_len = 1
|
|
240
|
-
max_index_len = 1
|
|
241
|
-
nodes_to_run = _get_flowgraph_nodes(self, flow=self.get('option', 'flow'))
|
|
242
|
-
if self.get('option', 'remote'):
|
|
243
|
-
nodes_to_run.append((client.remote_step_name, '0'))
|
|
244
|
-
for future_step, future_index in nodes_to_run:
|
|
245
|
-
max_step_len = max(len(future_step), max_step_len)
|
|
246
|
-
max_index_len = max(len(future_index), max_index_len)
|
|
247
|
-
max_step_len = min(max_step_len, max_column_width)
|
|
248
|
-
max_index_len = min(max_index_len, max_column_width)
|
|
232
|
+
# Save in run flag
|
|
233
|
+
self.logger._in_run = in_run
|
|
234
|
+
self.logger._in_step = step
|
|
235
|
+
self.logger._in_index = index
|
|
249
236
|
|
|
250
|
-
|
|
237
|
+
self.logger.setLevel(schema_utils.translate_loglevel(loglevel))
|
|
251
238
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
239
|
+
if not self.logger.hasHandlers():
|
|
240
|
+
stream_handler = logging.StreamHandler(stream=sys.stdout)
|
|
241
|
+
# Save console handler
|
|
242
|
+
self.logger._console = stream_handler
|
|
243
|
+
self.logger.addHandler(stream_handler)
|
|
256
244
|
|
|
257
|
-
|
|
258
|
-
log_format.append(f'{utils.truncate_text(step, max_step_len): <{max_step_len}}')
|
|
259
|
-
log_format.append(f'{utils.truncate_text(index, max_step_len): >{max_index_len}}')
|
|
245
|
+
self.logger._support_color = SCColorLoggerFormatter.supports_color(stream_handler)
|
|
260
246
|
|
|
261
|
-
|
|
262
|
-
if loglevel == "quiet":
|
|
263
|
-
log_format = []
|
|
264
|
-
log_formatprefix = ""
|
|
247
|
+
self._init_logger_formats(loglevel=loglevel)
|
|
265
248
|
|
|
266
|
-
|
|
267
|
-
|
|
249
|
+
def _init_logger_formats(self, loglevel=None):
|
|
250
|
+
if not loglevel:
|
|
251
|
+
loglevel = self.schema.get('option', 'loglevel',
|
|
252
|
+
step=self.logger._in_step, index=self.logger._in_index)
|
|
268
253
|
|
|
269
|
-
if
|
|
270
|
-
|
|
271
|
-
|
|
254
|
+
if loglevel == 'quiet':
|
|
255
|
+
base_format = SCBlankLoggerFormatter()
|
|
256
|
+
elif self.logger._in_run:
|
|
257
|
+
if loglevel == 'debug':
|
|
258
|
+
base_format = SCDebugInRunLoggerFormatter(
|
|
259
|
+
self,
|
|
260
|
+
self.get('option', 'jobname'),
|
|
261
|
+
self.logger._in_step, self.logger._in_index)
|
|
262
|
+
else:
|
|
263
|
+
base_format = SCInRunLoggerFormatter(
|
|
264
|
+
self,
|
|
265
|
+
self.get('option', 'jobname'),
|
|
266
|
+
self.logger._in_step, self.logger._in_index)
|
|
267
|
+
else:
|
|
268
|
+
if loglevel == 'debug':
|
|
269
|
+
base_format = SCDebugLoggerFormatter()
|
|
270
|
+
else:
|
|
271
|
+
base_format = SCLoggerFormatter()
|
|
272
272
|
|
|
273
|
-
for handler in self.logger.handlers:
|
|
274
|
-
if
|
|
275
|
-
formatter =
|
|
273
|
+
for handler in self.logger.handlers.copy():
|
|
274
|
+
if handler == self.logger._console and self.logger._support_color:
|
|
275
|
+
formatter = SCColorLoggerFormatter(base_format)
|
|
276
276
|
else:
|
|
277
|
-
formatter =
|
|
277
|
+
formatter = base_format
|
|
278
278
|
handler.setFormatter(formatter)
|
|
279
279
|
|
|
280
|
-
self.logger.setLevel(schema_utils.translate_loglevel(loglevel))
|
|
281
|
-
|
|
282
280
|
###########################################################################
|
|
283
281
|
def _init_codecs(self):
|
|
284
282
|
# Custom error handlers used to provide warnings when invalid characters
|
|
@@ -2850,7 +2848,7 @@ class Chip:
|
|
|
2850
2848
|
return hashlist
|
|
2851
2849
|
|
|
2852
2850
|
###########################################################################
|
|
2853
|
-
def dashboard(self, wait=True, port=None, graph_chips=None):
|
|
2851
|
+
def dashboard(self, wait=True, port=None, graph_chips=None, type=DashboardType.WEB):
|
|
2854
2852
|
'''
|
|
2855
2853
|
Open a session of the dashboard.
|
|
2856
2854
|
|
|
@@ -2864,6 +2862,8 @@ class Chip:
|
|
|
2864
2862
|
dashboard to.
|
|
2865
2863
|
graph_chips (list): A list of dictionaries of the format
|
|
2866
2864
|
{'chip': chip object, 'name': chip name}
|
|
2865
|
+
type (enum): A string specifying what kind of dashboard to
|
|
2866
|
+
launch. Available options: 'cli', 'web'.
|
|
2867
2867
|
|
|
2868
2868
|
Examples:
|
|
2869
2869
|
>>> chip.dashboard()
|
|
@@ -2874,7 +2874,14 @@ class Chip:
|
|
|
2874
2874
|
self._dash.stop()
|
|
2875
2875
|
self._dash = None
|
|
2876
2876
|
|
|
2877
|
-
|
|
2877
|
+
# Select dashboard type
|
|
2878
|
+
type = DashboardType(type)
|
|
2879
|
+
if type == DashboardType.WEB:
|
|
2880
|
+
self._dash = WebDashboard(self, port=port, graph_chips=graph_chips)
|
|
2881
|
+
elif type == DashboardType.CLI:
|
|
2882
|
+
self._dash = CliDashboard(self)
|
|
2883
|
+
wait = False
|
|
2884
|
+
|
|
2878
2885
|
self._dash.open_dashboard()
|
|
2879
2886
|
|
|
2880
2887
|
if wait:
|
|
@@ -3000,7 +3007,7 @@ class Chip:
|
|
|
3000
3007
|
flow (str): Flow name
|
|
3001
3008
|
step (str): Step name
|
|
3002
3009
|
task (module/str): Task to associate with this node
|
|
3003
|
-
index (int): Step index
|
|
3010
|
+
index (int/str): Step index
|
|
3004
3011
|
|
|
3005
3012
|
Examples:
|
|
3006
3013
|
>>> import siliconcomiler.tools.openroad.place as place
|
|
@@ -3059,8 +3066,8 @@ class Chip:
|
|
|
3059
3066
|
flow (str): Name of flow
|
|
3060
3067
|
tail (str): Name of tail node
|
|
3061
3068
|
head (str): Name of head node
|
|
3062
|
-
tail_index (int): Index of tail node to connect
|
|
3063
|
-
head_index (int): Index of head node to connect
|
|
3069
|
+
tail_index (int/str): Index of tail node to connect
|
|
3070
|
+
head_index (int/str): Index of head node to connect
|
|
3064
3071
|
|
|
3065
3072
|
Examples:
|
|
3066
3073
|
>>> chip.edge('place', 'cts')
|
|
@@ -3090,7 +3097,7 @@ class Chip:
|
|
|
3090
3097
|
Args:
|
|
3091
3098
|
flow (str): Flow name
|
|
3092
3099
|
step (str): Step name
|
|
3093
|
-
index (int): Step index
|
|
3100
|
+
index (int/str): Step index
|
|
3094
3101
|
'''
|
|
3095
3102
|
|
|
3096
3103
|
if flow not in self.getkeys('flowgraph'):
|
|
@@ -3202,6 +3209,12 @@ class Chip:
|
|
|
3202
3209
|
raise e
|
|
3203
3210
|
self.logger.error(str(e))
|
|
3204
3211
|
return False
|
|
3212
|
+
finally:
|
|
3213
|
+
# Update dashboard if running
|
|
3214
|
+
if self._dash:
|
|
3215
|
+
self._dash.update_manifest()
|
|
3216
|
+
self._dash.end_of_run()
|
|
3217
|
+
|
|
3205
3218
|
return True
|
|
3206
3219
|
|
|
3207
3220
|
###########################################################################
|
|
@@ -273,7 +273,9 @@ def generate_testcase(chip,
|
|
|
273
273
|
full_archive_path = os.path.join(archive_directory, archive_name)
|
|
274
274
|
full_archive_path = os.path.abspath(full_archive_path)
|
|
275
275
|
# Build archive
|
|
276
|
-
arch_base_dir = os.path.basename(archive_name)
|
|
276
|
+
arch_base_dir = os.path.basename(archive_name)
|
|
277
|
+
while arch_base_dir.lower().split('.')[-1] in ('gz', 'tar'):
|
|
278
|
+
arch_base_dir = '.'.join(arch_base_dir.split('.')[0:-1])
|
|
277
279
|
with tarfile.open(full_archive_path, "w:gz") as tar:
|
|
278
280
|
# Add individual files
|
|
279
281
|
add_files = [manifest_path,
|
|
@@ -10,11 +10,12 @@ import tarfile
|
|
|
10
10
|
import tempfile
|
|
11
11
|
import multiprocessing
|
|
12
12
|
|
|
13
|
-
from siliconcompiler import utils, SiliconCompilerError
|
|
13
|
+
from siliconcompiler import utils, SiliconCompilerError, NodeStatus
|
|
14
14
|
from siliconcompiler import NodeStatus as SCNodeStatus
|
|
15
15
|
from siliconcompiler._metadata import default_server
|
|
16
16
|
from siliconcompiler.flowgraph import nodes_to_execute
|
|
17
17
|
from siliconcompiler.remote import JobStatus
|
|
18
|
+
from siliconcompiler.report.dashboard import DashboardType
|
|
18
19
|
|
|
19
20
|
# Step name to use while logging
|
|
20
21
|
remote_step_name = 'remote'
|
|
@@ -298,18 +299,19 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
298
299
|
self.__logger.info(nodes_log)
|
|
299
300
|
|
|
300
301
|
def _report_job_status(self, info):
|
|
302
|
+
completed = []
|
|
303
|
+
starttimes = {}
|
|
304
|
+
|
|
301
305
|
if not info['busy']:
|
|
302
306
|
# Job is not running
|
|
303
|
-
return
|
|
307
|
+
return completed, starttimes, False
|
|
304
308
|
|
|
305
309
|
try:
|
|
306
310
|
# Decode response JSON, if possible.
|
|
307
311
|
job_info = json.loads(info['message'])
|
|
308
312
|
except json.JSONDecodeError as e:
|
|
309
313
|
self.__logger.warning(f"Job is still running: {e}")
|
|
310
|
-
return
|
|
311
|
-
|
|
312
|
-
completed = []
|
|
314
|
+
return completed, starttimes, True
|
|
313
315
|
|
|
314
316
|
nodes_to_log = {}
|
|
315
317
|
for node, node_info in job_info.items():
|
|
@@ -335,7 +337,16 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
335
337
|
self.__log_node_status(stat, nodes)
|
|
336
338
|
|
|
337
339
|
# Running / in-progress flowgraph nodes should all be printed:
|
|
340
|
+
base_time = time.time()
|
|
338
341
|
for stat, nodes in nodes_to_log.items():
|
|
342
|
+
for node, node_info in nodes:
|
|
343
|
+
if 'elapsed_time' in node_info:
|
|
344
|
+
runtime = 0
|
|
345
|
+
for part in node_info['elapsed_time'].split(":"):
|
|
346
|
+
runtime = 60 * runtime + float(part)
|
|
347
|
+
starttimes[(self.__node_information[node]["step"],
|
|
348
|
+
self.__node_information[node]["index"])] = base_time - runtime
|
|
349
|
+
|
|
339
350
|
if SCNodeStatus.is_running(stat):
|
|
340
351
|
self.__logger.info(f' {stat.title()} ({len(nodes)}):')
|
|
341
352
|
for node, node_info in nodes:
|
|
@@ -349,7 +360,7 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
349
360
|
if SCNodeStatus.is_waiting(stat):
|
|
350
361
|
self.__log_node_status(stat, nodes)
|
|
351
362
|
|
|
352
|
-
return completed, True
|
|
363
|
+
return completed, starttimes, True
|
|
353
364
|
|
|
354
365
|
def __check(self):
|
|
355
366
|
def post_action(url):
|
|
@@ -438,6 +449,9 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
438
449
|
raise SiliconCompilerError('Cannot pass [arg,index] parameter into remote flow.',
|
|
439
450
|
chip=self.__chip)
|
|
440
451
|
|
|
452
|
+
if not self.__chip._dash:
|
|
453
|
+
self.__chip.dashboard(type=DashboardType.CLI)
|
|
454
|
+
|
|
441
455
|
# Only run the pre-process step if the job doesn't already have a remote ID.
|
|
442
456
|
if not remote_resume:
|
|
443
457
|
self.__run_preprocess()
|
|
@@ -450,10 +464,12 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
450
464
|
self.__request_run()
|
|
451
465
|
|
|
452
466
|
# Run the main 'check_progress' loop to monitor job status until it finishes.
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
467
|
+
try:
|
|
468
|
+
self._run_loop()
|
|
469
|
+
finally:
|
|
470
|
+
# Restore logger
|
|
471
|
+
self.__chip._dash.end_of_run()
|
|
472
|
+
self.__chip._init_logger(in_run=True)
|
|
457
473
|
|
|
458
474
|
def __request_run(self):
|
|
459
475
|
'''
|
|
@@ -559,7 +575,7 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
559
575
|
self.__logger.info(f'To cancel this job use: {cancel_cmd}')
|
|
560
576
|
raise SiliconCompilerError('Job canceled by user keyboard interrupt')
|
|
561
577
|
|
|
562
|
-
def __import_run_manifests(self):
|
|
578
|
+
def __import_run_manifests(self, starttimes):
|
|
563
579
|
changed = False
|
|
564
580
|
for _, node_info in self.__node_information.items():
|
|
565
581
|
if node_info["imported"]:
|
|
@@ -577,6 +593,16 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
577
593
|
except: # noqa E722
|
|
578
594
|
# Import may fail if file is still getting written
|
|
579
595
|
pass
|
|
596
|
+
elif self.__chip.get('record', 'status',
|
|
597
|
+
step=node_info["step"], index=node_info["index"]) \
|
|
598
|
+
== NodeStatus.SKIPPED:
|
|
599
|
+
node_info["imported"] = True
|
|
600
|
+
changed = True
|
|
601
|
+
|
|
602
|
+
if changed and self.__chip._dash:
|
|
603
|
+
# Update dashboard if active
|
|
604
|
+
self.__chip._dash.update_manifest({"starttimes": starttimes})
|
|
605
|
+
|
|
580
606
|
return changed
|
|
581
607
|
|
|
582
608
|
def __ensure_run_loop_information(self):
|
|
@@ -605,17 +631,30 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
605
631
|
# Check the job's progress periodically until it finishes.
|
|
606
632
|
running = True
|
|
607
633
|
|
|
634
|
+
starttimes = {}
|
|
635
|
+
|
|
608
636
|
while running:
|
|
609
|
-
|
|
610
|
-
|
|
637
|
+
sleepremaining = self.__check_interval
|
|
638
|
+
while any([nodeinfo["fetched"] and not nodeinfo["imported"]
|
|
639
|
+
for nodeinfo in self.__node_information.values()]):
|
|
640
|
+
self.__import_run_manifests(starttimes)
|
|
641
|
+
sleepremaining -= 1
|
|
642
|
+
if sleepremaining <= 0:
|
|
643
|
+
break
|
|
644
|
+
time.sleep(1)
|
|
645
|
+
if sleepremaining > 0:
|
|
646
|
+
time.sleep(sleepremaining)
|
|
611
647
|
|
|
612
648
|
# Check progress
|
|
613
649
|
job_info = self.check_job_status()
|
|
614
|
-
completed, running = self._report_job_status(job_info)
|
|
650
|
+
completed, new_starttimes, running = self._report_job_status(job_info)
|
|
651
|
+
|
|
652
|
+
# preserve old starttimes
|
|
653
|
+
starttimes = {**starttimes, **new_starttimes}
|
|
615
654
|
|
|
616
655
|
if self.__chip._dash:
|
|
617
656
|
# Update dashboard if active
|
|
618
|
-
self.__chip._dash.update_manifest()
|
|
657
|
+
self.__chip._dash.update_manifest({"starttimes": starttimes})
|
|
619
658
|
|
|
620
659
|
nodes_to_fetch = []
|
|
621
660
|
for node in completed:
|
|
@@ -648,7 +687,7 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
|
|
|
648
687
|
self.__download_pool.join()
|
|
649
688
|
self.__download_pool = None
|
|
650
689
|
|
|
651
|
-
self.__import_run_manifests()
|
|
690
|
+
self.__import_run_manifests({})
|
|
652
691
|
|
|
653
692
|
def __schedule_fetch_result(self, node):
|
|
654
693
|
self.__node_information[node]["fetched"] = True
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from .summary_image import _generate_summary_image, _open_summary_image
|
|
2
2
|
from .html_report import _generate_html_report, _open_html_report
|
|
3
3
|
from .summary_table import _show_summary_table
|
|
4
|
-
from .dashboard import
|
|
4
|
+
from .dashboard.web import WebDashboard
|
|
5
|
+
# from .dashboard import Dashboard
|
|
5
6
|
|
|
6
7
|
__all__ = [
|
|
7
8
|
"_generate_summary_image",
|
|
@@ -9,5 +10,5 @@ __all__ = [
|
|
|
9
10
|
"_generate_html_report",
|
|
10
11
|
"_open_html_report",
|
|
11
12
|
"_show_summary_table",
|
|
12
|
-
"
|
|
13
|
+
"WebDashboard"
|
|
13
14
|
]
|