siliconcompiler 0.29.1__tar.gz → 0.29.2__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 (463) hide show
  1. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/Changes +17 -0
  2. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/PKG-INFO +5 -5
  3. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/pyproject.toml +4 -4
  4. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/_metadata.py +1 -1
  5. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_install.py +1 -1
  6. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/core.py +10 -5
  7. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/__init__.py +2 -0
  8. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/asic.py +70 -0
  9. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +2 -2
  10. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/__init__.py +39 -0
  11. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +34 -0
  12. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/show.py +70 -0
  13. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icarus/compile.py +4 -0
  14. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/_apr.py +9 -1
  15. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/global_placement.py +23 -2
  16. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -1
  17. siliconcompiler-0.29.2/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +89 -0
  18. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +4 -0
  19. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +7 -1
  20. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +38 -2
  21. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +10 -1
  22. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/compile.py +11 -0
  23. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/verilator.py +1 -1
  24. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/_tools.json +6 -1
  25. siliconcompiler-0.29.2/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +40 -0
  26. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +28 -0
  27. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +28 -0
  28. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  29. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +29 -0
  30. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/utils/showtools.py +3 -0
  31. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/PKG-INFO +5 -5
  32. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/SOURCES.txt +7 -0
  33. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/requires.txt +4 -4
  34. siliconcompiler-0.29.1/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -26
  35. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/.dockerignore +0 -0
  36. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/.flake8 +0 -0
  37. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/.gitattributes +0 -0
  38. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/.gitignore +0 -0
  39. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/.readthedocs.yaml +0 -0
  40. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/CONTRIBUTING.md +0 -0
  41. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/LICENSE +0 -0
  42. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/MANIFEST.in +0 -0
  43. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/README.md +0 -0
  44. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/SECURITY.md +0 -0
  45. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/scripts/.gitignore +0 -0
  46. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/scripts/check_library.py +0 -0
  47. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/scripts/profile_sc.py +0 -0
  48. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/scripts/report_library.py +0 -0
  49. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/setup.cfg +0 -0
  50. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/__init__.py +0 -0
  51. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/__main__.py +0 -0
  52. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/_common.py +0 -0
  53. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/__init__.py +0 -0
  54. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/_common.py +0 -0
  55. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc.py +0 -0
  56. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_dashboard.py +0 -0
  57. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_issue.py +0 -0
  58. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_remote.py +0 -0
  59. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_server.py +0 -0
  60. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_show.py +0 -0
  61. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/smake.py +0 -0
  62. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/utils/replay.py +0 -0
  63. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/apps/utils/summarize.py +0 -0
  64. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/checklists/__init__.py +0 -0
  65. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  66. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  67. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  68. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  69. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/__init__.py +0 -0
  70. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/heartbeat.v +0 -0
  71. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/data/logo.png +0 -0
  72. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flowgraph.py +0 -0
  73. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/__init__.py +0 -0
  74. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/_common.py +0 -0
  75. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/asicflow.py +0 -0
  76. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/asictopflow.py +0 -0
  77. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/drcflow.py +0 -0
  78. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/dvflow.py +0 -0
  79. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/fpgaflow.py +0 -0
  80. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  81. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/interposerflow.py +0 -0
  82. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/lintflow.py +0 -0
  83. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/screenshotflow.py +0 -0
  84. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/showflow.py +0 -0
  85. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/signoffflow.py +0 -0
  86. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/flows/synflow.py +0 -0
  87. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/fpgas/__init__.py +0 -0
  88. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  89. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/fpgas/vpr_example.py +0 -0
  90. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/issue.py +0 -0
  91. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/libs/__init__.py +0 -0
  92. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/optimizer/__init__.py +0 -0
  93. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/optimizer/vizier.py +0 -0
  94. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/package.py +0 -0
  95. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/pdks/__init__.py +0 -0
  96. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/__init__.py +0 -0
  97. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/client.py +0 -0
  98. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/schema.py +0 -0
  99. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server.py +0 -0
  100. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  101. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  102. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  103. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  104. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  105. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  106. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  107. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  108. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  109. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  110. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  111. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  112. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  113. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  114. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  115. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/__init__.py +0 -0
  116. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/__init__.py +0 -0
  117. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  118. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  119. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  120. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  121. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  122. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  123. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  124. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  125. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/state.py +0 -0
  126. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  127. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  128. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/viewer.py +0 -0
  129. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/html_report.py +0 -0
  130. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/report.py +0 -0
  131. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/summary_image.py +0 -0
  132. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/summary_table.py +0 -0
  133. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/report/utils.py +0 -0
  134. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/__init__.py +0 -0
  135. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/docker_runner.py +0 -0
  136. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/run_node.py +0 -0
  137. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/send_messages.py +0 -0
  138. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/slurm.py +0 -0
  139. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  140. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  141. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/schema/__init__.py +0 -0
  142. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/schema/schema_cfg.py +0 -0
  143. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/schema/schema_obj.py +0 -0
  144. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/schema/utils.py +0 -0
  145. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/__init__.py +0 -0
  146. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
  147. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
  148. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/utils.py +0 -0
  149. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/__init__.py +0 -0
  150. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/asap7_demo.py +0 -0
  151. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/asic_demo.py +0 -0
  152. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  153. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  154. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/gf180_demo.py +0 -0
  155. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/ihp130_demo.py +0 -0
  156. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/interposer_demo.py +0 -0
  157. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/targets/skywater130_demo.py +0 -0
  158. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/__init__.py +0 -0
  159. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/email/__init__.py +0 -0
  160. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/email/general.j2 +0 -0
  161. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/email/summary.j2 +0 -0
  162. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/issue/README.txt +0 -0
  163. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/issue/__init__.py +0 -0
  164. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/issue/run.sh +0 -0
  165. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
  166. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/replay/requirements.txt +0 -0
  167. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/replay/setup.sh +0 -0
  168. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/__init__.py +0 -0
  169. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  170. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  171. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  172. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  173. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/slurm/__init__.py +0 -0
  174. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/slurm/run.sh +0 -0
  175. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/tcl/__init__.py +0 -0
  176. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  177. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/__init__.py +0 -0
  178. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  179. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  180. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  181. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bambu/__init__.py +0 -0
  182. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bambu/bambu.py +0 -0
  183. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bambu/convert.py +0 -0
  184. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  185. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  186. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/bluespec/convert.py +0 -0
  187. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/__init__.py +0 -0
  188. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/_common.py +0 -0
  189. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/builtin.py +0 -0
  190. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  191. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/join.py +0 -0
  192. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/maximum.py +0 -0
  193. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/minimum.py +0 -0
  194. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/mux.py +0 -0
  195. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/nop.py +0 -0
  196. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/verify.py +0 -0
  197. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  198. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/__init__.py +0 -0
  199. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/build.sbt +0 -0
  200. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/chisel.py +0 -0
  201. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/convert.py +0 -0
  202. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/execute/__init__.py +0 -0
  203. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/execute/exec_input.py +0 -0
  204. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/execute/execute.py +0 -0
  205. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  206. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  207. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  208. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  209. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/ghdl/convert.py +0 -0
  210. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
  211. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icarus/__init__.py +0 -0
  212. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icarus/icarus.py +0 -0
  213. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icepack/__init__.py +0 -0
  214. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  215. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/icepack/icepack.py +0 -0
  216. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/__init__.py +0 -0
  217. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  218. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/drc.py +0 -0
  219. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/export.py +0 -0
  220. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout.py +0 -0
  221. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
  222. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
  223. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
  224. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
  225. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
  226. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/operations.py +0 -0
  227. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  228. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/show.py +0 -0
  229. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/__init__.py +0 -0
  230. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/drc.py +0 -0
  231. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/extspice.py +0 -0
  232. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/magic.py +0 -0
  233. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  234. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  235. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  236. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/montage/__init__.py +0 -0
  237. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/montage/montage.py +0 -0
  238. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/montage/tile.py +0 -0
  239. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/__init__.py +0 -0
  240. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  241. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/lvs.py +0 -0
  242. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/netgen.py +0 -0
  243. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  244. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  245. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  246. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  247. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/__init__.py +0 -0
  248. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  249. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  250. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  251. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  252. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  253. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  254. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  255. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/global_route.py +0 -0
  256. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
  257. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  258. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/metrics.py +0 -0
  259. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  260. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  261. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  262. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  263. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  264. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  265. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  266. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  267. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  268. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
  269. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  270. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  271. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  272. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  273. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  274. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  275. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  276. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  277. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  278. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  279. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  280. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  281. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
  282. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  283. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  284. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  285. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  286. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +0 -0
  287. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  288. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  289. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  290. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  291. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  292. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  293. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
  294. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/show.py +0 -0
  295. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  296. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  297. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/write_data.py +0 -0
  298. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/__init__.py +0 -0
  299. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/check_library.py +0 -0
  300. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  301. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  302. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
  303. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  304. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  305. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  306. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/timing.py +0 -0
  307. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/slang/__init__.py +0 -0
  308. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/slang/lint.py +0 -0
  309. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/__init__.py +0 -0
  310. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/parse.py +0 -0
  311. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  312. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  313. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  314. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/sv2v/convert.py +0 -0
  315. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
  316. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/template/__init__.py +0 -0
  317. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/template/template.py +0 -0
  318. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/__init__.py +0 -0
  319. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/lint.py +0 -0
  320. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/parse.py +0 -0
  321. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/__init__.py +0 -0
  322. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  323. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/place.py +0 -0
  324. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/route.py +0 -0
  325. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  326. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  327. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  328. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  329. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  330. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  331. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  332. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/vivado.py +0 -0
  333. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/__init__.py +0 -0
  334. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  335. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  336. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/place.py +0 -0
  337. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/route.py +0 -0
  338. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  339. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/show.py +0 -0
  340. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/vpr.py +0 -0
  341. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/xdm/__init__.py +0 -0
  342. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/xdm/convert.py +0 -0
  343. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/xyce/__init__.py +0 -0
  344. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/xyce/simulate.py +0 -0
  345. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/__init__.py +0 -0
  346. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/lec.py +0 -0
  347. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  348. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  349. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
  350. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  351. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
  352. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/screenshot.py +0 -0
  353. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
  354. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
  355. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  356. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
  357. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  358. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  359. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  360. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  361. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  362. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/_tools.py +0 -0
  363. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  364. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  365. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  366. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  367. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  368. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  369. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  370. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  371. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  372. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  373. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  374. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  375. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  376. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  377. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  378. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  379. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  380. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  381. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  382. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  383. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  384. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  385. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  386. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  387. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  388. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  389. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  390. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  391. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  392. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  393. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  394. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  395. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  396. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  397. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  398. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  399. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  400. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  401. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  402. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  403. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  404. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  405. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  406. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  407. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  408. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  409. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  410. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  411. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  412. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  413. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  414. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  415. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  416. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  417. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  418. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  419. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  420. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  421. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  422. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  423. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  424. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  425. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  426. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  427. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  428. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  429. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  430. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  431. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  432. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  433. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  434. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  435. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  436. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  437. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  438. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  439. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  440. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  441. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  442. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  443. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  444. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  445. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  446. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  447. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  448. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  449. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  450. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  451. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  452. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  453. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  454. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  455. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  456. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  457. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/units.py +0 -0
  458. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/use.py +0 -0
  459. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/utils/__init__.py +0 -0
  460. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler/utils/asic.py +0 -0
  461. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  462. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/entry_points.txt +0 -0
  463. {siliconcompiler-0.29.1 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -8,6 +8,23 @@ 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.29.2 (2025-01-16)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Added gtkwave show task to allow for vcd viewing.
17
+ * Removed enablement for conda-eda as this is no longer a supported project.
18
+
19
+ **Minor:**
20
+
21
+ * Allow passing a file path to `.register_source` to make it easier to handle retive path to the current file.
22
+
23
+ * Tools:
24
+
25
+ * openroad: added support for mutli-bit flipflop mapping and initial support for scan chain insertion, correct pin ordering from constraints.
26
+
27
+
11
28
  SiliconCompiler 0.29.1 (2025-01-09)
12
29
  =========================================
13
30
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: siliconcompiler
3
- Version: 0.29.1
3
+ Version: 0.29.2
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
@@ -46,7 +46,7 @@ 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
48
  Requires-Dist: sc-surelog==1.84.1
49
- Requires-Dist: orjson==3.10.13
49
+ Requires-Dist: orjson==3.10.14
50
50
  Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
51
51
  Requires-Dist: streamlit==1.41.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"
@@ -58,10 +58,10 @@ Requires-Dist: pytest==8.3.4; extra == "test"
58
58
  Requires-Dist: pytest-xdist==3.6.1; extra == "test"
59
59
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
60
60
  Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
61
- Requires-Dist: pytest-asyncio==0.25.1; python_version >= "3.9" and extra == "test"
61
+ Requires-Dist: pytest-asyncio==0.25.2; python_version >= "3.9" and extra == "test"
62
62
  Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
63
63
  Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
64
- Requires-Dist: responses==0.25.3; extra == "test"
64
+ Requires-Dist: responses==0.25.5; extra == "test"
65
65
  Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
66
66
  Provides-Extra: lint
67
67
  Requires-Dist: flake8==7.1.1; extra == "lint"
@@ -78,7 +78,7 @@ Provides-Extra: examples
78
78
  Requires-Dist: migen==0.9.2; extra == "examples"
79
79
  Requires-Dist: lambdalib==0.3.2; extra == "examples"
80
80
  Provides-Extra: optimizer
81
- Requires-Dist: google-vizier[jax]==0.1.20; python_version >= "3.10" and extra == "optimizer"
81
+ Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
82
82
 
83
83
  ![SiliconCompiler](https://raw.githubusercontent.com/siliconcompiler/siliconcompiler/main/docs/_static/sc_logo_with_text.png)
84
84
 
@@ -53,7 +53,7 @@ dependencies = [
53
53
  "docker == 7.1.0",
54
54
  "importlib_metadata; python_version < '3.10'",
55
55
  "sc-surelog == 1.84.1",
56
- "orjson == 3.10.13",
56
+ "orjson == 3.10.14",
57
57
 
58
58
  # dashboard, streamlit does not support 3.9.7
59
59
  "streamlit == 1.40.1; python_version <= '3.8'",
@@ -106,10 +106,10 @@ test = [
106
106
  "pytest-xdist == 3.6.1",
107
107
  "pytest-timeout == 2.3.1",
108
108
  "pytest-asyncio == 0.24.0; python_version <= '3.8'",
109
- "pytest-asyncio == 0.25.1; python_version >= '3.9'",
109
+ "pytest-asyncio == 0.25.2; python_version >= '3.9'",
110
110
  "pytest-cov == 5.0.0; python_version <= '3.8'",
111
111
  "pytest-cov == 6.0.0; python_version >= '3.9'",
112
- "responses == 0.25.3",
112
+ "responses == 0.25.5",
113
113
  "PyVirtualDisplay == 3.0"
114
114
  ]
115
115
  lint = [
@@ -131,7 +131,7 @@ examples = [
131
131
  "lambdalib == 0.3.2"
132
132
  ]
133
133
  optimizer = [
134
- "google-vizier[jax] == 0.1.20; python_version >= '3.10'"
134
+ "google-vizier[jax] == 0.1.21; python_version >= '3.10'"
135
135
  ]
136
136
 
137
137
  [tool.setuptools]
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.29.1'
2
+ version = '0.29.2'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -126,7 +126,7 @@ def _recommended_tool_groups(tools):
126
126
  groups = {
127
127
  "asic": {"surelog", "sv2v", "yosys", "openroad", "klayout"},
128
128
  "fpga": {"surelog", "sv2v", "yosys", "vpr"},
129
- "digital-simulation": {"verilator", "icarus"},
129
+ "digital-simulation": {"verilator", "icarus", "gtkwave"},
130
130
  "analog-simulation": {"xyce"}
131
131
  }
132
132
 
@@ -500,6 +500,9 @@ class Chip:
500
500
  'dependency-caching-rebase')
501
501
  """
502
502
 
503
+ if os.path.isfile(path):
504
+ path = os.path.dirname(os.path.abspath(path))
505
+
503
506
  preset_path = self.get('package', 'source', name, 'path')
504
507
  preset_ref = self.get('package', 'source', name, 'ref')
505
508
  if preset_path and preset_path != path or preset_ref and preset_ref != ref:
@@ -3200,6 +3203,7 @@ class Chip:
3200
3203
  sc_step = self.get('arg', 'step')
3201
3204
  sc_index = self.get('arg', 'index')
3202
3205
  sc_job = self.get('option', 'jobname')
3206
+ flow = self.get('option', 'flow')
3203
3207
 
3204
3208
  has_filename = filename is not None
3205
3209
  # Finding last layout if no argument specified
@@ -3210,14 +3214,15 @@ class Chip:
3210
3214
  if sc_step and sc_index:
3211
3215
  search_nodes.append((sc_step, sc_index))
3212
3216
  elif sc_step:
3213
- for check_step, check_index in nodes_to_execute(self, self.get('option', 'flow')):
3217
+ for check_step, check_index in nodes_to_execute(self, flow):
3214
3218
  if sc_step == check_step:
3215
3219
  search_nodes.append((check_step, check_index))
3216
3220
  else:
3217
- for nodes in _get_flowgraph_execution_order(self,
3218
- self.get('option', 'flow'),
3219
- reverse=True):
3220
- search_nodes.extend(nodes)
3221
+ if flow is not None:
3222
+ for nodes in _get_flowgraph_execution_order(self,
3223
+ flow,
3224
+ reverse=True):
3225
+ search_nodes.extend(nodes)
3221
3226
 
3222
3227
  for ext in self._showtools.keys():
3223
3228
  if extension and extension != ext:
@@ -5,6 +5,7 @@ from siliconcompiler.tools.chisel import chisel
5
5
  from siliconcompiler.tools.execute import execute
6
6
  from siliconcompiler.tools.genfasm import genfasm
7
7
  from siliconcompiler.tools.ghdl import ghdl
8
+ from siliconcompiler.tools import gtkwave
8
9
  from siliconcompiler.tools.icarus import icarus
9
10
  from siliconcompiler.tools.icepack import icepack
10
11
  from siliconcompiler.tools.klayout import klayout
@@ -38,6 +39,7 @@ def get_tools():
38
39
  execute,
39
40
  genfasm,
40
41
  ghdl,
42
+ gtkwave,
41
43
  icarus,
42
44
  icepack,
43
45
  klayout,
@@ -135,6 +135,76 @@ def set_tool_task_var(chip,
135
135
  return value
136
136
 
137
137
 
138
+ def set_tool_task_lib_var(chip,
139
+ param_key,
140
+ default_value=None,
141
+ schelp=None,
142
+ option_key=None,
143
+ lib_key=None):
144
+ '''
145
+ Set parameter from libraries -> option -> default_value
146
+ '''
147
+ step = chip.get('arg', 'step')
148
+ index = chip.get('arg', 'index')
149
+ tool, task = get_tool_task(chip, step, index)
150
+
151
+ if schelp:
152
+ chip.set('tool', tool, 'task', task, 'var', param_key,
153
+ schelp, field='help')
154
+
155
+ if not option_key:
156
+ option_key = f'{tool}_{param_key}'
157
+ require_key, value = pick_key(chip, [('option', 'var', option_key)], step=step, index=index)
158
+
159
+ def check_value(val):
160
+ if isinstance(val, (list, tuple, set)):
161
+ return len(val) > 0
162
+ return val is not None
163
+
164
+ if check_value(value):
165
+ chip.set('tool', tool, 'task', task, 'var', param_key, value,
166
+ step=step, index=index, clobber=False)
167
+
168
+ if require_key:
169
+ chip.add('tool', tool, 'task', task, 'require',
170
+ ','.join(('option', option_key)),
171
+ step=step, index=index)
172
+
173
+ return value
174
+
175
+ # Add library key
176
+ if not lib_key:
177
+ lib_key = f'{tool}_{param_key}'
178
+ lib_keys = []
179
+ for lib in get_libraries(chip, 'logic'):
180
+ if chip.valid('library', lib, 'option', 'var', lib_key) and \
181
+ chip.get('library', lib, 'option', 'var', lib_key):
182
+ lib_keys.append(('library', lib, 'option', 'var', lib_key))
183
+
184
+ values = set()
185
+ for lib_key in lib_keys:
186
+ chip.add('tool', tool, 'task', task, 'require', ','.join(lib_key), step=step, index=index)
187
+
188
+ get_step = step
189
+ get_index = index
190
+
191
+ if chip.get(*lib_key, field='pernode') == 'never':
192
+ get_step = None
193
+ get_index = None
194
+
195
+ values.update(chip.get(*lib_key, step=get_step, index=get_index))
196
+
197
+ if check_value(values):
198
+ chip.set('tool', tool, 'task', task, 'var', param_key, values,
199
+ step=step, index=index, clobber=False)
200
+
201
+ chip.add('tool', tool, 'task', task, 'require',
202
+ ','.join(['tool', tool, 'task', task, 'var', param_key]),
203
+ step=step, index=index)
204
+
205
+ return values
206
+
207
+
138
208
  def get_tool_task_var(chip,
139
209
  param_key,
140
210
  option_key=None,
@@ -49,8 +49,8 @@ proc sc_collect_pin_constraints {
49
49
  }
50
50
 
51
51
  set side_pin_order []
52
- dict for {index pin} $pins {
53
- lappend side_pin_order {*}$pin
52
+ foreach index [lsort -integer [dict keys $pins]] {
53
+ lappend side_pin_order {*}[dict get $pins $index]
54
54
  }
55
55
 
56
56
  set pin_layer_ordering [dict create]
@@ -0,0 +1,39 @@
1
+ '''
2
+ GTKWave is a fully featured GTK+ based wave viewer for Unix, Win32, and
3
+ Mac OSX which reads LXT, LXT2, VZT, FST, and GHW files as well as standard
4
+ Verilog VCD/EVCD files and allows their viewing.
5
+
6
+ Documentation: https://gtkwave.github.io/gtkwave/
7
+
8
+ Sources: https://github.com/gtkwave/gtkwave
9
+
10
+ Installation: https://github.com/gtkwave/gtkwave
11
+ '''
12
+
13
+ from siliconcompiler.tools._common import \
14
+ get_tool_task
15
+
16
+
17
+ def setup(chip):
18
+ step = chip.get('arg', 'step')
19
+ index = chip.get('arg', 'index')
20
+ tool, task = get_tool_task(chip, step, index)
21
+
22
+ chip.set('tool', tool, 'exe', 'gtkwave')
23
+ chip.set('tool', tool, 'vswitch', '--version')
24
+ chip.set('tool', tool, 'version', '>=v3.3.116', clobber=False)
25
+ chip.set('tool', tool, 'format', 'tcl', clobber=False)
26
+
27
+
28
+ ################################
29
+ # Version Check
30
+ ################################
31
+ def parse_version(stdout):
32
+ # First line: GTKWave Analyzer v3.3.116 (w)1999-2023 BSI
33
+ return stdout.split()[2]
34
+
35
+
36
+ def normalize_version(version):
37
+ if version[0] == 'v':
38
+ return version[1:]
39
+ return version
@@ -0,0 +1,34 @@
1
+ ###############################
2
+ # Reading SC Schema
3
+ ###############################
4
+
5
+ source ./sc_manifest.tcl
6
+
7
+ ##############################
8
+ # Schema Adapter
9
+ ###############################
10
+
11
+ set sc_step [sc_cfg_get arg step]
12
+ set sc_index [sc_cfg_get arg index]
13
+ set sc_flow [sc_cfg_get option flow]
14
+ set sc_tool [sc_cfg_get flowgraph $sc_flow $sc_step $sc_index tool]
15
+ set sc_task [sc_cfg_get flowgraph $sc_flow $sc_step $sc_index task]
16
+
17
+ ###############################
18
+ # Source pre-scripts
19
+ ###############################
20
+
21
+ if { [sc_cfg_tool_task_exists prescript] } {
22
+ foreach sc_pre_script [sc_cfg_tool_task_get prescript] {
23
+ puts "Sourcing pre script: ${sc_pre_script}"
24
+ source $sc_pre_script
25
+ }
26
+ }
27
+
28
+ ###############################
29
+ # Handle exit
30
+ ###############################
31
+
32
+ if { [lindex [sc_cfg_tool_task_get {var} show_exit] 0] == "true" } {
33
+ exit
34
+ }
@@ -0,0 +1,70 @@
1
+ import os
2
+
3
+ from siliconcompiler.tools.gtkwave import setup as tool_setup
4
+ from siliconcompiler.tools._common import \
5
+ add_require_input, get_tool_task, input_provides
6
+
7
+
8
+ def setup(chip):
9
+ '''
10
+ Show a VCD file.
11
+ '''
12
+
13
+ tool_setup(chip)
14
+
15
+ step = chip.get('arg', 'step')
16
+ index = chip.get('arg', 'index')
17
+ tool, task = get_tool_task(chip, step, index)
18
+
19
+ chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
20
+ step=step, index=index)
21
+
22
+ chip.set('tool', tool, 'task', task, 'refdir',
23
+ 'tools/gtkwave/scripts',
24
+ step=step, index=index, package='siliconcompiler')
25
+
26
+ chip.set('tool', tool, 'task', task, 'refdir',
27
+ 'tools/gtkwave/scripts',
28
+ step=step, index=index, package='siliconcompiler')
29
+ chip.set('tool', tool, 'task', task, 'script', 'sc_show.tcl',
30
+ step=step, index=index)
31
+
32
+ if f'{chip.top()}.vcd' in input_provides(chip, step, index):
33
+ chip.set('tool', tool, 'task', task, 'input', f'{chip.top()}.vcd', step=step, index=index)
34
+ elif chip.valid('tool', tool, 'task', task, 'var', 'show_filepath') and \
35
+ chip.get('tool', tool, 'task', task, 'var', 'show_filepath', step=step, index=index):
36
+ chip.add('tool', tool, 'task', task, 'require',
37
+ ",".join(['tool', tool, 'task', task, 'var', 'show_filepath']),
38
+ step=step, index=index)
39
+ else:
40
+ add_require_input(chip, 'input', 'waveform', 'vcd')
41
+
42
+ chip.set('tool', tool, 'task', task, 'var', 'show_exit', False,
43
+ step=step, index=index, clobber=False)
44
+
45
+
46
+ def runtime_options(chip):
47
+ step = chip.get('arg', 'step')
48
+ index = chip.get('arg', 'index')
49
+ tool, task = get_tool_task(chip, step, index)
50
+
51
+ options = []
52
+
53
+ threads = chip.get('tool', tool, 'task', task, 'threads', step=step, index=index)
54
+ if threads:
55
+ options.append(f'--cpu={threads}')
56
+
57
+ script = chip.find_files('tool', tool, 'task', task, 'script', step=step, index=index)[0]
58
+ options.append(f'--script={script}')
59
+
60
+ if os.path.exists(f'inputs/{chip.top()}.vcd'):
61
+ dump = f'inputs/{chip.top()}.vcd'
62
+ elif chip.valid('tool', tool, 'task', task, 'var', 'show_filepath') and \
63
+ chip.get('tool', tool, 'task', task, 'var', 'show_filepath', step=step, index=index):
64
+ dump = chip.get('tool', tool, 'task', task, 'var', 'show_filepath',
65
+ step=step, index=index)[0]
66
+ else:
67
+ dump = chip.find_files('input', 'waveform', 'vcd', step=step, index=index)[0]
68
+ options.append(f'--dump={dump}')
69
+
70
+ return options
@@ -75,6 +75,10 @@ def runtime_options(chip):
75
75
  cmdlist.append('-I' + value)
76
76
  for value in opts['define']:
77
77
  cmdlist.append('-D' + value)
78
+
79
+ # add siliconcompiler specific defines
80
+ cmdlist.append(f"-DSILICONCOMPILER_TRACE_FILE=\\\"reports/{design}.vcd\\\"")
81
+
78
82
  for value in get_input_files(chip, 'input', 'cmdfile', 'f'):
79
83
  cmdlist.append('-f ' + value)
80
84
  for value in get_input_files(chip, 'input', 'rtl', 'netlist'):
@@ -5,7 +5,7 @@ from siliconcompiler import utils
5
5
  from siliconcompiler.tools._common import input_provides, add_common_file, \
6
6
  get_tool_task, record_metric
7
7
  from siliconcompiler.tools._common.asic import get_mainlib, set_tool_task_var, get_libraries, \
8
- CellArea
8
+ CellArea, set_tool_task_lib_var
9
9
  from siliconcompiler.tools.openroad import setup as tool_setup
10
10
 
11
11
 
@@ -894,6 +894,14 @@ def define_ord_params(chip):
894
894
  require=['key'],
895
895
  schelp='number of Y bins to use for heatmap image generation')
896
896
 
897
+ set_tool_task_lib_var(chip, param_key='scan_chain_cells',
898
+ default_value=None,
899
+ schelp='cells to use for scan chain insertion')
900
+
901
+ set_tool_task_lib_var(chip, param_key='multibit_ff_cells',
902
+ default_value=None,
903
+ schelp='multibit flipflop cells')
904
+
897
905
 
898
906
  def define_ord_files(chip):
899
907
  step = chip.get('arg', 'step')
@@ -1,9 +1,11 @@
1
1
  from siliconcompiler.tools._common import get_tool_task
2
2
  from siliconcompiler.tools.openroad._apr import setup as apr_setup
3
- from siliconcompiler.tools.openroad._apr import set_reports, set_pnr_inputs, set_pnr_outputs
3
+ from siliconcompiler.tools.openroad._apr import set_reports, set_pnr_inputs, set_pnr_outputs, \
4
+ set_tool_task_var
4
5
  from siliconcompiler.tools.openroad._apr import \
5
6
  define_ord_params, define_sta_params, define_sdc_params, \
6
- define_gpl_params, define_grt_params, define_rsz_params
7
+ define_gpl_params, define_grt_params, define_rsz_params, \
8
+ define_ppl_params
7
9
  from siliconcompiler.tools.openroad._apr import build_pex_corners, define_ord_files
8
10
  from siliconcompiler.tools.openroad._apr import extract_metrics
9
11
 
@@ -35,6 +37,7 @@ def setup(chip):
35
37
  define_gpl_params(chip)
36
38
  define_grt_params(chip)
37
39
  define_rsz_params(chip)
40
+ define_ppl_params(chip)
38
41
 
39
42
  set_reports(chip, [
40
43
  'setup',
@@ -48,6 +51,24 @@ def setup(chip):
48
51
  'power_density'
49
52
  ])
50
53
 
54
+ set_tool_task_var(chip, param_key='enable_multibit_clustering',
55
+ default_value=False,
56
+ schelp='true/false, when true multibit clustering will be performed.')
57
+
58
+ set_tool_task_var(chip, param_key='enable_scan_chains',
59
+ default_value=False,
60
+ schelp='true/false, when true scan chains will be inserted.')
61
+
62
+ set_tool_task_var(chip, param_key='scan_enable_port_pattern',
63
+ schelp='pattern of the scan chain enable port.',
64
+ skip=['pdk', 'lib'])
65
+ set_tool_task_var(chip, param_key='scan_in_port_pattern',
66
+ schelp='pattern of the scan chain in port.',
67
+ skip=['pdk', 'lib'])
68
+ set_tool_task_var(chip, param_key='scan_out_port_pattern',
69
+ schelp='pattern of the scan chain out port.',
70
+ skip=['pdk', 'lib'])
71
+
51
72
 
52
73
  def pre_process(chip):
53
74
  define_ord_files(chip)
@@ -17,7 +17,7 @@ source -echo "$sc_refdir/apr/preamble.tcl"
17
17
  ###############################
18
18
 
19
19
  if { [llength [all_clocks]] > 0 } {
20
- sc_set_dont_use -clock
20
+ sc_set_dont_use -clock -report dont_use.clock_tree_synthesis
21
21
 
22
22
  # Clone clock tree inverters next to register loads
23
23
  # so cts does not try to buffer the inverted clocks.
@@ -0,0 +1,89 @@
1
+ ###############################
2
+ # Reading SC Schema
3
+ ###############################
4
+
5
+ source ./sc_manifest.tcl > /dev/null
6
+
7
+ ###############################
8
+ # Task Preamble
9
+ ###############################
10
+
11
+ set sc_refdir [sc_cfg_tool_task_get refdir]
12
+ source -echo "$sc_refdir/apr/preamble.tcl"
13
+
14
+ set dont_use_args []
15
+
16
+ if { [lindex [sc_cfg_tool_task_get var enable_scan_chains] 0] == "true" } {
17
+ lappend dont_use_args -scanchain
18
+ }
19
+ if { [lindex [sc_cfg_tool_task_get var enable_multibit_clustering] 0] == "true" } {
20
+ lappend dont_use_args -multibit
21
+ }
22
+
23
+ sc_set_dont_use {*}$dont_use_args -report dont_use.global_placement
24
+
25
+ ###############################
26
+ # Scan Chain Preparation
27
+ ###############################
28
+
29
+ if { [lindex [sc_cfg_tool_task_get var enable_scan_chains] 0] == "true" } {
30
+ set dft_args []
31
+ if { [sc_cfg_tool_task_get var scan_in_port_pattern] != [] } {
32
+ lappend dft_args -scan_in_name_pattern \
33
+ [lindex [sc_cfg_tool_task_get var scan_in_port_pattern] 0]
34
+ }
35
+ if { [sc_cfg_tool_task_get var scan_out_port_pattern] != [] } {
36
+ lappend dft_args -scan_out_name_pattern \
37
+ [lindex [sc_cfg_tool_task_get var scan_out_port_pattern] 0]
38
+ }
39
+ if { [sc_cfg_tool_task_get var scan_enable_port_pattern] != [] } {
40
+ lappend dft_args -scan_enable_name_pattern \
41
+ [lindex [sc_cfg_tool_task_get var scan_enable_port_pattern] 0]
42
+ }
43
+
44
+ set_dft_config -clock_mixing clock_mix {*}$dft_args
45
+ tee -file reports/scan_chain_config.rpt {report_dft_config}
46
+ scan_replace
47
+ }
48
+
49
+ ###############################
50
+ # Perform multi-bit clustering
51
+ ###############################
52
+
53
+ if { [lindex [sc_cfg_tool_task_get var enable_multibit_clustering] 0] == "true" } {
54
+ cluster_flops
55
+ }
56
+
57
+ ###############################
58
+ # Global Placement
59
+ ###############################
60
+
61
+ sc_global_placement
62
+
63
+ ###############################
64
+ # Scan Chain Finalize
65
+ ###############################
66
+
67
+ if { [lindex [sc_cfg_tool_task_get var enable_scan_chains] 0] == "true" } {
68
+ tee -file reports/scan_chain.rpt {preview_dft -verbose}
69
+ insert_dft
70
+
71
+ set new_ios [sc_get_unplaced_io_nets]
72
+ if { [llength $new_ios] > 0 } {
73
+ foreach net $new_ios {
74
+ utl::report "New IO net [$net getName]"
75
+ }
76
+ utl::warn FLW 1 "Scan chain generated new ports, rerunning pin placement"
77
+ sc_pin_placement
78
+ }
79
+ }
80
+
81
+ ###############################
82
+ # Task Postamble
83
+ ###############################
84
+
85
+ sc_set_dont_use
86
+
87
+ estimate_parasitics -placement
88
+
89
+ source -echo "$sc_refdir/apr/postamble.tcl"
@@ -28,6 +28,8 @@ estimate_parasitics -placement
28
28
  # Repair DRVs
29
29
  ###############################
30
30
 
31
+ sc_set_dont_use -scanchain -multibit -report dont_use.repair_drv
32
+
31
33
  set repair_design_args []
32
34
 
33
35
  set rsz_cap_margin [lindex [sc_cfg_tool_task_get {var} rsz_cap_margin] 0]
@@ -43,6 +45,8 @@ repair_design \
43
45
  -verbose \
44
46
  {*}$repair_design_args
45
47
 
48
+ sc_set_dont_use
49
+
46
50
  ###############################
47
51
  # Tie-off cell insertion
48
52
  ###############################
@@ -34,6 +34,9 @@ if { [lindex [sc_cfg_tool_task_get var rsz_skip_setup_repair] 0] != "true" } {
34
34
  # Setup Repair
35
35
  ###############################
36
36
 
37
+ # Enable ffs for resizing
38
+ sc_set_dont_use -scanchain -multibit -report dont_use.repair_timing.setup
39
+
37
40
  estimate_parasitics -placement
38
41
 
39
42
  repair_timing \
@@ -45,6 +48,9 @@ if { [lindex [sc_cfg_tool_task_get var rsz_skip_setup_repair] 0] != "true" } {
45
48
  {*}$repair_timing_args
46
49
 
47
50
  sc_detailed_placement
51
+
52
+ # Restore dont use
53
+ sc_set_dont_use
48
54
  }
49
55
 
50
56
  if { [lindex [sc_cfg_tool_task_get var rsz_skip_hold_repair] 0] != "true" } {
@@ -55,7 +61,7 @@ if { [lindex [sc_cfg_tool_task_get var rsz_skip_hold_repair] 0] != "true" } {
55
61
  estimate_parasitics -placement
56
62
 
57
63
  # Enable hold cells
58
- sc_set_dont_use -hold
64
+ sc_set_dont_use -hold -scanchain -multibit -report dont_use.repair_timing.hold
59
65
 
60
66
  repair_timing \
61
67
  -hold \