siliconcompiler 0.32.1__py3-none-any.whl → 0.32.3__py3-none-any.whl

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.
Files changed (187) hide show
  1. siliconcompiler/_metadata.py +3 -2
  2. siliconcompiler/apps/sc_install.py +13 -5
  3. siliconcompiler/apps/sc_remote.py +2 -1
  4. siliconcompiler/core.py +68 -55
  5. siliconcompiler/issue.py +3 -1
  6. siliconcompiler/remote/client.py +55 -16
  7. siliconcompiler/report/__init__.py +3 -2
  8. siliconcompiler/report/dashboard/__init__.py +61 -170
  9. siliconcompiler/report/dashboard/cli/__init__.py +788 -0
  10. siliconcompiler/report/dashboard/web/__init__.py +196 -0
  11. siliconcompiler/report/dashboard/{components → web/components}/__init__.py +4 -4
  12. siliconcompiler/report/dashboard/{components → web/components}/graph.py +1 -1
  13. siliconcompiler/report/dashboard/{layouts → web/layouts}/__init__.py +3 -3
  14. siliconcompiler/report/dashboard/{layouts → web/layouts}/_common.py +1 -1
  15. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph.py +5 -5
  16. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph_node_tab.py +6 -6
  17. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph_sac_tabs.py +6 -6
  18. siliconcompiler/report/dashboard/{viewer.py → web/viewer.py} +4 -4
  19. siliconcompiler/scheduler/__init__.py +44 -13
  20. siliconcompiler/scheduler/docker_runner.py +2 -1
  21. siliconcompiler/sphinx_ext/dynamicgen.py +11 -11
  22. siliconcompiler/templates/replay/replay.sh.j2 +2 -2
  23. siliconcompiler/templates/tcl/manifest.tcl.j2 +4 -120
  24. siliconcompiler/tools/_common/__init__.py +2 -0
  25. siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +126 -0
  26. siliconcompiler/tools/openroad/_apr.py +7 -0
  27. siliconcompiler/tools/openroad/fillmetal_insertion.py +14 -14
  28. siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +1 -1
  29. siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -1
  30. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +1 -1
  31. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +1 -1
  32. siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +1 -1
  33. siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +1 -1
  34. siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +2 -2
  35. siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +1 -1
  36. siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +1 -1
  37. siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -1
  38. siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +1 -1
  39. siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +1 -1
  40. siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +1 -1
  41. siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +1 -1
  42. siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -1
  43. siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +54 -8
  44. siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +1 -1
  45. siliconcompiler/tools/openroad/scripts/common/procs.tcl +19 -1
  46. siliconcompiler/tools/openroad/scripts/common/reports.tcl +18 -7
  47. siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +1 -1
  48. siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +1 -1
  49. siliconcompiler/tools/openroad/scripts/sc_show.tcl +1 -1
  50. siliconcompiler/tools/opensta/__init__.py +1 -1
  51. siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +1 -1
  52. siliconcompiler/tools/opensta/scripts/sc_procs.tcl +16 -0
  53. siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +1 -1
  54. siliconcompiler/tools/opensta/scripts/sc_timing.tcl +35 -7
  55. siliconcompiler/tools/opensta/timing.py +6 -2
  56. siliconcompiler/tools/slang/__init__.py +7 -8
  57. siliconcompiler/tools/sv2v/sv2v.py +4 -1
  58. siliconcompiler/tools/yosys/__init__.py +4 -36
  59. siliconcompiler/tools/yosys/lec.py +3 -4
  60. siliconcompiler/tools/yosys/{syn_asic.tcl → sc_synth_asic.tcl} +87 -0
  61. siliconcompiler/tools/yosys/{syn_fpga.tcl → sc_synth_fpga.tcl} +78 -0
  62. siliconcompiler/tools/yosys/syn_asic.py +36 -11
  63. siliconcompiler/tools/yosys/syn_fpga.py +23 -16
  64. siliconcompiler/toolscripts/_tools.json +23 -9
  65. siliconcompiler/toolscripts/rhel8/install-chisel.sh +2 -0
  66. siliconcompiler/toolscripts/rhel8/install-icarus.sh +1 -0
  67. siliconcompiler/toolscripts/rhel8/install-klayout.sh +2 -0
  68. siliconcompiler/toolscripts/rhel8/install-magic.sh +1 -2
  69. siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
  70. siliconcompiler/toolscripts/rhel8/install-slang.sh +2 -0
  71. siliconcompiler/toolscripts/rhel8/install-surelog.sh +3 -1
  72. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -0
  73. siliconcompiler/toolscripts/rhel8/install-verible.sh +2 -0
  74. siliconcompiler/toolscripts/rhel8/install-verilator.sh +1 -0
  75. siliconcompiler/toolscripts/rhel8/install-xyce.sh +2 -0
  76. siliconcompiler/toolscripts/rhel9/install-chisel.sh +2 -0
  77. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -0
  78. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -1
  79. siliconcompiler/toolscripts/rhel9/install-icarus.sh +1 -0
  80. siliconcompiler/toolscripts/rhel9/install-klayout.sh +2 -0
  81. siliconcompiler/toolscripts/rhel9/install-magic.sh +1 -2
  82. siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
  83. siliconcompiler/toolscripts/rhel9/install-openroad.sh +2 -0
  84. siliconcompiler/toolscripts/rhel9/install-opensta.sh +76 -0
  85. siliconcompiler/toolscripts/rhel9/install-slang.sh +3 -1
  86. siliconcompiler/toolscripts/rhel9/install-surelog.sh +2 -1
  87. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -0
  88. siliconcompiler/toolscripts/rhel9/install-verible.sh +2 -0
  89. siliconcompiler/toolscripts/rhel9/install-verilator.sh +1 -0
  90. siliconcompiler/toolscripts/rhel9/install-vpr.sh +31 -0
  91. siliconcompiler/toolscripts/rhel9/install-xdm.sh +2 -0
  92. siliconcompiler/toolscripts/rhel9/install-xyce.sh +2 -0
  93. siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +2 -0
  94. siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +61 -0
  95. siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +3 -1
  96. siliconcompiler/toolscripts/rhel9/install-yosys.sh +2 -0
  97. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +2 -0
  98. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +2 -0
  99. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +2 -0
  100. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +2 -0
  101. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +2 -0
  102. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +2 -0
  103. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +2 -0
  104. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +2 -0
  105. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +2 -0
  106. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +2 -0
  107. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +1 -3
  108. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +2 -0
  109. siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +72 -0
  110. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +3 -1
  111. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +2 -0
  112. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +3 -1
  113. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +1 -1
  114. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +2 -0
  115. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +2 -0
  116. siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +2 -0
  117. siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +2 -0
  118. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +2 -0
  119. siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +2 -0
  120. siliconcompiler/toolscripts/ubuntu20/install-yosys-parmys.sh +61 -0
  121. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +2 -0
  122. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +2 -0
  123. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +27 -2
  124. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +2 -0
  125. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +4 -2
  126. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +2 -0
  127. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +2 -0
  128. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +2 -0
  129. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +2 -0
  130. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +2 -0
  131. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +2 -0
  132. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +1 -2
  133. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +2 -0
  134. siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +72 -0
  135. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +3 -1
  136. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +2 -0
  137. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +3 -1
  138. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +1 -1
  139. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +2 -0
  140. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +2 -0
  141. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +2 -0
  142. siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +2 -0
  143. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +2 -0
  144. siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +2 -0
  145. siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +61 -0
  146. siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +3 -1
  147. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +2 -0
  148. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +2 -0
  149. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +2 -0
  150. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +2 -0
  151. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +4 -2
  152. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +2 -0
  153. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +2 -0
  154. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +2 -0
  155. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +2 -0
  156. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +2 -0
  157. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +2 -0
  158. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +1 -3
  159. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +2 -0
  160. siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +72 -0
  161. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +3 -1
  162. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +2 -0
  163. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +3 -1
  164. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +1 -1
  165. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +2 -0
  166. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +2 -0
  167. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +2 -0
  168. siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +2 -0
  169. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +2 -0
  170. siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +2 -0
  171. siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +61 -0
  172. siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +3 -1
  173. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +2 -0
  174. siliconcompiler/utils/__init__.py +4 -1
  175. siliconcompiler/utils/logging.py +88 -34
  176. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/METADATA +14 -10
  177. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/RECORD +185 -175
  178. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/WHEEL +1 -1
  179. siliconcompiler/tools/yosys/sc_syn.tcl +0 -87
  180. siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +0 -22
  181. /siliconcompiler/report/dashboard/{components → web/components}/flowgraph.py +0 -0
  182. /siliconcompiler/report/dashboard/{state.py → web/state.py} +0 -0
  183. /siliconcompiler/report/dashboard/{utils → web/utils}/__init__.py +0 -0
  184. /siliconcompiler/report/dashboard/{utils → web/utils}/file_utils.py +0 -0
  185. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/entry_points.txt +0 -0
  186. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info/licenses}/LICENSE +0 -0
  187. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/top_level.txt +0 -0
@@ -1,87 +0,0 @@
1
- ###############################
2
- # Reading SC Schema
3
- ###############################
4
-
5
- source ./sc_manifest.tcl
6
-
7
- yosys echo on
8
-
9
- ###############################
10
- # Schema Adapter
11
- ###############################
12
-
13
- set sc_tool yosys
14
- set sc_step [sc_cfg_get arg step]
15
- set sc_index [sc_cfg_get arg index]
16
- set sc_flow [sc_cfg_get option flow]
17
- set sc_task [sc_cfg_get flowgraph $sc_flow $sc_step $sc_index task]
18
- set sc_refdir [sc_cfg_tool_task_get refdir]
19
-
20
- ####################
21
- # DESIGNER's CHOICE
22
- ####################
23
-
24
- set sc_design [sc_top]
25
- set sc_flow [sc_cfg_get option flow]
26
- set sc_optmode [sc_cfg_get option optmode]
27
- set sc_pdk [sc_cfg_get option pdk]
28
-
29
- ########################################################
30
- # Helper function
31
- ########################################################
32
-
33
- source "$sc_refdir/procs.tcl"
34
-
35
- ########################################################
36
- # Design Inputs
37
- ########################################################
38
-
39
- # TODO: the original OpenFPGA synth script used read_verilog with -nolatches. Is
40
- # that a flag we might want here?
41
-
42
- set input_verilog "inputs/$sc_design.v"
43
- if { [file exists $input_verilog] } {
44
- if { [lindex [sc_cfg_tool_task_get var use_slang] 0] == "true" && [sc_load_plugin slang] } {
45
- # This needs some reordering of loaded to ensure blackboxes are handled
46
- # before this
47
- set slang_params []
48
- if { [sc_cfg_exists option param] } {
49
- dict for {key value} [sc_cfg_get option param] {
50
- if { ![string is integer $value] } {
51
- set value [concat \"$value\"]
52
- }
53
-
54
- lappend slang_params -G "${key}=${value}"
55
- }
56
- }
57
- yosys read_slang \
58
- -D SYNTHESIS \
59
- --keep-hierarchy \
60
- --top $sc_design \
61
- {*}$slang_params \
62
- $input_verilog
63
- } else {
64
- # Use -noblackbox to correctly interpret empty modules as empty,
65
- # actual black boxes are read in later
66
- # https://github.com/YosysHQ/yosys/issues/1468
67
- yosys read_verilog -noblackbox -sv $input_verilog
68
-
69
- ########################################################
70
- # Override top level parameters
71
- ########################################################
72
-
73
- sc_apply_params
74
- }
75
- }
76
-
77
- ########################################################
78
- # Synthesis based on mode
79
- ########################################################
80
-
81
- source "$sc_refdir/${sc_task}.tcl"
82
-
83
- ########################################################
84
- # Write Netlist
85
- ########################################################
86
- yosys write_verilog -noexpr -nohex -nodec "outputs/${sc_design}.vg"
87
- yosys write_json "outputs/${sc_design}.netlist.json"
@@ -1,22 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- # Get directory of script
6
- src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
-
8
- mkdir -p deps
9
- cd deps
10
-
11
- python3 -m venv .yosys-slang --clear
12
- . .yosys-slang/bin/activate
13
- python3 -m pip install cmake
14
-
15
- git clone $(python3 ${src_path}/_tools.py --tool yosys-slang --field git-url) yosys-slang
16
- cd yosys-slang
17
- git checkout $(python3 ${src_path}/_tools.py --tool yosys-slang --field git-commit)
18
- git submodule update --init --recursive
19
-
20
- make -j$(nproc)
21
- sudo PATH="$PATH" make install
22
- cd -