siliconcompiler 0.31.1__tar.gz → 0.32.0__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 (484) hide show
  1. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.readthedocs.yaml +1 -2
  2. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/Changes +18 -0
  3. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/PKG-INFO +3 -6
  4. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/pyproject.toml +2 -6
  5. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/_metadata.py +1 -1
  6. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc.py +1 -0
  7. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/utils/summarize.py +1 -1
  8. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/core.py +33 -39
  9. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/_common.py +10 -4
  10. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/__init__.py +7 -6
  11. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/git.py +4 -1
  12. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/package/https.py +6 -2
  13. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/__init__.py +16 -6
  14. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/report.py +6 -6
  15. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/run_node.py +4 -1
  16. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/_apr.py +15 -5
  17. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +10 -0
  18. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +27 -0
  19. siliconcompiler-0.32.0/siliconcompiler/tools/slang/__init__.py +216 -0
  20. siliconcompiler-0.32.0/siliconcompiler/tools/slang/elaborate.py +151 -0
  21. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/slang/lint.py +20 -10
  22. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/__init__.py +17 -4
  23. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/_tools.json +2 -2
  24. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/units.py +10 -7
  25. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/use.py +5 -2
  26. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/PKG-INFO +3 -6
  27. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/requires.txt +2 -6
  28. siliconcompiler-0.31.1/siliconcompiler/tools/slang/__init__.py +0 -126
  29. siliconcompiler-0.31.1/siliconcompiler/tools/slang/elaborate.py +0 -46
  30. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.dockerignore +0 -0
  31. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.flake8 +0 -0
  32. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.gitattributes +0 -0
  33. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/.gitignore +0 -0
  34. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/CONTRIBUTING.md +0 -0
  35. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/LICENSE +0 -0
  36. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/MANIFEST.in +0 -0
  37. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/README.md +0 -0
  38. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/SECURITY.md +0 -0
  39. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/.gitignore +0 -0
  40. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/check_library.py +0 -0
  41. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/profile_sc.py +0 -0
  42. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/scripts/report_library.py +0 -0
  43. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/setup.cfg +0 -0
  44. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/__init__.py +0 -0
  45. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/__main__.py +0 -0
  46. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/_common.py +0 -0
  47. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/__init__.py +0 -0
  48. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/_common.py +0 -0
  49. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_dashboard.py +0 -0
  50. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_install.py +0 -0
  51. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_issue.py +0 -0
  52. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_remote.py +0 -0
  53. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_server.py +0 -0
  54. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/sc_show.py +0 -0
  55. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/smake.py +0 -0
  56. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/apps/utils/replay.py +0 -0
  57. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/checklists/__init__.py +0 -0
  58. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  59. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  60. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  61. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  62. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/__init__.py +0 -0
  63. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/heartbeat.v +0 -0
  64. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/data/logo.png +0 -0
  65. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flowgraph.py +0 -0
  66. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/__init__.py +0 -0
  67. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/asicflow.py +0 -0
  68. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/asictopflow.py +0 -0
  69. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/drcflow.py +0 -0
  70. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/dvflow.py +0 -0
  71. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/fpgaflow.py +0 -0
  72. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  73. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/interposerflow.py +0 -0
  74. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/lintflow.py +0 -0
  75. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/screenshotflow.py +0 -0
  76. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/showflow.py +0 -0
  77. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/signoffflow.py +0 -0
  78. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/flows/synflow.py +0 -0
  79. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/__init__.py +0 -0
  80. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  81. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/fpgas/vpr_example.py +0 -0
  82. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/issue.py +0 -0
  83. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/libs/__init__.py +0 -0
  84. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/optimizer/__init__.py +0 -0
  85. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/optimizer/vizier.py +0 -0
  86. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/pdks/__init__.py +0 -0
  87. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/__init__.py +0 -0
  88. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/client.py +0 -0
  89. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/schema.py +0 -0
  90. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server.py +0 -0
  91. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  92. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  93. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  94. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  95. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  96. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  97. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  98. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  99. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  100. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  101. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  102. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  103. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  104. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  105. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  106. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/__init__.py +0 -0
  107. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/__init__.py +0 -0
  108. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  109. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  110. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  111. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  112. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  113. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  114. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  115. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/state.py +0 -0
  116. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  117. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  118. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/dashboard/viewer.py +0 -0
  119. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/html_report.py +0 -0
  120. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/summary_image.py +0 -0
  121. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/summary_table.py +0 -0
  122. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/report/utils.py +0 -0
  123. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/__init__.py +0 -0
  124. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/docker_runner.py +0 -0
  125. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/send_messages.py +0 -0
  126. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/slurm.py +0 -0
  127. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  128. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  129. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/__init__.py +0 -0
  130. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/schema_cfg.py +0 -0
  131. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/schema_obj.py +0 -0
  132. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/schema/utils.py +0 -0
  133. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/__init__.py +0 -0
  134. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
  135. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
  136. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/sphinx_ext/utils.py +0 -0
  137. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/__init__.py +0 -0
  138. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/asap7_demo.py +0 -0
  139. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/asic_demo.py +0 -0
  140. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  141. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  142. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/gf180_demo.py +0 -0
  143. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/ihp130_demo.py +0 -0
  144. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/interposer_demo.py +0 -0
  145. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/targets/skywater130_demo.py +0 -0
  146. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/__init__.py +0 -0
  147. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/__init__.py +0 -0
  148. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/general.j2 +0 -0
  149. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/email/summary.j2 +0 -0
  150. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/README.txt +0 -0
  151. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/__init__.py +0 -0
  152. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/issue/run.sh +0 -0
  153. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
  154. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/replay.sh.j2 +0 -0
  155. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/requirements.txt +0 -0
  156. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/replay/setup.sh +0 -0
  157. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/__init__.py +0 -0
  158. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  159. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  160. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  161. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  162. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/slurm/__init__.py +0 -0
  163. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/slurm/run.sh +0 -0
  164. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/tcl/__init__.py +0 -0
  165. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  166. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/__init__.py +0 -0
  167. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/__init__.py +0 -0
  168. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/asic.py +0 -0
  169. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/asic_clock.py +0 -0
  170. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  171. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  172. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  173. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  174. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bambu/__init__.py +0 -0
  175. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bambu/convert.py +0 -0
  176. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  177. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/bluespec/convert.py +0 -0
  178. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/__init__.py +0 -0
  179. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/_common.py +0 -0
  180. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/builtin.py +0 -0
  181. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  182. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/join.py +0 -0
  183. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/maximum.py +0 -0
  184. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/minimum.py +0 -0
  185. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/mux.py +0 -0
  186. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/nop.py +0 -0
  187. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/builtin/verify.py +0 -0
  188. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  189. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/__init__.py +0 -0
  190. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/build.sbt +0 -0
  191. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/chisel.py +0 -0
  192. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/chisel/convert.py +0 -0
  193. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/__init__.py +0 -0
  194. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/exec_input.py +0 -0
  195. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/execute/execute.py +0 -0
  196. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  197. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  198. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  199. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  200. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/convert.py +0 -0
  201. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
  202. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/__init__.py +0 -0
  203. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
  204. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/graphviz/show.py +0 -0
  205. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
  206. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
  207. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/gtkwave/show.py +0 -0
  208. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/__init__.py +0 -0
  209. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/compile.py +0 -0
  210. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icarus/icarus.py +0 -0
  211. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/__init__.py +0 -0
  212. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  213. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/icepack/icepack.py +0 -0
  214. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/__init__.py +0 -0
  215. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  216. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/drc.py +0 -0
  217. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/export.py +0 -0
  218. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout.py +0 -0
  219. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
  220. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
  221. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
  222. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
  223. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
  224. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/operations.py +0 -0
  225. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  226. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/klayout/show.py +0 -0
  227. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/__init__.py +0 -0
  228. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/drc.py +0 -0
  229. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/extspice.py +0 -0
  230. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/magic.py +0 -0
  231. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  232. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  233. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  234. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/__init__.py +0 -0
  235. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/montage.py +0 -0
  236. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/montage/tile.py +0 -0
  237. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/__init__.py +0 -0
  238. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  239. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/lvs.py +0 -0
  240. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/netgen.py +0 -0
  241. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  242. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  243. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  244. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  245. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/__init__.py +0 -0
  246. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  247. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  248. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  249. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  250. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  251. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  252. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  253. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/global_placement.py +0 -0
  254. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/global_route.py +0 -0
  255. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
  256. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  257. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/metrics.py +0 -0
  258. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  259. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  260. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  261. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  262. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  263. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  264. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  265. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  266. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  267. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
  268. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  269. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
  270. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  271. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  272. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  273. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  274. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  275. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
  276. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  277. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  278. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  279. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  280. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  281. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  282. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
  283. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
  284. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
  285. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  286. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +0 -0
  287. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  288. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  289. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  290. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  291. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  292. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -0
  293. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
  294. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  295. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  296. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  297. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  298. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
  299. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/show.py +0 -0
  300. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  301. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  302. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/openroad/write_data.py +0 -0
  303. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/__init__.py +0 -0
  304. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/check_library.py +0 -0
  305. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  306. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  307. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
  308. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  309. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  310. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  311. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/opensta/timing.py +0 -0
  312. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/parse.py +0 -0
  313. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  314. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  315. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  316. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/convert.py +0 -0
  317. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
  318. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/template/__init__.py +0 -0
  319. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/template/template.py +0 -0
  320. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/__init__.py +0 -0
  321. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/compile.py +0 -0
  322. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/lint.py +0 -0
  323. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/parse.py +0 -0
  324. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/verilator/verilator.py +0 -0
  325. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/__init__.py +0 -0
  326. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  327. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/place.py +0 -0
  328. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/route.py +0 -0
  329. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  330. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  331. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  332. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  333. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  334. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  335. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  336. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vivado/vivado.py +0 -0
  337. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/__init__.py +0 -0
  338. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  339. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  340. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/place.py +0 -0
  341. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/route.py +0 -0
  342. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  343. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/show.py +0 -0
  344. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/vpr/vpr.py +0 -0
  345. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xdm/__init__.py +0 -0
  346. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xdm/convert.py +0 -0
  347. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xyce/__init__.py +0 -0
  348. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/xyce/simulate.py +0 -0
  349. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/__init__.py +0 -0
  350. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/lec.py +0 -0
  351. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  352. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  353. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
  354. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  355. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
  356. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/screenshot.py +0 -0
  357. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
  358. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
  359. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  360. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
  361. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  362. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  363. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  364. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  365. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  366. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/_tools.py +0 -0
  367. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  368. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  369. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  370. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  371. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  372. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  373. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  374. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  375. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  376. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  377. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  378. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  379. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  380. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys-moosic.sh +0 -0
  381. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys-slang.sh +0 -0
  382. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  383. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  384. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  385. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
  386. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  387. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  388. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  389. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  390. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  391. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +0 -0
  392. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  393. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  394. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  395. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  396. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  397. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  398. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  399. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +0 -0
  400. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +0 -0
  401. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  402. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  403. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  404. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  405. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  406. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
  407. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  408. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  409. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  410. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  411. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  412. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  413. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  414. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  415. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  416. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  417. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  418. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  419. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  420. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  421. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  422. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  423. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  424. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +0 -0
  425. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +0 -0
  426. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  427. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  428. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  429. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  430. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  431. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
  432. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  433. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  434. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  435. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  436. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  437. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  438. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  439. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  440. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  441. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  442. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  443. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  444. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  445. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  446. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  447. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  448. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  449. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +0 -0
  450. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +0 -0
  451. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  452. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  453. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  454. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  455. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  456. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
  457. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  458. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  459. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  460. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  461. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  462. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  463. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  464. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  465. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  466. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  467. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  468. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  469. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  470. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  471. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  472. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  473. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  474. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +0 -0
  475. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +0 -0
  476. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  477. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/__init__.py +0 -0
  478. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/asic.py +0 -0
  479. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/logging.py +0 -0
  480. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler/utils/showtools.py +0 -0
  481. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/SOURCES.txt +0 -0
  482. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  483. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/entry_points.txt +0 -0
  484. {siliconcompiler-0.31.1 → siliconcompiler-0.32.0}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -24,9 +24,8 @@ python:
24
24
  - method: pip
25
25
  path: .
26
26
  extra_requirements:
27
- - docs
28
27
  - test
29
28
  - lint
29
+ - docs
30
30
  - profile
31
- - examples
32
31
  - optimizer
@@ -8,6 +8,24 @@ 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.32.0 (2025-03-11)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Changed default behavior of `.summary` to only print metrics summary, and added `.snapshot` to generate and display job summary image.
17
+ * Moved default verilog/system verilog frontend parser to Slang.
18
+
19
+
20
+ **Minor:**
21
+
22
+ * Changed examples to use a `requirements.txt` file for external dependencies.
23
+
24
+ * Tools:
25
+
26
+ * openroad: added timing histogram reports.
27
+
28
+
11
29
  SiliconCompiler 0.31.1 (2025-03-06)
12
30
  =========================================
13
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: siliconcompiler
3
- Version: 0.31.1
3
+ Version: 0.32.0
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
6
6
  License: Apache License 2.0
@@ -45,10 +45,10 @@ Requires-Dist: fasteners==0.19
45
45
  Requires-Dist: fastjsonschema==2.21.1
46
46
  Requires-Dist: docker==7.1.0
47
47
  Requires-Dist: importlib_metadata; python_version < "3.10"
48
- Requires-Dist: sc-surelog==1.84.1
49
48
  Requires-Dist: orjson==3.10.15
49
+ Requires-Dist: pyslang==8.0.0
50
50
  Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
51
- Requires-Dist: streamlit==1.42.2; python_version >= "3.9" and python_full_version != "3.9.7"
51
+ Requires-Dist: streamlit==1.43.1; python_version >= "3.9" and python_full_version != "3.9.7"
52
52
  Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
53
53
  Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
54
54
  Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
@@ -74,9 +74,6 @@ Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
74
74
  Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
75
75
  Provides-Extra: profile
76
76
  Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
77
- Provides-Extra: examples
78
- Requires-Dist: migen==0.9.2; extra == "examples"
79
- Requires-Dist: lambdalib==0.3.3; extra == "examples"
80
77
  Provides-Extra: optimizer
81
78
  Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
82
79
 
@@ -52,12 +52,12 @@ dependencies = [
52
52
  "fastjsonschema == 2.21.1",
53
53
  "docker == 7.1.0",
54
54
  "importlib_metadata; python_version < '3.10'",
55
- "sc-surelog == 1.84.1",
56
55
  "orjson == 3.10.15",
56
+ "pyslang == 8.0.0",
57
57
 
58
58
  # dashboard, streamlit does not support 3.9.7
59
59
  "streamlit == 1.40.1; python_version <= '3.8'",
60
- "streamlit == 1.42.2; python_version >= '3.9' and python_full_version != '3.9.7'",
60
+ "streamlit == 1.43.1; python_version >= '3.9' and python_full_version != '3.9.7'",
61
61
  "streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
62
62
  "streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
63
63
  "streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
@@ -130,10 +130,6 @@ docs = [
130
130
  profile = [
131
131
  "gprof2dot == 2024.6.6"
132
132
  ]
133
- examples = [
134
- "migen == 0.9.2",
135
- "lambdalib == 0.3.3"
136
- ]
137
133
  optimizer = [
138
134
  "google-vizier[jax] == 0.1.21; python_version >= '3.10'"
139
135
  ]
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.31.1'
2
+ version = '0.32.0'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -99,6 +99,7 @@ def main():
99
99
 
100
100
  # Print Job Summary
101
101
  chip.summary()
102
+ chip.snapshot()
102
103
  except SiliconCompilerError:
103
104
  return 1
104
105
  except Exception as e:
@@ -37,7 +37,7 @@ def main():
37
37
  return 1
38
38
 
39
39
  # Print Job Summary
40
- chip.summary(generate_image=False, generate_html=False)
40
+ chip.summary()
41
41
 
42
42
  return 0
43
43
 
@@ -26,7 +26,6 @@ from siliconcompiler import _metadata
26
26
  from siliconcompiler import NodeStatus, SiliconCompilerError
27
27
  from siliconcompiler.report import _show_summary_table
28
28
  from siliconcompiler.report import _generate_summary_image, _open_summary_image
29
- from siliconcompiler.report import _generate_html_report, _open_html_report
30
29
  from siliconcompiler.report import Dashboard
31
30
  from siliconcompiler import package as sc_package
32
31
  import glob
@@ -211,6 +210,8 @@ class Chip:
211
210
 
212
211
  self.logger.addHandler(file_handler)
213
212
 
213
+ return file_handler
214
+
214
215
  ###########################################################################
215
216
  def _init_logger(self, step=None, index=None, in_run=False):
216
217
 
@@ -2889,7 +2890,7 @@ class Chip:
2889
2890
  return self._dash
2890
2891
 
2891
2892
  ###########################################################################
2892
- def summary(self, show_all_indices=False, generate_image=True, generate_html=False):
2893
+ def summary(self, show_all_indices=False):
2893
2894
  '''
2894
2895
  Prints a summary of the compilation manifest.
2895
2896
 
@@ -2902,13 +2903,6 @@ class Chip:
2902
2903
  show_all_indices (bool): If True, displays metrics for all indices
2903
2904
  of each step. If False, displays metrics only for winning
2904
2905
  indices.
2905
- generate_image (bool): If True, generates a summary image featuring
2906
- a layout screenshot and a subset of metrics. Requires that the
2907
- current job has an ending node that generated a PNG file.
2908
- generate_html (bool): If True, generates an HTML report featuring a
2909
- metrics summary table and manifest tree view. The report will
2910
- include a layout screenshot if the current job has an ending node
2911
- that generated a PNG file.
2912
2906
 
2913
2907
  Examples:
2914
2908
  >>> chip.summary()
@@ -2921,36 +2915,36 @@ class Chip:
2921
2915
 
2922
2916
  _show_summary_table(self, flow, nodes_to_execute, show_all_indices=show_all_indices)
2923
2917
 
2924
- # Create a report for the Chip object which can be viewed in a web browser.
2925
- # Place report files in the build's root directory.
2926
- work_dir = self.getworkdir()
2927
- if os.path.isdir(work_dir):
2928
- # Mark file paths where the reports can be found if they were generated.
2929
- results_img = os.path.join(work_dir, f'{self.design}.png')
2930
- results_html = os.path.join(work_dir, 'report.html')
2931
-
2932
- for path in (results_img, results_html):
2933
- if os.path.exists(path):
2934
- os.remove(path)
2935
-
2936
- if generate_image:
2937
- _generate_summary_image(self, results_img)
2938
-
2939
- if generate_html:
2940
- _generate_html_report(self, flow, nodes_to_execute, results_html)
2941
-
2942
- # dashboard does not generate any data
2943
- self.logger.info(f'Dashboard at "sc-dashboard -cfg {work_dir}/{self.design}.pkg.json"')
2944
-
2945
- # Try to open the results and layout only if '-nodisplay' is not set.
2946
- # Priority: PNG > HTML > dashboard.
2947
- if not self.get('option', 'nodisplay'):
2948
- if os.path.isfile(results_img):
2949
- _open_summary_image(results_img)
2950
- elif os.path.isfile(results_html):
2951
- _open_html_report(self, results_html)
2952
- else:
2953
- self.dashboard(wait=False)
2918
+ # dashboard does not generate any data
2919
+ self.logger.info('Dashboard at "sc-dashboard '
2920
+ f'-cfg {self.getworkdir()}/{self.design}.pkg.json"')
2921
+
2922
+ ###########################################################################
2923
+ def snapshot(self, path=None, display=True):
2924
+ '''
2925
+ Creates a snapshot image of the job
2926
+
2927
+ Args:
2928
+ path (str): Path to generate the image at, if not provided will default to
2929
+ <job>/<design>.png
2930
+ display (bool): If True, will open the image for viewing. If :keypath:`option,nodisplay`
2931
+ is True, this argument will be ignored.
2932
+
2933
+ Examples:
2934
+ >>> chip.snapshot()
2935
+ Creates a snapshot image in the default location
2936
+ '''
2937
+
2938
+ if not path:
2939
+ path = os.path.join(self.getworkdir(), f'{self.design}.png')
2940
+
2941
+ if os.path.exists(path):
2942
+ os.remove(path)
2943
+
2944
+ _generate_summary_image(self, path)
2945
+
2946
+ if os.path.isfile(path) and not self.get('option', 'nodisplay') and display:
2947
+ _open_summary_image(path)
2954
2948
 
2955
2949
  ###########################################################################
2956
2950
  def clock(self, pin, period, jitter=0, mode='global'):
@@ -1,4 +1,5 @@
1
1
  from siliconcompiler.tools.surelog import parse as surelog_parse
2
+ from siliconcompiler.tools.slang import elaborate as slang_preprocess
2
3
  from siliconcompiler.tools.chisel import convert as chisel_convert
3
4
  from siliconcompiler.tools.bambu import convert as bambu_convert
4
5
  from siliconcompiler.tools.bluespec import convert as bluespec_convert
@@ -7,6 +8,8 @@ from siliconcompiler.tools.sv2v import convert as sv2v_convert
7
8
 
8
9
  from siliconcompiler.tools.builtin import concatenate
9
10
 
11
+ from siliconcompiler.tools.slang import has_pyslang
12
+
10
13
 
11
14
  def _make_docs(chip):
12
15
  from siliconcompiler.targets import freepdk45_demo
@@ -20,9 +23,12 @@ def _make_docs(chip):
20
23
  chip.use(freepdk45_demo)
21
24
 
22
25
 
23
- def __get_frontends(allow_system_verilog):
26
+ def __get_frontends(allow_system_verilog, use_surelog=False):
27
+ parser = surelog_parse
28
+ if not use_surelog and has_pyslang():
29
+ parser = slang_preprocess
24
30
  systemverilog_frontend = [
25
- ('import.verilog', surelog_parse)
31
+ ('import.verilog', parser)
26
32
  ]
27
33
  if not allow_system_verilog:
28
34
  systemverilog_frontend.append(('import.convert', sv2v_convert))
@@ -36,7 +42,7 @@ def __get_frontends(allow_system_verilog):
36
42
  }
37
43
 
38
44
 
39
- def setup_multiple_frontends(flow, allow_system_verilog=False):
45
+ def setup_multiple_frontends(flow, allow_system_verilog=False, use_surelog=False):
40
46
  '''
41
47
  Sets of multiple frontends if different frontends are required.
42
48
 
@@ -45,7 +51,7 @@ def setup_multiple_frontends(flow, allow_system_verilog=False):
45
51
 
46
52
  concat_nodes = []
47
53
  flowname = flow.design
48
- for _, pipe in __get_frontends(allow_system_verilog).items():
54
+ for _, pipe in __get_frontends(allow_system_verilog, use_surelog=use_surelog).items():
49
55
  prev_step = None
50
56
  for step, task in pipe:
51
57
  flow.node(flowname, step, task)
@@ -41,11 +41,11 @@ def get_download_cache_path(chip, package, ref):
41
41
  os.path.join(cache_path, f'{package}-{ref}.lock')
42
42
 
43
43
 
44
- def _file_path_resolver(chip, package, path, ref, url):
44
+ def _file_path_resolver(chip, package, path, ref, url, fetch):
45
45
  return os.path.abspath(path.replace('file://', ''))
46
46
 
47
47
 
48
- def _python_path_resolver(chip, package, path, ref, url):
48
+ def _python_path_resolver(chip, package, path, ref, url, fetch):
49
49
  return path_from_python(chip, url.netloc)
50
50
 
51
51
 
@@ -66,7 +66,7 @@ def _get_path_resolver(path):
66
66
  raise ValueError(f"{path} is not supported")
67
67
 
68
68
 
69
- def _path(chip, package):
69
+ def _path(chip, package, fetch):
70
70
  # Initially try retrieving data source from schema
71
71
  data = {}
72
72
  data['path'] = chip.get('package', 'source', package, 'path')
@@ -84,22 +84,23 @@ def _path(chip, package):
84
84
 
85
85
  path_resolver, url = _get_path_resolver(data['path'])
86
86
 
87
- return path_resolver(chip, package, data['path'], data['ref'], url)
87
+ return path_resolver(chip, package, data['path'], data['ref'], url, fetch)
88
88
 
89
89
 
90
- def path(chip, package):
90
+ def path(chip, package, fetch=True):
91
91
  """
92
92
  Compute data source data path
93
93
  Additionally cache data source data if possible
94
94
  Parameters:
95
95
  package (str): Name of the data source
96
+ fetch (bool): Flag to indicate that the path should be fetched
96
97
  Returns:
97
98
  path: Location of data source on the local system
98
99
  """
99
100
 
100
101
  if package not in chip._packages:
101
102
  changed = False
102
- data_path = _path(chip, package)
103
+ data_path = _path(chip, package, fetch)
103
104
 
104
105
  if isinstance(data_path, tuple) and len(data_path) == 2:
105
106
  data_path, changed = data_path
@@ -15,9 +15,12 @@ def get_resolver(url):
15
15
  return None
16
16
 
17
17
 
18
- def git_resolver(chip, package, path, ref, url):
18
+ def git_resolver(chip, package, path, ref, url, fetch):
19
19
  data_path, data_path_lock = get_download_cache_path(chip, package, ref)
20
20
 
21
+ if not fetch:
22
+ return data_path, False
23
+
21
24
  # Acquire lock
22
25
  data_lock = InterProcessLock(data_path_lock)
23
26
  aquire_data_lock(data_path, data_lock)
@@ -21,16 +21,20 @@ def get_resolver(url):
21
21
  return None
22
22
 
23
23
 
24
- def http_resolver(chip, package, path, ref, url):
24
+ def http_resolver(chip, package, path, ref, url, fetch):
25
25
  data_path, data_path_lock = get_download_cache_path(chip, package, ref)
26
26
 
27
- if os.path.exists(data_path):
27
+ if not fetch:
28
28
  return data_path, False
29
29
 
30
30
  # Acquire lock
31
31
  data_lock = InterProcessLock(data_path_lock)
32
32
  aquire_data_lock(data_path, data_lock)
33
33
 
34
+ if os.path.exists(data_path):
35
+ release_data_lock(data_lock)
36
+ return data_path, False
37
+
34
38
  extract_from_url(chip, package, path, ref, url, data_path)
35
39
 
36
40
  release_data_lock(data_lock)
@@ -433,7 +433,7 @@ def node_file_tree_viewer(chip, step, index):
433
433
  lookup = {}
434
434
  tree_items = []
435
435
 
436
- file_metrics = report.get_metrics_source(chip, step, index)
436
+ metrics_source, file_metrics = report.get_metrics_source(chip, step, index)
437
437
  work_dir = chip.getworkdir(step=step, index=index)
438
438
 
439
439
  def make_item(file):
@@ -446,12 +446,22 @@ def node_file_tree_viewer(chip, step, index):
446
446
 
447
447
  check_file = os.path.relpath(file['value'], work_dir)
448
448
  if check_file in file_metrics:
449
- for metric in file_metrics[check_file]:
450
- if len(item.tag) < 5:
451
- item.tag.append(sac.Tag(metric, color='green'))
452
- else:
453
- item.tag.append(sac.Tag('metrics...', color='geekblue'))
449
+ metrics = set(file_metrics[check_file])
450
+ primary_source = set()
451
+ if check_file in metrics_source:
452
+ primary_source = set(metrics_source[check_file])
453
+ metrics = metrics - primary_source
454
+
455
+ for color, metric_set in (('blue', primary_source), ('green', metrics)):
456
+ if len(item.tag) >= 5:
454
457
  break
458
+
459
+ for metric in metric_set:
460
+ if len(item.tag) < 5:
461
+ item.tag.append(sac.Tag(metric, color=color))
462
+ else:
463
+ item.tag.append(sac.Tag('metrics...', color='geekblue'))
464
+ break
455
465
  item.tooltip = "metrics: " + ", ".join(file_metrics[check_file])
456
466
 
457
467
  if 'children' in file:
@@ -302,20 +302,20 @@ def get_metrics_source(chip, step, index):
302
302
  index (string) : Index of node.
303
303
  '''
304
304
  file_to_metric = {}
305
+ metric_primary_source = {}
305
306
  tool, task = get_tool_task(chip, step, index)
306
307
  if not chip.valid('tool', tool, 'task', task, 'report'):
307
- return file_to_metric
308
+ return metric_primary_source, file_to_metric
308
309
 
309
310
  metrics = chip.getkeys('tool', tool, 'task', task, 'report')
310
311
 
311
312
  for metric in metrics:
312
313
  sources = chip.get('tool', tool, 'task', task, 'report', metric, step=step, index=index)
314
+ if sources:
315
+ metric_primary_source.setdefault(sources[0], []).append(metric)
313
316
  for source in sources:
314
- if source in file_to_metric:
315
- file_to_metric[source].append(metric)
316
- else:
317
- file_to_metric[source] = [metric]
318
- return file_to_metric
317
+ file_to_metric.setdefault(source, []).append(metric)
318
+ return metric_primary_source, file_to_metric
319
319
 
320
320
 
321
321
  def get_files(chip, step, index):
@@ -45,6 +45,9 @@ def main():
45
45
  metavar='<package>:<directory>',
46
46
  nargs='+',
47
47
  help='Map of caches to prepopulate runner with')
48
+ parser.add_argument('-fetch_cache',
49
+ action='store_true',
50
+ help='Allow for cache downloads')
48
51
  parser.add_argument('-step',
49
52
  required=True,
50
53
  metavar='<step>',
@@ -105,7 +108,7 @@ def main():
105
108
 
106
109
  # Populate cache
107
110
  for package in chip.getkeys('package', 'source'):
108
- sc_path(chip, package)
111
+ sc_path(chip, package, fetch=args.fetch_cache)
109
112
 
110
113
  # Run the task.
111
114
  error = True
@@ -84,12 +84,16 @@ def extract_metrics(chip):
84
84
  metric_reports = {
85
85
  "setuptns": [
86
86
  "timing/total_negative_slack.rpt",
87
- "timing/setup.rpt"
87
+ "timing/setup.rpt",
88
+ "timing/setup.histogram.rpt",
89
+ "images/timing/setup.histogram.png"
88
90
  ],
89
91
  "setupslack": [
90
92
  "timing/worst_slack.setup.rpt",
91
93
  "timing/setup.rpt",
92
- "timing/setup.topN.rpt"
94
+ "timing/setup.topN.rpt",
95
+ "timing/setup.histogram.rpt",
96
+ "images/timing/setup.histogram.png"
93
97
  ],
94
98
  "setupskew": [
95
99
  "timing/skew.setup.rpt",
@@ -99,12 +103,16 @@ def extract_metrics(chip):
99
103
  ],
100
104
  "setuppaths": [
101
105
  "timing/setup.rpt",
102
- "timing/setup.topN.rpt"
106
+ "timing/setup.topN.rpt",
107
+ "timing/setup.histogram.rpt",
108
+ "images/timing/setup.histogram.png"
103
109
  ],
104
110
  "holdslack": [
105
111
  "timing/worst_slack.hold.rpt",
106
112
  "timing/hold.rpt",
107
- "timing/hold.topN.rpt"
113
+ "timing/hold.topN.rpt",
114
+ "timing/hold.histogram.rpt",
115
+ "images/timing/hold.histogram.png"
108
116
  ],
109
117
  "holdskew": [
110
118
  "timing/skew.hold.rpt",
@@ -114,7 +122,9 @@ def extract_metrics(chip):
114
122
  ],
115
123
  "holdpaths": [
116
124
  "timing/hold.rpt",
117
- "timing/hold.topN.rpt"
125
+ "timing/hold.topN.rpt",
126
+ "timing/hold.histogram.rpt",
127
+ "images/timing/hold.histogram.png"
118
128
  ],
119
129
  "unconstrained": [
120
130
  "timing/unconstrained.rpt",
@@ -27,6 +27,11 @@ if { [sc_cfg_tool_task_check_in_list setup var reports] } {
27
27
  tee -file reports/timing/total_negative_slack.rpt \
28
28
  "report_tns"
29
29
  report_tns_metric -setup
30
+
31
+ if { [sc_check_version 19519] } {
32
+ tee -quiet -file reports/timing/setup.histogram.rpt \
33
+ "report_timing_histogram -num_bins 20 -setup"
34
+ }
30
35
  }
31
36
 
32
37
  if { [sc_cfg_tool_task_check_in_list hold var reports] } {
@@ -42,6 +47,11 @@ if { [sc_cfg_tool_task_check_in_list hold var reports] } {
42
47
  report_worst_slack_metric -hold
43
48
 
44
49
  report_tns_metric -hold
50
+
51
+ if { [sc_check_version 19519] } {
52
+ tee -quiet -file reports/timing/hold.histogram.rpt \
53
+ "report_timing_histogram -num_bins 20 -hold"
54
+ }
45
55
  }
46
56
 
47
57
  if { [sc_cfg_tool_task_check_in_list unconstrained var reports] } {
@@ -304,6 +304,30 @@ proc sc_image_clocktree { } {
304
304
  gui::hide_widget "Clock Tree Viewer"
305
305
  }
306
306
 
307
+ proc sc_image_timing_histograms { } {
308
+ if { ![sc_check_version 19526] } {
309
+ return
310
+ }
311
+ file mkdir reports/images/timing
312
+
313
+ if { [sc_cfg_tool_task_check_in_list setup var reports] } {
314
+ set path reports/images/timing/setup.histogram.png
315
+ utl::info FLW 1 "Saving setup timing histogram to $path"
316
+ save_histogram_image $path \
317
+ -mode setup \
318
+ -width 500 \
319
+ -height 500
320
+ }
321
+ if { [sc_cfg_tool_task_check_in_list hold var reports] } {
322
+ set path reports/images/timing/hold.histogram.png
323
+ utl::info FLW 1 "Saving hold timing histogram to $path"
324
+ save_histogram_image $path \
325
+ -mode hold \
326
+ -width 500 \
327
+ -height 500
328
+ }
329
+ }
330
+
307
331
  proc sc_image_optimizer { } {
308
332
  global sc_design
309
333
  sc_image_setup_default
@@ -390,6 +414,9 @@ if { [sc_cfg_tool_task_check_in_list module_view var reports] } {
390
414
  # Markers
391
415
  sc_image_markers
392
416
 
417
+ # Histograms
418
+ sc_image_timing_histograms
419
+
393
420
  # Heatmaps
394
421
  if { [sc_cfg_tool_task_check_in_list placement_density var reports] } {
395
422
  sc_image_placement_density