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.
Files changed (87) hide show
  1. siliconcompiler/_metadata.py +1 -1
  2. siliconcompiler/core.py +9 -1
  3. siliconcompiler/data/RobotoMono/__init__.py +0 -0
  4. siliconcompiler/data/__init__.py +0 -0
  5. siliconcompiler/flows/generate_openroad_rcx.py +1 -1
  6. siliconcompiler/remote/server_schema/__init__.py +0 -0
  7. siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  8. siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  9. siliconcompiler/scheduler/__init__.py +6 -4
  10. siliconcompiler/scheduler/validation/__init__.py +0 -0
  11. siliconcompiler/schema/schema_cfg.py +351 -281
  12. siliconcompiler/schema/schema_obj.py +5 -3
  13. siliconcompiler/sphinx_ext/dynamicgen.py +35 -15
  14. siliconcompiler/sphinx_ext/schemagen.py +4 -1
  15. siliconcompiler/templates/__init__.py +0 -0
  16. siliconcompiler/templates/email/__init__.py +0 -0
  17. siliconcompiler/templates/issue/__init__.py +0 -0
  18. siliconcompiler/templates/report/__init__.py +0 -0
  19. siliconcompiler/templates/slurm/__init__.py +0 -0
  20. siliconcompiler/templates/tcl/__init__.py +0 -0
  21. siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  22. siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  23. siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +1 -2
  24. siliconcompiler/tools/bambu/__init__.py +0 -0
  25. siliconcompiler/tools/bluespec/__init__.py +0 -0
  26. siliconcompiler/tools/builtin/__init__.py +0 -0
  27. siliconcompiler/tools/builtin/concatenate.py +16 -0
  28. siliconcompiler/tools/chisel/__init__.py +0 -0
  29. siliconcompiler/tools/execute/__init__.py +0 -0
  30. siliconcompiler/tools/genfasm/__init__.py +0 -0
  31. siliconcompiler/tools/ghdl/__init__.py +0 -0
  32. siliconcompiler/tools/icarus/__init__.py +0 -0
  33. siliconcompiler/tools/icepack/__init__.py +0 -0
  34. siliconcompiler/tools/klayout/__init__.py +0 -0
  35. siliconcompiler/tools/klayout/klayout.py +1 -0
  36. siliconcompiler/tools/magic/__init__.py +0 -0
  37. siliconcompiler/tools/magic/sc_drc.tcl +5 -5
  38. siliconcompiler/tools/magic/sc_extspice.tcl +3 -3
  39. siliconcompiler/tools/magic/sc_magic.tcl +2 -2
  40. siliconcompiler/tools/montage/__init__.py +0 -0
  41. siliconcompiler/tools/netgen/__init__.py +0 -0
  42. siliconcompiler/tools/netgen/sc_lvs.tcl +3 -3
  43. siliconcompiler/tools/nextpnr/__init__.py +0 -0
  44. siliconcompiler/tools/openfpgaloader/__init__.py +0 -0
  45. siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
  46. siliconcompiler/tools/openroad/scripts/sc_apr.tcl +36 -34
  47. siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -1
  48. siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +4 -2
  49. siliconcompiler/tools/openroad/scripts/sc_export.tcl +4 -2
  50. siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +29 -33
  51. siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +4 -2
  52. siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -1
  53. siliconcompiler/tools/openroad/scripts/sc_procs.tcl +12 -6
  54. siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +9 -9
  55. siliconcompiler/tools/openroad/scripts/sc_route.tcl +8 -4
  56. siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +5 -3
  57. siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +27 -25
  58. siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  59. siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  60. siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -1
  61. siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  62. siliconcompiler/tools/sv2v/__init__.py +0 -0
  63. siliconcompiler/tools/template/__init__.py +0 -0
  64. siliconcompiler/tools/verilator/__init__.py +0 -0
  65. siliconcompiler/tools/verilator/compile.py +1 -4
  66. siliconcompiler/tools/verilator/verilator.py +1 -2
  67. siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  68. siliconcompiler/tools/vivado/scripts/sc_run.tcl +7 -8
  69. siliconcompiler/tools/vivado/vivado.py +1 -1
  70. siliconcompiler/tools/vpr/__init__.py +0 -0
  71. siliconcompiler/tools/vpr/place.py +20 -6
  72. siliconcompiler/tools/vpr/vpr.py +1 -1
  73. siliconcompiler/tools/xyce/__init__.py +0 -0
  74. siliconcompiler/tools/yosys/__init__.py +0 -0
  75. siliconcompiler/tools/yosys/sc_lec.tcl +7 -7
  76. siliconcompiler/tools/yosys/sc_syn.tcl +9 -9
  77. siliconcompiler/tools/yosys/syn_asic.tcl +21 -13
  78. siliconcompiler/tools/yosys/syn_fpga.tcl +20 -17
  79. siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  80. siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  81. siliconcompiler/use.py +2 -1
  82. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/METADATA +8 -7
  83. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/RECORD +87 -45
  84. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/WHEEL +1 -1
  85. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/LICENSE +0 -0
  86. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/entry_points.txt +0 -0
  87. {siliconcompiler-0.27.0.dist-info → siliconcompiler-0.28.0.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.27.0'
2
+ version = '0.28.0'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
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
- chip.logger.warning('Valid extraction not specified, defaulting to builtin/nop')
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
@@ -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
- # Ensure we use spawn for multiprocessing so loggers initialized correctly
1319
- multiprocessor = multiprocessing.get_context('spawn')
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] = multiprocessor.Process(target=_runtask,
1346
- args=(chip, flow, step, index, exec_func))
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