siliconcompiler 0.27.0__py3-none-any.whl → 0.28.0__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.
- siliconcompiler/_metadata.py +1 -1
- siliconcompiler/core.py +9 -1
- siliconcompiler/data/RobotoMono/__init__.py +0 -0
- siliconcompiler/data/__init__.py +0 -0
- siliconcompiler/flows/generate_openroad_rcx.py +1 -1
- siliconcompiler/remote/server_schema/__init__.py +0 -0
- siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
- siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
- siliconcompiler/scheduler/__init__.py +6 -4
- siliconcompiler/scheduler/validation/__init__.py +0 -0
- siliconcompiler/schema/schema_cfg.py +351 -281
- siliconcompiler/schema/schema_obj.py +5 -3
- siliconcompiler/sphinx_ext/dynamicgen.py +35 -15
- siliconcompiler/sphinx_ext/schemagen.py +4 -1
- siliconcompiler/templates/__init__.py +0 -0
- siliconcompiler/templates/email/__init__.py +0 -0
- siliconcompiler/templates/issue/__init__.py +0 -0
- siliconcompiler/templates/report/__init__.py +0 -0
- siliconcompiler/templates/slurm/__init__.py +0 -0
- siliconcompiler/templates/tcl/__init__.py +0 -0
- siliconcompiler/tools/_common/sdc/__init__.py +0 -0
- siliconcompiler/tools/_common/tcl/__init__.py +0 -0
- siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +1 -2
- siliconcompiler/tools/bambu/__init__.py +0 -0
- siliconcompiler/tools/bluespec/__init__.py +0 -0
- siliconcompiler/tools/builtin/__init__.py +0 -0
- siliconcompiler/tools/builtin/concatenate.py +16 -0
- siliconcompiler/tools/chisel/__init__.py +0 -0
- siliconcompiler/tools/execute/__init__.py +0 -0
- siliconcompiler/tools/genfasm/__init__.py +0 -0
- siliconcompiler/tools/ghdl/__init__.py +0 -0
- siliconcompiler/tools/icarus/__init__.py +0 -0
- siliconcompiler/tools/icepack/__init__.py +0 -0
- siliconcompiler/tools/klayout/__init__.py +0 -0
- siliconcompiler/tools/klayout/klayout.py +1 -0
- siliconcompiler/tools/magic/__init__.py +0 -0
- siliconcompiler/tools/magic/sc_drc.tcl +5 -5
- siliconcompiler/tools/magic/sc_extspice.tcl +3 -3
- siliconcompiler/tools/magic/sc_magic.tcl +2 -2
- siliconcompiler/tools/montage/__init__.py +0 -0
- siliconcompiler/tools/netgen/__init__.py +0 -0
- siliconcompiler/tools/netgen/sc_lvs.tcl +3 -3
- siliconcompiler/tools/nextpnr/__init__.py +0 -0
- siliconcompiler/tools/openfpgaloader/__init__.py +0 -0
- siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
- siliconcompiler/tools/openroad/scripts/sc_apr.tcl +36 -34
- siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -1
- siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +4 -2
- siliconcompiler/tools/openroad/scripts/sc_export.tcl +4 -2
- siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +29 -33
- siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +4 -2
- siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -1
- siliconcompiler/tools/openroad/scripts/sc_procs.tcl +12 -6
- siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +9 -9
- siliconcompiler/tools/openroad/scripts/sc_route.tcl +8 -4
- siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +5 -3
- siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +27 -25
- siliconcompiler/tools/openroad/templates/__init__.py +0 -0
- siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
- siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -1
- siliconcompiler/tools/surelog/templates/__init__.py +0 -0
- siliconcompiler/tools/sv2v/__init__.py +0 -0
- siliconcompiler/tools/template/__init__.py +0 -0
- siliconcompiler/tools/verilator/__init__.py +0 -0
- siliconcompiler/tools/verilator/compile.py +1 -4
- siliconcompiler/tools/verilator/verilator.py +1 -2
- siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
- siliconcompiler/tools/vivado/scripts/sc_run.tcl +7 -8
- siliconcompiler/tools/vivado/vivado.py +1 -1
- siliconcompiler/tools/vpr/__init__.py +0 -0
- siliconcompiler/tools/vpr/place.py +20 -6
- siliconcompiler/tools/vpr/vpr.py +1 -1
- siliconcompiler/tools/xyce/__init__.py +0 -0
- siliconcompiler/tools/yosys/__init__.py +0 -0
- siliconcompiler/tools/yosys/sc_lec.tcl +7 -7
- siliconcompiler/tools/yosys/sc_syn.tcl +9 -9
- siliconcompiler/tools/yosys/syn_asic.tcl +21 -13
- siliconcompiler/tools/yosys/syn_fpga.tcl +20 -17
- siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
- siliconcompiler/tools/yosys/templates/__init__.py +0 -0
- siliconcompiler/use.py +2 -1
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/METADATA +8 -7
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/RECORD +87 -45
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/WHEEL +1 -1
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/LICENSE +0 -0
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/entry_points.txt +0 -0
- {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/top_level.txt +0 -0
siliconcompiler/_metadata.py
CHANGED
siliconcompiler/core.py
CHANGED
|
@@ -367,6 +367,9 @@ class Chip:
|
|
|
367
367
|
def post_process(cmdargs, extra_params):
|
|
368
368
|
# Ensure files and dir packages are set
|
|
369
369
|
for key in self.allkeys():
|
|
370
|
+
if 'default' in key:
|
|
371
|
+
continue
|
|
372
|
+
|
|
370
373
|
paramtype = self.get(*key, field='type')
|
|
371
374
|
if 'file' not in paramtype and 'dir' not in paramtype:
|
|
372
375
|
continue
|
|
@@ -374,6 +377,8 @@ class Chip:
|
|
|
374
377
|
is_list = '[' in paramtype
|
|
375
378
|
|
|
376
379
|
for vals, step, index in self.schema._getvals(*key):
|
|
380
|
+
if not vals:
|
|
381
|
+
continue
|
|
377
382
|
if self.get(*key, field='pernode') != 'never':
|
|
378
383
|
if step is None:
|
|
379
384
|
step = Schema.GLOBAL_KEY
|
|
@@ -524,6 +529,9 @@ class Chip:
|
|
|
524
529
|
|
|
525
530
|
self.logger.warning(".load_target is deprecated, use .use() instead.")
|
|
526
531
|
|
|
532
|
+
if isinstance(module, str):
|
|
533
|
+
raise ValueError(f"module cannot be a string: {module}")
|
|
534
|
+
|
|
527
535
|
self.use(module, **kwargs)
|
|
528
536
|
|
|
529
537
|
##########################################################################
|
|
@@ -1283,7 +1291,7 @@ class Chip:
|
|
|
1283
1291
|
else:
|
|
1284
1292
|
result.append(None)
|
|
1285
1293
|
if not missing_ok:
|
|
1286
|
-
self.error(f'Could not find {path} in {dependency}.')
|
|
1294
|
+
self.error(f'Could not find {path} in {dependency}. ({keypath})')
|
|
1287
1295
|
continue
|
|
1288
1296
|
result.append(utils.find_sc_file(self,
|
|
1289
1297
|
path,
|
|
File without changes
|
|
File without changes
|
|
@@ -27,7 +27,7 @@ def setup(extraction_task=None, corners=1, serial_extraction=False):
|
|
|
27
27
|
flow = siliconcompiler.Flow(flowname)
|
|
28
28
|
|
|
29
29
|
if not extraction_task:
|
|
30
|
-
|
|
30
|
+
flow.logger.warning('Valid extraction not specified, defaulting to builtin/nop')
|
|
31
31
|
extraction_task = nop
|
|
32
32
|
|
|
33
33
|
flow.node(flowname, 'bench', rcx_bench)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1315,8 +1315,10 @@ def _prepare_nodes(chip, nodes_to_run, processes, local_processes, flow):
|
|
|
1315
1315
|
'''
|
|
1316
1316
|
For each node to run, prepare a process and store its dependencies
|
|
1317
1317
|
'''
|
|
1318
|
-
|
|
1319
|
-
|
|
1318
|
+
|
|
1319
|
+
# Call this in case this was invoked without __main__
|
|
1320
|
+
multiprocessing.freeze_support()
|
|
1321
|
+
|
|
1320
1322
|
init_funcs = set()
|
|
1321
1323
|
for (step, index) in nodes_to_execute(chip, flow):
|
|
1322
1324
|
node = (step, index)
|
|
@@ -1342,8 +1344,8 @@ def _prepare_nodes(chip, nodes_to_run, processes, local_processes, flow):
|
|
|
1342
1344
|
else:
|
|
1343
1345
|
local_processes.append((step, index))
|
|
1344
1346
|
|
|
1345
|
-
processes[node] =
|
|
1346
|
-
|
|
1347
|
+
processes[node] = multiprocessing.Process(target=_runtask,
|
|
1348
|
+
args=(chip, flow, step, index, exec_func))
|
|
1347
1349
|
|
|
1348
1350
|
for init_func in init_funcs:
|
|
1349
1351
|
init_func(chip)
|
|
File without changes
|