siliconcompiler 0.27.1__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 +4 -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.1.dist-info → siliconcompiler-0.28.0.dist-info}/METADATA +8 -7
  83. {siliconcompiler-0.27.1.dist-info → siliconcompiler-0.28.0.dist-info}/RECORD +87 -45
  84. {siliconcompiler-0.27.1.dist-info → siliconcompiler-0.28.0.dist-info}/WHEEL +1 -1
  85. {siliconcompiler-0.27.1.dist-info → siliconcompiler-0.28.0.dist-info}/LICENSE +0 -0
  86. {siliconcompiler-0.27.1.dist-info → siliconcompiler-0.28.0.dist-info}/entry_points.txt +0 -0
  87. {siliconcompiler-0.27.1.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.1'
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
@@ -529,6 +529,9 @@ class Chip:
529
529
 
530
530
  self.logger.warning(".load_target is deprecated, use .use() instead.")
531
531
 
532
+ if isinstance(module, str):
533
+ raise ValueError(f"module cannot be a string: {module}")
534
+
532
535
  self.use(module, **kwargs)
533
536
 
534
537
  ##########################################################################
@@ -1288,7 +1291,7 @@ class Chip:
1288
1291
  else:
1289
1292
  result.append(None)
1290
1293
  if not missing_ok:
1291
- self.error(f'Could not find {path} in {dependency}.')
1294
+ self.error(f'Could not find {path} in {dependency}. ({keypath})')
1292
1295
  continue
1293
1296
  result.append(utils.find_sc_file(self,
1294
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