siliconcompiler 0.36.3__tar.gz → 0.36.5__tar.gz

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 (517) hide show
  1. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.readthedocs.yaml +1 -0
  2. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/Changes +26 -0
  3. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/PKG-INFO +3 -1
  4. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/pyproject.toml +3 -0
  5. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/_metadata.py +1 -1
  6. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_install.py +23 -2
  7. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_issue.py +4 -0
  8. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/design.py +2 -2
  9. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/dvflow.py +13 -0
  10. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/__init__.py +19 -14
  11. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/git.py +3 -2
  12. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/project.py +1 -1
  13. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/client.py +9 -3
  14. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/cli/board.py +1 -1
  15. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/scheduler.py +22 -60
  16. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/schedulernode.py +5 -5
  17. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/baseschema.py +15 -6
  18. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/cmdlineschema.py +3 -2
  19. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/filesetschema.py +2 -2
  20. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tool.py +10 -10
  21. siliconcompiler-0.36.5/siliconcompiler/tools/_common/cocotb/cocotb_task.py +286 -0
  22. siliconcompiler-0.36.5/siliconcompiler/tools/builtin/wait.py +152 -0
  23. siliconcompiler-0.36.5/siliconcompiler/tools/icarus/cocotb_exec.py +53 -0
  24. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icarus/compile.py +47 -1
  25. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/_apr.py +13 -0
  26. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +9 -2
  27. siliconcompiler-0.36.5/siliconcompiler/tools/verilator/cocotb_compile.py +55 -0
  28. siliconcompiler-0.36.5/siliconcompiler/tools/verilator/cocotb_exec.py +52 -0
  29. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/compile.py +12 -8
  30. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/__init__.py +1 -1
  31. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +1 -1
  32. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/syn_asic.py +3 -3
  33. siliconcompiler-0.36.5/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  34. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/_tools.json +5 -5
  35. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-icarus.sh +2 -2
  36. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-magic.sh +1 -1
  37. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
  38. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +1 -1
  39. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -1
  40. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +2 -2
  41. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel8}/install-xyce.sh +5 -5
  42. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -1
  43. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -2
  44. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-icarus.sh +2 -2
  45. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-magic.sh +1 -1
  46. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
  47. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +1 -1
  48. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-opensta.sh +5 -5
  49. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +1 -1
  50. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -1
  51. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +2 -2
  52. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-vpr.sh +1 -1
  53. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-wildebeest.sh +1 -1
  54. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/rhel9}/install-xyce.sh +5 -5
  55. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +1 -1
  56. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +1 -1
  57. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +1 -1
  58. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +1 -1
  59. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-bluespec.sh +1 -1
  60. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +1 -1
  61. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +1 -1
  62. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-icarus.sh +1 -1
  63. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +1 -1
  64. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-magic.sh +1 -1
  65. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +1 -1
  66. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-openroad.sh +1 -1
  67. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +5 -5
  68. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-slurm.sh +3 -3
  69. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +1 -1
  70. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-sv2v.sh +1 -1
  71. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-verilator.sh +1 -1
  72. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu20}/install-xyce.sh +3 -3
  73. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +1 -1
  74. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +1 -1
  75. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +1 -1
  76. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +1 -1
  77. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-icarus.sh +1 -1
  78. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +1 -1
  79. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-keplerformal.sh +1 -1
  80. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +1 -1
  81. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +1 -1
  82. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-nextpnr.sh +1 -1
  83. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-openroad.sh +1 -1
  84. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-opensta.sh +5 -5
  85. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-slurm.sh +3 -3
  86. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-surelog.sh +1 -1
  87. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-surfer.sh +1 -1
  88. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +1 -1
  89. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-verilator.sh +1 -1
  90. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +1 -1
  91. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-wildebeest.sh +1 -1
  92. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-xyce.sh +3 -3
  93. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-yosys-moosic.sh +1 -1
  94. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu22}/install-yosys-slang.sh +1 -1
  95. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +1 -1
  96. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +1 -1
  97. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-bluespec.sh +1 -1
  98. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +1 -1
  99. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +1 -1
  100. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +1 -1
  101. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +1 -1
  102. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-keplerformal.sh +1 -1
  103. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-magic.sh +1 -1
  104. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +1 -1
  105. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-nextpnr.sh +1 -1
  106. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-openroad.sh +1 -1
  107. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-opensta.sh +5 -5
  108. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +1 -1
  109. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-surelog.sh +1 -1
  110. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-surfer.sh +1 -1
  111. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-sv2v.sh +1 -1
  112. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-verilator.sh +1 -1
  113. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +1 -1
  114. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-wildebeest.sh +1 -1
  115. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-xyce.sh +3 -3
  116. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-yosys-moosic.sh +1 -1
  117. {siliconcompiler-0.36.3/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.36.5/siliconcompiler/toolscripts/ubuntu24}/install-yosys-slang.sh +1 -1
  118. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +1 -1
  119. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/curation.py +1 -1
  120. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/settings.py +1 -1
  121. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/PKG-INFO +3 -1
  122. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/SOURCES.txt +5 -0
  123. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/requires.txt +5 -0
  124. siliconcompiler-0.36.3/siliconcompiler/tools/builtin/wait.py +0 -16
  125. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.dockerignore +0 -0
  126. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.flake8 +0 -0
  127. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.gitattributes +0 -0
  128. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/.gitignore +0 -0
  129. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/CONTRIBUTING.md +0 -0
  130. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/LICENSE +0 -0
  131. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/MANIFEST.in +0 -0
  132. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/README.md +0 -0
  133. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/SECURITY.md +0 -0
  134. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/.gitignore +0 -0
  135. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/class_hierarchy.py +0 -0
  136. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/methods.py +0 -0
  137. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/profile_sc.py +0 -0
  138. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/scripts/requirements.txt +0 -0
  139. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/setup.cfg +0 -0
  140. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/__init__.py +0 -0
  141. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/_common.py +0 -0
  142. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/__init__.py +0 -0
  143. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/_common.py +0 -0
  144. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_dashboard.py +0 -0
  145. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_remote.py +0 -0
  146. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_server.py +0 -0
  147. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/sc_show.py +0 -0
  148. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/smake.py +0 -0
  149. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/utils/replay.py +0 -0
  150. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/apps/utils/summarize.py +0 -0
  151. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/asic.py +0 -0
  152. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklist.py +0 -0
  153. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklists/__init__.py +0 -0
  154. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  155. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/__init__.py +0 -0
  156. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_component.py +0 -0
  157. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_floorplan.py +0 -0
  158. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_pins.py +0 -0
  159. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/asic_timing.py +0 -0
  160. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/fpga_timing.py +0 -0
  161. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/constraints/timing_mode.py +0 -0
  162. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  163. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  164. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  165. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/__init__.py +0 -0
  166. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/heartbeat.pcf +0 -0
  167. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/heartbeat.sdc +0 -0
  168. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/tech_flops.lib +0 -0
  169. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/tech_flops.v +0 -0
  170. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/vtr_primitives.lib +0 -0
  171. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000.xml +0 -0
  172. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_constraint_map.json +0 -0
  173. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_rr_graph.xml +0 -0
  174. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/demo_fpga/z1000_yosys_config.json +0 -0
  175. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/heartbeat.sdc +0 -0
  176. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/heartbeat.v +0 -0
  177. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/logo.png +0 -0
  178. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/__init__.py +0 -0
  179. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/__init__.py +0 -0
  180. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/general.j2 +0 -0
  181. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/email/summary.j2 +0 -0
  182. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/README.txt +0 -0
  183. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/__init__.py +0 -0
  184. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/issue/run.sh +0 -0
  185. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/replay.py.j2 +0 -0
  186. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/replay.sh.j2 +0 -0
  187. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/requirements.txt +0 -0
  188. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/replay/setup.sh +0 -0
  189. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/slurm/__init__.py +0 -0
  190. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/slurm/run.sh +0 -0
  191. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/tcl/__init__.py +0 -0
  192. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/data/templates/tcl/manifest.tcl.j2 +0 -0
  193. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/__init__.py +0 -0
  194. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/asic_demo.py +0 -0
  195. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/demos/fpga_demo.py +0 -0
  196. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flowgraph.py +0 -0
  197. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/__init__.py +0 -0
  198. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/asicflow.py +0 -0
  199. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/drcflow.py +0 -0
  200. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/fpgaflow.py +0 -0
  201. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  202. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/highresscreenshotflow.py +0 -0
  203. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/interposerflow.py +0 -0
  204. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/lintflow.py +0 -0
  205. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/showflow.py +0 -0
  206. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/signoffflow.py +0 -0
  207. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/flows/synflow.py +0 -0
  208. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpga.py +0 -0
  209. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpgas/__init__.py +0 -0
  210. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  211. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/library.py +0 -0
  212. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/__init__.py +0 -0
  213. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/asic.py +0 -0
  214. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/metrics/fpga.py +0 -0
  215. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/optimizer/__init__.py +0 -0
  216. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/optimizer/vizier.py +0 -0
  217. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/github.py +0 -0
  218. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/package/https.py +0 -0
  219. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/pdk.py +0 -0
  220. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/__init__.py +0 -0
  221. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/schema.py +0 -0
  222. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server.py +0 -0
  223. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  224. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  225. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  226. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  227. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  228. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  229. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  230. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  231. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  232. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  233. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  234. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  235. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  236. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  237. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  238. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/__init__.py +0 -0
  239. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/__init__.py +0 -0
  240. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/cli/__init__.py +0 -0
  241. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/__init__.py +0 -0
  242. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/__init__.py +0 -0
  243. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/flowgraph.py +0 -0
  244. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/components/graph.py +0 -0
  245. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/__init__.py +0 -0
  246. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/_common.py +0 -0
  247. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph.py +0 -0
  248. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_node_tab.py +0 -0
  249. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  250. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/state.py +0 -0
  251. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/utils/__init__.py +0 -0
  252. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/utils/file_utils.py +0 -0
  253. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/dashboard/web/viewer.py +0 -0
  254. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/report.py +0 -0
  255. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/summary_image.py +0 -0
  256. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/report/utils.py +0 -0
  257. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/__init__.py +0 -0
  258. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/docker.py +0 -0
  259. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/error.py +0 -0
  260. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/run_node.py +0 -0
  261. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/send_messages.py +0 -0
  262. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/slurm.py +0 -0
  263. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/taskscheduler.py +0 -0
  264. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  265. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  266. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/__init__.py +0 -0
  267. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/_metadata.py +0 -0
  268. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/__init__.py +0 -0
  269. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/schemagen.py +0 -0
  270. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docs/utils.py +0 -0
  271. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/docschema.py +0 -0
  272. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/editableschema.py +0 -0
  273. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/journal.py +0 -0
  274. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/namedschema.py +0 -0
  275. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parameter.py +0 -0
  276. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parametertype.py +0 -0
  277. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/parametervalue.py +0 -0
  278. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/safeschema.py +0 -0
  279. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema/utils.py +0 -0
  280. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/__init__.py +0 -0
  281. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/dependencyschema.py +0 -0
  282. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/metric.py +0 -0
  283. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/option.py +0 -0
  284. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/packageschema.py +0 -0
  285. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/pathschema.py +0 -0
  286. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schema_support/record.py +0 -0
  287. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/schematic.py +0 -0
  288. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/__init__.py +0 -0
  289. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/asap7_demo.py +0 -0
  290. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  291. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/gf180_demo.py +0 -0
  292. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/ihp130_demo.py +0 -0
  293. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/interposer_demo.py +0 -0
  294. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/targets/skywater130_demo.py +0 -0
  295. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/__init__.py +0 -0
  296. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/__init__.py +0 -0
  297. {siliconcompiler-0.36.3/siliconcompiler/tools/_common/sdc → siliconcompiler-0.36.5/siliconcompiler/tools/_common/cocotb}/__init__.py +0 -0
  298. {siliconcompiler-0.36.3/siliconcompiler/tools/_common/tcl → siliconcompiler-0.36.5/siliconcompiler/tools/_common/sdc}/__init__.py +0 -0
  299. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  300. {siliconcompiler-0.36.3/siliconcompiler/tools/openroad/templates → siliconcompiler-0.36.5/siliconcompiler/tools/_common/tcl}/__init__.py +0 -0
  301. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  302. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +0 -0
  303. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bambu/__init__.py +0 -0
  304. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bambu/convert.py +0 -0
  305. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  306. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/bluespec/convert.py +0 -0
  307. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/__init__.py +0 -0
  308. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/filter.py +0 -0
  309. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/importfiles.py +0 -0
  310. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/join.py +0 -0
  311. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/maximum.py +0 -0
  312. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/minimum.py +0 -0
  313. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/mux.py +0 -0
  314. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/nop.py +0 -0
  315. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/builtin/verify.py +0 -0
  316. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/__init__.py +0 -0
  317. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/convert.py +0 -0
  318. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/template/SCDriver.scala +0 -0
  319. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/chisel/template/build.sbt +0 -0
  320. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/execute/__init__.py +0 -0
  321. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/execute/exec_input.py +0 -0
  322. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  323. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  324. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  325. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/ghdl/convert.py +0 -0
  326. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/__init__.py +0 -0
  327. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
  328. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/graphviz/show.py +0 -0
  329. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
  330. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
  331. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/gtkwave/show.py +0 -0
  332. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icarus/__init__.py +0 -0
  333. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icepack/__init__.py +0 -0
  334. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  335. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/keplerformal/__init__.py +0 -0
  336. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/keplerformal/lec.py +0 -0
  337. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/__init__.py +0 -0
  338. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  339. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/drc.py +0 -0
  340. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/export.py +0 -0
  341. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/merge.py +0 -0
  342. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/operations.py +0 -0
  343. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  344. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py +0 -0
  345. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_export.py +0 -0
  346. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_merge.py +0 -0
  347. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_operations.py +0 -0
  348. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_show.py +0 -0
  349. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/scripts/klayout_utils.py +0 -0
  350. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/klayout/show.py +0 -0
  351. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/__init__.py +0 -0
  352. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/drc.py +0 -0
  353. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/extspice.py +0 -0
  354. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_drc.tcl +0 -0
  355. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_extspice.tcl +0 -0
  356. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/magic/scripts/sc_magic.tcl +0 -0
  357. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/montage/__init__.py +0 -0
  358. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/montage/tile.py +0 -0
  359. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/__init__.py +0 -0
  360. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  361. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/lvs.py +0 -0
  362. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/netgen/scripts/sc_lvs.tcl +0 -0
  363. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  364. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  365. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/__init__.py +0 -0
  366. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  367. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  368. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  369. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  370. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  371. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  372. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  373. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/global_placement.py +0 -0
  374. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/global_route.py +0 -0
  375. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
  376. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  377. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/metrics.py +0 -0
  378. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  379. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  380. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/power_grid_analysis.py +0 -0
  381. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  382. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  383. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  384. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  385. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  386. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  387. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  388. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
  389. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  390. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
  391. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  392. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  393. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  394. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  395. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  396. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
  397. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  398. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  399. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl +0 -0
  400. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  401. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  402. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  403. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  404. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
  405. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
  406. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  407. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +0 -0
  408. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  409. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  410. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  411. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +0 -0
  412. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  413. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  414. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
  415. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
  416. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
  417. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  418. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  419. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  420. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  421. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
  422. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/show.py +0 -0
  423. {siliconcompiler-0.36.3/siliconcompiler/tools/opensta/scripts → siliconcompiler-0.36.5/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
  424. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  425. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/openroad/write_data.py +0 -0
  426. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/__init__.py +0 -0
  427. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/check_library.py +0 -0
  428. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  429. {siliconcompiler-0.36.3/siliconcompiler/tools/surelog/templates → siliconcompiler-0.36.5/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
  430. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
  431. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  432. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  433. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  434. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/opensta/timing.py +0 -0
  435. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/__init__.py +0 -0
  436. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/elaborate.py +0 -0
  437. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/slang/lint.py +0 -0
  438. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/__init__.py +0 -0
  439. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/parse.py +0 -0
  440. {siliconcompiler-0.36.3/siliconcompiler/tools/vivado/scripts → siliconcompiler-0.36.5/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
  441. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  442. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surfer/__init__.py +0 -0
  443. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/surfer/show.py +0 -0
  444. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  445. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/sv2v/convert.py +0 -0
  446. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/__init__.py +0 -0
  447. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/verilator/lint.py +0 -0
  448. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/__init__.py +0 -0
  449. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  450. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/place.py +0 -0
  451. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/route.py +0 -0
  452. {siliconcompiler-0.36.3/siliconcompiler/tools/yosys/techmaps → siliconcompiler-0.36.5/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
  453. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  454. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  455. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  456. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  457. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  458. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  459. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  460. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  461. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/place.py +0 -0
  462. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/route.py +0 -0
  463. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  464. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/vpr/show.py +0 -0
  465. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xdm/__init__.py +0 -0
  466. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xdm/convert.py +0 -0
  467. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xyce/__init__.py +0 -0
  468. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/xyce/simulate.py +0 -0
  469. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/__init__.py +0 -0
  470. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/lec_asic.py +0 -0
  471. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  472. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/procs.tcl +0 -0
  473. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_lec.tcl +0 -0
  474. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl +0 -0
  475. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl +0 -0
  476. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/scripts/syn_strategies.tcl +0 -0
  477. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  478. {siliconcompiler-0.36.3/siliconcompiler/tools/yosys/templates → siliconcompiler-0.36.5/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
  479. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  480. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  481. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/_tools.py +0 -0
  482. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  483. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  484. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  485. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  486. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel8/install-xdm.sh +0 -0
  487. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  488. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  489. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  490. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  491. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  492. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  493. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  494. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  495. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  496. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  497. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  498. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  499. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  500. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  501. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  502. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  503. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  504. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  505. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  506. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  507. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  508. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/__init__.py +0 -0
  509. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/issue.py +0 -0
  510. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/logging.py +0 -0
  511. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/multiprocessing.py +0 -0
  512. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/paths.py +0 -0
  513. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/showtools.py +0 -0
  514. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler/utils/units.py +0 -0
  515. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  516. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/entry_points.txt +0 -0
  517. {siliconcompiler-0.36.3 → siliconcompiler-0.36.5}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -28,3 +28,4 @@ python:
28
28
  - lint
29
29
  - docs
30
30
  - optimizer
31
+ - cocotb
@@ -8,6 +8,32 @@ The changes in each SiliconCompiler release version are described below. Commit
8
8
  version shown in (). Where applicable, the contributors that suggested a given
9
9
  feature are shown in [].
10
10
 
11
+ SiliconCompiler 0.36.5 (2026-02-02)
12
+ =========================================
13
+
14
+ **Minor:**
15
+
16
+ * Fixed dashboard line wrapping to correctly account for the width of the terminal.
17
+ * Reworked error handling to ensure backtrace is available when running with the dashboard.
18
+
19
+
20
+ SiliconCompiler 0.36.4 (2026-01-31)
21
+ =========================================
22
+
23
+ **Minor:**
24
+
25
+ * Fixed commandline handling of `sc-issue` when `-cfg` is missing.
26
+ * Added support for `-jobs` to `sc-install` to control number of build jobs.
27
+ * Updated detection of editable python installs.
28
+ * Fixed json serialization bug when journal is active.
29
+
30
+ * Tools:
31
+
32
+ * yosys: removed default use of kogge-stone techmap pass.
33
+ * openroad: correctly include lefs in floorplanning required keys.
34
+ * icarus, verilator: added support for cocotb plugins.
35
+
36
+
11
37
  SiliconCompiler 0.36.3 (2026-01-21)
12
38
  =========================================
13
39
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siliconcompiler
3
- Version: 0.36.3
3
+ Version: 0.36.5
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author: Zero ASIC
6
6
  License: Apache License 2.0
@@ -70,6 +70,8 @@ Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
70
70
  Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
71
71
  Provides-Extra: optimizer
72
72
  Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
73
+ Provides-Extra: cocotb
74
+ Requires-Dist: cocotb<2.1.0,>=2.0.1; (python_version >= "3.7" and python_version <= "3.13") and extra == "cocotb"
73
75
  Dynamic: license-file
74
76
 
75
77
  ![SiliconCompiler](https://raw.githubusercontent.com/siliconcompiler/siliconcompiler/main/docs/_static/sc_logo_with_text.png)
@@ -124,6 +124,9 @@ docs = [
124
124
  optimizer = [
125
125
  "google-vizier[jax] == 0.1.21; python_version >= '3.10'"
126
126
  ]
127
+ cocotb = [
128
+ "cocotb >= 2.0.1, < 2.1.0; python_version >= '3.7' and python_version <= '3.13'"
129
+ ]
127
130
 
128
131
  [tool.setuptools]
129
132
  include-package-data = true
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.36.3'
2
+ version = '0.36.5'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -92,7 +92,8 @@ class ChoiceOptional(Container):
92
92
  return sorted(items)
93
93
 
94
94
 
95
- def install_tool(tool: str, script: str, build_dir: str, prefix: str) -> bool:
95
+ def install_tool(tool: str, script: str, build_dir: str, prefix: str,
96
+ jobs: Optional[int] = None) -> bool:
96
97
  """
97
98
  Prepare a build directory, configure the environment, and execute an install script for a tool.
98
99
 
@@ -102,6 +103,8 @@ def install_tool(tool: str, script: str, build_dir: str, prefix: str) -> bool:
102
103
  build_dir (str): Base directory where a per-tool build directory will be created.
103
104
  prefix (str): Installation prefix; added to PATH and used to determine whether
104
105
  sudo is required.
106
+ jobs (Optional[int]): Maximum number of parallel jobs to use during build. If None,
107
+ defaults to the number of CPU cores.
105
108
 
106
109
  Returns:
107
110
  bool: `True` if the install script exited with status 0, `False` otherwise.
@@ -117,6 +120,8 @@ def install_tool(tool: str, script: str, build_dir: str, prefix: str) -> bool:
117
120
  env["PATH"] = ":".join(path)
118
121
  env["PREFIX"] = prefix
119
122
  env["USE_SUDO_INSTALL"] = "no"
123
+ if jobs is not None:
124
+ env["NPROC"] = str(jobs)
120
125
  try:
121
126
  os.makedirs(prefix, exist_ok=True)
122
127
  except PermissionError:
@@ -312,6 +317,12 @@ To install tools in a different location:
312
317
  To build tools in a different location:
313
318
  sc-install -build_dir /tmp yosys
314
319
 
320
+ To limit parallel build jobs (useful for memory-constrained systems):
321
+ sc-install yosys -jobs 4
322
+
323
+ To combine options (custom location with limited parallelism):
324
+ sc-install -prefix /opt/tools -jobs 8 openroad yosys
325
+
315
326
  To show the install script:
316
327
  sc-install -show openroad
317
328
 
@@ -359,6 +370,13 @@ Tool groups:
359
370
  help="Directory to build the tool in",
360
371
  metavar="<path>")
361
372
 
373
+ parser.add_argument(
374
+ "-jobs",
375
+ type=int,
376
+ default=None,
377
+ help="Maximum number of parallel build jobs (default: number of CPU cores)",
378
+ metavar="<int>")
379
+
362
380
  parser.add_argument(
363
381
  "-show",
364
382
  action="store_true",
@@ -389,6 +407,9 @@ Tool groups:
389
407
 
390
408
  tools_handled = set()
391
409
  tools_completed = set()
410
+ if args.jobs is not None and args.jobs < 1:
411
+ print("Error: -jobs must be a positive integer", file=sys.stderr)
412
+ return 1
392
413
  for tool in args.tool:
393
414
  if tool in tools_handled:
394
415
  continue
@@ -396,7 +417,7 @@ Tool groups:
396
417
  if args.show:
397
418
  show_tool(tool, tools[tool])
398
419
  else:
399
- if not install_tool(tool, tools[tool], args.build_dir, args.prefix):
420
+ if not install_tool(tool, tools[tool], args.build_dir, args.prefix, args.jobs):
400
421
  notstarted = set(args.tool) - tools_completed - tools_handled
401
422
  __print_summary(tools_completed, tool, notstarted)
402
423
  return 1
@@ -70,6 +70,10 @@ To run a testcase, use:
70
70
  switchlist=switchlist)
71
71
 
72
72
  if not issue.get("cmdarg", "run"):
73
+ if not issue.get("cmdarg", "cfg"):
74
+ issue.logger.error('-cfg must be provided')
75
+ return 1
76
+
73
77
  project: Project = Project.from_manifest(filepath=issue.get("cmdarg", "cfg"))
74
78
 
75
79
  # Determine abs path for build dir
@@ -697,9 +697,9 @@ class Design(DependencySchema, LibrarySchema):
697
697
  if option in ['idir', 'libdir']:
698
698
  try:
699
699
  dataroot = self._get_active_dataroot(dataroot)
700
- except ValueError as e:
700
+ except ValueError:
701
701
  if any(not os.path.isabs(v) for v in value):
702
- raise e
702
+ raise
703
703
 
704
704
  with self.active_dataroot(dataroot):
705
705
  if list in typelist and not clobber:
@@ -1,5 +1,8 @@
1
1
  from siliconcompiler.tools.icarus import compile as icarus_compile
2
+ from siliconcompiler.tools.icarus import cocotb_exec as icarus_cocotb
2
3
  from siliconcompiler.tools.verilator import compile as verilator_compile
4
+ from siliconcompiler.tools.verilator import cocotb_compile as verilator_cocotb_compile
5
+ from siliconcompiler.tools.verilator import cocotb_exec as verilator_cocotb
3
6
  from siliconcompiler.tools.execute import exec_input
4
7
  from siliconcompiler.tools.xyce import simulate as xyce_simulate
5
8
  from siliconcompiler.tools.xdm import convert as xdm_convert
@@ -24,7 +27,9 @@ class DVFlow(Flowgraph):
24
27
  Supported tools are:
25
28
 
26
29
  * 'icarus': Compiles and simulates with the Icarus Verilog simulator.
30
+ * 'icarus-cocotb': Compiles with Icarus and runs cocotb Python testbenches.
27
31
  * 'verilator': Compiles and simulates with Verilator.
32
+ * 'verilator-cocotb': Compiles with Verilator and runs cocotb Python testbenches.
28
33
  * 'xyce': Simulates a netlist with the Xyce circuit simulator.
29
34
  * 'xdm-xyce': Converts a design to a Xyce-compatible format and simulates.
30
35
  '''
@@ -50,10 +55,18 @@ class DVFlow(Flowgraph):
50
55
  self.node("compile", icarus_compile.CompileTask())
51
56
  sim_task = exec_input.ExecInputTask()
52
57
  com_name = "compile"
58
+ elif tool == "icarus-cocotb":
59
+ self.node("compile", icarus_compile.CompileTask())
60
+ sim_task = icarus_cocotb.CocotbExecTask()
61
+ com_name = "compile"
53
62
  elif tool == "verilator":
54
63
  self.node("compile", verilator_compile.CompileTask())
55
64
  sim_task = exec_input.ExecInputTask()
56
65
  com_name = "compile"
66
+ elif tool == "verilator-cocotb":
67
+ self.node("compile", verilator_cocotb_compile.CocotbCompileTask())
68
+ sim_task = verilator_cocotb.CocotbExecTask()
69
+ com_name = "compile"
57
70
  elif tool == "xyce":
58
71
  sim_task = xyce_simulate.SimulateTask()
59
72
  com_name = None
@@ -16,6 +16,7 @@ import logging
16
16
  import os
17
17
  import random
18
18
  import re
19
+ import site
19
20
  import shutil
20
21
  import time
21
22
  import threading
@@ -27,7 +28,7 @@ from typing import Optional, List, Dict, Type, Union, TYPE_CHECKING, Final
27
28
 
28
29
  from fasteners import InterProcessLock
29
30
  from importlib.metadata import distributions, distribution
30
- from pathlib import Path
31
+ from pathlib import Path, PureWindowsPath
31
32
  from urllib import parse as url_parse
32
33
 
33
34
  from siliconcompiler.utils import get_plugins, default_cache_dir
@@ -541,14 +542,14 @@ class RemoteResolver(Resolver):
541
542
 
542
543
  try:
543
544
  self.resolve_remote()
544
- except BaseException as e:
545
+ except BaseException:
545
546
  # Exception occurred, so need to cleanup
546
547
  try:
547
548
  shutil.rmtree(self.cache_path)
548
549
  except BaseException as cleane:
549
550
  self.logger.error(f"Exception occurred during cleanup: {cleane} "
550
551
  f"({cleane.__class__.__name__})")
551
- raise e from None
552
+ raise
552
553
 
553
554
  self.set_changed()
554
555
  return self.cache_path
@@ -647,21 +648,25 @@ class PythonPathResolver(Resolver):
647
648
  return False
648
649
  dist_name = dist_map[module_name][0]
649
650
 
650
- is_editable = False
651
651
  dist_obj = distribution(dist_name)
652
- if not dist_obj or not dist_obj.files:
652
+ if not dist_obj:
653
653
  return False
654
654
 
655
- for f in dist_obj.files:
656
- if f.name == 'direct_url.json':
657
- info = None
658
- with open(f.locate(), 'r') as fp:
659
- info = json.load(fp)
660
-
661
- if "dir_info" in info:
662
- is_editable = info["dir_info"].get("editable", False)
655
+ direct_url_content = dist_obj.read_text('direct_url.json')
656
+ if direct_url_content:
657
+ direct_url = json.loads(direct_url_content)
658
+ return direct_url.get('dir_info', {}).get('editable', False)
659
+
660
+ dist_loc = dist_obj.locate_file('')
661
+ site_paths = site.getsitepackages()
662
+ user_site_path = site.getusersitepackages()
663
+ if user_site_path:
664
+ site_paths.append(user_site_path)
665
+ if not dist_loc or not site_paths:
666
+ return False
663
667
 
664
- return is_editable
668
+ dist_loc = PureWindowsPath(dist_loc).as_posix()
669
+ return dist_loc not in [PureWindowsPath(site_path).as_posix() for site_path in site_paths]
665
670
 
666
671
  @staticmethod
667
672
  def set_dataroot(root: "PathSchema",
@@ -151,7 +151,8 @@ class GitResolver(RemoteResolver):
151
151
  for submodule in repo.submodules:
152
152
  submodule.update(recursive=True, init=True, force=True)
153
153
  except GitCommandError as e:
154
- if 'Permission denied' in repr(e) or 'could not read Username' in repr(e):
154
+ error_msg = str(e)
155
+ if 'Permission denied' in error_msg or 'could not read Username' in error_msg:
155
156
  if self.urlscheme in ('ssh', 'git+ssh'):
156
157
  raise RuntimeError('Failed to authenticate with Git. Please ensure your SSH '
157
158
  'keys are set up correctly.')
@@ -160,4 +161,4 @@ class GitResolver(RemoteResolver):
160
161
  'via GITHUB_TOKEN or use an SSH URL.')
161
162
  else:
162
163
  # Re-raise other Git errors
163
- raise e
164
+ raise
@@ -570,7 +570,7 @@ class Project(PathSchemaBase, CommandLineSchema, BaseSchema):
570
570
  self.logger.error(f"Run failed: {e.msg}")
571
571
  if scheduler and scheduler.log:
572
572
  self.logger.error(f"Job log: {os.path.abspath(scheduler.log)}")
573
- raise RuntimeError(f"Run failed: {e.msg}")
573
+ raise RuntimeError(f"Run failed: {e.msg}") from None
574
574
  finally:
575
575
  if self.__dashboard:
576
576
  # Update dashboard
@@ -18,6 +18,7 @@ from siliconcompiler import NodeStatus as SCNodeStatus
18
18
  from siliconcompiler._metadata import default_server
19
19
  from siliconcompiler.flowgraph import RuntimeFlowgraph
20
20
  from siliconcompiler.scheduler import Scheduler
21
+ from siliconcompiler.scheduler.error import SCRuntimeError
21
22
  from siliconcompiler.schema import Journal, Parameter
22
23
  from siliconcompiler.package import PythonPathResolver, FileResolver, KeyPathResolver
23
24
 
@@ -490,7 +491,12 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
490
491
  get_console_formatter(self.__project, True, self.STEP_NAME, None))
491
492
 
492
493
  # Ask the remote server to start processing the requested step.
493
- self.__request_run()
494
+ try:
495
+ self.__request_run()
496
+ except KeyboardInterrupt:
497
+ return
498
+ except Exception as e:
499
+ raise SCRuntimeError(str(e)) from None
494
500
 
495
501
  # Run the main 'check_progress' loop to monitor job status until it finishes.
496
502
  try:
@@ -609,14 +615,14 @@ service, provided by SiliconCompiler, is not intended to process proprietary IP.
609
615
  # Wrapper to allow for capturing of Ctrl+C
610
616
  try:
611
617
  self.__run_loop()
612
- except KeyboardInterrupt as e:
618
+ except KeyboardInterrupt:
613
619
  manifest_path = self.remote_manifest()
614
620
  reconnect_cmd = f'sc-remote -cfg {manifest_path} -reconnect'
615
621
  cancel_cmd = f'sc-remote -cfg {manifest_path} -cancel'
616
622
  self.__logger.info('Disconnecting from remote job')
617
623
  self.__logger.info(f'To reconnect to this job use: {reconnect_cmd}')
618
624
  self.__logger.info(f'To cancel this job use: {cancel_cmd}')
619
- raise e
625
+ raise
620
626
 
621
627
  def __import_run_manifests(self, starttimes):
622
628
  if not self.__setup_information_loaded:
@@ -609,7 +609,7 @@ class Board:
609
609
  if layout.log_height == 0:
610
610
  return None
611
611
 
612
- table = Table(box=None)
612
+ table = Table(box=None, width=layout.width)
613
613
  table.add_column(overflow="ellipsis", no_wrap=True, vertical="bottom")
614
614
  table.show_edge = False
615
615
  table.show_lines = False
@@ -1,4 +1,3 @@
1
- import io
2
1
  import logging
3
2
  import multiprocessing
4
3
  import os
@@ -6,7 +5,6 @@ import re
6
5
  import shutil
7
6
  import sys
8
7
  import tempfile
9
- import traceback
10
8
 
11
9
  import os.path
12
10
 
@@ -186,47 +184,6 @@ class Scheduler:
186
184
  task_scheduler.run(self.__joblog_handler)
187
185
  task_scheduler.check()
188
186
 
189
- def __excepthook(self, exc_type, exc_value, exc_traceback):
190
- """
191
- Handle uncaught exceptions by recording them to the job log, emitting a full traceback,
192
- stopping any running dashboard, and notifying the multiprocessing manager.
193
-
194
- Logs a concise exception summary and the full traceback to the scheduler's job logger,
195
- forwards KeyboardInterrupt to the default system excepthook, invokes the
196
- project's dashboard stop method when present, and signals an uncaught exception
197
- to the multiprocessing manager.
198
-
199
- Parameters:
200
- exc_type (Type[BaseException]): Exception class of the uncaught exception.
201
- exc_value (BaseException): Exception instance (may contain the message).
202
- exc_traceback (types.TracebackType): Traceback object for the exception.
203
- """
204
- if issubclass(exc_type, KeyboardInterrupt):
205
- sys.__excepthook__(exc_type, exc_value, exc_traceback)
206
- return
207
-
208
- # Print a summary of the exception
209
- except_msg = f"Exception raised: {exc_type.__name__}"
210
- exc_value = str(exc_value).strip()
211
- if exc_value:
212
- except_msg += f" / {exc_value}"
213
- self.__logger.error(except_msg)
214
-
215
- trace = io.StringIO()
216
-
217
- # Print the full traceback for debugging
218
- self.__logger.error("Traceback (most recent call last):")
219
- traceback.print_tb(exc_traceback, file=trace)
220
- for line in trace.getvalue().splitlines():
221
- self.__logger.error(line)
222
-
223
- # Ensure dashboard receives a stop if running
224
- if self.__project._Project__dashboard:
225
- self.__project._Project__dashboard.stop()
226
-
227
- # Mark error to keep logfile
228
- MPManager.error("uncaught exception")
229
-
230
187
  def __install_file_logger(self) -> None:
231
188
  """
232
189
  Set up a per-job file logger for the current project and attach it to the
@@ -256,26 +213,23 @@ class Scheduler:
256
213
  The main entry point to start the compilation flow.
257
214
 
258
215
  This method orchestrates the entire run, including:
259
- - Setting up a custom exception hook for logging.
216
+ - Performing robust error handling and logging.
260
217
  - Initializing the job directory and log files.
261
218
  - Configuring and setting up all nodes in the flow.
262
219
  - Validating the manifest.
263
220
  - Executing the core run loop.
264
221
  - Recording the final results and history.
265
222
  """
266
- # Install hook to ensure exception is logged
267
- org_excepthook = sys.excepthook
268
- sys.excepthook = self.__excepthook
269
223
 
270
- try:
271
- # Determine job name first so we can create a log
272
- if not self.__increment_job_name():
273
- # No need to copy, no remove org job name
274
- self.__org_job_name = None
224
+ # Determine job name first so we can create a log
225
+ if not self.__increment_job_name():
226
+ # No need to copy, no remove org job name
227
+ self.__org_job_name = None
275
228
 
276
- # Clean the directory early if needed
277
- self.__clean_build_dir_full()
229
+ # Clean the directory early if needed
230
+ self.__clean_build_dir_full()
278
231
 
232
+ try:
279
233
  # Install job file logger
280
234
  self.__install_file_logger()
281
235
 
@@ -317,9 +271,6 @@ class Scheduler:
317
271
 
318
272
  try:
319
273
  self.run_core()
320
- except SCRuntimeError as e:
321
- raise e
322
-
323
274
  finally:
324
275
  # Store run in history
325
276
  self.__project._record_history()
@@ -328,13 +279,24 @@ class Scheduler:
328
279
  self.__project.write_manifest(self.manifest)
329
280
 
330
281
  send_messages.send(self.__project, 'summary', None, None)
282
+ except KeyboardInterrupt:
283
+ pass
284
+ except SCRuntimeError:
285
+ raise
286
+ except Exception as e:
287
+ utils.print_traceback(self.__logger, e)
288
+
289
+ if self.__project._Project__dashboard:
290
+ self.__project._Project__dashboard.stop()
291
+
292
+ MPManager.error(str(e) or "uncaught exception")
293
+
294
+ raise SCRuntimeError(str(e))
331
295
  finally:
332
296
  if self.__joblog_handler is not None:
333
297
  self.__logger.removeHandler(self.__joblog_handler)
334
298
  self.__joblog_handler.close()
335
299
  self.__joblog_handler = logging.NullHandler()
336
- # Restore hook
337
- sys.excepthook = org_excepthook
338
300
 
339
301
  def __check_tool_requirements(self) -> bool:
340
302
  """
@@ -795,7 +757,7 @@ class Scheduler:
795
757
  runrequired.log(self.__logger)
796
758
 
797
759
  if isinstance(runrequired, SchedulerFlowReset):
798
- raise runrequired from None
760
+ raise runrequired
799
761
 
800
762
  # This node must be run
801
763
  self.__mark_pending(*node)
@@ -407,10 +407,10 @@ class SchedulerNode:
407
407
  self.__record.set('status', NodeStatus.SKIPPED,
408
408
  step=self.__step, index=self.__index)
409
409
  return False
410
- except Exception as e:
410
+ except Exception:
411
411
  self.logger.error(f'Failed to run setup() for {self.__step}/{self.__index} '
412
412
  f'with {task.tool()}/{task.task()}')
413
- raise e
413
+ raise
414
414
 
415
415
  return True
416
416
 
@@ -951,7 +951,7 @@ class SchedulerNode:
951
951
  self.logger.error(
952
952
  f"Pre-processing failed for {self.__task.tool()}/{self.__task.task()}")
953
953
  utils.print_traceback(self.logger, e)
954
- raise e
954
+ raise
955
955
 
956
956
  if self.__record.get('status', step=self.__step, index=self.__index) == NodeStatus.SKIPPED:
957
957
  # copy inputs to outputs and skip execution
@@ -1007,8 +1007,8 @@ class SchedulerNode:
1007
1007
  step=self.__step, index=self.__index),
1008
1008
  self.__project.get('option', 'timeout',
1009
1009
  step=self.__step, index=self.__index))
1010
- except Exception as e:
1011
- raise e
1010
+ except Exception:
1011
+ raise
1012
1012
 
1013
1013
  if ret_code != 0:
1014
1014
  msg = f'Command failed with code {ret_code}.'
@@ -8,6 +8,7 @@ import contextlib
8
8
  import copy
9
9
  import importlib
10
10
  import logging
11
+ import pathlib
11
12
 
12
13
  try:
13
14
  import gzip
@@ -385,10 +386,18 @@ class BaseSchema:
385
386
  fout = BaseSchema.__open_file(filepath, is_read=False)
386
387
 
387
388
  try:
389
+ def default(obj: Any) -> Any:
390
+ if isinstance(obj, pathlib.PurePath):
391
+ # Cast everything to a windows path and convert to posix.
392
+ # https://stackoverflow.com/questions/73682260
393
+ return pathlib.PureWindowsPath(obj).as_posix()
394
+ raise TypeError
395
+
388
396
  if _has_orjson:
389
- manifest_str = json.dumps(self.getdict(), option=json.OPT_INDENT_2).decode()
397
+ manifest_str = json.dumps(self.getdict(), option=json.OPT_INDENT_2,
398
+ default=default).decode()
390
399
  else:
391
- manifest_str = json.dumps(self.getdict(), indent=2)
400
+ manifest_str = json.dumps(self.getdict(), indent=2, default=default)
392
401
  fout.write(manifest_str)
393
402
  finally:
394
403
  fout.close()
@@ -503,7 +512,7 @@ class BaseSchema:
503
512
  except Exception as e:
504
513
  new_msg = f"error while accessing {self.__format_key(*keypath)}: {e.args[0]}"
505
514
  e.args = (new_msg, *e.args[1:])
506
- raise e
515
+ raise
507
516
 
508
517
  def set(self, *args, field: str = 'value', clobber: bool = True,
509
518
  step: Optional[str] = None, index: Optional[Union[int, str]] = None) \
@@ -550,7 +559,7 @@ class BaseSchema:
550
559
  except Exception as e:
551
560
  new_msg = f"error while setting {self.__format_key(*keypath)}: {e.args[0]}"
552
561
  e.args = (new_msg, *e.args[1:])
553
- raise e
562
+ raise
554
563
 
555
564
  def add(self, *args, field: str = 'value',
556
565
  step: Optional[str] = None, index: Optional[Union[int, str]] = None) \
@@ -595,7 +604,7 @@ class BaseSchema:
595
604
  except Exception as e:
596
605
  new_msg = f"error while adding to {self.__format_key(*keypath)}: {e.args[0]}"
597
606
  e.args = (new_msg, *e.args[1:])
598
- raise e
607
+ raise
599
608
 
600
609
  def unset(self, *keypath: str,
601
610
  step: Optional[str] = None,
@@ -636,7 +645,7 @@ class BaseSchema:
636
645
  except Exception as e:
637
646
  new_msg = f"error while unsetting {self.__format_key(*keypath)}: {e.args[0]}"
638
647
  e.args = (new_msg, *e.args[1:])
639
- raise e
648
+ raise
640
649
 
641
650
  def remove(self, *keypath: str):
642
651
  '''
@@ -143,7 +143,7 @@ class CommandLineSchema(BaseSchema):
143
143
  # Grab config from argv
144
144
  try:
145
145
  cfg_index = sys.argv.index("-cfg", 1)
146
- if cfg_index < len(sys.argv):
146
+ if cfg_index + 1 < len(sys.argv):
147
147
  cfg_file = sys.argv[cfg_index + 1]
148
148
  except ValueError:
149
149
  pass
@@ -161,7 +161,8 @@ class CommandLineSchema(BaseSchema):
161
161
  # Add commandline key for input files
162
162
  if not isinstance(schema, CommandLineSchema):
163
163
  raise TypeError("Schema is not a commandline class")
164
- if "cmdarg" not in schema.getkeys() or "file" not in schema.getkeys("cmdarg"):
164
+
165
+ if not schema.valid("cmdarg", "input"):
165
166
  schema._add_commandline_argument("input", "[file]", "input files", ...)
166
167
  keyschema._add_commandline_argument("input", "[file]", "input files", ...)
167
168
 
@@ -122,9 +122,9 @@ class FileSetSchema(PathSchema):
122
122
 
123
123
  try:
124
124
  dataroot = self._get_active_dataroot(dataroot)
125
- except ValueError as e:
125
+ except ValueError:
126
126
  if not os.path.isabs(filename):
127
- raise e
127
+ raise
128
128
 
129
129
  # adding files to dictionary
130
130
  with self.active_dataroot(dataroot):