siliconcompiler 0.28.9__tar.gz → 0.29.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.28.9 → siliconcompiler-0.29.1}/.readthedocs.yaml +5 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/Changes +39 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/PKG-INFO +22 -17
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/pyproject.toml +34 -22
- siliconcompiler-0.29.1/scripts/check_library.py +43 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/_metadata.py +1 -1
- siliconcompiler-0.29.1/siliconcompiler/apps/__init__.py +26 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_remote.py +15 -14
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_show.py +5 -5
- siliconcompiler-0.29.1/siliconcompiler/apps/utils/replay.py +194 -0
- siliconcompiler-0.29.1/siliconcompiler/checklists/__init__.py +12 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/core.py +89 -22
- siliconcompiler-0.29.1/siliconcompiler/flows/__init__.py +34 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/_common.py +11 -13
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/asicflow.py +83 -42
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/showflow.py +1 -1
- siliconcompiler-0.29.1/siliconcompiler/libs/__init__.py +5 -0
- siliconcompiler-0.29.1/siliconcompiler/optimizer/__init__.py +199 -0
- siliconcompiler-0.29.1/siliconcompiler/optimizer/vizier.py +259 -0
- siliconcompiler-0.29.1/siliconcompiler/pdks/__init__.py +5 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/__init__.py +11 -0
- siliconcompiler-0.29.1/siliconcompiler/remote/client.py +860 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/report.py +2 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/summary_table.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/__init__.py +118 -58
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/send_messages.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/schema/schema_cfg.py +16 -4
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/schema/schema_obj.py +29 -10
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/schema/utils.py +2 -0
- siliconcompiler-0.29.1/siliconcompiler/sphinx_ext/__init__.py +85 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/dynamicgen.py +19 -34
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/schemagen.py +3 -2
- siliconcompiler-0.29.1/siliconcompiler/targets/__init__.py +26 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/gf180_demo.py +3 -3
- siliconcompiler-0.29.1/siliconcompiler/templates/replay/replay.py.j2 +62 -0
- siliconcompiler-0.29.1/siliconcompiler/templates/replay/requirements.txt +7 -0
- siliconcompiler-0.29.1/siliconcompiler/templates/replay/setup.sh +130 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/__init__.py +60 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/__init__.py +15 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/asic.py +17 -9
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/concatenate.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/ghdl/ghdl.py +1 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/convert_drc_db.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/drc.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/export.py +8 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout.py +2 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +2 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_export.py +7 -5
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_operations.py +4 -3
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_show.py +3 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_utils.py +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/operations.py +8 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/screenshot.py +6 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/show.py +8 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/magic.py +1 -1
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/__init__.py +103 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/openroad.py → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/_apr.py +415 -423
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/antenna_repair.py +78 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/clock_tree_synthesis.py +64 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/detailed_placement.py +59 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/detailed_route.py +62 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +52 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/fillercell_insertion.py +58 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/dfm.py → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/fillmetal_insertion.py +35 -19
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/global_placement.py +58 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/global_route.py +63 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/init_floorplan.py +103 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/macro_placement.py +65 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/metrics.py +59 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/pin_placement.py +56 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/power_grid.py +65 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rcx_bench.py +7 -4
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rcx_extract.py +2 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rdlroute.py +4 -4
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/repair_design.py +59 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/repair_timing.py +63 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/screenshot.py +9 -20
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +44 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +95 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +51 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +66 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +41 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +71 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +55 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +27 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +36 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +26 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +61 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +333 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +123 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +22 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +41 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +60 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +68 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +83 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +125 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +28 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/procs.tcl +727 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +59 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +20 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +16 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/reports.tcl +180 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +18 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +395 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/rcx}/sc_rcx_bench.tcl +5 -5
- {siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/rcx}/sc_rcx_extract.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +5 -16
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +51 -51
- siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/sc_show.tcl +110 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/show.py +28 -23
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/export.py → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/write_data.py +31 -26
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/__init__.py +2 -2
- siliconcompiler-0.29.1/siliconcompiler/tools/opensta/check_library.py +27 -0
- siliconcompiler-0.29.1/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +255 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +1 -1
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/sv2v/sv2v.py +1 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/verilator.py +6 -7
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/vivado.py +1 -1
- siliconcompiler-0.28.9/siliconcompiler/tools/yosys/yosys.py → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/__init__.py +3 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/lec.py +22 -9
- siliconcompiler-0.29.1/siliconcompiler/tools/yosys/sc_lec.tcl +129 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/sc_syn.tcl +1 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/screenshot.py +2 -2
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_asic.py +105 -74
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_asic.tcl +58 -12
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_fpga.py +2 -3
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_fpga.tcl +26 -19
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/_tools.json +5 -5
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/utils/__init__.py +7 -3
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/PKG-INFO +22 -17
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/SOURCES.txt +57 -39
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/entry_points.txt +13 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/requires.txt +26 -15
- siliconcompiler-0.28.9/siliconcompiler/libs/asap7sc7p5t.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/gf180mcu.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/interposer.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/nangate45.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/sg13g2_stdcell.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/sky130hd.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/libs/sky130io.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/asap7.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/freepdk45.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/gf180.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/ihp130.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/interposer.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/pdks/skywater130.py +0 -8
- siliconcompiler-0.28.9/siliconcompiler/remote/client.py +0 -922
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/cts.py +0 -45
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/floorplan.py +0 -75
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/metrics.py +0 -44
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/physyn.py +0 -27
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/place.py +0 -41
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/route.py +0 -45
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_apr.tcl +0 -514
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -68
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +0 -22
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_export.tcl +0 -100
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +0 -456
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +0 -1
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -6
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_place.tcl +0 -84
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_procs.tcl +0 -494
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_report.tcl +0 -189
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_route.tcl +0 -143
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +0 -18
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +0 -393
- siliconcompiler-0.28.9/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/sv2v/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/template/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/verilator/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/vpr/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/yosys/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/yosys/sc_lec.tcl +0 -84
- siliconcompiler-0.28.9/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- siliconcompiler-0.28.9/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/.dockerignore +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/.flake8 +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/.gitattributes +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/.gitignore +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/CONTRIBUTING.md +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/LICENSE +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/MANIFEST.in +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/README.md +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/SECURITY.md +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/scripts/.gitignore +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/scripts/profile_sc.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/scripts/report_library.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/setup.cfg +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/__main__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/_common.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/_common.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_dashboard.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_install.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_issue.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_server.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/smake.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/apps/utils/summarize.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/checklists/oh_tapeout.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/apps → siliconcompiler-0.29.1/siliconcompiler/data/RobotoMono}/__init__.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/checklists → siliconcompiler-0.29.1/siliconcompiler/data}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/data/heartbeat.v +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/data/logo.png +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flowgraph.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/asictopflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/drcflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/dvflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/fpgaflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/interposerflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/lintflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/screenshotflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/signoffflow.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/flows/synflow.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/data/RobotoMono → siliconcompiler-0.29.1/siliconcompiler/fpgas}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/fpgas/vpr_example.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/issue.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/package.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/schema.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/data → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema}/__init__.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/flows → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema/requests}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/fpgas → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema/responses}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/graph.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/state.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/viewer.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/html_report.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/summary_image.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/report/utils.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/docker_runner.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/run_node.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/slurm.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/libs → siliconcompiler-0.29.1/siliconcompiler/scheduler/validation}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/schema/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/utils.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/asap7_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/asic_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/freepdk45_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/ihp130_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/interposer_demo.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/targets/skywater130_demo.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/pdks → siliconcompiler-0.29.1/siliconcompiler/templates}/__init__.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/remote/server_schema → siliconcompiler-0.29.1/siliconcompiler/templates/email}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/email/general.j2 +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/email/summary.j2 +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/issue/README.txt +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/remote/server_schema/requests → siliconcompiler-0.29.1/siliconcompiler/templates/issue}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/issue/run.sh +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/remote/server_schema/responses → siliconcompiler-0.29.1/siliconcompiler/templates/report}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/sc_report.j2 +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/scheduler/validation → siliconcompiler-0.29.1/siliconcompiler/templates/slurm}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/slurm/run.sh +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/sphinx_ext → siliconcompiler-0.29.1/siliconcompiler/templates/tcl}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/targets → siliconcompiler-0.29.1/siliconcompiler/tools/_common/sdc}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates → siliconcompiler-0.29.1/siliconcompiler/tools/_common/tcl}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates/email → siliconcompiler-0.29.1/siliconcompiler/tools/bambu}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/bambu/bambu.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/bambu/convert.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates/issue → siliconcompiler-0.29.1/siliconcompiler/tools/bluespec}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/bluespec/convert.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates/report → siliconcompiler-0.29.1/siliconcompiler/tools/builtin}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/_common.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/builtin.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/join.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/maximum.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/minimum.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/mux.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/nop.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/verify.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates/slurm → siliconcompiler-0.29.1/siliconcompiler/tools/chisel}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/build.sbt +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/chisel.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/convert.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/templates/tcl → siliconcompiler-0.29.1/siliconcompiler/tools/execute}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/execute/exec_input.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/execute/execute.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools → siliconcompiler-0.29.1/siliconcompiler/tools/genfasm}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/_common/sdc → siliconcompiler-0.29.1/siliconcompiler/tools/ghdl}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/ghdl/convert.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/_common/tcl → siliconcompiler-0.29.1/siliconcompiler/tools/icarus}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/icarus/compile.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/icarus/icarus.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/bambu → siliconcompiler-0.29.1/siliconcompiler/tools/icepack}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/icepack/bitstream.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/icepack/icepack.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/bluespec → siliconcompiler-0.29.1/siliconcompiler/tools/klayout}/__init__.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/builtin → siliconcompiler-0.29.1/siliconcompiler/tools/magic}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/drc.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/extspice.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/chisel → siliconcompiler-0.29.1/siliconcompiler/tools/montage}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/montage/montage.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/montage/tile.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/execute → siliconcompiler-0.29.1/siliconcompiler/tools/netgen}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/lvs.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/netgen.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/genfasm → siliconcompiler-0.29.1/siliconcompiler/tools/nextpnr}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/nextpnr/apr.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
- /siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts/sc_write.tcl → /siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/ghdl → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/icarus → siliconcompiler-0.29.1/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/timing.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/slang/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/slang/lint.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/parse.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/icepack → siliconcompiler-0.29.1/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/templates/output.v +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/klayout → siliconcompiler-0.29.1/siliconcompiler/tools/sv2v}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/sv2v/convert.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/magic → siliconcompiler-0.29.1/siliconcompiler/tools/template}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/template/template.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/montage → siliconcompiler-0.29.1/siliconcompiler/tools/verilator}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/compile.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/lint.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/parse.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/bitstream.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/place.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/route.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/netgen → siliconcompiler-0.29.1/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/nextpnr → siliconcompiler-0.29.1/siliconcompiler/tools/vpr}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/place.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/route.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/screenshot.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/show.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/vpr.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/xdm/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/xdm/convert.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/xyce/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/xyce/simulate.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/procs.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/openroad → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
- {siliconcompiler-0.28.9/siliconcompiler/tools/openroad/scripts → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/templates}/__init__.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/_tools.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/units.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/use.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/utils/asic.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler/utils/showtools.py +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/dependency_links.txt +0 -0
- {siliconcompiler-0.28.9 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/top_level.txt +0 -0
|
@@ -8,6 +8,45 @@ 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.29.1 (2025-01-09)
|
|
12
|
+
=========================================
|
|
13
|
+
|
|
14
|
+
**Major:**
|
|
15
|
+
|
|
16
|
+
* Added optional `optimizer` install extra to provide design optimization via google-vizier.
|
|
17
|
+
|
|
18
|
+
**Minor:**
|
|
19
|
+
|
|
20
|
+
* Added capability to import flist files via `Chip.import_flist`
|
|
21
|
+
* Added quiet loglevel to limit siliconcompiler logging to just the most critical information.
|
|
22
|
+
|
|
23
|
+
* Tools:
|
|
24
|
+
|
|
25
|
+
* openroad: switch to turn on new macro placer by default and correct handling of dont_use based on cell lists.
|
|
26
|
+
* yosys: add detailed metrics for cell counts, added support for handling clockgate insertion, simplified library file handling, and updated lec task.
|
|
27
|
+
* sta: added check_library task to help verify library setups for asic flows.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
SiliconCompiler 0.29.0 (2024-12-12)
|
|
31
|
+
=========================================
|
|
32
|
+
|
|
33
|
+
**Major:**
|
|
34
|
+
|
|
35
|
+
* Update asicflow and openroad driver to utilize smaller tasks. This is a breaking change from the previous implementation, but allows for better flow composability.
|
|
36
|
+
* Added `['record', 'pythonversion']` and `['record', 'pythonpackage']` to schema to allow to better environment and provenance tracking.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
**Minor:**
|
|
40
|
+
|
|
41
|
+
* Reworked remote client into single class to allow for better job tracking locally.
|
|
42
|
+
* Updated logic for printing package access information to avoid repeating information when possible during a run.
|
|
43
|
+
|
|
44
|
+
* Tools:
|
|
45
|
+
|
|
46
|
+
* openroad: rework tasks into smaller tasks, add access to `eliminate_dead_logic` via `['tool', 'openroad', 'task', 'init_floorplan', 'var', 'remove_dead_logic']`
|
|
47
|
+
* yosys: fix fpga synthesis to allow for better macro extraction and added ability to map tri-state buffers to asic synthesis.
|
|
48
|
+
|
|
49
|
+
|
|
11
50
|
SiliconCompiler 0.28.9 (2024-11-27)
|
|
12
51
|
=========================================
|
|
13
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.29.1
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -26,54 +26,59 @@ 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.11; 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
|
|
33
33
|
Requires-Dist: Jinja2>=2.11.3
|
|
34
34
|
Requires-Dist: graphviz==0.20.3
|
|
35
35
|
Requires-Dist: distro==1.9.0
|
|
36
|
-
Requires-Dist: packaging<
|
|
36
|
+
Requires-Dist: packaging<25,>=21.3
|
|
37
37
|
Requires-Dist: psutil>=5.8.0
|
|
38
38
|
Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
|
|
39
|
-
Requires-Dist: Pillow==11.
|
|
40
|
-
Requires-Dist: GitPython==3.1.
|
|
41
|
-
Requires-Dist: lambdapdk>=0.1.
|
|
39
|
+
Requires-Dist: Pillow==11.1.0; python_version >= "3.9"
|
|
40
|
+
Requires-Dist: GitPython==3.1.44
|
|
41
|
+
Requires-Dist: lambdapdk>=0.1.44
|
|
42
42
|
Requires-Dist: PyGithub==2.5.0
|
|
43
43
|
Requires-Dist: urllib3>=1.26.0
|
|
44
44
|
Requires-Dist: fasteners==0.19
|
|
45
|
-
Requires-Dist: fastjsonschema==2.
|
|
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
48
|
Requires-Dist: sc-surelog==1.84.1
|
|
49
|
-
Requires-Dist: orjson==3.10.
|
|
50
|
-
Requires-Dist: streamlit==1.40.1;
|
|
49
|
+
Requires-Dist: orjson==3.10.13
|
|
50
|
+
Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
|
|
51
|
+
Requires-Dist: streamlit==1.41.1; python_version >= "3.9" and python_full_version != "3.9.7"
|
|
51
52
|
Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
|
|
52
53
|
Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
|
|
53
54
|
Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
|
|
54
55
|
Requires-Dist: streamlit-autorefresh==1.0.1; python_full_version != "3.9.7"
|
|
55
56
|
Provides-Extra: test
|
|
56
|
-
Requires-Dist: pytest==8.3.
|
|
57
|
+
Requires-Dist: pytest==8.3.4; extra == "test"
|
|
57
58
|
Requires-Dist: pytest-xdist==3.6.1; extra == "test"
|
|
58
59
|
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
59
|
-
Requires-Dist: pytest-asyncio==0.24.0; extra == "test"
|
|
60
|
+
Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
|
|
61
|
+
Requires-Dist: pytest-asyncio==0.25.1; python_version >= "3.9" and extra == "test"
|
|
60
62
|
Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
|
|
61
63
|
Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
|
|
62
64
|
Requires-Dist: responses==0.25.3; extra == "test"
|
|
63
65
|
Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
|
|
64
|
-
|
|
65
|
-
Requires-Dist:
|
|
66
|
-
Requires-Dist:
|
|
66
|
+
Provides-Extra: lint
|
|
67
|
+
Requires-Dist: flake8==7.1.1; extra == "lint"
|
|
68
|
+
Requires-Dist: tclint==0.5.0; extra == "lint"
|
|
69
|
+
Requires-Dist: codespell==2.3.0; extra == "lint"
|
|
67
70
|
Provides-Extra: docs
|
|
68
71
|
Requires-Dist: Sphinx==8.1.3; extra == "docs"
|
|
69
72
|
Requires-Dist: pip-licenses==5.0.0; extra == "docs"
|
|
70
|
-
Requires-Dist: pydata-sphinx-theme==0.16.
|
|
73
|
+
Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
|
|
71
74
|
Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
|
|
72
75
|
Provides-Extra: profile
|
|
73
76
|
Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
|
|
74
77
|
Provides-Extra: examples
|
|
75
78
|
Requires-Dist: migen==0.9.2; extra == "examples"
|
|
76
|
-
Requires-Dist: lambdalib==0.3.
|
|
79
|
+
Requires-Dist: lambdalib==0.3.2; extra == "examples"
|
|
80
|
+
Provides-Extra: optimizer
|
|
81
|
+
Requires-Dist: google-vizier[jax]==0.1.20; python_version >= "3.10" and extra == "optimizer"
|
|
77
82
|
|
|
78
83
|

|
|
79
84
|
|
|
@@ -33,30 +33,31 @@ 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.11; python_version >= '3.9'",
|
|
37
37
|
"requests == 2.32.3",
|
|
38
38
|
"PyYAML == 6.0.2",
|
|
39
39
|
"pandas >= 1.1.5",
|
|
40
40
|
"Jinja2 >= 2.11.3",
|
|
41
41
|
"graphviz == 0.20.3",
|
|
42
42
|
"distro == 1.9.0",
|
|
43
|
-
"packaging >= 21.3, <
|
|
43
|
+
"packaging >= 21.3, < 25",
|
|
44
44
|
"psutil >= 5.8.0",
|
|
45
45
|
"Pillow == 10.4.0; python_version <= '3.8'",
|
|
46
|
-
"Pillow == 11.
|
|
47
|
-
"GitPython == 3.1.
|
|
48
|
-
"lambdapdk >= 0.1.
|
|
46
|
+
"Pillow == 11.1.0; python_version >= '3.9'",
|
|
47
|
+
"GitPython == 3.1.44",
|
|
48
|
+
"lambdapdk >= 0.1.44",
|
|
49
49
|
"PyGithub == 2.5.0",
|
|
50
50
|
"urllib3 >= 1.26.0", # Required for PyGithub
|
|
51
51
|
"fasteners == 0.19",
|
|
52
|
-
"fastjsonschema == 2.
|
|
52
|
+
"fastjsonschema == 2.21.1",
|
|
53
53
|
"docker == 7.1.0",
|
|
54
54
|
"importlib_metadata; python_version < '3.10'",
|
|
55
55
|
"sc-surelog == 1.84.1",
|
|
56
|
-
"orjson == 3.10.
|
|
56
|
+
"orjson == 3.10.13",
|
|
57
57
|
|
|
58
58
|
# dashboard, streamlit does not support 3.9.7
|
|
59
|
-
"streamlit == 1.40.1;
|
|
59
|
+
"streamlit == 1.40.1; python_version <= '3.8'",
|
|
60
|
+
"streamlit == 1.41.1; python_version >= '3.9' and python_full_version != '3.9.7'",
|
|
60
61
|
"streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
|
|
61
62
|
"streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
|
|
62
63
|
"streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
|
|
@@ -86,24 +87,40 @@ smake = "siliconcompiler.apps.smake:main"
|
|
|
86
87
|
[project.entry-points."siliconcompiler.show"]
|
|
87
88
|
scsetup = "siliconcompiler.utils.showtools:setup"
|
|
88
89
|
|
|
90
|
+
[project.entry-points."siliconcompiler.target"]
|
|
91
|
+
targets = "siliconcompiler.targets:get_targets"
|
|
92
|
+
|
|
93
|
+
[project.entry-points."siliconcompiler.docs"]
|
|
94
|
+
linkcode = "siliconcompiler.sphinx_ext:get_codeurl"
|
|
95
|
+
targets = "siliconcompiler.sphinx_ext:targets"
|
|
96
|
+
flows = "siliconcompiler.sphinx_ext:flows"
|
|
97
|
+
libs = "siliconcompiler.sphinx_ext:libraries"
|
|
98
|
+
pdks = "siliconcompiler.sphinx_ext:pdks"
|
|
99
|
+
tools = "siliconcompiler.sphinx_ext:tools"
|
|
100
|
+
apps = "siliconcompiler.sphinx_ext:apps"
|
|
101
|
+
checklists = "siliconcompiler.sphinx_ext:checklists"
|
|
102
|
+
|
|
89
103
|
[project.optional-dependencies]
|
|
90
104
|
test = [
|
|
91
|
-
"pytest == 8.3.
|
|
105
|
+
"pytest == 8.3.4",
|
|
92
106
|
"pytest-xdist == 3.6.1",
|
|
93
107
|
"pytest-timeout == 2.3.1",
|
|
94
|
-
"pytest-asyncio == 0.24.0",
|
|
108
|
+
"pytest-asyncio == 0.24.0; python_version <= '3.8'",
|
|
109
|
+
"pytest-asyncio == 0.25.1; python_version >= '3.9'",
|
|
95
110
|
"pytest-cov == 5.0.0; python_version <= '3.8'",
|
|
96
111
|
"pytest-cov == 6.0.0; python_version >= '3.9'",
|
|
97
112
|
"responses == 0.25.3",
|
|
98
|
-
"PyVirtualDisplay == 3.0"
|
|
113
|
+
"PyVirtualDisplay == 3.0"
|
|
114
|
+
]
|
|
115
|
+
lint = [
|
|
99
116
|
"flake8 == 7.1.1",
|
|
100
|
-
"tclint == 0.
|
|
117
|
+
"tclint == 0.5.0",
|
|
101
118
|
"codespell == 2.3.0"
|
|
102
119
|
]
|
|
103
120
|
docs = [
|
|
104
121
|
"Sphinx == 8.1.3",
|
|
105
122
|
"pip-licenses == 5.0.0",
|
|
106
|
-
"pydata-sphinx-theme == 0.16.
|
|
123
|
+
"pydata-sphinx-theme == 0.16.1",
|
|
107
124
|
"sc-leflib >= 0.2.0"
|
|
108
125
|
]
|
|
109
126
|
profile = [
|
|
@@ -111,7 +128,10 @@ profile = [
|
|
|
111
128
|
]
|
|
112
129
|
examples = [
|
|
113
130
|
"migen == 0.9.2",
|
|
114
|
-
"lambdalib == 0.3.
|
|
131
|
+
"lambdalib == 0.3.2"
|
|
132
|
+
]
|
|
133
|
+
optimizer = [
|
|
134
|
+
"google-vizier[jax] == 0.1.20; python_version >= '3.10'"
|
|
115
135
|
]
|
|
116
136
|
|
|
117
137
|
[tool.setuptools]
|
|
@@ -147,19 +167,11 @@ exclude = [
|
|
|
147
167
|
]
|
|
148
168
|
|
|
149
169
|
[tool.tclint.style]
|
|
150
|
-
allow-aligned-sets = true
|
|
151
170
|
line-length = 100
|
|
152
171
|
indent = 4
|
|
153
172
|
max-blank-lines = 1
|
|
154
173
|
spaces-in-braces = true
|
|
155
174
|
|
|
156
|
-
[[tool.tclint.fileset]]
|
|
157
|
-
# This fileset overrides the global indent for OpenROAD scripts.
|
|
158
|
-
paths = ["siliconcompiler/tools/openroad/scripts"]
|
|
159
|
-
|
|
160
|
-
[tool.tclint.fileset.style]
|
|
161
|
-
indent = 2
|
|
162
|
-
|
|
163
175
|
[tool.codespell]
|
|
164
176
|
skip = './build/*,*.json,*.xml,./siliconcompiler/templates/report/bootstrap.min.js,./tests/utils/test_utils.py,./tests/tools/data/klayout_pdk/interposer.drc'
|
|
165
177
|
count = true
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
|
|
3
|
+
from siliconcompiler import Chip
|
|
4
|
+
from siliconcompiler.tools.opensta import check_library
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def main():
|
|
8
|
+
parser = argparse.ArgumentParser()
|
|
9
|
+
parser.add_argument('-target', help='Reference target', required=True)
|
|
10
|
+
parser.add_argument('-library', nargs='+', help='Library to check', required=True)
|
|
11
|
+
args = parser.parse_args()
|
|
12
|
+
|
|
13
|
+
chip = Chip('check_libs')
|
|
14
|
+
|
|
15
|
+
chip.node('check_lib', 'check', check_library)
|
|
16
|
+
chip.set('option', 'flow', 'check_lib')
|
|
17
|
+
chip.set('option', 'clean', True)
|
|
18
|
+
|
|
19
|
+
target = chip._load_module(args.target)
|
|
20
|
+
chip.use(target)
|
|
21
|
+
|
|
22
|
+
chip.unset('asic', 'logiclib')
|
|
23
|
+
|
|
24
|
+
for lib in args.library:
|
|
25
|
+
mod = chip._load_module(lib)
|
|
26
|
+
|
|
27
|
+
libraries = mod.setup()
|
|
28
|
+
if not isinstance(libraries, (list, tuple)):
|
|
29
|
+
libraries = [libraries]
|
|
30
|
+
|
|
31
|
+
for library in libraries:
|
|
32
|
+
if library.design.startswith('lambdalib_'):
|
|
33
|
+
continue
|
|
34
|
+
chip.use(library)
|
|
35
|
+
chip.add('asic', 'logiclib', library.design)
|
|
36
|
+
|
|
37
|
+
chip.run()
|
|
38
|
+
|
|
39
|
+
return 0
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
if __name__ == "__main__":
|
|
43
|
+
main()
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from siliconcompiler.apps import sc_dashboard
|
|
2
|
+
from siliconcompiler.apps import sc_install
|
|
3
|
+
from siliconcompiler.apps import sc_issue
|
|
4
|
+
from siliconcompiler.apps import sc_remote
|
|
5
|
+
from siliconcompiler.apps import sc_server
|
|
6
|
+
from siliconcompiler.apps import sc_show
|
|
7
|
+
from siliconcompiler.apps import sc
|
|
8
|
+
from siliconcompiler.apps import smake
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def get_apps():
|
|
12
|
+
'''
|
|
13
|
+
Returns a dict of builtin apps
|
|
14
|
+
'''
|
|
15
|
+
return {
|
|
16
|
+
module.__name__.split(".")[-1]: module for module in (
|
|
17
|
+
sc_dashboard,
|
|
18
|
+
sc_install,
|
|
19
|
+
sc_issue,
|
|
20
|
+
sc_remote,
|
|
21
|
+
sc_server,
|
|
22
|
+
sc_show,
|
|
23
|
+
sc,
|
|
24
|
+
smake
|
|
25
|
+
)
|
|
26
|
+
}
|
|
@@ -5,9 +5,7 @@ import sys
|
|
|
5
5
|
|
|
6
6
|
from siliconcompiler import Chip
|
|
7
7
|
from siliconcompiler import SiliconCompilerError
|
|
8
|
-
from siliconcompiler.remote.client import
|
|
9
|
-
remote_ping, remote_run_loop, _remote_ping
|
|
10
|
-
from siliconcompiler.remote.client import configure_server, configure_whitelist, configure_print
|
|
8
|
+
from siliconcompiler.remote.client import Client, ConfigureClient
|
|
11
9
|
from siliconcompiler.scheduler import _finalize_run
|
|
12
10
|
from siliconcompiler.flowgraph import _get_flowgraph_entry_nodes, _get_flowgraph_node_outputs, \
|
|
13
11
|
nodes_to_execute
|
|
@@ -108,29 +106,33 @@ To delete a job, use:
|
|
|
108
106
|
|
|
109
107
|
if args['configure']:
|
|
110
108
|
if args['list']:
|
|
111
|
-
|
|
109
|
+
client = Client(chip)
|
|
110
|
+
client.print_configuration()
|
|
112
111
|
return 0
|
|
113
112
|
|
|
114
113
|
if not args['add'] and not args['remove']:
|
|
115
114
|
try:
|
|
116
|
-
|
|
115
|
+
client = ConfigureClient(chip)
|
|
116
|
+
client.configure_server(server=args['server'])
|
|
117
117
|
except ValueError as e:
|
|
118
118
|
chip.logger.error(e)
|
|
119
119
|
return 1
|
|
120
120
|
else:
|
|
121
121
|
try:
|
|
122
|
-
|
|
122
|
+
client = ConfigureClient(chip)
|
|
123
|
+
client.configure_whitelist(add=args['add'], remove=args['remove'])
|
|
123
124
|
except ValueError as e:
|
|
124
125
|
chip.logger.error(e)
|
|
125
126
|
return 1
|
|
126
127
|
|
|
127
128
|
return 0
|
|
128
129
|
|
|
130
|
+
client = Client(chip)
|
|
129
131
|
# Main logic.
|
|
130
132
|
# If no job-related options are specified, fetch and report basic info.
|
|
131
133
|
# Create temporary Chip object and check on the server.
|
|
132
134
|
try:
|
|
133
|
-
|
|
135
|
+
client.check()
|
|
134
136
|
except SiliconCompilerError as e:
|
|
135
137
|
chip.logger.error(f'{e}')
|
|
136
138
|
return 1
|
|
@@ -138,7 +140,7 @@ To delete a job, use:
|
|
|
138
140
|
# If the -cancel flag is specified, cancel the job.
|
|
139
141
|
if args['cancel']:
|
|
140
142
|
try:
|
|
141
|
-
cancel_job(
|
|
143
|
+
client.cancel_job()
|
|
142
144
|
except SiliconCompilerError as e:
|
|
143
145
|
chip.logger.error(f'{e}')
|
|
144
146
|
return 1
|
|
@@ -146,7 +148,7 @@ To delete a job, use:
|
|
|
146
148
|
# If the -delete flag is specified, delete the job.
|
|
147
149
|
elif args['delete']:
|
|
148
150
|
try:
|
|
149
|
-
delete_job(
|
|
151
|
+
client.delete_job()
|
|
150
152
|
except SiliconCompilerError as e:
|
|
151
153
|
chip.logger.error(f'{e}')
|
|
152
154
|
return 1
|
|
@@ -162,10 +164,8 @@ To delete a job, use:
|
|
|
162
164
|
outputs = _get_flowgraph_node_outputs(chip, flow, entry_node)
|
|
163
165
|
chip.set('option', 'from', list(map(lambda node: node[0], outputs)))
|
|
164
166
|
# Enter the remote run loop.
|
|
165
|
-
chip._init_logger(step='remote', index='0', in_run=True)
|
|
166
167
|
try:
|
|
167
|
-
|
|
168
|
-
remote_run_loop(chip, rsp['progress_interval'])
|
|
168
|
+
client._run_loop()
|
|
169
169
|
except SiliconCompilerError as e:
|
|
170
170
|
chip.logger.error(f'{e}')
|
|
171
171
|
return 1
|
|
@@ -185,8 +185,9 @@ To delete a job, use:
|
|
|
185
185
|
# If only a manifest is specified, make a 'check_progress/' request and report results:
|
|
186
186
|
elif chip_cfg:
|
|
187
187
|
try:
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
info = client.check_job_status()
|
|
189
|
+
client._report_job_status(info)
|
|
190
|
+
except Exception as e:
|
|
190
191
|
chip.logger.error(f'{e}')
|
|
191
192
|
return 1
|
|
192
193
|
|
|
@@ -19,10 +19,10 @@ def main():
|
|
|
19
19
|
Examples:
|
|
20
20
|
|
|
21
21
|
sc-show
|
|
22
|
-
(displays build/adder/job0/
|
|
22
|
+
(displays build/adder/job0/write.gds/0/outputs/adder.gds)
|
|
23
23
|
|
|
24
24
|
sc-show -design adder
|
|
25
|
-
(displays build/adder/job0/
|
|
25
|
+
(displays build/adder/job0/write.gds/0/outputs/adder.gds)
|
|
26
26
|
|
|
27
27
|
sc-show -design adder -arg_step floorplan
|
|
28
28
|
(displays build/adder/job0/floorplan/0/outputs/adder.def)
|
|
@@ -31,13 +31,13 @@ def main():
|
|
|
31
31
|
(displays build/adder/job0/place/1/outputs/adder.def)
|
|
32
32
|
|
|
33
33
|
sc-show -design adder -jobname rtl2gds
|
|
34
|
-
(displays build/adder/rtl2gds/
|
|
34
|
+
(displays build/adder/rtl2gds/write.gds/0/outputs/adder.gds)
|
|
35
35
|
|
|
36
36
|
sc-show -cfg build/adder/rtl2gds/adder.pkg.json
|
|
37
|
-
(displays build/adder/rtl2gds/
|
|
37
|
+
(displays build/adder/rtl2gds/write.gds/0/outputs/adder.gds)
|
|
38
38
|
|
|
39
39
|
sc-show -design adder -ext odb
|
|
40
|
-
(displays build/adder/job0/
|
|
40
|
+
(displays build/adder/job0/write.views/0/outputs/adder.odb)
|
|
41
41
|
|
|
42
42
|
sc-show build/adder/job0/route/1/outputs/adder.def
|
|
43
43
|
(displays build/adder/job0/route/1/outputs/adder.def)
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Copyright 2024 Silicon Compiler Authors. All Rights Reserved.
|
|
2
|
+
|
|
3
|
+
# Standard Modules
|
|
4
|
+
import base64
|
|
5
|
+
import io
|
|
6
|
+
import json
|
|
7
|
+
import gzip
|
|
8
|
+
import os
|
|
9
|
+
import stat
|
|
10
|
+
import sys
|
|
11
|
+
import tarfile
|
|
12
|
+
import tempfile
|
|
13
|
+
import textwrap
|
|
14
|
+
|
|
15
|
+
from datetime import datetime
|
|
16
|
+
|
|
17
|
+
import siliconcompiler
|
|
18
|
+
from siliconcompiler.apps._common import UNSET_DESIGN
|
|
19
|
+
from siliconcompiler import SiliconCompilerError
|
|
20
|
+
from siliconcompiler import utils
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def make_bytes(data):
|
|
24
|
+
if isinstance(data, bytes):
|
|
25
|
+
return data
|
|
26
|
+
return data.encode('utf-8')
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def compress(data):
|
|
30
|
+
return gzip.compress(make_bytes(data))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def convert_base64(data):
|
|
34
|
+
return base64.b64encode(make_bytes(data))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def wrap_text(data):
|
|
38
|
+
if isinstance(data, bytes):
|
|
39
|
+
data = data.decode('utf-8')
|
|
40
|
+
return textwrap.wrap(data)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
###########################
|
|
44
|
+
def main():
|
|
45
|
+
progname = "summarize"
|
|
46
|
+
description = """
|
|
47
|
+
------------------------------------------------------------
|
|
48
|
+
Utility script to print job record information from a manifest
|
|
49
|
+
needed to replay that manifest.
|
|
50
|
+
------------------------------------------------------------
|
|
51
|
+
"""
|
|
52
|
+
# Create a base chip class.
|
|
53
|
+
chip = siliconcompiler.Chip(UNSET_DESIGN)
|
|
54
|
+
|
|
55
|
+
# Read command-line inputs and generate Chip objects to run the flow on.
|
|
56
|
+
try:
|
|
57
|
+
file_arg = {
|
|
58
|
+
'metavar': '<file>',
|
|
59
|
+
'help': 'Path to generate replay file to.',
|
|
60
|
+
'default': 'replay.sh',
|
|
61
|
+
'sc_print': True
|
|
62
|
+
}
|
|
63
|
+
args = chip.create_cmdline(
|
|
64
|
+
progname,
|
|
65
|
+
description=description,
|
|
66
|
+
switchlist=['-cfg',
|
|
67
|
+
'-jobname',
|
|
68
|
+
'-loglevel'],
|
|
69
|
+
additional_args={
|
|
70
|
+
'-file': file_arg
|
|
71
|
+
})
|
|
72
|
+
except SiliconCompilerError:
|
|
73
|
+
return 1
|
|
74
|
+
except Exception as e:
|
|
75
|
+
chip.logger.error(e)
|
|
76
|
+
return 1
|
|
77
|
+
|
|
78
|
+
design = chip.get('design')
|
|
79
|
+
if design == UNSET_DESIGN:
|
|
80
|
+
chip.logger.error('Design not loaded')
|
|
81
|
+
return 1
|
|
82
|
+
|
|
83
|
+
# Print Job Summary
|
|
84
|
+
jobname = chip.get('option', 'jobname')
|
|
85
|
+
pythonpackages = chip.get('record', 'pythonpackage', job=jobname)
|
|
86
|
+
|
|
87
|
+
pythonversion = set()
|
|
88
|
+
nodes = set()
|
|
89
|
+
for version, step, index in chip.schema._getvals('history', jobname, 'record', 'pythonversion'):
|
|
90
|
+
pythonversion.add(version)
|
|
91
|
+
nodes.add((step, index))
|
|
92
|
+
|
|
93
|
+
if len(pythonversion) > 1:
|
|
94
|
+
chip.logger.warning(f"More than one python version detected: {', '.join(pythonversion)}")
|
|
95
|
+
pythonversion = list(pythonversion)[0]
|
|
96
|
+
|
|
97
|
+
tools = {}
|
|
98
|
+
tool_versions = []
|
|
99
|
+
for step, index in nodes:
|
|
100
|
+
toolpath = chip.get('record', 'toolpath', job=jobname, step=step, index=index)
|
|
101
|
+
toolversion = chip.get('record', 'toolversion', job=jobname, step=step, index=index)
|
|
102
|
+
|
|
103
|
+
if toolpath is None:
|
|
104
|
+
continue
|
|
105
|
+
|
|
106
|
+
tools.setdefault(toolpath, set()).add(toolversion)
|
|
107
|
+
if toolversion:
|
|
108
|
+
tool = chip.get('flowgraph', chip.get('option', 'flow'), step, index, 'tool')
|
|
109
|
+
tool_versions.append(
|
|
110
|
+
((step, index), tool, toolversion)
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
print("SUMMARY :")
|
|
114
|
+
print(f"design : {chip.design}")
|
|
115
|
+
print(f"pythonversion : {pythonversion}")
|
|
116
|
+
|
|
117
|
+
print("Python packages requires:")
|
|
118
|
+
for pkg in sorted(pythonpackages):
|
|
119
|
+
print(f" {pkg}")
|
|
120
|
+
|
|
121
|
+
print("Tool requirements:")
|
|
122
|
+
tool_len = max([len(os.path.basename(tool)) for tool, _ in tools.items()])
|
|
123
|
+
for tool, version in tools.items():
|
|
124
|
+
print(f" {os.path.basename(tool):<{tool_len}}: {', '.join(version)}")
|
|
125
|
+
|
|
126
|
+
path = os.path.abspath(args['file'])
|
|
127
|
+
os.makedirs(os.path.dirname(path), exist_ok=True)
|
|
128
|
+
|
|
129
|
+
starttimes = set()
|
|
130
|
+
for starttime, step, index in chip.schema._getvals('history', jobname, 'record', 'starttime'):
|
|
131
|
+
starttimes.add(datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S'))
|
|
132
|
+
starttime = min(starttimes).strftime('%Y-%m-%d %H:%M:%S')
|
|
133
|
+
|
|
134
|
+
with io.StringIO() as fd:
|
|
135
|
+
fd.write(utils.get_file_template('replay/requirements.txt').render(
|
|
136
|
+
design=chip.design,
|
|
137
|
+
jobname=jobname,
|
|
138
|
+
date=starttime,
|
|
139
|
+
pkgs=pythonpackages
|
|
140
|
+
))
|
|
141
|
+
fd.flush()
|
|
142
|
+
requirements_file = fd.getvalue()
|
|
143
|
+
|
|
144
|
+
with tempfile.TemporaryDirectory() as collect:
|
|
145
|
+
chip.collect(directory=collect, verbose=True, exclude_packages=['siliconcompiler'])
|
|
146
|
+
|
|
147
|
+
with io.BytesIO() as fd:
|
|
148
|
+
with tarfile.open(fileobj=fd, mode='w:gz') as tar:
|
|
149
|
+
tar.add(collect, arcname='')
|
|
150
|
+
|
|
151
|
+
fd.flush()
|
|
152
|
+
collect_files = convert_base64(fd.getvalue())
|
|
153
|
+
|
|
154
|
+
with io.StringIO() as fd:
|
|
155
|
+
fd.write(utils.get_file_template('replay/replay.py.j2').render(
|
|
156
|
+
design=chip.design,
|
|
157
|
+
jobname=jobname,
|
|
158
|
+
date=starttime,
|
|
159
|
+
src_file=wrap_text(collect_files),
|
|
160
|
+
tool_versions=sorted(tool_versions)
|
|
161
|
+
))
|
|
162
|
+
fd.flush()
|
|
163
|
+
script = convert_base64(compress(fd.getvalue()))
|
|
164
|
+
|
|
165
|
+
manifest = convert_base64(compress(json.dumps(chip.schema.cfg, indent=2)))
|
|
166
|
+
|
|
167
|
+
tool_info = []
|
|
168
|
+
for tool, version in tools.items():
|
|
169
|
+
tool_info.append(f"{os.path.basename(tool):<{tool_len}}: {', '.join(version)}")
|
|
170
|
+
|
|
171
|
+
description = f"Replay for {chip.design} / {jobname}\nRun on: {starttime}"
|
|
172
|
+
|
|
173
|
+
with open(path, 'w', encoding='utf-8') as wf:
|
|
174
|
+
wf.write(utils.get_file_template('replay/setup.sh').render(
|
|
175
|
+
design=chip.design,
|
|
176
|
+
jobname=jobname,
|
|
177
|
+
date=starttime,
|
|
178
|
+
description=description,
|
|
179
|
+
pythonversion=pythonversion,
|
|
180
|
+
requirements=requirements_file.splitlines(),
|
|
181
|
+
script=wrap_text(script),
|
|
182
|
+
manifest=wrap_text(manifest),
|
|
183
|
+
tools=tool_info
|
|
184
|
+
))
|
|
185
|
+
|
|
186
|
+
permissions = stat.S_IMODE(os.lstat(path).st_mode)
|
|
187
|
+
os.chmod(path, permissions | stat.S_IXUSR)
|
|
188
|
+
|
|
189
|
+
return 0
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
#########################
|
|
193
|
+
if __name__ == "__main__":
|
|
194
|
+
sys.exit(main())
|