siliconcompiler 0.33.0__py3-none-any.whl → 0.33.1__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 (170) hide show
  1. siliconcompiler/_common.py +5 -0
  2. siliconcompiler/_metadata.py +1 -1
  3. siliconcompiler/apps/sc_install.py +7 -0
  4. siliconcompiler/apps/sc_remote.py +7 -2
  5. siliconcompiler/core.py +34 -12
  6. siliconcompiler/metric.py +59 -0
  7. siliconcompiler/record.py +6 -2
  8. siliconcompiler/remote/client.py +10 -3
  9. siliconcompiler/remote/server.py +7 -2
  10. siliconcompiler/report/dashboard/cli/__init__.py +2 -0
  11. siliconcompiler/report/dashboard/cli/board.py +34 -30
  12. siliconcompiler/report/report.py +10 -5
  13. siliconcompiler/report/utils.py +12 -6
  14. siliconcompiler/scheduler/__init__.py +137 -974
  15. siliconcompiler/scheduler/send_messages.py +9 -3
  16. siliconcompiler/scheduler/slurm.py +10 -43
  17. siliconcompiler/scheduler/taskscheduler.py +320 -0
  18. siliconcompiler/schema/schema_cfg.py +2 -2
  19. siliconcompiler/tool.py +127 -19
  20. siliconcompiler/tools/_common/asic.py +5 -5
  21. siliconcompiler/tools/bluespec/convert.py +2 -1
  22. siliconcompiler/tools/builtin/_common.py +9 -2
  23. siliconcompiler/tools/builtin/concatenate.py +6 -2
  24. siliconcompiler/tools/builtin/minimum.py +7 -2
  25. siliconcompiler/tools/builtin/mux.py +7 -2
  26. siliconcompiler/tools/builtin/nop.py +7 -2
  27. siliconcompiler/tools/builtin/verify.py +7 -3
  28. siliconcompiler/tools/chisel/convert.py +10 -10
  29. siliconcompiler/tools/klayout/drc.py +2 -2
  30. siliconcompiler/tools/klayout/klayout_show.py +6 -6
  31. siliconcompiler/tools/klayout/klayout_utils.py +12 -12
  32. siliconcompiler/tools/netgen/count_lvs.py +2 -2
  33. siliconcompiler/tools/netgen/lvs.py +1 -1
  34. siliconcompiler/tools/openroad/_apr.py +2 -2
  35. siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -7
  36. siliconcompiler/tools/openroad/scripts/common/procs.tcl +18 -0
  37. siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +1 -7
  38. siliconcompiler/tools/opensta/scripts/sc_timing.tcl +10 -0
  39. siliconcompiler/tools/opensta/timing.py +11 -0
  40. siliconcompiler/tools/slang/__init__.py +3 -3
  41. siliconcompiler/tools/slang/elaborate.py +6 -6
  42. siliconcompiler/tools/slang/lint.py +1 -3
  43. siliconcompiler/tools/vpr/_xml_constraint.py +8 -8
  44. siliconcompiler/tools/yosys/prepareLib.py +2 -2
  45. siliconcompiler/tools/yosys/sc_synth_asic.tcl +43 -1
  46. siliconcompiler/tools/yosys/screenshot.py +1 -1
  47. siliconcompiler/tools/yosys/syn_asic.py +5 -5
  48. siliconcompiler/toolscripts/_tools.json +8 -6
  49. siliconcompiler/toolscripts/rhel8/install-chisel.sh +9 -2
  50. siliconcompiler/toolscripts/rhel8/install-icarus.sh +10 -3
  51. siliconcompiler/toolscripts/rhel8/install-klayout.sh +8 -1
  52. siliconcompiler/toolscripts/rhel8/install-magic.sh +9 -2
  53. siliconcompiler/toolscripts/rhel8/install-montage.sh +1 -1
  54. siliconcompiler/toolscripts/rhel8/install-netgen.sh +9 -2
  55. siliconcompiler/toolscripts/rhel8/install-slang.sh +11 -4
  56. siliconcompiler/toolscripts/rhel8/install-surelog.sh +9 -2
  57. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +11 -4
  58. siliconcompiler/toolscripts/rhel8/install-verible.sh +11 -3
  59. siliconcompiler/toolscripts/rhel8/install-verilator.sh +10 -3
  60. siliconcompiler/toolscripts/rhel8/install-xyce.sh +15 -10
  61. siliconcompiler/toolscripts/rhel9/install-chisel.sh +9 -2
  62. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +9 -2
  63. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +10 -3
  64. siliconcompiler/toolscripts/rhel9/install-icarus.sh +10 -3
  65. siliconcompiler/toolscripts/rhel9/install-klayout.sh +8 -1
  66. siliconcompiler/toolscripts/rhel9/install-magic.sh +9 -2
  67. siliconcompiler/toolscripts/rhel9/install-montage.sh +1 -1
  68. siliconcompiler/toolscripts/rhel9/install-netgen.sh +9 -2
  69. siliconcompiler/toolscripts/rhel9/install-openroad.sh +16 -3
  70. siliconcompiler/toolscripts/rhel9/install-opensta.sh +17 -5
  71. siliconcompiler/toolscripts/rhel9/install-slang.sh +11 -4
  72. siliconcompiler/toolscripts/rhel9/install-surelog.sh +9 -2
  73. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +11 -4
  74. siliconcompiler/toolscripts/rhel9/install-verible.sh +11 -3
  75. siliconcompiler/toolscripts/rhel9/install-verilator.sh +10 -3
  76. siliconcompiler/toolscripts/rhel9/install-vpr.sh +9 -2
  77. siliconcompiler/toolscripts/rhel9/install-xdm.sh +10 -2
  78. siliconcompiler/toolscripts/rhel9/install-xyce.sh +15 -10
  79. siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +9 -2
  80. siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +10 -3
  81. siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +10 -2
  82. siliconcompiler/toolscripts/rhel9/install-yosys.sh +9 -2
  83. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +10 -2
  84. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +10 -3
  85. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +9 -2
  86. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +9 -2
  87. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +9 -2
  88. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +9 -2
  89. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +9 -2
  90. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +8 -1
  91. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +9 -2
  92. siliconcompiler/toolscripts/ubuntu20/install-montage.sh +1 -1
  93. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +9 -2
  94. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +9 -2
  95. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +16 -3
  96. siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +16 -5
  97. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +11 -4
  98. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +9 -2
  99. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +10 -2
  100. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +11 -4
  101. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +11 -3
  102. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +9 -2
  103. siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +10 -2
  104. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +13 -8
  105. siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +9 -2
  106. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +9 -2
  107. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +10 -2
  108. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +10 -3
  109. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +9 -2
  110. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +9 -2
  111. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +9 -2
  112. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +9 -2
  113. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +9 -2
  114. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +8 -1
  115. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +9 -2
  116. siliconcompiler/toolscripts/ubuntu22/install-montage.sh +1 -1
  117. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +9 -2
  118. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +9 -2
  119. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +16 -3
  120. siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +17 -5
  121. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +11 -4
  122. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +9 -2
  123. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +10 -2
  124. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +11 -4
  125. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +11 -3
  126. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +9 -2
  127. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +9 -2
  128. siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +10 -2
  129. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +13 -8
  130. siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +9 -2
  131. siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +10 -3
  132. siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +10 -2
  133. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +9 -2
  134. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +12 -4
  135. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +10 -3
  136. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +9 -2
  137. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +9 -2
  138. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +9 -2
  139. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +9 -2
  140. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +9 -2
  141. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +8 -1
  142. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +9 -2
  143. siliconcompiler/toolscripts/ubuntu24/install-montage.sh +1 -1
  144. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +9 -2
  145. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +9 -2
  146. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +16 -3
  147. siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +17 -5
  148. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +11 -4
  149. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +9 -2
  150. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +10 -2
  151. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +11 -4
  152. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +11 -3
  153. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +9 -2
  154. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +9 -2
  155. siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +10 -2
  156. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +13 -8
  157. siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +9 -2
  158. siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +10 -3
  159. siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +10 -2
  160. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +9 -2
  161. siliconcompiler/utils/__init__.py +11 -0
  162. siliconcompiler/utils/flowgraph.py +6 -101
  163. siliconcompiler/utils/issue.py +15 -23
  164. siliconcompiler/utils/logging.py +2 -2
  165. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/METADATA +2 -2
  166. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/RECORD +170 -169
  167. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/WHEEL +1 -1
  168. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/entry_points.txt +0 -0
  169. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/licenses/LICENSE +0 -0
  170. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.1.dist-info}/top_level.txt +0 -0
@@ -8,7 +8,6 @@ import time
8
8
  import tempfile
9
9
  from datetime import datetime
10
10
  from siliconcompiler.utils import get_file_template
11
- from siliconcompiler.scheduler import _makecmd, _write_task_manifest
12
11
  from siliconcompiler.tools._common import get_tool_task
13
12
  from siliconcompiler import RecordSchema
14
13
 
@@ -24,7 +23,6 @@ def generate_testcase(chip,
24
23
  include_specific_libraries=None,
25
24
  hash_files=False,
26
25
  verbose_collect=True):
27
-
28
26
  # Save original schema since it will be modified
29
27
  schema_copy = chip.schema.copy()
30
28
 
@@ -153,38 +151,32 @@ def generate_testcase(chip,
153
151
  current_work_dir = os.getcwd()
154
152
  os.chdir(new_work_dir)
155
153
 
154
+ flow = chip.get('option', 'flow')
155
+
156
+ task_class = chip.get("tool", tool, field="schema")
157
+
158
+ task_class.set_runtime(chip, step=step, index=index)
159
+
156
160
  # Rewrite replay.sh
157
161
  prev_quiet = chip.get('option', 'quiet', step=step, index=index)
158
162
  chip.set('option', 'quiet', True, step=step, index=index)
159
- from siliconcompiler import SiliconCompilerError
160
163
  try:
161
- # Rerun setup
162
- chip.set('arg', 'step', step)
163
- chip.set('arg', 'index', index)
164
- func = getattr(chip._get_task_module(step, index, flow=flow), 'pre_process', None)
165
- if func:
166
- try:
167
- # Rerun pre_process
168
- func(chip)
169
- except Exception:
170
- pass
171
- except SiliconCompilerError:
164
+ # Rerun pre_process
165
+ task_class.pre_process()
166
+ except Exception:
172
167
  pass
173
168
  chip.set('option', 'quiet', prev_quiet, step=step, index=index)
174
169
 
175
- flow = chip.get('option', 'flow')
176
- is_python_tool = hasattr(chip._get_task_module(step, index, flow=flow), 'run')
170
+ is_python_tool = task_class.get_exe() is None
177
171
 
178
172
  if not is_python_tool:
179
- _makecmd(chip,
180
- tool, task, step, index,
181
- script_name=f'{chip.getworkdir(step=step, index=index)}/replay.sh',
182
- include_path=False)
173
+ task_class.generate_replay_script(
174
+ f'{chip.getworkdir(step=step, index=index)}/replay.sh',
175
+ '.',
176
+ include_path=False)
183
177
 
184
178
  # Rewrite tool manifest
185
- chip.set('arg', 'step', step)
186
- chip.set('arg', 'index', index)
187
- _write_task_manifest(chip, tool, path=new_work_dir)
179
+ task_class.write_task_manifest('.')
188
180
 
189
181
  # Restore normal path behavior
190
182
  chip._relative_path = None
@@ -32,12 +32,12 @@ class SCLoggerFormatter(logging.Formatter):
32
32
  class SCInRunLoggerFormatter(logging.Formatter):
33
33
  def __init__(self, chip, jobname, step, index):
34
34
  super().__init__(
35
- SCInRunLoggerFormatter.configureFormat(
35
+ SCInRunLoggerFormatter.configure_format(
36
36
  "| %(levelname)-8s | {} | {} | {} | %(message)s",
37
37
  chip, step, index))
38
38
 
39
39
  @staticmethod
40
- def configureFormat(fmt, chip, step, index):
40
+ def configure_format(fmt, chip, step, index):
41
41
  max_width = 20
42
42
 
43
43
  flow = chip.get('option', 'flow')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siliconcompiler
3
- Version: 0.33.0
3
+ Version: 0.33.1
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
6
6
  License: Apache License 2.0
@@ -49,7 +49,7 @@ Requires-Dist: orjson==3.10.15; python_version <= "3.8"
49
49
  Requires-Dist: orjson==3.10.18; python_version >= "3.9"
50
50
  Requires-Dist: pyslang==8.0.0
51
51
  Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
52
- Requires-Dist: streamlit==1.45.0; python_version >= "3.9" and python_full_version != "3.9.7"
52
+ Requires-Dist: streamlit==1.45.1; python_version >= "3.9" and python_full_version != "3.9.7"
53
53
  Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
54
54
  Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
55
55
  Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"