siliconcompiler 0.33.0__py3-none-any.whl → 0.33.2__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 (177) 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/apps/utils/replay.py +5 -5
  6. siliconcompiler/core.py +38 -12
  7. siliconcompiler/data/templates/replay/replay.sh.j2 +18 -1
  8. siliconcompiler/metric.py +78 -0
  9. siliconcompiler/package/git.py +1 -1
  10. siliconcompiler/record.py +63 -7
  11. siliconcompiler/remote/client.py +57 -14
  12. siliconcompiler/remote/server.py +110 -60
  13. siliconcompiler/report/dashboard/cli/__init__.py +2 -0
  14. siliconcompiler/report/dashboard/cli/board.py +34 -31
  15. siliconcompiler/report/report.py +10 -5
  16. siliconcompiler/report/utils.py +12 -6
  17. siliconcompiler/scheduler/__init__.py +146 -976
  18. siliconcompiler/scheduler/run_node.py +12 -5
  19. siliconcompiler/scheduler/send_messages.py +9 -3
  20. siliconcompiler/scheduler/slurm.py +10 -43
  21. siliconcompiler/scheduler/taskscheduler.py +320 -0
  22. siliconcompiler/schema/baseschema.py +25 -4
  23. siliconcompiler/schema/journalingschema.py +4 -0
  24. siliconcompiler/schema/schema_cfg.py +3 -3
  25. siliconcompiler/tool.py +201 -32
  26. siliconcompiler/tools/_common/__init__.py +14 -11
  27. siliconcompiler/tools/_common/asic.py +5 -5
  28. siliconcompiler/tools/bluespec/convert.py +2 -1
  29. siliconcompiler/tools/builtin/_common.py +9 -2
  30. siliconcompiler/tools/builtin/concatenate.py +6 -2
  31. siliconcompiler/tools/builtin/minimum.py +7 -2
  32. siliconcompiler/tools/builtin/mux.py +7 -2
  33. siliconcompiler/tools/builtin/nop.py +7 -2
  34. siliconcompiler/tools/builtin/verify.py +7 -3
  35. siliconcompiler/tools/chisel/convert.py +10 -10
  36. siliconcompiler/tools/klayout/drc.py +2 -2
  37. siliconcompiler/tools/klayout/klayout_show.py +6 -6
  38. siliconcompiler/tools/klayout/klayout_utils.py +12 -12
  39. siliconcompiler/tools/netgen/count_lvs.py +2 -2
  40. siliconcompiler/tools/netgen/lvs.py +1 -1
  41. siliconcompiler/tools/openroad/_apr.py +2 -2
  42. siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -7
  43. siliconcompiler/tools/openroad/scripts/common/procs.tcl +18 -0
  44. siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +1 -7
  45. siliconcompiler/tools/opensta/scripts/sc_timing.tcl +10 -0
  46. siliconcompiler/tools/opensta/timing.py +11 -0
  47. siliconcompiler/tools/slang/__init__.py +6 -5
  48. siliconcompiler/tools/slang/elaborate.py +6 -6
  49. siliconcompiler/tools/slang/lint.py +1 -3
  50. siliconcompiler/tools/vpr/_xml_constraint.py +8 -8
  51. siliconcompiler/tools/yosys/prepareLib.py +2 -2
  52. siliconcompiler/tools/yosys/sc_synth_asic.tcl +43 -5
  53. siliconcompiler/tools/yosys/screenshot.py +1 -1
  54. siliconcompiler/tools/yosys/syn_asic.py +5 -5
  55. siliconcompiler/toolscripts/_tools.json +17 -10
  56. siliconcompiler/toolscripts/rhel8/install-chisel.sh +9 -2
  57. siliconcompiler/toolscripts/rhel8/install-icarus.sh +10 -3
  58. siliconcompiler/toolscripts/rhel8/install-klayout.sh +8 -1
  59. siliconcompiler/toolscripts/rhel8/install-magic.sh +9 -2
  60. siliconcompiler/toolscripts/rhel8/install-montage.sh +1 -1
  61. siliconcompiler/toolscripts/rhel8/install-netgen.sh +9 -2
  62. siliconcompiler/toolscripts/rhel8/install-slang.sh +11 -4
  63. siliconcompiler/toolscripts/rhel8/install-surelog.sh +9 -2
  64. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +11 -4
  65. siliconcompiler/toolscripts/rhel8/install-verible.sh +11 -3
  66. siliconcompiler/toolscripts/rhel8/install-verilator.sh +10 -3
  67. siliconcompiler/toolscripts/rhel8/install-xyce.sh +15 -10
  68. siliconcompiler/toolscripts/rhel9/install-chisel.sh +9 -2
  69. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +9 -2
  70. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +10 -3
  71. siliconcompiler/toolscripts/rhel9/install-icarus.sh +10 -3
  72. siliconcompiler/toolscripts/rhel9/install-klayout.sh +8 -1
  73. siliconcompiler/toolscripts/rhel9/install-magic.sh +9 -2
  74. siliconcompiler/toolscripts/rhel9/install-montage.sh +1 -1
  75. siliconcompiler/toolscripts/rhel9/install-netgen.sh +9 -2
  76. siliconcompiler/toolscripts/rhel9/install-openroad.sh +16 -3
  77. siliconcompiler/toolscripts/rhel9/install-opensta.sh +17 -5
  78. siliconcompiler/toolscripts/rhel9/install-slang.sh +11 -4
  79. siliconcompiler/toolscripts/rhel9/install-surelog.sh +9 -2
  80. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +11 -4
  81. siliconcompiler/toolscripts/rhel9/install-verible.sh +11 -3
  82. siliconcompiler/toolscripts/rhel9/install-verilator.sh +10 -3
  83. siliconcompiler/toolscripts/rhel9/install-vpr.sh +9 -2
  84. siliconcompiler/toolscripts/rhel9/install-xdm.sh +10 -2
  85. siliconcompiler/toolscripts/rhel9/install-xyce.sh +15 -10
  86. siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +9 -2
  87. siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +10 -3
  88. siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +10 -2
  89. siliconcompiler/toolscripts/rhel9/install-yosys.sh +9 -2
  90. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +10 -2
  91. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +10 -3
  92. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +9 -2
  93. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +9 -2
  94. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +9 -2
  95. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +9 -2
  96. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +9 -2
  97. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +8 -1
  98. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +9 -2
  99. siliconcompiler/toolscripts/ubuntu20/install-montage.sh +1 -1
  100. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +9 -2
  101. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +9 -2
  102. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +16 -3
  103. siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +16 -5
  104. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +11 -4
  105. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +9 -2
  106. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +10 -2
  107. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +11 -4
  108. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +11 -3
  109. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +9 -2
  110. siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +10 -2
  111. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +13 -8
  112. siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +9 -2
  113. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +9 -2
  114. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +10 -2
  115. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +10 -3
  116. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +9 -2
  117. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +9 -2
  118. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +9 -2
  119. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +9 -2
  120. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +9 -2
  121. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +12 -1
  122. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +9 -2
  123. siliconcompiler/toolscripts/ubuntu22/install-montage.sh +1 -1
  124. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +9 -2
  125. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +9 -2
  126. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +16 -3
  127. siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +17 -5
  128. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +11 -4
  129. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +9 -2
  130. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +10 -2
  131. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +11 -4
  132. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +11 -3
  133. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +9 -2
  134. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +9 -2
  135. siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +10 -2
  136. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +13 -8
  137. siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +9 -2
  138. siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +10 -3
  139. siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +10 -2
  140. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +9 -2
  141. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +12 -4
  142. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +10 -3
  143. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +9 -2
  144. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +9 -2
  145. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +9 -2
  146. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +9 -2
  147. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +9 -2
  148. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +12 -1
  149. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +9 -2
  150. siliconcompiler/toolscripts/ubuntu24/install-montage.sh +1 -1
  151. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +9 -2
  152. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +9 -2
  153. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +16 -3
  154. siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +17 -5
  155. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +11 -4
  156. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +9 -2
  157. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +10 -2
  158. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +11 -4
  159. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +11 -3
  160. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +9 -2
  161. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +9 -2
  162. siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +10 -2
  163. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +13 -8
  164. siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +9 -2
  165. siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +10 -3
  166. siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +10 -2
  167. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +9 -2
  168. siliconcompiler/utils/__init__.py +11 -0
  169. siliconcompiler/utils/flowgraph.py +6 -101
  170. siliconcompiler/utils/issue.py +15 -23
  171. siliconcompiler/utils/logging.py +2 -2
  172. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/METADATA +6 -5
  173. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/RECORD +177 -176
  174. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/WHEEL +1 -1
  175. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/entry_points.txt +0 -0
  176. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/licenses/LICENSE +0 -0
  177. {siliconcompiler-0.33.0.dist-info → siliconcompiler-0.33.2.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,8 @@ import os
3
3
  import re
4
4
  import psutil
5
5
  import shutil
6
+ import traceback
7
+ from io import StringIO
6
8
  from pathlib import Path
7
9
  from jinja2 import Environment, FileSystemLoader
8
10
  from siliconcompiler.schema.parametervalue import PathNodeValue
@@ -414,3 +416,12 @@ def get_cores(chip, physical=False):
414
416
  cores = 1
415
417
 
416
418
  return cores
419
+
420
+
421
+ def print_traceback(logger, exception):
422
+ logger.error(f'{exception}')
423
+ trace = StringIO()
424
+ traceback.print_tb(exception.__traceback__, file=trace)
425
+ logger.error("Backtrace:")
426
+ for line in trace.getvalue().splitlines():
427
+ logger.error(line)
@@ -6,88 +6,6 @@ from siliconcompiler.tools._common import input_file_node_name, get_tool_task
6
6
  from siliconcompiler.flowgraph import RuntimeFlowgraph
7
7
 
8
8
 
9
- def _get_pruned_node_inputs(chip, flow, node):
10
- # Ignore option from/to, we want reachable nodes of the whole flowgraph
11
- flow_schema = chip.schema.get("flowgraph", flow, field="schema")
12
- runtime = RuntimeFlowgraph(
13
- flow_schema,
14
- from_steps=set([step for step, _ in flow_schema.get_entry_nodes()]),
15
- prune_nodes=chip.get('option', 'prune'))
16
-
17
- return runtime.get_node_inputs(*node, record=chip.schema.get("record", field="schema"))
18
-
19
-
20
- #######################################
21
- def _get_flowgraph_execution_order(chip, flow, reverse=False):
22
- return chip.schema.get("flowgraph", flow, field="schema").get_execution_order(reverse=reverse)
23
-
24
-
25
- def get_nodes_from(chip, flow, nodes):
26
- runtime = RuntimeFlowgraph(
27
- chip.schema.get("flowgraph", flow, field="schema"),
28
- from_steps=chip.get('option', 'from'),
29
- to_steps=chip.get('option', 'to'),
30
- prune_nodes=chip.get('option', 'prune'))
31
-
32
- all_nodes = set()
33
- for node in nodes:
34
- all_nodes.update(runtime.get_nodes_starting_at(*node))
35
-
36
- return all_nodes
37
-
38
-
39
- ###########################################################################
40
- def nodes_to_execute(chip, flow=None):
41
- '''
42
- Returns an ordered list of flowgraph nodes which will be executed.
43
- This takes the from/to options into account if flow is the current flow or None.
44
-
45
- Returns:
46
- A list of nodes that will get executed during run() (or a specific flow).
47
-
48
- Example:
49
- >>> nodes = nodes_to_execute()
50
- '''
51
- if flow is None:
52
- flow = chip.get('option', 'flow')
53
-
54
- runtime = RuntimeFlowgraph(
55
- chip.schema.get("flowgraph", flow, field='schema'),
56
- args=(chip.get('arg', 'step'), chip.get('arg', 'index')),
57
- from_steps=chip.get('option', 'from'),
58
- to_steps=chip.get('option', 'to'),
59
- prune_nodes=chip.get('option', 'prune'))
60
-
61
- return runtime.get_nodes()
62
-
63
-
64
- ###########################################################################
65
- def _check_flowgraph(chip, flow=None):
66
- '''
67
- Check if flowgraph is valid.
68
-
69
- * Checks if all edges have valid nodes
70
- * Checks that there are no duplicate edges
71
- * Checks if from/to is valid
72
-
73
- Returns True if valid, False otherwise.
74
- '''
75
-
76
- if not flow:
77
- flow = chip.get('option', 'flow')
78
-
79
- error = not chip.schema.get("flowgraph", flow, field="schema").validate(logger=chip.logger)
80
- if not error:
81
- error = not RuntimeFlowgraph.validate(
82
- chip.schema.get("flowgraph", flow, field="schema"),
83
- from_steps=chip.get('option', 'from'),
84
- to_steps=chip.get('option', 'to'),
85
- prune_nodes=chip.get('option', 'prune'),
86
- logger=chip.logger)
87
-
88
- return not error
89
-
90
-
91
9
  ###########################################################################
92
10
  def _check_flowgraph_io(chip, nodes=None):
93
11
  '''Check if flowgraph is valid in terms of input and output files.
@@ -98,7 +16,6 @@ def _check_flowgraph_io(chip, nodes=None):
98
16
 
99
17
  runtime_full = RuntimeFlowgraph(
100
18
  chip.schema.get("flowgraph", flow, field='schema'),
101
- args=(chip.get('arg', 'step'), chip.get('arg', 'index')),
102
19
  to_steps=chip.get('option', 'to'),
103
20
  prune_nodes=chip.get('option', 'prune'))
104
21
  runtime_flow = RuntimeFlowgraph(
@@ -144,7 +61,11 @@ def _check_flowgraph_io(chip, nodes=None):
144
61
  manifest = f'{design}.pkg.json'
145
62
  inputs = [inp for inp in os.listdir(in_step_out_dir) if inp != manifest]
146
63
  else:
147
- inputs = _gather_outputs(chip, in_step, in_index)
64
+ in_tool, _ = get_tool_task(chip, in_step, in_index, flow=flow)
65
+ task_class = chip.get("tool", in_tool, field="schema")
66
+ task_class.set_runtime(chip, step=in_step, index=in_index)
67
+
68
+ inputs = task_class.get_output_files()
148
69
 
149
70
  for inp in inputs:
150
71
  node_inp = input_file_node_name(inp, in_step, in_index)
@@ -165,22 +86,6 @@ def _check_flowgraph_io(chip, nodes=None):
165
86
  return True
166
87
 
167
88
 
168
- ###########################################################################
169
- def _gather_outputs(chip, step, index):
170
- '''Return set of filenames that are guaranteed to be in outputs
171
- directory after a successful run of step/index.'''
172
-
173
- flow = chip.get('option', 'flow')
174
- task_gather = getattr(chip._get_task_module(step, index, flow=flow, error=False),
175
- '_gather_outputs',
176
- None)
177
- if task_gather:
178
- return set(task_gather(chip, step, index))
179
-
180
- tool, task = get_tool_task(chip, step, index, flow=flow)
181
- return set(chip.get('tool', tool, 'task', task, 'output', step=step, index=index))
182
-
183
-
184
89
  def _get_flowgraph_information(chip, flow, io=True):
185
90
  from siliconcompiler.scheduler import _setup_node
186
91
  from siliconcompiler.tools._common import input_provides, input_file_node_name
@@ -190,7 +95,7 @@ def _get_flowgraph_information(chip, flow, io=True):
190
95
  chip.schema = chip.schema.copy()
191
96
 
192
97
  # Setup nodes
193
- node_exec_order = _get_flowgraph_execution_order(chip, flow)
98
+ node_exec_order = chip.schema.get("flowgraph", flow, field="schema").get_execution_order()
194
99
  if io:
195
100
  # try:
196
101
  for layer_nodes in node_exec_order:
@@ -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.2
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
6
6
  License: Apache License 2.0
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
29
- Requires-Dist: aiohttp<3.12.0,>=3.10.11; python_version >= "3.9"
29
+ Requires-Dist: aiohttp<3.13.0,>=3.10.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
@@ -47,9 +47,9 @@ Requires-Dist: docker==7.1.0
47
47
  Requires-Dist: importlib_metadata; python_version < "3.10"
48
48
  Requires-Dist: orjson==3.10.15; python_version <= "3.8"
49
49
  Requires-Dist: orjson==3.10.18; python_version >= "3.9"
50
- Requires-Dist: pyslang==8.0.0
50
+ Requires-Dist: pyslang==8.1.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"
@@ -58,7 +58,8 @@ Requires-Dist: rich==13.9.4; python_version <= "3.8"
58
58
  Requires-Dist: rich<15.0.0,>=14.0.0; python_version >= "3.9"
59
59
  Provides-Extra: test
60
60
  Requires-Dist: pytest==8.3.5; extra == "test"
61
- Requires-Dist: pytest-xdist==3.6.1; extra == "test"
61
+ Requires-Dist: pytest-xdist==3.6.1; python_version <= "3.8" and extra == "test"
62
+ Requires-Dist: pytest-xdist==3.7.0; python_version >= "3.9" and extra == "test"
62
63
  Requires-Dist: pytest-timeout==2.4.0; extra == "test"
63
64
  Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
64
65
  Requires-Dist: pytest-asyncio==0.26.0; python_version >= "3.9" and extra == "test"