siliconcompiler 0.29.2__tar.gz → 0.29.3__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 (468) hide show
  1. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/Changes +18 -0
  2. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/PKG-INFO +6 -6
  3. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/pyproject.toml +10 -5
  4. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/_metadata.py +1 -1
  5. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_install.py +1 -1
  6. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/core.py +8 -3
  7. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flowgraph.py +23 -5
  8. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/__init__.py +21 -9
  9. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bambu/convert.py +2 -1
  10. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bluespec/convert.py +2 -1
  11. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/chisel/convert.py +2 -1
  12. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/genfasm/bitstream.py +2 -2
  13. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/ghdl/convert.py +2 -2
  14. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/gtkwave/show.py +2 -1
  15. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icarus/compile.py +2 -2
  16. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/drc.py +2 -1
  17. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/magic.py +1 -1
  18. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/netgen/lvs.py +2 -1
  19. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/_apr.py +5 -4
  20. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/rdlroute.py +2 -2
  21. siliconcompiler-0.29.3/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +107 -0
  22. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +11 -1
  23. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +1 -1
  24. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +4 -0
  25. siliconcompiler-0.29.3/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +2 -0
  26. siliconcompiler-0.29.2/siliconcompiler/tools/openroad/scripts/common/write_data.tcl → siliconcompiler-0.29.3/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -2
  27. siliconcompiler-0.29.3/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +1 -0
  28. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +1 -1
  29. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/__init__.py +2 -2
  30. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/report_libraries.py +2 -2
  31. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/timing.py +2 -1
  32. siliconcompiler-0.29.2/siliconcompiler/tools/slang/lint.py → siliconcompiler-0.29.3/siliconcompiler/tools/slang/__init__.py +42 -18
  33. siliconcompiler-0.29.3/siliconcompiler/tools/slang/elaborate.py +46 -0
  34. siliconcompiler-0.29.3/siliconcompiler/tools/slang/lint.py +35 -0
  35. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/surelog/parse.py +1 -1
  36. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/sv2v/convert.py +2 -2
  37. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/template/template.py +2 -2
  38. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/verilator/verilator.py +2 -1
  39. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/vivado.py +2 -1
  40. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/place.py +2 -2
  41. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/route.py +2 -2
  42. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/show.py +2 -1
  43. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/syn_asic.py +8 -0
  44. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/syn_asic.tcl +4 -0
  45. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/_tools.json +3 -3
  46. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  47. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +7 -1
  48. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  49. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +7 -1
  50. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  51. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +1 -0
  52. {siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.29.3/siliconcompiler/toolscripts/ubuntu20}/install-sv2v.sh +7 -1
  53. {siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.29.3/siliconcompiler/toolscripts/ubuntu22}/install-surelog.sh +7 -1
  54. {siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.29.3/siliconcompiler/toolscripts/ubuntu22}/install-sv2v.sh +7 -1
  55. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +3 -4
  56. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  57. {siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.29.3/siliconcompiler/toolscripts/ubuntu24}/install-surelog.sh +7 -1
  58. {siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu22 → siliconcompiler-0.29.3/siliconcompiler/toolscripts/ubuntu24}/install-sv2v.sh +7 -1
  59. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/utils/__init__.py +22 -0
  60. siliconcompiler-0.29.3/siliconcompiler/utils/logging.py +67 -0
  61. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/PKG-INFO +6 -6
  62. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/SOURCES.txt +4 -0
  63. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/requires.txt +5 -5
  64. siliconcompiler-0.29.2/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -123
  65. siliconcompiler-0.29.2/siliconcompiler/tools/slang/__init__.py +0 -49
  66. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/.dockerignore +0 -0
  67. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/.flake8 +0 -0
  68. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/.gitattributes +0 -0
  69. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/.gitignore +0 -0
  70. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/.readthedocs.yaml +0 -0
  71. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/CONTRIBUTING.md +0 -0
  72. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/LICENSE +0 -0
  73. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/MANIFEST.in +0 -0
  74. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/README.md +0 -0
  75. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/SECURITY.md +0 -0
  76. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/scripts/.gitignore +0 -0
  77. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/scripts/check_library.py +0 -0
  78. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/scripts/profile_sc.py +0 -0
  79. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/scripts/report_library.py +0 -0
  80. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/setup.cfg +0 -0
  81. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/__init__.py +0 -0
  82. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/__main__.py +0 -0
  83. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/_common.py +0 -0
  84. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/__init__.py +0 -0
  85. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/_common.py +0 -0
  86. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc.py +0 -0
  87. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_dashboard.py +0 -0
  88. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_issue.py +0 -0
  89. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_remote.py +0 -0
  90. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_server.py +0 -0
  91. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/sc_show.py +0 -0
  92. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/smake.py +0 -0
  93. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/utils/replay.py +0 -0
  94. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/apps/utils/summarize.py +0 -0
  95. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/checklists/__init__.py +0 -0
  96. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  97. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  98. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  99. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  100. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/__init__.py +0 -0
  101. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/heartbeat.v +0 -0
  102. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/data/logo.png +0 -0
  103. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/__init__.py +0 -0
  104. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/_common.py +0 -0
  105. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/asicflow.py +0 -0
  106. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/asictopflow.py +0 -0
  107. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/drcflow.py +0 -0
  108. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/dvflow.py +0 -0
  109. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/fpgaflow.py +0 -0
  110. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  111. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/interposerflow.py +0 -0
  112. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/lintflow.py +0 -0
  113. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/screenshotflow.py +0 -0
  114. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/showflow.py +0 -0
  115. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/signoffflow.py +0 -0
  116. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/flows/synflow.py +0 -0
  117. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/fpgas/__init__.py +0 -0
  118. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  119. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/fpgas/vpr_example.py +0 -0
  120. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/issue.py +0 -0
  121. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/libs/__init__.py +0 -0
  122. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/optimizer/__init__.py +0 -0
  123. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/optimizer/vizier.py +0 -0
  124. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/package.py +0 -0
  125. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/pdks/__init__.py +0 -0
  126. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/__init__.py +0 -0
  127. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/client.py +0 -0
  128. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/schema.py +0 -0
  129. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server.py +0 -0
  130. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  131. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  132. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  133. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  134. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  135. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  136. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  137. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  138. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  139. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  140. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  141. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  142. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  143. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  144. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  145. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/__init__.py +0 -0
  146. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/__init__.py +0 -0
  147. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  148. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  149. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  150. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  151. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  152. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  153. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  154. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  155. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/state.py +0 -0
  156. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  157. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  158. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/dashboard/viewer.py +0 -0
  159. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/html_report.py +0 -0
  160. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/report.py +0 -0
  161. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/summary_image.py +0 -0
  162. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/summary_table.py +0 -0
  163. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/report/utils.py +0 -0
  164. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/docker_runner.py +0 -0
  165. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/run_node.py +0 -0
  166. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/send_messages.py +0 -0
  167. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/slurm.py +0 -0
  168. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  169. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  170. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/schema/__init__.py +0 -0
  171. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/schema/schema_cfg.py +0 -0
  172. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/schema/schema_obj.py +0 -0
  173. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/schema/utils.py +0 -0
  174. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/sphinx_ext/__init__.py +0 -0
  175. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
  176. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
  177. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/sphinx_ext/utils.py +0 -0
  178. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/__init__.py +0 -0
  179. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/asap7_demo.py +0 -0
  180. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/asic_demo.py +0 -0
  181. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  182. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  183. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/gf180_demo.py +0 -0
  184. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/ihp130_demo.py +0 -0
  185. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/interposer_demo.py +0 -0
  186. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/targets/skywater130_demo.py +0 -0
  187. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/__init__.py +0 -0
  188. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/email/__init__.py +0 -0
  189. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/email/general.j2 +0 -0
  190. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/email/summary.j2 +0 -0
  191. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/issue/README.txt +0 -0
  192. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/issue/__init__.py +0 -0
  193. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/issue/run.sh +0 -0
  194. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/replay/replay.py.j2 +0 -0
  195. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/replay/requirements.txt +0 -0
  196. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/replay/setup.sh +0 -0
  197. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/report/__init__.py +0 -0
  198. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  199. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  200. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  201. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  202. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/slurm/__init__.py +0 -0
  203. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/slurm/run.sh +0 -0
  204. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/tcl/__init__.py +0 -0
  205. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  206. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/__init__.py +0 -0
  207. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/__init__.py +0 -0
  208. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/asic.py +0 -0
  209. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  210. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  211. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  212. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  213. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bambu/__init__.py +0 -0
  214. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bambu/bambu.py +0 -0
  215. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  216. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  217. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/__init__.py +0 -0
  218. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/_common.py +0 -0
  219. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/builtin.py +0 -0
  220. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  221. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/join.py +0 -0
  222. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/maximum.py +0 -0
  223. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/minimum.py +0 -0
  224. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/mux.py +0 -0
  225. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/nop.py +0 -0
  226. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/builtin/verify.py +0 -0
  227. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  228. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/chisel/__init__.py +0 -0
  229. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/chisel/build.sbt +0 -0
  230. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/chisel/chisel.py +0 -0
  231. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/execute/__init__.py +0 -0
  232. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/execute/exec_input.py +0 -0
  233. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/execute/execute.py +0 -0
  234. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  235. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  236. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  237. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
  238. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
  239. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
  240. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icarus/__init__.py +0 -0
  241. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icarus/icarus.py +0 -0
  242. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icepack/__init__.py +0 -0
  243. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  244. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/icepack/icepack.py +0 -0
  245. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/__init__.py +0 -0
  246. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  247. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/export.py +0 -0
  248. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout.py +0 -0
  249. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
  250. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
  251. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
  252. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
  253. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
  254. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/operations.py +0 -0
  255. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  256. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/klayout/show.py +0 -0
  257. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/__init__.py +0 -0
  258. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/drc.py +0 -0
  259. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/extspice.py +0 -0
  260. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  261. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  262. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  263. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/montage/__init__.py +0 -0
  264. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/montage/montage.py +0 -0
  265. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/montage/tile.py +0 -0
  266. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/netgen/__init__.py +0 -0
  267. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  268. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/netgen/netgen.py +0 -0
  269. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  270. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  271. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  272. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  273. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/__init__.py +0 -0
  274. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  275. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  276. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  277. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  278. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  279. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  280. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  281. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/global_placement.py +0 -0
  282. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/global_route.py +0 -0
  283. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/init_floorplan.py +0 -0
  284. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  285. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/metrics.py +0 -0
  286. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  287. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  288. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  289. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  290. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  291. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  292. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  293. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  294. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +0 -0
  295. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  296. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
  297. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  298. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  299. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  300. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  301. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  302. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
  303. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  304. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  305. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  306. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  307. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
  308. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
  309. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
  310. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  311. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  312. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  313. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  314. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  315. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
  316. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  317. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  318. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  319. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
  320. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/show.py +0 -0
  321. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  322. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  323. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/openroad/write_data.py +0 -0
  324. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/check_library.py +0 -0
  325. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  326. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +0 -0
  327. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  328. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  329. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  330. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/surelog/__init__.py +0 -0
  331. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  332. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  333. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  334. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
  335. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/template/__init__.py +0 -0
  336. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/verilator/__init__.py +0 -0
  337. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/verilator/compile.py +0 -0
  338. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/verilator/lint.py +0 -0
  339. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/verilator/parse.py +0 -0
  340. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/__init__.py +0 -0
  341. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  342. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/place.py +0 -0
  343. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/route.py +0 -0
  344. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  345. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  346. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  347. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  348. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  349. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  350. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  351. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/__init__.py +0 -0
  352. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  353. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  354. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  355. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/vpr/vpr.py +0 -0
  356. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/xdm/__init__.py +0 -0
  357. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/xdm/convert.py +0 -0
  358. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/xyce/__init__.py +0 -0
  359. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/xyce/simulate.py +0 -0
  360. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/__init__.py +0 -0
  361. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/lec.py +0 -0
  362. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  363. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  364. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
  365. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  366. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
  367. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/screenshot.py +0 -0
  368. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  369. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
  370. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  371. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  372. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  373. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  374. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  375. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/_tools.py +0 -0
  376. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  377. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  378. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  379. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  380. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  381. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  382. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  383. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  384. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  385. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  386. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  387. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  388. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  389. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  390. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
  391. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  392. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  393. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  394. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  395. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  396. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  397. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  398. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  399. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  400. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  401. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  402. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  403. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  404. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  405. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  406. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
  407. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  408. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  409. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  410. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  411. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  412. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  413. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  414. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  415. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  416. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  417. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  418. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  419. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  420. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  421. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  422. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  423. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  424. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  425. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  426. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
  427. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  428. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  429. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  430. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  431. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  432. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  433. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  434. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  435. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  436. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  437. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  438. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  439. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  440. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  441. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  442. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  443. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  444. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  445. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  446. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
  447. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  448. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  449. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  450. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  451. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  452. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  453. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  454. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  455. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  456. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  457. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  458. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  459. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  460. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  461. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  462. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/units.py +0 -0
  463. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/use.py +0 -0
  464. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/utils/asic.py +0 -0
  465. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler/utils/showtools.py +0 -0
  466. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  467. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/entry_points.txt +0 -0
  468. {siliconcompiler-0.29.2 → siliconcompiler-0.29.3}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -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.29.3 (2025-01-28)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Added color support to logger to allow for easier identification of warnings and errors.
17
+
18
+ **Minor:**
19
+
20
+ * Corrected install scripts for surelog and bambu.
21
+ * Fixed task setup order to avoid setting up tasks before the input nodes have been setup.
22
+
23
+ * Tools:
24
+
25
+ * slang: added elaboration task.
26
+ * yosys: added controls for separator used during flattening via `['tool', 'yosys', 'task', 'syn_asic', 'var', 'hierarchy_separator']`.
27
+
28
+
11
29
  SiliconCompiler 0.29.2 (2025-01-16)
12
30
  =========================================
13
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: siliconcompiler
3
- Version: 0.29.2
3
+ Version: 0.29.3
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
@@ -38,7 +38,7 @@ Requires-Dist: psutil>=5.8.0
38
38
  Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
39
39
  Requires-Dist: Pillow==11.1.0; python_version >= "3.9"
40
40
  Requires-Dist: GitPython==3.1.44
41
- Requires-Dist: lambdapdk>=0.1.44
41
+ Requires-Dist: lambdapdk>=0.1.46
42
42
  Requires-Dist: PyGithub==2.5.0
43
43
  Requires-Dist: urllib3>=1.26.0
44
44
  Requires-Dist: fasteners==0.19
@@ -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.14
49
+ Requires-Dist: orjson==3.10.15
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"
@@ -61,12 +61,12 @@ Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "tes
61
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.5; extra == "test"
64
+ Requires-Dist: responses==0.25.6; 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"
68
68
  Requires-Dist: tclint==0.5.0; extra == "lint"
69
- Requires-Dist: codespell==2.3.0; extra == "lint"
69
+ Requires-Dist: codespell==2.4.0; extra == "lint"
70
70
  Provides-Extra: docs
71
71
  Requires-Dist: Sphinx==8.1.3; extra == "docs"
72
72
  Requires-Dist: pip-licenses==5.0.0; extra == "docs"
@@ -76,7 +76,7 @@ Provides-Extra: profile
76
76
  Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
77
77
  Provides-Extra: examples
78
78
  Requires-Dist: migen==0.9.2; extra == "examples"
79
- Requires-Dist: lambdalib==0.3.2; extra == "examples"
79
+ Requires-Dist: lambdalib==0.3.3; extra == "examples"
80
80
  Provides-Extra: optimizer
81
81
  Requires-Dist: google-vizier[jax]==0.1.21; python_version >= "3.10" and extra == "optimizer"
82
82
 
@@ -45,7 +45,7 @@ dependencies = [
45
45
  "Pillow == 10.4.0; python_version <= '3.8'",
46
46
  "Pillow == 11.1.0; python_version >= '3.9'",
47
47
  "GitPython == 3.1.44",
48
- "lambdapdk >= 0.1.44",
48
+ "lambdapdk >= 0.1.46",
49
49
  "PyGithub == 2.5.0",
50
50
  "urllib3 >= 1.26.0", # Required for PyGithub
51
51
  "fasteners == 0.19",
@@ -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.14",
56
+ "orjson == 3.10.15",
57
57
 
58
58
  # dashboard, streamlit does not support 3.9.7
59
59
  "streamlit == 1.40.1; python_version <= '3.8'",
@@ -109,13 +109,13 @@ test = [
109
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.5",
112
+ "responses == 0.25.6",
113
113
  "PyVirtualDisplay == 3.0"
114
114
  ]
115
115
  lint = [
116
116
  "flake8 == 7.1.1",
117
117
  "tclint == 0.5.0",
118
- "codespell == 2.3.0"
118
+ "codespell == 2.4.0"
119
119
  ]
120
120
  docs = [
121
121
  "Sphinx == 8.1.3",
@@ -128,7 +128,7 @@ profile = [
128
128
  ]
129
129
  examples = [
130
130
  "migen == 0.9.2",
131
- "lambdalib == 0.3.2"
131
+ "lambdalib == 0.3.3"
132
132
  ]
133
133
  optimizer = [
134
134
  "google-vizier[jax] == 0.1.21; python_version >= '3.10'"
@@ -156,6 +156,11 @@ testpaths = [
156
156
  ]
157
157
  timeout = "180"
158
158
  asyncio_default_fixture_loop_scope = "function"
159
+ filterwarnings = [
160
+ "ignore:pkg_resources is deprecated as an API:DeprecationWarning",
161
+ 'ignore:Deprecated call to `pkg_resources.declare_namespace.*:DeprecationWarning',
162
+ 'ignore:.* is multi-threaded, use of fork\(\) may lead to deadlocks in the child.:DeprecationWarning'
163
+ ]
159
164
 
160
165
  [tool.tclint]
161
166
  exclude = [
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.29.2'
2
+ version = '0.29.3'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -168,7 +168,7 @@ To system debugging information (this should only be used to debug):
168
168
  parser = argparse.ArgumentParser(
169
169
  prog=progname,
170
170
  description=description,
171
- formatter_class=argparse.RawDescriptionHelpFormatter)
171
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter)
172
172
 
173
173
  tools = _get_tools_list()
174
174
 
@@ -21,6 +21,7 @@ from siliconcompiler.remote import client
21
21
  from siliconcompiler.schema import Schema, SCHEMA_VERSION
22
22
  from siliconcompiler.schema import utils as schema_utils
23
23
  from siliconcompiler import utils
24
+ from siliconcompiler.utils.logging import LoggerFormatter, ColorStreamFormatter
24
25
  from siliconcompiler import _metadata
25
26
  from siliconcompiler import NodeStatus, SiliconCompilerError
26
27
  from siliconcompiler.report import _show_summary_table
@@ -225,7 +226,8 @@ class Chip:
225
226
  else:
226
227
  in_run = False
227
228
 
228
- log_format = ['%(levelname)-7s']
229
+ level_format = '%(levelname)-7s'
230
+ log_format = [level_format]
229
231
  if loglevel == 'debug':
230
232
  log_format.append('%(funcName)-10s')
231
233
  log_format.append('%(lineno)-4s')
@@ -261,14 +263,17 @@ class Chip:
261
263
  log_formatprefix = ""
262
264
 
263
265
  log_format.append('%(message)s')
264
- logformat = log_formatprefix + ' | '.join(log_format)
266
+ stream_logformat = log_formatprefix + ' | '.join(log_format[1:])
265
267
 
266
268
  if not self.logger.hasHandlers():
267
269
  stream_handler = logging.StreamHandler(stream=sys.stdout)
268
270
  self.logger.addHandler(stream_handler)
269
271
 
270
272
  for handler in self.logger.handlers:
271
- formatter = logging.Formatter(logformat)
273
+ if ColorStreamFormatter.supports_color(handler):
274
+ formatter = ColorStreamFormatter(log_formatprefix, level_format, stream_logformat)
275
+ else:
276
+ formatter = LoggerFormatter(log_formatprefix, level_format, stream_logformat)
272
277
  handler.setFormatter(formatter)
273
278
 
274
279
  self.logger.setLevel(schema_utils.translate_loglevel(loglevel))
@@ -205,18 +205,36 @@ def _get_flowgraph_execution_order(chip, flow, reverse=False):
205
205
  else:
206
206
  ex_map.setdefault((istep, iindex), set()).add((step, index))
207
207
 
208
+ rev_ex_map = {}
209
+ for node, edges in ex_map.items():
210
+ for step, index in edges:
211
+ rev_ex_map.setdefault((step, index), set()).add(node)
212
+
208
213
  # Collect execution order of nodes
209
214
  if reverse:
210
215
  order = [set(_get_flowgraph_exit_nodes(chip, flow))]
211
216
  else:
212
217
  order = [set(_get_flowgraph_entry_nodes(chip, flow))]
213
218
 
219
+ visited = set()
214
220
  while True:
215
221
  next_level = set()
216
- for step, index in order[-1]:
217
- if (step, index) in ex_map and \
218
- not any([(step, index) in v for v in ex_map.values()]):
219
- next_level.update(ex_map.pop((step, index)))
222
+ next_visited = set()
223
+ for step, index in sorted(order[-1]):
224
+ if (step, index) not in rev_ex_map:
225
+ # No edges so assume inputs are okay
226
+ inputs_valid = True
227
+ else:
228
+ inputs_valid = all([node in visited for node in rev_ex_map[(step, index)]])
229
+
230
+ if inputs_valid:
231
+ next_visited.add((step, index))
232
+ if (step, index) in ex_map:
233
+ next_level.update(ex_map.pop((step, index)))
234
+ else:
235
+ next_level.add((step, index))
236
+
237
+ visited.update(next_visited)
220
238
 
221
239
  if not next_level:
222
240
  break
@@ -233,7 +251,7 @@ def _get_flowgraph_execution_order(chip, flow, reverse=False):
233
251
 
234
252
  exec_order.reverse()
235
253
 
236
- return exec_order
254
+ return [sorted(level) for level in exec_order]
237
255
 
238
256
 
239
257
  def get_executed_nodes(chip, flow):
@@ -55,6 +55,10 @@ def _get_callback(hook):
55
55
  return None
56
56
 
57
57
 
58
+ # Max lines to print from failed node log
59
+ _failed_log_lines = 20
60
+
61
+
58
62
  ###############################################################################
59
63
  class SiliconCompilerTimeout(Exception):
60
64
  ''' Minimal Exception wrapper used to raise sc timeout errors.
@@ -833,6 +837,8 @@ def _run_executable_or_builtin(chip, step, index, version, toolpath, workdir, ru
833
837
  is_stderr_log = chip.get('tool', tool, 'task', task, 'stderr', 'destination',
834
838
  step=step, index=index) == 'log' and stderr_file != stdout_file
835
839
 
840
+ chip.logger.info(f'Running in {workdir}')
841
+
836
842
  retcode = 0
837
843
  cmdlist = []
838
844
  cmd_args = []
@@ -877,7 +883,6 @@ def _run_executable_or_builtin(chip, step, index, version, toolpath, workdir, ru
877
883
  # Make record of tool options
878
884
  __record_tool(chip, step, index, version, toolpath, cmd_args)
879
885
 
880
- chip.logger.info('Running in %s', workdir)
881
886
  chip.logger.info('%s', printable_cmd)
882
887
  timeout = chip.get('option', 'timeout', step=step, index=index)
883
888
  logfile = step + '.log'
@@ -988,10 +993,10 @@ def _run_executable_or_builtin(chip, step, index, version, toolpath, workdir, ru
988
993
  msg = f'Command failed with code {retcode}.'
989
994
  if logfile:
990
995
  if quiet:
991
- # Print last 10 lines of log when in quiet mode
996
+ # Print last N lines of log when in quiet mode
992
997
  with sc_open(logfile) as logfd:
993
998
  loglines = logfd.read().splitlines()
994
- for logline in loglines[-10:]:
999
+ for logline in loglines[-_failed_log_lines:]:
995
1000
  chip.logger.error(logline)
996
1001
  # No log file for pure-Python tools.
997
1002
  msg += f' See log file {os.path.abspath(logfile)}'
@@ -1239,6 +1244,13 @@ def _finalizenode(chip, step, index, replay):
1239
1244
 
1240
1245
  if not is_skipped:
1241
1246
  _check_logfile(chip, step, index, quiet, run_func)
1247
+
1248
+ # Report metrics
1249
+ for metric in ['errors', 'warnings']:
1250
+ val = chip.get('metric', metric, step=step, index=index)
1251
+ if val is not None:
1252
+ chip.logger.info(f'Number of {metric}: {val}')
1253
+
1242
1254
  _hash_files(chip, step, index)
1243
1255
 
1244
1256
  # Capture wall runtime and cpu cores
@@ -1535,12 +1547,13 @@ def _check_node_dependencies(chip, node, deps, deps_was_successful):
1535
1547
  def _launch_nodes(chip, nodes_to_run, processes, local_processes):
1536
1548
  running_nodes = {}
1537
1549
  max_parallel_run = chip.get('option', 'scheduler', 'maxnodes')
1538
- max_threads = os.cpu_count()
1550
+ max_cores = utils.get_cores(chip)
1551
+ max_threads = utils.get_cores(chip)
1539
1552
  if not max_parallel_run:
1540
- max_parallel_run = max_threads
1553
+ max_parallel_run = utils.get_cores(chip)
1541
1554
 
1542
- # clip max parallel jobs to 1 <= jobs <= max_threads
1543
- max_parallel_run = max(1, min(max_parallel_run, max_threads))
1555
+ # clip max parallel jobs to 1 <= jobs <= max_cores
1556
+ max_parallel_run = max(1, min(max_parallel_run, max_cores))
1544
1557
 
1545
1558
  def allow_start(node):
1546
1559
  if node not in local_processes:
@@ -1561,7 +1574,7 @@ def _launch_nodes(chip, nodes_to_run, processes, local_processes):
1561
1574
  # clamp to max_parallel to avoid getting locked up
1562
1575
  requested_threads = max(1, min(requested_threads, max_threads))
1563
1576
 
1564
- if requested_threads + sum(running_nodes.values()) > max_threads:
1577
+ if requested_threads + sum(running_nodes.values()) > max_cores:
1565
1578
  # delay until there are enough core available
1566
1579
  return False, 0
1567
1580
 
@@ -2062,7 +2075,6 @@ def check_logfile(chip, jobname=None, step=None, index='0',
2062
2075
  chip.logger.info(f'{suffix}: {line_with_num}')
2063
2076
 
2064
2077
  for suffix in ordered_suffixes:
2065
- chip.logger.info(f'Number of {suffix}: {matches[suffix]}')
2066
2078
  checks[suffix]['report'].close()
2067
2079
 
2068
2080
  return matches
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  import shutil
3
+ from siliconcompiler import utils
3
4
  from siliconcompiler.tools._common import \
4
5
  add_frontend_requires, add_require_input, get_frontend_options, get_input_files, \
5
6
  get_tool_task, has_input_files
@@ -27,7 +28,7 @@ def setup(chip):
27
28
  chip.set('tool', tool, 'task', task, 'refdir', refdir,
28
29
  step=step, index=index,
29
30
  package='siliconcompiler', clobber=False)
30
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
31
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
31
32
  step=step, index=index, clobber=False)
32
33
 
33
34
  # Input/Output requirements
@@ -3,6 +3,7 @@ import shutil
3
3
  from siliconcompiler.tools._common import \
4
4
  add_require_input, add_frontend_requires, get_frontend_options, get_input_files, \
5
5
  get_tool_task, has_input_files
6
+ from siliconcompiler import utils
6
7
  from siliconcompiler import sc_open
7
8
 
8
9
  # Directory inside step/index dir to store bsc intermediate results.
@@ -33,7 +34,7 @@ def setup(chip):
33
34
  chip.set('tool', tool, 'task', task, 'refdir', refdir,
34
35
  step=step, index=index,
35
36
  package='siliconcompiler', clobber=False)
36
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
37
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
37
38
  step=step, index=index, clobber=False)
38
39
 
39
40
  # Input/Output requirements
@@ -3,6 +3,7 @@ import shutil
3
3
  import glob
4
4
  from siliconcompiler.tools._common import add_frontend_requires, get_tool_task, has_input_files
5
5
  from siliconcompiler import sc_open, SiliconCompilerError
6
+ from siliconcompiler import utils
6
7
 
7
8
 
8
9
  def setup(chip):
@@ -28,7 +29,7 @@ def setup(chip):
28
29
  chip.set('tool', tool, 'task', task, 'refdir', refdir,
29
30
  step=step, index=index,
30
31
  package='siliconcompiler', clobber=False)
31
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
32
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
32
33
  step=step, index=index, clobber=False)
33
34
 
34
35
  chip.set('tool', tool, 'task', task, 'option', ['-batch',
@@ -1,5 +1,5 @@
1
- import os
2
1
  import shutil
2
+ from siliconcompiler import utils
3
3
  from siliconcompiler.tools.genfasm import genfasm
4
4
  from siliconcompiler.tools.vpr import vpr
5
5
  from siliconcompiler.tools._common import get_tool_task
@@ -15,7 +15,7 @@ def setup(chip):
15
15
  index = chip.get('arg', 'index')
16
16
  tool, task = get_tool_task(chip, step, index)
17
17
 
18
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
18
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
19
19
  step=step, index=index, clobber=False)
20
20
 
21
21
  chip.set('tool', tool, 'task', task, 'regex', 'warnings', "^Warning",
@@ -1,6 +1,6 @@
1
- import os
2
1
  from siliconcompiler.tools._common import add_require_input, add_frontend_requires, \
3
2
  get_input_files, get_tool_task, has_input_files
3
+ from siliconcompiler import utils
4
4
 
5
5
 
6
6
  def setup(chip):
@@ -23,7 +23,7 @@ def setup(chip):
23
23
  chip.set('tool', tool, 'vswitch', '--version')
24
24
  chip.set('tool', tool, 'version', '>=4.0.0-dev', clobber=clobber)
25
25
 
26
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
26
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
27
27
  step=step, index=index, clobber=clobber)
28
28
  chip.set('tool', tool, 'task', task, 'option', '',
29
29
  step=step, index=index, clobber=clobber)
@@ -3,6 +3,7 @@ import os
3
3
  from siliconcompiler.tools.gtkwave import setup as tool_setup
4
4
  from siliconcompiler.tools._common import \
5
5
  add_require_input, get_tool_task, input_provides
6
+ from siliconcompiler import utils
6
7
 
7
8
 
8
9
  def setup(chip):
@@ -16,7 +17,7 @@ def setup(chip):
16
17
  index = chip.get('arg', 'index')
17
18
  tool, task = get_tool_task(chip, step, index)
18
19
 
19
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
20
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
20
21
  step=step, index=index)
21
22
 
22
23
  chip.set('tool', tool, 'task', task, 'refdir',
@@ -1,7 +1,7 @@
1
- import os
2
1
  from siliconcompiler.tools._common import \
3
2
  add_require_input, add_frontend_requires, get_input_files, get_frontend_options, \
4
3
  get_tool_task
4
+ from siliconcompiler import utils
5
5
 
6
6
 
7
7
  def setup(chip):
@@ -20,7 +20,7 @@ def setup(chip):
20
20
  chip.set('tool', tool, 'vswitch', '-V')
21
21
  chip.set('tool', tool, 'version', '>=10.3', clobber=False)
22
22
 
23
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
23
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
24
24
  step=step, index=index, clobber=False)
25
25
 
26
26
  chip.set('tool', tool, 'task', task, 'var', 'verilog_generation',
@@ -7,6 +7,7 @@ from siliconcompiler.tools._common.asic import set_tool_task_var, get_tool_task_
7
7
 
8
8
  from siliconcompiler.tools.klayout.klayout import setup as setup_tool
9
9
  import xml.etree.ElementTree as ET
10
+ from siliconcompiler import utils
10
11
 
11
12
 
12
13
  def make_docs(chip):
@@ -35,7 +36,7 @@ def setup(chip):
35
36
  chip.set('tool', tool, 'task', task, 'option', option,
36
37
  step=step, index=index, clobber=clobber)
37
38
 
38
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
39
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
39
40
  step=step, index=index, clobber=clobber)
40
41
 
41
42
  chip.add('tool', tool, 'task', task, 'require', 'option,pdk')
@@ -47,7 +47,7 @@ def setup(chip):
47
47
  chip.set('tool', tool, 'version', '>=8.3.196', clobber=False)
48
48
  chip.set('tool', tool, 'format', 'tcl')
49
49
 
50
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
50
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
51
51
  step=step, index=index, clobber=False)
52
52
  chip.set('tool', tool, 'task', task, 'refdir', refdir,
53
53
  step=step, index=index,
@@ -1,5 +1,6 @@
1
1
  import os
2
2
 
3
+ from siliconcompiler import utils
3
4
  from siliconcompiler.tools.netgen import count_lvs
4
5
  from siliconcompiler import sc_open
5
6
  from siliconcompiler.tools._common import get_tool_task, record_metric
@@ -24,7 +25,7 @@ def setup(chip):
24
25
  chip.set('tool', tool, 'version', '>=1.5.192', clobber=False)
25
26
  chip.set('tool', tool, 'format', 'tcl')
26
27
 
27
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
28
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
28
29
  step=step, index=index, clobber=False)
29
30
  chip.set('tool', tool, 'task', task, 'refdir', refdir,
30
31
  step=step, index=index,
@@ -16,7 +16,7 @@ def setup(chip, exit=True):
16
16
  index = chip.get('arg', 'index')
17
17
  tool, task = get_tool_task(chip, step, index)
18
18
 
19
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
19
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
20
20
  step=step, index=index)
21
21
 
22
22
  pdkname = chip.get('option', 'pdk')
@@ -792,6 +792,10 @@ def define_psm_params(chip):
792
792
  'list of nets to skip power grid analysis on',
793
793
  field='help')
794
794
 
795
+ chip.set('tool', tool, 'task', task, 'var', 'psm_allow_missing_terminal_nets',
796
+ 'list of nets where a missing terminal is acceptable',
797
+ field='help')
798
+
795
799
 
796
800
  def define_fin_params(chip):
797
801
  set_tool_task_var(chip, param_key='fin_add_fill',
@@ -810,9 +814,6 @@ def define_mpl_params(chip):
810
814
  schelp='macro channel to use when performing automated '
811
815
  'macro placement ([x, y] in microns)')
812
816
 
813
- set_tool_task_var(chip, param_key='rtlmp_enable',
814
- default_value=True,
815
- schelp='true/false, enables the RTLMP macro placement')
816
817
  set_tool_task_var(chip, param_key='rtlmp_min_instances',
817
818
  schelp='minimum number of instances to use while clustering for '
818
819
  'macro placement')
@@ -1,5 +1,6 @@
1
1
  import os
2
2
 
3
+ from siliconcompiler import utils
3
4
  from siliconcompiler.tools._common import input_provides, get_tool_task
4
5
  from siliconcompiler.tools._common.asic import set_tool_task_var
5
6
  from siliconcompiler.tools.openroad._apr import build_pex_corners
@@ -44,7 +45,7 @@ def setup(chip):
44
45
  package='siliconcompiler')
45
46
  chip.set('tool', tool, 'task', task, 'script', script,
46
47
  step=step, index=index)
47
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
48
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
48
49
  step=step, index=index, clobber=False)
49
50
 
50
51
  if chip.get('option', 'nodisplay'):
@@ -83,7 +84,6 @@ def setup(chip):
83
84
  ','.join(['input', 'netlist', 'verilog']),
84
85
  step=step, index=index)
85
86
 
86
- chip.add('tool', tool, 'task', task, 'output', design + '.sdc', step=step, index=index)
87
87
  chip.add('tool', tool, 'task', task, 'output', design + '.vg', step=step, index=index)
88
88
  chip.add('tool', tool, 'task', task, 'output', design + '.def', step=step, index=index)
89
89
  chip.add('tool', tool, 'task', task, 'output', design + '.odb', step=step, index=index)
@@ -0,0 +1,107 @@
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
+ # Need to check if we have any macros before performing macro placement,
15
+ # since we get an error otherwise.
16
+ if { [sc_design_has_unplaced_macros] } {
17
+ ###############################
18
+ # Macro placement
19
+ ###############################
20
+
21
+ lassign [sc_cfg_tool_task_get var macro_place_halo] halo_x halo_y
22
+
23
+ set rtlmp_args []
24
+ set rtlmp_max_levels [lindex [sc_cfg_tool_task_get var rtlmp_max_levels] 0]
25
+ if { $rtlmp_max_levels != "" } {
26
+ lappend rtlmp_args -max_num_level $rtlmp_max_levels
27
+ }
28
+ set rtlmp_min_instances [lindex [sc_cfg_tool_task_get var rtlmp_min_instances] 0]
29
+ if { $rtlmp_min_instances != "" } {
30
+ lappend rtlmp_args -min_num_inst $rtlmp_min_instances
31
+ }
32
+ set rtlmp_max_instances [lindex [sc_cfg_tool_task_get var rtlmp_max_instances] 0]
33
+ if { $rtlmp_max_instances != "" } {
34
+ lappend rtlmp_args -max_num_inst $rtlmp_max_instances
35
+ }
36
+ set rtlmp_min_macros [lindex [sc_cfg_tool_task_get var rtlmp_min_macros] 0]
37
+ if { $rtlmp_min_macros != "" } {
38
+ lappend rtlmp_args -min_num_macro $rtlmp_min_macros
39
+ }
40
+ set rtlmp_max_macros [lindex [sc_cfg_tool_task_get var rtlmp_max_macros] 0]
41
+ if { $rtlmp_max_macros != "" } {
42
+ lappend rtlmp_args -max_num_macro $rtlmp_max_macros
43
+ }
44
+ set rtlmp_min_aspect_ratio [lindex [sc_cfg_tool_task_get var rtlmp_min_aspect_ratio] 0]
45
+ if { $rtlmp_min_aspect_ratio != "" } {
46
+ lappend rtlmp_args -min_ar $rtlmp_min_aspect_ratio
47
+ }
48
+ set rtlmp_fence [sc_cfg_tool_task_get var rtlmp_fence]
49
+ if { $rtlmp_fence != "" } {
50
+ lappend rtlmp_args -fence_lx [lindex $rtlmp_fence 0]
51
+ lappend rtlmp_args -fence_ly [lindex $rtlmp_fence 1]
52
+ lappend rtlmp_args -fence_ux [lindex $rtlmp_fence 2]
53
+ lappend rtlmp_args -fence_uy [lindex $rtlmp_fence 3]
54
+ }
55
+ set rtlmp_bus_planning [lindex [sc_cfg_tool_task_get var rtlmp_bus_planning] 0]
56
+ if { $rtlmp_bus_planning == "true" } {
57
+ lappend rtlmp_args -bus_planning
58
+ }
59
+ set rtlmp_target_dead_space [lindex [sc_cfg_tool_task_get var rtlmp_target_dead_space] 0]
60
+ if { $rtlmp_target_dead_space != "" } {
61
+ lappend rtlmp_args -target_dead_space $rtlmp_target_dead_space
62
+ }
63
+
64
+ set rtlmp_area_weight [lindex [sc_cfg_tool_task_get var rtlmp_area_weight] 0]
65
+ if { $rtlmp_area_weight != "" } {
66
+ lappend rtlmp_args -area_weight $rtlmp_area_weight
67
+ }
68
+ set rtlmp_outline_weight [lindex [sc_cfg_tool_task_get var rtlmp_outline_weight] 0]
69
+ if { $rtlmp_outline_weight != "" } {
70
+ lappend rtlmp_args -outline_weight $rtlmp_outline_weight
71
+ }
72
+ set rtlmp_wirelength_weight [lindex [sc_cfg_tool_task_get var rtlmp_wirelength_weight] 0]
73
+ if { $rtlmp_wirelength_weight != "" } {
74
+ lappend rtlmp_args -wirelength_weight $rtlmp_wirelength_weight
75
+ }
76
+ set rtlmp_guidance_weight [lindex [sc_cfg_tool_task_get var rtlmp_guidance_weight] 0]
77
+ if { $rtlmp_guidance_weight != "" } {
78
+ lappend rtlmp_args -guidance_weight $rtlmp_guidance_weight
79
+ }
80
+ set rtlmp_fence_weight [lindex [sc_cfg_tool_task_get var rtlmp_fence_weight] 0]
81
+ if { $rtlmp_fence_weight != "" } {
82
+ lappend rtlmp_args -fence_weight $rtlmp_fence_weight
83
+ }
84
+ set rtlmp_notch_weight [lindex [sc_cfg_tool_task_get var rtlmp_notch_weight] 0]
85
+ if { $rtlmp_notch_weight != "" } {
86
+ lappend rtlmp_args -notch_weight $rtlmp_notch_weight
87
+ }
88
+ set rtlmp_blockage_weight [lindex [sc_cfg_tool_task_get var rtlmp_blockage_weight] 0]
89
+ if { $rtlmp_blockage_weight != "" } {
90
+ lappend rtlmp_args -blockage_weight $rtlmp_blockage_weight
91
+ }
92
+
93
+ rtl_macro_placer \
94
+ -report_directory reports/rtlmp \
95
+ -halo_width $halo_x \
96
+ -halo_height $halo_y \
97
+ -target_util [sc_global_placement_density] \
98
+ {*}$rtlmp_args
99
+ }
100
+
101
+ sc_print_macro_information
102
+
103
+ ###############################
104
+ # Task Postamble
105
+ ###############################
106
+
107
+ source -echo "$sc_refdir/apr/postamble.tcl"