siliconcompiler 0.28.4__tar.gz → 0.28.6__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 (439) hide show
  1. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/Changes +32 -0
  2. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/PKG-INFO +14 -12
  3. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/pyproject.toml +15 -11
  4. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/report_library.py +11 -3
  5. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/_metadata.py +1 -1
  6. siliconcompiler-0.28.6/siliconcompiler/apps/_common.py +108 -0
  7. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc.py +33 -14
  8. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_dashboard.py +16 -9
  9. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_show.py +17 -15
  10. siliconcompiler-0.28.6/siliconcompiler/apps/utils/summarize.py +47 -0
  11. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/core.py +20 -12
  12. siliconcompiler-0.28.6/siliconcompiler/flows/drcflow.py +13 -0
  13. siliconcompiler-0.28.6/siliconcompiler/flows/interposerflow.py +17 -0
  14. siliconcompiler-0.28.6/siliconcompiler/libs/interposer.py +8 -0
  15. siliconcompiler-0.28.6/siliconcompiler/pdks/interposer.py +8 -0
  16. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/schema.py +11 -1
  17. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server.py +7 -2
  18. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/__init__.py +10 -3
  19. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/__init__.py +93 -0
  20. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/schema_cfg.py +15 -3
  21. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/schema_obj.py +51 -1
  22. siliconcompiler-0.28.6/siliconcompiler/targets/interposer_demo.py +56 -0
  23. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/tcl/manifest.tcl.j2 +2 -0
  24. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/export.py +7 -4
  25. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_export.py +3 -0
  26. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_utils.py +8 -2
  27. siliconcompiler-0.28.6/siliconcompiler/tools/openroad/metrics.py +44 -0
  28. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/openroad.py +3 -0
  29. siliconcompiler-0.28.6/siliconcompiler/tools/openroad/rdlroute.py +97 -0
  30. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_apr.tcl +20 -22
  31. siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +1 -0
  32. siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +184 -0
  33. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +11 -1
  34. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xyce/__init__.py +1 -1
  35. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/_tools.json +3 -4
  36. {siliconcompiler-0.28.4/siliconcompiler/toolscripts/rhel9 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/rhel8}/install-xyce.sh +4 -5
  37. {siliconcompiler-0.28.4/siliconcompiler/toolscripts/rhel8 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/rhel9}/install-xyce.sh +4 -5
  38. {siliconcompiler-0.28.4/siliconcompiler/toolscripts/ubuntu24 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/ubuntu20}/install-xyce.sh +2 -2
  39. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +2 -2
  40. {siliconcompiler-0.28.4/siliconcompiler/toolscripts/ubuntu20 → siliconcompiler-0.28.6/siliconcompiler/toolscripts/ubuntu24}/install-xyce.sh +5 -5
  41. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/PKG-INFO +14 -12
  42. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/SOURCES.txt +10 -0
  43. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/requires.txt +19 -7
  44. siliconcompiler-0.28.4/siliconcompiler/apps/_common.py +0 -76
  45. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.dockerignore +0 -0
  46. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.flake8 +0 -0
  47. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.gitattributes +0 -0
  48. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.gitignore +0 -0
  49. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/.readthedocs.yaml +0 -0
  50. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/CONTRIBUTING.md +0 -0
  51. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/LICENSE +0 -0
  52. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/MANIFEST.in +0 -0
  53. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/README.md +0 -0
  54. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/SECURITY.md +0 -0
  55. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/.gitignore +0 -0
  56. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/scripts/profile_sc.py +0 -0
  57. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/setup.cfg +0 -0
  58. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/__init__.py +0 -0
  59. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/__main__.py +0 -0
  60. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/_common.py +0 -0
  61. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/__init__.py +0 -0
  62. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_install.py +0 -0
  63. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_issue.py +0 -0
  64. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_remote.py +0 -0
  65. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/sc_server.py +0 -0
  66. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/apps/smake.py +0 -0
  67. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/checklists/__init__.py +0 -0
  68. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  69. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  70. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  71. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  72. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/__init__.py +0 -0
  73. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/heartbeat.v +0 -0
  74. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/data/logo.png +0 -0
  75. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flowgraph.py +0 -0
  76. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/__init__.py +0 -0
  77. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/_common.py +0 -0
  78. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/asicflow.py +0 -0
  79. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/asictopflow.py +0 -0
  80. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/dvflow.py +0 -0
  81. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/fpgaflow.py +0 -0
  82. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  83. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/lintflow.py +0 -0
  84. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/screenshotflow.py +0 -0
  85. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/showflow.py +0 -0
  86. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/signoffflow.py +0 -0
  87. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/flows/synflow.py +0 -0
  88. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/__init__.py +0 -0
  89. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  90. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/fpgas/vpr_example.py +0 -0
  91. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/issue.py +0 -0
  92. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/__init__.py +0 -0
  93. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/asap7sc7p5t.py +0 -0
  94. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/gf180mcu.py +0 -0
  95. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/nangate45.py +0 -0
  96. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sg13g2_stdcell.py +0 -0
  97. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sky130hd.py +0 -0
  98. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/libs/sky130io.py +0 -0
  99. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/package.py +0 -0
  100. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/__init__.py +0 -0
  101. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/asap7.py +0 -0
  102. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/freepdk45.py +0 -0
  103. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/gf180.py +0 -0
  104. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/ihp130.py +0 -0
  105. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/pdks/skywater130.py +0 -0
  106. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/__init__.py +0 -0
  107. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/client.py +0 -0
  108. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  109. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  110. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  111. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  112. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  113. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  114. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  115. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  116. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  117. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  118. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  119. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  120. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  121. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  122. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  123. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/__init__.py +0 -0
  124. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  125. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  126. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  127. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  128. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  129. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  130. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  131. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  132. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/state.py +0 -0
  133. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  134. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  135. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/dashboard/viewer.py +0 -0
  136. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/html_report.py +0 -0
  137. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/report.py +0 -0
  138. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/summary_image.py +0 -0
  139. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/summary_table.py +0 -0
  140. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/report/utils.py +0 -0
  141. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/docker_runner.py +0 -0
  142. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/run_node.py +0 -0
  143. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/send_messages.py +0 -0
  144. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/slurm.py +0 -0
  145. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  146. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  147. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/__init__.py +0 -0
  148. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/schema/utils.py +0 -0
  149. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/__init__.py +0 -0
  150. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
  151. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
  152. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/sphinx_ext/utils.py +0 -0
  153. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/__init__.py +0 -0
  154. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/asap7_demo.py +0 -0
  155. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/asic_demo.py +0 -0
  156. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  157. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  158. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/gf180_demo.py +0 -0
  159. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/ihp130_demo.py +0 -0
  160. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/targets/skywater130_demo.py +0 -0
  161. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/__init__.py +0 -0
  162. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/__init__.py +0 -0
  163. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/general.j2 +0 -0
  164. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/email/summary.j2 +0 -0
  165. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/README.txt +0 -0
  166. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/__init__.py +0 -0
  167. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/issue/run.sh +0 -0
  168. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/__init__.py +0 -0
  169. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  170. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  171. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  172. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  173. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/slurm/__init__.py +0 -0
  174. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/slurm/run.sh +0 -0
  175. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/templates/tcl/__init__.py +0 -0
  176. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/__init__.py +0 -0
  177. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/__init__.py +0 -0
  178. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/asic.py +0 -0
  179. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  180. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  181. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  182. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  183. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/__init__.py +0 -0
  184. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/bambu.py +0 -0
  185. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bambu/convert.py +0 -0
  186. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  187. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  188. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/bluespec/convert.py +0 -0
  189. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/__init__.py +0 -0
  190. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/_common.py +0 -0
  191. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/builtin.py +0 -0
  192. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  193. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/join.py +0 -0
  194. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/maximum.py +0 -0
  195. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/minimum.py +0 -0
  196. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/mux.py +0 -0
  197. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/nop.py +0 -0
  198. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/builtin/verify.py +0 -0
  199. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  200. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/__init__.py +0 -0
  201. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/build.sbt +0 -0
  202. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/chisel.py +0 -0
  203. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/chisel/convert.py +0 -0
  204. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/__init__.py +0 -0
  205. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/exec_input.py +0 -0
  206. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/execute/execute.py +0 -0
  207. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  208. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  209. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  210. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  211. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/convert.py +0 -0
  212. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
  213. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/__init__.py +0 -0
  214. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/compile.py +0 -0
  215. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icarus/icarus.py +0 -0
  216. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/__init__.py +0 -0
  217. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  218. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/icepack/icepack.py +0 -0
  219. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/__init__.py +0 -0
  220. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  221. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/drc.py +0 -0
  222. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout.py +0 -0
  223. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
  224. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
  225. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
  226. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/operations.py +0 -0
  227. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  228. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/klayout/show.py +0 -0
  229. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/__init__.py +0 -0
  230. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/drc.py +0 -0
  231. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/extspice.py +0 -0
  232. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/magic.py +0 -0
  233. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  234. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  235. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  236. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/__init__.py +0 -0
  237. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/montage.py +0 -0
  238. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/montage/tile.py +0 -0
  239. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/__init__.py +0 -0
  240. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  241. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/lvs.py +0 -0
  242. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/netgen.py +0 -0
  243. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  244. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  245. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  246. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  247. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/__init__.py +0 -0
  248. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/cts.py +0 -0
  249. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/dfm.py +0 -0
  250. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/export.py +0 -0
  251. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/floorplan.py +0 -0
  252. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/physyn.py +0 -0
  253. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/place.py +0 -0
  254. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  255. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  256. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/route.py +0 -0
  257. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  258. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
  259. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -0
  260. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +0 -0
  261. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_export.tcl +0 -0
  262. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +0 -0
  263. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -0
  264. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_place.tcl +0 -0
  265. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_procs.tcl +0 -0
  266. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  267. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx_bench.tcl +0 -0
  268. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_rcx_extract.tcl +0 -0
  269. /siliconcompiler-0.28.4/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl → /siliconcompiler-0.28.6/siliconcompiler/tools/openroad/scripts/sc_report.tcl +0 -0
  270. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_route.tcl +0 -0
  271. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +0 -0
  272. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_write.tcl +0 -0
  273. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +0 -0
  274. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/show.py +0 -0
  275. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  276. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  277. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/__init__.py +0 -0
  278. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  279. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  280. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  281. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  282. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/opensta/timing.py +0 -0
  283. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/slang/__init__.py +0 -0
  284. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/slang/lint.py +0 -0
  285. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/__init__.py +0 -0
  286. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/parse.py +0 -0
  287. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  288. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  289. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  290. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/convert.py +0 -0
  291. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
  292. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/template/__init__.py +0 -0
  293. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/template/template.py +0 -0
  294. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/__init__.py +0 -0
  295. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/compile.py +0 -0
  296. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/lint.py +0 -0
  297. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/parse.py +0 -0
  298. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/verilator/verilator.py +0 -0
  299. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/__init__.py +0 -0
  300. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  301. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/place.py +0 -0
  302. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/route.py +0 -0
  303. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  304. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  305. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  306. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  307. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  308. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  309. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  310. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vivado/vivado.py +0 -0
  311. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/__init__.py +0 -0
  312. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  313. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  314. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/place.py +0 -0
  315. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/route.py +0 -0
  316. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  317. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/show.py +0 -0
  318. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/vpr/vpr.py +0 -0
  319. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xdm/__init__.py +0 -0
  320. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xdm/convert.py +0 -0
  321. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/xyce/simulate.py +0 -0
  322. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/__init__.py +0 -0
  323. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/lec.py +0 -0
  324. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  325. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  326. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
  327. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  328. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
  329. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/screenshot.py +0 -0
  330. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
  331. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
  332. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  333. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
  334. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  335. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  336. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  337. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  338. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  339. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/tools/yosys/yosys.py +0 -0
  340. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/_tools.py +0 -0
  341. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  342. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  343. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  344. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  345. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  346. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  347. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  348. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-openroad.sh +0 -0
  349. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  350. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  351. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  352. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  353. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  354. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  355. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  356. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  357. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  358. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  359. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  360. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  361. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  362. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  363. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  364. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  365. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  366. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  367. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  368. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  369. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  370. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  371. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  372. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  373. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  374. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  375. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  376. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  377. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  378. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  379. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  380. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  381. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  382. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  383. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  384. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  385. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  386. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  387. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  388. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  389. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  390. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  391. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  392. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  393. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  394. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  395. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  396. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  397. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  398. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  399. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  400. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  401. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  402. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  403. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  404. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  405. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  406. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  407. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  408. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  409. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  410. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  411. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  412. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  413. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  414. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  415. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  416. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  417. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  418. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  419. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  420. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  421. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  422. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  423. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  424. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  425. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  426. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  427. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  428. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  429. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  430. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  431. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  432. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/units.py +0 -0
  433. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/use.py +0 -0
  434. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/__init__.py +0 -0
  435. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/asic.py +0 -0
  436. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler/utils/showtools.py +0 -0
  437. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  438. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/entry_points.txt +0 -0
  439. {siliconcompiler-0.28.4 → siliconcompiler-0.28.6}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -8,6 +8,38 @@ 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.28.6 (2024-11-12)
12
+ =========================================
13
+
14
+ **Minor:**
15
+
16
+ * Added a support module to call for the manifest summary from `python3 -m siliconcompiler.apps.utils.summarize -cfg <file>`.
17
+ * Removed dashboard from python 3.9.7, due to issue in 3.9.7.
18
+
19
+ * Tools:
20
+
21
+ * openroad: updated metrics task to allow for verilog inputs.
22
+
23
+
24
+ SiliconCompiler 0.28.5 (2024-11-06)
25
+ =========================================
26
+
27
+ **Major:**
28
+
29
+ * Added interposer_demo target and interposerflow and drcflow.
30
+
31
+ **Minor:**
32
+
33
+ * Added macroarea, padcellarea, and stdcellarea to metrics.
34
+ * Added footprint to datasheet in schema.
35
+ * Improved handling of `sc-show` and `sc-dashboard` when searching for manifests.
36
+
37
+ * Tools:
38
+
39
+ * openroad: added metrics task to collect metrics and an rdlroute task to perform floorplan initization and rdlrouting.
40
+ * klayout: fixed handling of fill during GDS generation.
41
+
42
+
11
43
  SiliconCompiler 0.28.4 (2024-10-28)
12
44
  =========================================
13
45
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siliconcompiler
3
- Version: 0.28.4
3
+ Version: 0.28.6
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
@@ -34,28 +34,30 @@ Requires-Dist: graphviz==0.20.3
34
34
  Requires-Dist: distro==1.9.0
35
35
  Requires-Dist: packaging<24,>=21.3
36
36
  Requires-Dist: psutil>=5.8.0
37
- Requires-Dist: Pillow==10.4.0
37
+ Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
38
+ Requires-Dist: Pillow==11.0.0; python_version >= "3.9"
38
39
  Requires-Dist: GitPython==3.1.43
39
- Requires-Dist: lambdapdk>=0.1.34
40
- Requires-Dist: PyGithub==2.4.0
40
+ Requires-Dist: lambdapdk>=0.1.38
41
+ Requires-Dist: PyGithub==2.5.0
41
42
  Requires-Dist: urllib3>=1.26.0
42
43
  Requires-Dist: fasteners==0.19
43
44
  Requires-Dist: fastjsonschema==2.20.0
44
45
  Requires-Dist: docker==7.1.0
45
46
  Requires-Dist: importlib_metadata; python_version < "3.10"
46
47
  Requires-Dist: sc-surelog==1.84.1
47
- Requires-Dist: orjson==3.10.10
48
- Requires-Dist: streamlit==1.39.0
49
- Requires-Dist: streamlit_agraph==0.0.45
50
- Requires-Dist: streamlit-antd-components==0.3.2
51
- Requires-Dist: streamlit_javascript==0.1.5
52
- Requires-Dist: streamlit-autorefresh==1.0.1
48
+ Requires-Dist: orjson==3.10.11
49
+ Requires-Dist: streamlit==1.40.0; python_version != "3.9.7"
50
+ Requires-Dist: streamlit_agraph==0.0.45; python_version != "3.9.7"
51
+ Requires-Dist: streamlit-antd-components==0.3.2; python_version != "3.9.7"
52
+ Requires-Dist: streamlit_javascript==0.1.5; python_version != "3.9.7"
53
+ Requires-Dist: streamlit-autorefresh==1.0.1; python_version != "3.9.7"
53
54
  Provides-Extra: test
54
55
  Requires-Dist: pytest==8.3.3; extra == "test"
55
56
  Requires-Dist: pytest-xdist==3.6.1; extra == "test"
56
57
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
57
58
  Requires-Dist: pytest-asyncio==0.24.0; extra == "test"
58
- Requires-Dist: pytest-cov==5.0.0; extra == "test"
59
+ Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
60
+ Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
59
61
  Requires-Dist: responses==0.25.3; extra == "test"
60
62
  Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
61
63
  Requires-Dist: flake8==7.1.1; extra == "test"
@@ -70,7 +72,7 @@ Provides-Extra: profile
70
72
  Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
71
73
  Provides-Extra: examples
72
74
  Requires-Dist: migen==0.9.2; extra == "examples"
73
- Requires-Dist: lambdalib==0.2.10; extra == "examples"
75
+ Requires-Dist: lambdalib==0.3.1; extra == "examples"
74
76
 
75
77
  ![SiliconCompiler](https://raw.githubusercontent.com/siliconcompiler/siliconcompiler/main/docs/_static/sc_logo_with_text.png)
76
78
 
@@ -41,22 +41,25 @@ dependencies = [
41
41
  "distro == 1.9.0",
42
42
  "packaging >= 21.3, < 24", # Less than 24 for streamlit
43
43
  "psutil >= 5.8.0",
44
- "Pillow == 10.4.0",
44
+ "Pillow == 10.4.0; python_version <= '3.8'",
45
+ "Pillow == 11.0.0; python_version >= '3.9'",
45
46
  "GitPython == 3.1.43",
46
- "lambdapdk >= 0.1.34",
47
- "PyGithub == 2.4.0",
47
+ "lambdapdk >= 0.1.38",
48
+ "PyGithub == 2.5.0",
48
49
  "urllib3 >= 1.26.0", # Required for PyGithub
49
50
  "fasteners == 0.19",
50
51
  "fastjsonschema == 2.20.0",
51
52
  "docker == 7.1.0",
52
53
  "importlib_metadata; python_version < '3.10'",
53
54
  "sc-surelog == 1.84.1",
54
- "orjson == 3.10.10",
55
- "streamlit == 1.39.0",
56
- "streamlit_agraph == 0.0.45",
57
- "streamlit-antd-components == 0.3.2",
58
- "streamlit_javascript == 0.1.5",
59
- "streamlit-autorefresh == 1.0.1"
55
+ "orjson == 3.10.11",
56
+
57
+ # dashboard, streamlit does not support 3.9.7
58
+ "streamlit == 1.40.0; python_version != '3.9.7'",
59
+ "streamlit_agraph == 0.0.45; python_version != '3.9.7'",
60
+ "streamlit-antd-components == 0.3.2; python_version != '3.9.7'",
61
+ "streamlit_javascript == 0.1.5; python_version != '3.9.7'",
62
+ "streamlit-autorefresh == 1.0.1; python_version != '3.9.7'"
60
63
  ]
61
64
  license = {text = "Apache License 2.0"}
62
65
  dynamic = ["version"]
@@ -88,7 +91,8 @@ test = [
88
91
  "pytest-xdist == 3.6.1",
89
92
  "pytest-timeout == 2.3.1",
90
93
  "pytest-asyncio == 0.24.0",
91
- "pytest-cov == 5.0.0",
94
+ "pytest-cov == 5.0.0; python_version <= '3.8'",
95
+ "pytest-cov == 6.0.0; python_version >= '3.9'",
92
96
  "responses == 0.25.3",
93
97
  "PyVirtualDisplay == 3.0",
94
98
  "flake8 == 7.1.1",
@@ -106,7 +110,7 @@ profile = [
106
110
  ]
107
111
  examples = [
108
112
  "migen == 0.9.2",
109
- "lambdalib == 0.2.10"
113
+ "lambdalib == 0.3.1"
110
114
  ]
111
115
 
112
116
  [tool.setuptools]
@@ -1,14 +1,22 @@
1
1
  from siliconcompiler import Chip
2
2
  from siliconcompiler.tools.opensta import report_libraries
3
3
 
4
- if __name__ == "__main__":
4
+
5
+ def main():
5
6
  chip = Chip('report_libs')
6
- chip.create_cmdline(switchlist=['-target'])
7
+ args = chip.create_cmdline(switchlist=['-target'])
7
8
 
8
- if not chip.get('option', 'target'):
9
+ if 'target' not in args or not args['target']:
9
10
  raise ValueError('-target is required')
10
11
 
11
12
  chip.node('report_lib', 'report', report_libraries)
12
13
  chip.set('option', 'flow', 'report_lib')
14
+ chip.set('option', 'clean', True)
13
15
 
14
16
  chip.run()
17
+
18
+ return 0
19
+
20
+
21
+ if __name__ == "__main__":
22
+ main()
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.28.4'
2
+ version = '0.28.6'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -0,0 +1,108 @@
1
+ import os
2
+
3
+
4
+ # TODO: this is a hack to get around design name requirement: since legal
5
+ # design names probably can't contain spaces, we can detect if it is unset.
6
+ UNSET_DESIGN = ' unset '
7
+
8
+
9
+ def manifest_switches():
10
+ '''
11
+ Returns a list of manifest switches that can be used
12
+ to find the manifest based on their values
13
+ '''
14
+ return ['-design',
15
+ '-cfg',
16
+ '-arg_step',
17
+ '-arg_index',
18
+ '-jobname']
19
+
20
+
21
+ def _get_manifests(cwd):
22
+ manifests = {}
23
+
24
+ def get_dirs(cwd):
25
+ dirs = []
26
+ for dirname in os.listdir(cwd):
27
+ fullpath = os.path.join(cwd, dirname)
28
+ if os.path.isdir(fullpath):
29
+ dirs.append((dirname, fullpath))
30
+ return dirs
31
+
32
+ for _, buildpath in get_dirs(cwd):
33
+ for design, designdir in get_dirs(buildpath):
34
+ for jobname, jobdir in get_dirs(designdir):
35
+ manifest = os.path.join(jobdir, f'{design}.pkg.json')
36
+ if os.path.isfile(manifest):
37
+ manifests[(design, jobname, None, None)] = manifest
38
+ for step, stepdir in get_dirs(jobdir):
39
+ for index, indexdir in get_dirs(stepdir):
40
+ manifest = os.path.join(indexdir, 'outputs', f'{design}.pkg.json')
41
+ if os.path.isfile(manifest):
42
+ manifests[(design, jobname, step, index)] = manifest
43
+ else:
44
+ manifest = os.path.join(indexdir, 'inputs', f'{design}.pkg.json')
45
+ if os.path.isfile(manifest):
46
+ manifests[(design, jobname, step, index)] = manifest
47
+
48
+ organized_manifest = {}
49
+ for (design, job, step, index), manifest in manifests.items():
50
+ jobs = organized_manifest.setdefault(design, {})
51
+ jobs.setdefault(job, {})[step, index] = os.path.abspath(manifest)
52
+
53
+ return organized_manifest
54
+
55
+
56
+ def pick_manifest_from_file(chip, src_file, all_manifests):
57
+ if src_file is None:
58
+ return None
59
+
60
+ if not os.path.exists(src_file):
61
+ chip.logger.error(f'{src_file} cannot be found.')
62
+ return None
63
+
64
+ src_dir = os.path.abspath(os.path.dirname(src_file))
65
+ for _, jobs in all_manifests.items():
66
+ for _, nodes in jobs.items():
67
+ for manifest in nodes.values():
68
+ if src_dir == os.path.dirname(manifest):
69
+ return manifest
70
+
71
+ return None
72
+
73
+
74
+ def pick_manifest(chip, src_file=None):
75
+ all_manifests = _get_manifests(os.getcwd())
76
+
77
+ manifest = pick_manifest_from_file(chip, src_file, all_manifests)
78
+ if manifest:
79
+ return manifest
80
+
81
+ if chip.design == UNSET_DESIGN:
82
+ if len(all_manifests) == 1:
83
+ chip.set('design', list(all_manifests.keys())[0])
84
+ else:
85
+ chip.logger.error('Design name is not set')
86
+ return None
87
+
88
+ if chip.design not in all_manifests:
89
+ chip.logger.error(f'Could not find manifest for {chip.design}')
90
+ return None
91
+
92
+ if chip.get('option', 'jobname') not in all_manifests[chip.design] and \
93
+ len(all_manifests[chip.design]) != 1:
94
+ chip.logger.error(f'Could not determine jobname for {chip.design}')
95
+ return None
96
+
97
+ jobname = chip.get('option', 'jobname')
98
+ if chip.get('option', 'jobname') not in all_manifests[chip.design]:
99
+ jobname = list(all_manifests[chip.design].keys())[0]
100
+
101
+ if (None, None) in all_manifests[chip.design][jobname]:
102
+ manifest = all_manifests[chip.design][jobname][None, None]
103
+ else:
104
+ # pick newest manifest
105
+ manifest = list(sorted(all_manifests[chip.design][jobname].values(),
106
+ key=lambda file: os.stat(file).st_ctime))[-1]
107
+
108
+ return manifest
@@ -10,6 +10,37 @@ from siliconcompiler.targets import skywater130_demo
10
10
  from siliconcompiler import SiliconCompilerError
11
11
 
12
12
 
13
+ def _infer_designname(chip):
14
+ topfile = None
15
+ sourcesets = chip.getkeys('input')
16
+ for sourceset in reversed(('rtl', 'hll')):
17
+ if sourceset in sourcesets:
18
+ sourcesets.remove(sourceset)
19
+ sourcesets.insert(0, sourceset)
20
+ for sourceset in sourcesets:
21
+ for filetype in chip.getkeys('input', sourceset):
22
+ all_vals = chip.schema._getvals('input', sourceset, filetype)
23
+ if all_vals:
24
+ # just look at first value
25
+ sources, _, _ = all_vals[0]
26
+ # grab first source
27
+ topfile = sources[0]
28
+ break
29
+ if topfile:
30
+ break
31
+
32
+ if not topfile:
33
+ return None
34
+
35
+ root = os.path.basename(topfile)
36
+ while True:
37
+ root, ext = os.path.splitext(root)
38
+ if not ext:
39
+ break
40
+
41
+ return root
42
+
43
+
13
44
  ###########################
14
45
  def main():
15
46
  progname = "sc"
@@ -50,24 +81,12 @@ def main():
50
81
 
51
82
  # Set design if none specified
52
83
  if chip.get('design') == UNSET_DESIGN:
53
- topfile = None
54
- for sourceset in ('rtl', 'hll'):
55
- for filetype in chip.getkeys('input', sourceset):
56
- all_vals = chip.schema._getvals('input', sourceset, filetype)
57
- if all_vals:
58
- # just look at first value
59
- sources, _, _ = all_vals[0]
60
- # grab first source
61
- topfile = sources[0]
62
- break
63
- if topfile:
64
- break
84
+ topmodule = _infer_designname(chip)
65
85
 
66
- if not topfile:
86
+ if not topmodule:
67
87
  chip.logger.error('Invalid arguments: either specify -design or provide sources.')
68
88
  return 1
69
89
 
70
- topmodule = os.path.splitext(os.path.basename(topfile))[0]
71
90
  chip.set('design', topmodule)
72
91
 
73
92
  # Set demo target if none specified
@@ -2,7 +2,7 @@
2
2
  import sys
3
3
  import siliconcompiler
4
4
  import os
5
- from siliconcompiler.apps._common import load_manifest, manifest_switches
5
+ from siliconcompiler.apps._common import pick_manifest, manifest_switches, UNSET_DESIGN
6
6
 
7
7
 
8
8
  def main():
@@ -11,9 +11,16 @@ def main():
11
11
  -----------------------------------------------------------
12
12
  SC app to open a dashboard for a given manifest.
13
13
 
14
- To open:
14
+ To open and allow sc-dashboard to autoload manifest:
15
+ sc-dashboard
16
+
17
+ To open by specifying manifest:
15
18
  sc-dashboard -cfg <path to manifest>
16
19
 
20
+ To open by specifying design and optionally jobname:
21
+ sc-dashboard -design <name>
22
+ sc-dashboard -design <name> -jobname <jobname>
23
+
17
24
  To specify a different port than the default:
18
25
  sc-dashboard -cfg <path to manifest> -port 10000
19
26
 
@@ -23,10 +30,6 @@ To include another chip object to compare to:
23
30
  -----------------------------------------------------------
24
31
  """
25
32
 
26
- # TODO: this is a hack to get around design name requirement: since legal
27
- # design names probably can't contain spaces, we can detect if it is unset.
28
- UNSET_DESIGN = ' unset '
29
-
30
33
  # Create a base chip class.
31
34
  chip = siliconcompiler.Chip(UNSET_DESIGN)
32
35
 
@@ -54,15 +57,19 @@ To include another chip object to compare to:
54
57
  chip.logger.error(e)
55
58
  return 1
56
59
 
60
+ if not chip.get('option', 'cfg'):
61
+ manifest = pick_manifest(chip)
62
+
63
+ if manifest:
64
+ chip.logger.info(f'Loading manifest: {manifest}')
65
+ chip.read_manifest(manifest)
66
+
57
67
  # Error checking
58
68
  design = chip.get('design')
59
69
  if design == UNSET_DESIGN:
60
70
  chip.logger.error('Design not loaded')
61
71
  return 1
62
72
 
63
- if not load_manifest(chip, None):
64
- return 1
65
-
66
73
  graph_chips = []
67
74
  if switches['graph_cfg']:
68
75
  for i, name_and_file_path in enumerate(switches['graph_cfg']):
@@ -3,7 +3,7 @@ import sys
3
3
  import os
4
4
  import siliconcompiler
5
5
  from siliconcompiler.utils import get_default_iomap
6
- from siliconcompiler.apps._common import load_manifest, manifest_switches
6
+ from siliconcompiler.apps._common import manifest_switches, pick_manifest, UNSET_DESIGN
7
7
  from siliconcompiler.utils import get_file_ext
8
8
 
9
9
 
@@ -18,6 +18,9 @@ def main():
18
18
 
19
19
  Examples:
20
20
 
21
+ sc-show
22
+ (displays build/adder/job0/write_gds/0/outputs/adder.gds)
23
+
21
24
  sc-show -design adder
22
25
  (displays build/adder/job0/write_gds/0/outputs/adder.gds)
23
26
 
@@ -40,10 +43,6 @@ def main():
40
43
  (displays build/adder/job0/route/1/outputs/adder.def)
41
44
  """
42
45
 
43
- # TODO: this is a hack to get around design name requirement: since legal
44
- # design names probably can't contain spaces, we can detect if it is unset.
45
- UNSET_DESIGN = ' unset '
46
-
47
46
  # Create a base chip class.
48
47
  chip = siliconcompiler.Chip(UNSET_DESIGN)
49
48
 
@@ -81,10 +80,6 @@ def main():
81
80
  chip.logger.error(e)
82
81
  return 1
83
82
 
84
- # Error checking
85
- design = chip.get('design')
86
- design_set = design != UNSET_DESIGN
87
-
88
83
  # Search input keys for files
89
84
  input_mode = []
90
85
  for fileset in chip.getkeys('input'):
@@ -92,11 +87,6 @@ def main():
92
87
  if chip.schema._getvals('input', fileset, mode):
93
88
  input_mode = [('input', fileset, mode)]
94
89
 
95
- if not (design_set or input_mode):
96
- chip.logger.error('Nothing to load: please define a target with '
97
- '-cfg, -design, and/or inputs.')
98
- return 1
99
-
100
90
  filename = None
101
91
  if input_mode:
102
92
  check_ext = list(chip._showtools.keys())
@@ -115,7 +105,19 @@ def main():
115
105
 
116
106
  filename = get_file_from_keys()
117
107
 
118
- if not load_manifest(chip, filename):
108
+ # Attempt to load a manifest
109
+ if not chip.get('option', 'cfg'):
110
+ manifest = pick_manifest(chip, src_file=filename)
111
+ if manifest:
112
+ chip.logger.info(f'Loading manifest: {manifest}')
113
+ chip.read_manifest(manifest)
114
+
115
+ # Error checking
116
+ design = chip.get('design')
117
+ design_set = design != UNSET_DESIGN
118
+ if not (design_set or input_mode):
119
+ chip.logger.error('Nothing to load: please define a target with '
120
+ '-cfg, -design, and/or inputs.')
119
121
  return 1
120
122
 
121
123
  # Read in file
@@ -0,0 +1,47 @@
1
+ # Copyright 2024 Silicon Compiler Authors. All Rights Reserved.
2
+
3
+ # Standard Modules
4
+ import sys
5
+
6
+ import siliconcompiler
7
+ from siliconcompiler.apps._common import UNSET_DESIGN
8
+ from siliconcompiler import SiliconCompilerError
9
+
10
+
11
+ ###########################
12
+ def main():
13
+ progname = "summarize"
14
+ description = """
15
+ ------------------------------------------------------------
16
+ Utility script to print job summary from a manifest
17
+ ------------------------------------------------------------
18
+ """
19
+ # Create a base chip class.
20
+ chip = siliconcompiler.Chip(UNSET_DESIGN)
21
+
22
+ # Read command-line inputs and generate Chip objects to run the flow on.
23
+ try:
24
+ chip.create_cmdline(progname,
25
+ description=description,
26
+ switchlist=['-cfg',
27
+ '-loglevel'])
28
+ except SiliconCompilerError:
29
+ return 1
30
+ except Exception as e:
31
+ chip.logger.error(e)
32
+ return 1
33
+
34
+ design = chip.get('design')
35
+ if design == UNSET_DESIGN:
36
+ chip.logger.error('Design not loaded')
37
+ return 1
38
+
39
+ # Print Job Summary
40
+ chip.summary(generate_image=False, generate_html=False)
41
+
42
+ return 0
43
+
44
+
45
+ #########################
46
+ if __name__ == "__main__":
47
+ sys.exit(main())
@@ -399,7 +399,7 @@ class Chip:
399
399
  self.set(*key, packages, field='package', step=step, index=index)
400
400
 
401
401
  # Read in target if set
402
- if "target" in extra_params:
402
+ if extra_params is not None and "target" in extra_params:
403
403
  if extra_params["target"]:
404
404
  # running target command
405
405
  # Search order "{name}", and "siliconcompiler.targets.{name}"
@@ -416,7 +416,7 @@ class Chip:
416
416
  self.use(modules[0])
417
417
  extra_params["target"] = modules[0].__name__
418
418
 
419
- if "use" in extra_params:
419
+ if extra_params is not None and "use" in extra_params:
420
420
  if extra_params["use"]:
421
421
  for use in extra_params["use"]:
422
422
  mod = self._load_module(use)
@@ -437,19 +437,25 @@ class Chip:
437
437
  if "-target" in additional_args:
438
438
  raise ValueError('-target cannot be used as an additional argument')
439
439
 
440
- additional_args["-target"] = {
441
- "help": "target to load",
442
- "metavar": "<target>"
443
- }
440
+ if switchlist is None or '-target' in switchlist:
441
+ additional_args["-target"] = {
442
+ "help": "target to load",
443
+ "metavar": "<target>"
444
+ }
445
+ if switchlist:
446
+ switchlist.remove('-target')
444
447
 
445
448
  if "-use" in additional_args:
446
449
  raise ValueError('-use cannot be used as an additional argument')
447
450
 
448
- additional_args["-use"] = {
449
- "action": "append",
450
- "help": "modules to load",
451
- "metavar": "<module>"
452
- }
451
+ if switchlist is None or '-use' in switchlist:
452
+ additional_args["-use"] = {
453
+ "action": "append",
454
+ "help": "modules to load",
455
+ "metavar": "<module>"
456
+ }
457
+ if switchlist:
458
+ switchlist.remove('-use')
453
459
 
454
460
  try:
455
461
  return self.schema.create_cmdline(
@@ -2123,7 +2129,9 @@ class Chip:
2123
2129
  nonlocal graph_idx
2124
2130
 
2125
2131
  for subgraph in graph_info["graphs"]:
2132
+ child_prefix = prefix
2126
2133
  if get_node_count(graph_info["graphs"][subgraph]) > 1:
2134
+ child_prefix = f"{child_prefix}{subgraph}."
2127
2135
  graph = graphviz.Digraph(name=f"cluster_{graph_idx}")
2128
2136
  graph_idx += 1
2129
2137
 
@@ -2143,7 +2151,7 @@ class Chip:
2143
2151
  else:
2144
2152
  graph = parent
2145
2153
 
2146
- build_graph(graph_info["graphs"][subgraph], graph, f"{prefix}{subgraph}.")
2154
+ build_graph(graph_info["graphs"][subgraph], graph, child_prefix)
2147
2155
 
2148
2156
  if graph is not parent:
2149
2157
  parent.subgraph(graph)
@@ -0,0 +1,13 @@
1
+ from siliconcompiler import Flow
2
+
3
+ from siliconcompiler.tools.klayout import drc
4
+
5
+
6
+ def setup():
7
+ '''
8
+ Perform a DRC run on an input GDS
9
+ '''
10
+ flow = Flow('drcflow')
11
+ flow.node('drcflow', 'drc', drc)
12
+
13
+ return flow
@@ -0,0 +1,17 @@
1
+ from siliconcompiler import Flow
2
+
3
+ from siliconcompiler.tools.openroad import rdlroute
4
+ from siliconcompiler.tools.klayout import export
5
+
6
+
7
+ def setup():
8
+ '''
9
+ A flow to perform RDL routing and generate a GDS
10
+ '''
11
+ flow = Flow('interposerflow')
12
+ flow.node('interposerflow', 'rdlroute', rdlroute)
13
+ flow.node('interposerflow', 'write_gds', export)
14
+
15
+ flow.edge('interposerflow', 'rdlroute', 'write_gds')
16
+
17
+ return flow
@@ -0,0 +1,8 @@
1
+ import siliconcompiler
2
+ from lambdapdk.interposer.libs.bumps import setup
3
+
4
+
5
+ #########################
6
+ if __name__ == "__main__":
7
+ lib = setup(siliconcompiler.Chip('<lib>'))
8
+ lib.write_manifest(f'{lib.top()}.json')
@@ -0,0 +1,8 @@
1
+ import siliconcompiler
2
+ from lambdapdk.interposer import setup
3
+
4
+
5
+ #########################
6
+ if __name__ == "__main__":
7
+ pdk = setup(siliconcompiler.Chip('<lib>'))
8
+ pdk.write_manifest(f'{pdk.top()}.json')