siliconcompiler 0.29.0__tar.gz → 0.29.1__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 (480) hide show
  1. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/.readthedocs.yaml +5 -1
  2. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/Changes +19 -0
  3. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/PKG-INFO +13 -10
  4. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/pyproject.toml +25 -8
  5. siliconcompiler-0.29.1/scripts/check_library.py +43 -0
  6. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/_metadata.py +1 -1
  7. siliconcompiler-0.29.1/siliconcompiler/apps/__init__.py +26 -0
  8. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/utils/replay.py +96 -38
  9. siliconcompiler-0.29.1/siliconcompiler/checklists/__init__.py +12 -0
  10. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/core.py +75 -10
  11. siliconcompiler-0.29.1/siliconcompiler/flows/__init__.py +34 -0
  12. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/showflow.py +1 -1
  13. siliconcompiler-0.29.1/siliconcompiler/libs/__init__.py +5 -0
  14. siliconcompiler-0.29.1/siliconcompiler/optimizer/__init__.py +199 -0
  15. siliconcompiler-0.29.1/siliconcompiler/optimizer/vizier.py +259 -0
  16. siliconcompiler-0.29.1/siliconcompiler/pdks/__init__.py +5 -0
  17. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/__init__.py +67 -49
  18. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/send_messages.py +1 -1
  19. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/schema/schema_cfg.py +2 -2
  20. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/schema/schema_obj.py +13 -10
  21. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/schema/utils.py +2 -0
  22. siliconcompiler-0.29.1/siliconcompiler/sphinx_ext/__init__.py +85 -0
  23. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/dynamicgen.py +17 -33
  24. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/schemagen.py +3 -2
  25. siliconcompiler-0.29.1/siliconcompiler/targets/__init__.py +26 -0
  26. siliconcompiler-0.29.1/siliconcompiler/templates/replay/replay.py.j2 +62 -0
  27. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/replay/requirements.txt +2 -1
  28. siliconcompiler-0.29.1/siliconcompiler/templates/replay/setup.sh +130 -0
  29. siliconcompiler-0.29.1/siliconcompiler/tools/__init__.py +60 -0
  30. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/asic.py +7 -6
  31. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/ghdl/ghdl.py +1 -2
  32. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/convert_drc_db.py +1 -1
  33. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/drc.py +1 -1
  34. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/export.py +8 -1
  35. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout.py +2 -2
  36. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +2 -2
  37. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_export.py +7 -5
  38. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_operations.py +4 -3
  39. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_show.py +3 -2
  40. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/klayout_utils.py +1 -1
  41. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/operations.py +8 -0
  42. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/screenshot.py +6 -1
  43. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/klayout/show.py +8 -1
  44. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/magic.py +1 -1
  45. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/__init__.py +1 -1
  46. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/_apr.py +2 -1
  47. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/init_floorplan.py +1 -1
  48. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +1 -1
  49. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +4 -0
  50. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +2 -2
  51. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +52 -0
  52. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +1 -1
  53. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +5 -0
  54. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/__init__.py +1 -1
  55. siliconcompiler-0.29.1/siliconcompiler/tools/opensta/check_library.py +27 -0
  56. siliconcompiler-0.29.1/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +255 -0
  57. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +1 -1
  58. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/sv2v/sv2v.py +1 -2
  59. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/verilator.py +6 -7
  60. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/vivado.py +1 -1
  61. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/yosys.py → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/__init__.py +3 -2
  62. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/lec.py +22 -9
  63. siliconcompiler-0.29.1/siliconcompiler/tools/yosys/sc_lec.tcl +129 -0
  64. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/sc_syn.tcl +1 -0
  65. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/screenshot.py +2 -2
  66. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_asic.py +98 -74
  67. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_asic.tcl +31 -6
  68. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_fpga.py +2 -3
  69. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -1
  70. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/_tools.json +3 -3
  71. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/utils/__init__.py +7 -3
  72. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/PKG-INFO +13 -10
  73. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/SOURCES.txt +6 -15
  74. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/entry_points.txt +13 -0
  75. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/requires.txt +14 -8
  76. siliconcompiler-0.29.0/siliconcompiler/libs/asap7sc7p5t.py +0 -8
  77. siliconcompiler-0.29.0/siliconcompiler/libs/gf180mcu.py +0 -8
  78. siliconcompiler-0.29.0/siliconcompiler/libs/interposer.py +0 -8
  79. siliconcompiler-0.29.0/siliconcompiler/libs/nangate45.py +0 -8
  80. siliconcompiler-0.29.0/siliconcompiler/libs/sg13g2_stdcell.py +0 -8
  81. siliconcompiler-0.29.0/siliconcompiler/libs/sky130hd.py +0 -8
  82. siliconcompiler-0.29.0/siliconcompiler/libs/sky130io.py +0 -8
  83. siliconcompiler-0.29.0/siliconcompiler/pdks/asap7.py +0 -8
  84. siliconcompiler-0.29.0/siliconcompiler/pdks/freepdk45.py +0 -8
  85. siliconcompiler-0.29.0/siliconcompiler/pdks/gf180.py +0 -8
  86. siliconcompiler-0.29.0/siliconcompiler/pdks/ihp130.py +0 -8
  87. siliconcompiler-0.29.0/siliconcompiler/pdks/interposer.py +0 -8
  88. siliconcompiler-0.29.0/siliconcompiler/pdks/skywater130.py +0 -8
  89. siliconcompiler-0.29.0/siliconcompiler/templates/replay/run.py.j2 +0 -22
  90. siliconcompiler-0.29.0/siliconcompiler/templates/replay/setup.sh +0 -17
  91. siliconcompiler-0.29.0/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  92. siliconcompiler-0.29.0/siliconcompiler/tools/sv2v/__init__.py +0 -0
  93. siliconcompiler-0.29.0/siliconcompiler/tools/template/__init__.py +0 -0
  94. siliconcompiler-0.29.0/siliconcompiler/tools/verilator/__init__.py +0 -0
  95. siliconcompiler-0.29.0/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  96. siliconcompiler-0.29.0/siliconcompiler/tools/vpr/__init__.py +0 -0
  97. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/__init__.py +0 -0
  98. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/sc_lec.tcl +0 -84
  99. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  100. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  101. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/.dockerignore +0 -0
  102. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/.flake8 +0 -0
  103. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/.gitattributes +0 -0
  104. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/.gitignore +0 -0
  105. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/CONTRIBUTING.md +0 -0
  106. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/LICENSE +0 -0
  107. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/MANIFEST.in +0 -0
  108. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/README.md +0 -0
  109. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/SECURITY.md +0 -0
  110. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/scripts/.gitignore +0 -0
  111. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/scripts/profile_sc.py +0 -0
  112. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/scripts/report_library.py +0 -0
  113. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/setup.cfg +0 -0
  114. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/__init__.py +0 -0
  115. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/__main__.py +0 -0
  116. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/_common.py +0 -0
  117. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/_common.py +0 -0
  118. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc.py +0 -0
  119. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_dashboard.py +0 -0
  120. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_install.py +0 -0
  121. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_issue.py +0 -0
  122. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_remote.py +0 -0
  123. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_server.py +0 -0
  124. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/sc_show.py +0 -0
  125. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/smake.py +0 -0
  126. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/apps/utils/summarize.py +0 -0
  127. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  128. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  129. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  130. {siliconcompiler-0.29.0/siliconcompiler/apps → siliconcompiler-0.29.1/siliconcompiler/data/RobotoMono}/__init__.py +0 -0
  131. {siliconcompiler-0.29.0/siliconcompiler/checklists → siliconcompiler-0.29.1/siliconcompiler/data}/__init__.py +0 -0
  132. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/data/heartbeat.v +0 -0
  133. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/data/logo.png +0 -0
  134. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flowgraph.py +0 -0
  135. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/_common.py +0 -0
  136. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/asicflow.py +0 -0
  137. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/asictopflow.py +0 -0
  138. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/drcflow.py +0 -0
  139. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/dvflow.py +0 -0
  140. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/fpgaflow.py +0 -0
  141. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  142. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/interposerflow.py +0 -0
  143. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/lintflow.py +0 -0
  144. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/screenshotflow.py +0 -0
  145. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/signoffflow.py +0 -0
  146. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/flows/synflow.py +0 -0
  147. {siliconcompiler-0.29.0/siliconcompiler/data/RobotoMono → siliconcompiler-0.29.1/siliconcompiler/fpgas}/__init__.py +0 -0
  148. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  149. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/fpgas/vpr_example.py +0 -0
  150. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/issue.py +0 -0
  151. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/package.py +0 -0
  152. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/__init__.py +0 -0
  153. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/client.py +0 -0
  154. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/schema.py +0 -0
  155. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server.py +0 -0
  156. {siliconcompiler-0.29.0/siliconcompiler/data → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema}/__init__.py +0 -0
  157. {siliconcompiler-0.29.0/siliconcompiler/flows → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema/requests}/__init__.py +0 -0
  158. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  159. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  160. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  161. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  162. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  163. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  164. {siliconcompiler-0.29.0/siliconcompiler/fpgas → siliconcompiler-0.29.1/siliconcompiler/remote/server_schema/responses}/__init__.py +0 -0
  165. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  166. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  167. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  168. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  169. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  170. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  171. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/__init__.py +0 -0
  172. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/__init__.py +0 -0
  173. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  174. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  175. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  176. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  177. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  178. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  179. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  180. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  181. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/state.py +0 -0
  182. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  183. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  184. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/dashboard/viewer.py +0 -0
  185. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/html_report.py +0 -0
  186. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/report.py +0 -0
  187. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/summary_image.py +0 -0
  188. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/summary_table.py +0 -0
  189. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/report/utils.py +0 -0
  190. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/docker_runner.py +0 -0
  191. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/run_node.py +0 -0
  192. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/slurm.py +0 -0
  193. {siliconcompiler-0.29.0/siliconcompiler/libs → siliconcompiler-0.29.1/siliconcompiler/scheduler/validation}/__init__.py +0 -0
  194. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  195. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/schema/__init__.py +0 -0
  196. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/sphinx_ext/utils.py +0 -0
  197. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/asap7_demo.py +0 -0
  198. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/asic_demo.py +0 -0
  199. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  200. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  201. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/gf180_demo.py +0 -0
  202. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/ihp130_demo.py +0 -0
  203. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/interposer_demo.py +0 -0
  204. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/targets/skywater130_demo.py +0 -0
  205. {siliconcompiler-0.29.0/siliconcompiler/pdks → siliconcompiler-0.29.1/siliconcompiler/templates}/__init__.py +0 -0
  206. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema → siliconcompiler-0.29.1/siliconcompiler/templates/email}/__init__.py +0 -0
  207. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/email/general.j2 +0 -0
  208. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/email/summary.j2 +0 -0
  209. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/issue/README.txt +0 -0
  210. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema/requests → siliconcompiler-0.29.1/siliconcompiler/templates/issue}/__init__.py +0 -0
  211. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/issue/run.sh +0 -0
  212. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema/responses → siliconcompiler-0.29.1/siliconcompiler/templates/report}/__init__.py +0 -0
  213. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  214. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  215. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  216. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  217. {siliconcompiler-0.29.0/siliconcompiler/scheduler/validation → siliconcompiler-0.29.1/siliconcompiler/templates/slurm}/__init__.py +0 -0
  218. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/slurm/run.sh +0 -0
  219. {siliconcompiler-0.29.0/siliconcompiler/sphinx_ext → siliconcompiler-0.29.1/siliconcompiler/templates/tcl}/__init__.py +0 -0
  220. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  221. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/__init__.py +0 -0
  222. {siliconcompiler-0.29.0/siliconcompiler/targets → siliconcompiler-0.29.1/siliconcompiler/tools/_common/sdc}/__init__.py +0 -0
  223. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  224. {siliconcompiler-0.29.0/siliconcompiler/templates → siliconcompiler-0.29.1/siliconcompiler/tools/_common/tcl}/__init__.py +0 -0
  225. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  226. {siliconcompiler-0.29.0/siliconcompiler/templates/email → siliconcompiler-0.29.1/siliconcompiler/tools/bambu}/__init__.py +0 -0
  227. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/bambu/bambu.py +0 -0
  228. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/bambu/convert.py +0 -0
  229. {siliconcompiler-0.29.0/siliconcompiler/templates/issue → siliconcompiler-0.29.1/siliconcompiler/tools/bluespec}/__init__.py +0 -0
  230. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  231. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/bluespec/convert.py +0 -0
  232. {siliconcompiler-0.29.0/siliconcompiler/templates/report → siliconcompiler-0.29.1/siliconcompiler/tools/builtin}/__init__.py +0 -0
  233. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/_common.py +0 -0
  234. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/builtin.py +0 -0
  235. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  236. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/join.py +0 -0
  237. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/maximum.py +0 -0
  238. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/minimum.py +0 -0
  239. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/mux.py +0 -0
  240. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/nop.py +0 -0
  241. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/builtin/verify.py +0 -0
  242. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  243. {siliconcompiler-0.29.0/siliconcompiler/templates/slurm → siliconcompiler-0.29.1/siliconcompiler/tools/chisel}/__init__.py +0 -0
  244. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/build.sbt +0 -0
  245. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/chisel.py +0 -0
  246. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/chisel/convert.py +0 -0
  247. {siliconcompiler-0.29.0/siliconcompiler/templates/tcl → siliconcompiler-0.29.1/siliconcompiler/tools/execute}/__init__.py +0 -0
  248. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/execute/exec_input.py +0 -0
  249. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/execute/execute.py +0 -0
  250. {siliconcompiler-0.29.0/siliconcompiler/tools → siliconcompiler-0.29.1/siliconcompiler/tools/genfasm}/__init__.py +0 -0
  251. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  252. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  253. {siliconcompiler-0.29.0/siliconcompiler/tools/_common/sdc → siliconcompiler-0.29.1/siliconcompiler/tools/ghdl}/__init__.py +0 -0
  254. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/ghdl/convert.py +0 -0
  255. {siliconcompiler-0.29.0/siliconcompiler/tools/_common/tcl → siliconcompiler-0.29.1/siliconcompiler/tools/icarus}/__init__.py +0 -0
  256. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/icarus/compile.py +0 -0
  257. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/icarus/icarus.py +0 -0
  258. {siliconcompiler-0.29.0/siliconcompiler/tools/bambu → siliconcompiler-0.29.1/siliconcompiler/tools/icepack}/__init__.py +0 -0
  259. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  260. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/icepack/icepack.py +0 -0
  261. {siliconcompiler-0.29.0/siliconcompiler/tools/bluespec → siliconcompiler-0.29.1/siliconcompiler/tools/klayout}/__init__.py +0 -0
  262. {siliconcompiler-0.29.0/siliconcompiler/tools/builtin → siliconcompiler-0.29.1/siliconcompiler/tools/magic}/__init__.py +0 -0
  263. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/drc.py +0 -0
  264. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/extspice.py +0 -0
  265. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  266. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  267. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  268. {siliconcompiler-0.29.0/siliconcompiler/tools/chisel → siliconcompiler-0.29.1/siliconcompiler/tools/montage}/__init__.py +0 -0
  269. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/montage/montage.py +0 -0
  270. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/montage/tile.py +0 -0
  271. {siliconcompiler-0.29.0/siliconcompiler/tools/execute → siliconcompiler-0.29.1/siliconcompiler/tools/netgen}/__init__.py +0 -0
  272. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  273. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/lvs.py +0 -0
  274. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/netgen.py +0 -0
  275. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  276. {siliconcompiler-0.29.0/siliconcompiler/tools/genfasm → siliconcompiler-0.29.1/siliconcompiler/tools/nextpnr}/__init__.py +0 -0
  277. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  278. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  279. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  280. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  281. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  282. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  283. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  284. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  285. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  286. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/global_placement.py +0 -0
  287. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/global_route.py +0 -0
  288. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  289. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/metrics.py +0 -0
  290. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  291. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  292. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  293. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  294. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  295. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  296. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  297. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  298. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  299. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  300. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  301. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  302. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  303. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  304. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  305. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
  306. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  307. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  308. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  309. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  310. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  311. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  312. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +0 -0
  313. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
  314. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  315. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  316. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  317. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  318. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  319. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  320. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +0 -0
  321. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  322. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  323. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  324. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  325. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/show.py +0 -0
  326. {siliconcompiler-0.29.0/siliconcompiler/tools/ghdl → siliconcompiler-0.29.1/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
  327. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  328. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/openroad/write_data.py +0 -0
  329. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  330. {siliconcompiler-0.29.0/siliconcompiler/tools/icarus → siliconcompiler-0.29.1/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
  331. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  332. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  333. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/opensta/timing.py +0 -0
  334. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/slang/__init__.py +0 -0
  335. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/slang/lint.py +0 -0
  336. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/__init__.py +0 -0
  337. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/parse.py +0 -0
  338. {siliconcompiler-0.29.0/siliconcompiler/tools/icepack → siliconcompiler-0.29.1/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
  339. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  340. {siliconcompiler-0.29.0/siliconcompiler/tools/klayout → siliconcompiler-0.29.1/siliconcompiler/tools/sv2v}/__init__.py +0 -0
  341. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/sv2v/convert.py +0 -0
  342. {siliconcompiler-0.29.0/siliconcompiler/tools/magic → siliconcompiler-0.29.1/siliconcompiler/tools/template}/__init__.py +0 -0
  343. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/template/template.py +0 -0
  344. {siliconcompiler-0.29.0/siliconcompiler/tools/montage → siliconcompiler-0.29.1/siliconcompiler/tools/verilator}/__init__.py +0 -0
  345. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/compile.py +0 -0
  346. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/lint.py +0 -0
  347. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/verilator/parse.py +0 -0
  348. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/__init__.py +0 -0
  349. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  350. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/place.py +0 -0
  351. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/route.py +0 -0
  352. {siliconcompiler-0.29.0/siliconcompiler/tools/netgen → siliconcompiler-0.29.1/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
  353. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  354. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  355. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  356. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  357. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  358. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  359. {siliconcompiler-0.29.0/siliconcompiler/tools/nextpnr → siliconcompiler-0.29.1/siliconcompiler/tools/vpr}/__init__.py +0 -0
  360. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  361. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  362. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/place.py +0 -0
  363. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/route.py +0 -0
  364. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  365. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/show.py +0 -0
  366. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/vpr/vpr.py +0 -0
  367. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/xdm/__init__.py +0 -0
  368. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/xdm/convert.py +0 -0
  369. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/xyce/__init__.py +0 -0
  370. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/xyce/simulate.py +0 -0
  371. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  372. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  373. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  374. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  375. {siliconcompiler-0.29.0/siliconcompiler/tools/openroad/templates → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
  376. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  377. {siliconcompiler-0.29.0/siliconcompiler/tools/opensta/scripts → siliconcompiler-0.29.1/siliconcompiler/tools/yosys/templates}/__init__.py +0 -0
  378. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  379. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/_tools.py +0 -0
  380. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  381. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  382. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  383. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  384. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  385. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  386. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  387. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  388. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  389. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  390. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  391. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  392. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  393. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  394. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  395. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  396. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  397. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  398. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  399. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  400. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  401. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  402. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  403. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  404. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  405. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  406. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  407. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  408. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  409. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  410. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  411. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  412. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  413. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  414. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  415. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  416. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  417. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  418. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  419. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  420. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  421. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  422. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  423. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  424. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  425. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  426. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  427. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  428. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  429. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  430. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  431. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  432. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  433. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  434. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  435. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  436. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  437. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  438. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  439. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  440. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  441. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  442. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  443. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  444. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  445. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  446. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  447. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  448. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  449. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  450. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  451. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  452. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  453. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  454. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  455. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  456. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  457. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  458. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  459. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  460. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  461. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  462. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  463. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  464. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  465. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  466. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  467. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  468. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  469. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  470. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  471. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  472. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  473. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  474. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  475. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/units.py +0 -0
  476. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/use.py +0 -0
  477. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/utils/asic.py +0 -0
  478. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler/utils/showtools.py +0 -0
  479. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  480. {siliconcompiler-0.29.0 → siliconcompiler-0.29.1}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -24,5 +24,9 @@ python:
24
24
  - method: pip
25
25
  path: .
26
26
  extra_requirements:
27
- - build
28
27
  - docs
28
+ - test
29
+ - lint
30
+ - profile
31
+ - examples
32
+ - optimizer
@@ -8,6 +8,25 @@ 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.1 (2025-01-09)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Added optional `optimizer` install extra to provide design optimization via google-vizier.
17
+
18
+ **Minor:**
19
+
20
+ * Added capability to import flist files via `Chip.import_flist`
21
+ * Added quiet loglevel to limit siliconcompiler logging to just the most critical information.
22
+
23
+ * Tools:
24
+
25
+ * openroad: switch to turn on new macro placer by default and correct handling of dont_use based on cell lists.
26
+ * yosys: add detailed metrics for cell counts, added support for handling clockgate insertion, simplified library file handling, and updated lec task.
27
+ * sta: added check_library task to help verify library setups for asic flows.
28
+
29
+
11
30
  SiliconCompiler 0.29.0 (2024-12-12)
12
31
  =========================================
13
32
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: siliconcompiler
3
- Version: 0.29.0
3
+ Version: 0.29.1
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
@@ -26,7 +26,7 @@ Requires-Python: >=3.8
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
29
- Requires-Dist: aiohttp==3.11.10; python_version >= "3.9"
29
+ Requires-Dist: aiohttp==3.11.11; python_version >= "3.9"
30
30
  Requires-Dist: requests==2.32.3
31
31
  Requires-Dist: PyYAML==6.0.2
32
32
  Requires-Dist: pandas>=1.1.5
@@ -36,9 +36,9 @@ Requires-Dist: distro==1.9.0
36
36
  Requires-Dist: packaging<25,>=21.3
37
37
  Requires-Dist: psutil>=5.8.0
38
38
  Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
39
- Requires-Dist: Pillow==11.0.0; python_version >= "3.9"
40
- Requires-Dist: GitPython==3.1.43
41
- Requires-Dist: lambdapdk>=0.1.40
39
+ Requires-Dist: Pillow==11.1.0; python_version >= "3.9"
40
+ Requires-Dist: GitPython==3.1.44
41
+ Requires-Dist: lambdapdk>=0.1.44
42
42
  Requires-Dist: PyGithub==2.5.0
43
43
  Requires-Dist: urllib3>=1.26.0
44
44
  Requires-Dist: fasteners==0.19
@@ -46,9 +46,9 @@ 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.12
49
+ Requires-Dist: orjson==3.10.13
50
50
  Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
51
- Requires-Dist: streamlit==1.40.2; python_version >= "3.9" and python_full_version != "3.9.7"
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"
53
53
  Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
54
54
  Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
@@ -57,7 +57,8 @@ Provides-Extra: test
57
57
  Requires-Dist: pytest==8.3.4; extra == "test"
58
58
  Requires-Dist: pytest-xdist==3.6.1; extra == "test"
59
59
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
60
- Requires-Dist: pytest-asyncio==0.24.0; extra == "test"
60
+ Requires-Dist: pytest-asyncio==0.24.0; python_version <= "3.8" and extra == "test"
61
+ Requires-Dist: pytest-asyncio==0.25.1; python_version >= "3.9" and extra == "test"
61
62
  Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
62
63
  Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
63
64
  Requires-Dist: responses==0.25.3; extra == "test"
@@ -69,13 +70,15 @@ Requires-Dist: codespell==2.3.0; extra == "lint"
69
70
  Provides-Extra: docs
70
71
  Requires-Dist: Sphinx==8.1.3; extra == "docs"
71
72
  Requires-Dist: pip-licenses==5.0.0; extra == "docs"
72
- Requires-Dist: pydata-sphinx-theme==0.16.0; extra == "docs"
73
+ Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "docs"
73
74
  Requires-Dist: sc-leflib>=0.2.0; extra == "docs"
74
75
  Provides-Extra: profile
75
76
  Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
76
77
  Provides-Extra: examples
77
78
  Requires-Dist: migen==0.9.2; extra == "examples"
78
79
  Requires-Dist: lambdalib==0.3.2; extra == "examples"
80
+ Provides-Extra: optimizer
81
+ Requires-Dist: google-vizier[jax]==0.1.20; python_version >= "3.10" and extra == "optimizer"
79
82
 
80
83
  ![SiliconCompiler](https://raw.githubusercontent.com/siliconcompiler/siliconcompiler/main/docs/_static/sc_logo_with_text.png)
81
84
 
@@ -33,7 +33,7 @@ classifiers = [
33
33
  requires-python = ">= 3.8"
34
34
  dependencies = [
35
35
  "aiohttp == 3.10.11; python_version <= '3.8'",
36
- "aiohttp == 3.11.10; python_version >= '3.9'",
36
+ "aiohttp == 3.11.11; python_version >= '3.9'",
37
37
  "requests == 2.32.3",
38
38
  "PyYAML == 6.0.2",
39
39
  "pandas >= 1.1.5",
@@ -43,9 +43,9 @@ dependencies = [
43
43
  "packaging >= 21.3, < 25",
44
44
  "psutil >= 5.8.0",
45
45
  "Pillow == 10.4.0; python_version <= '3.8'",
46
- "Pillow == 11.0.0; python_version >= '3.9'",
47
- "GitPython == 3.1.43",
48
- "lambdapdk >= 0.1.40",
46
+ "Pillow == 11.1.0; python_version >= '3.9'",
47
+ "GitPython == 3.1.44",
48
+ "lambdapdk >= 0.1.44",
49
49
  "PyGithub == 2.5.0",
50
50
  "urllib3 >= 1.26.0", # Required for PyGithub
51
51
  "fasteners == 0.19",
@@ -53,11 +53,11 @@ 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.12",
56
+ "orjson == 3.10.13",
57
57
 
58
58
  # dashboard, streamlit does not support 3.9.7
59
59
  "streamlit == 1.40.1; python_version <= '3.8'",
60
- "streamlit == 1.40.2; python_version >= '3.9' and python_full_version != '3.9.7'",
60
+ "streamlit == 1.41.1; python_version >= '3.9' and python_full_version != '3.9.7'",
61
61
  "streamlit_agraph == 0.0.45; python_full_version != '3.9.7'",
62
62
  "streamlit-antd-components == 0.3.2; python_full_version != '3.9.7'",
63
63
  "streamlit_javascript == 0.1.5; python_full_version != '3.9.7'",
@@ -87,12 +87,26 @@ smake = "siliconcompiler.apps.smake:main"
87
87
  [project.entry-points."siliconcompiler.show"]
88
88
  scsetup = "siliconcompiler.utils.showtools:setup"
89
89
 
90
+ [project.entry-points."siliconcompiler.target"]
91
+ targets = "siliconcompiler.targets:get_targets"
92
+
93
+ [project.entry-points."siliconcompiler.docs"]
94
+ linkcode = "siliconcompiler.sphinx_ext:get_codeurl"
95
+ targets = "siliconcompiler.sphinx_ext:targets"
96
+ flows = "siliconcompiler.sphinx_ext:flows"
97
+ libs = "siliconcompiler.sphinx_ext:libraries"
98
+ pdks = "siliconcompiler.sphinx_ext:pdks"
99
+ tools = "siliconcompiler.sphinx_ext:tools"
100
+ apps = "siliconcompiler.sphinx_ext:apps"
101
+ checklists = "siliconcompiler.sphinx_ext:checklists"
102
+
90
103
  [project.optional-dependencies]
91
104
  test = [
92
105
  "pytest == 8.3.4",
93
106
  "pytest-xdist == 3.6.1",
94
107
  "pytest-timeout == 2.3.1",
95
- "pytest-asyncio == 0.24.0",
108
+ "pytest-asyncio == 0.24.0; python_version <= '3.8'",
109
+ "pytest-asyncio == 0.25.1; python_version >= '3.9'",
96
110
  "pytest-cov == 5.0.0; python_version <= '3.8'",
97
111
  "pytest-cov == 6.0.0; python_version >= '3.9'",
98
112
  "responses == 0.25.3",
@@ -106,7 +120,7 @@ lint = [
106
120
  docs = [
107
121
  "Sphinx == 8.1.3",
108
122
  "pip-licenses == 5.0.0",
109
- "pydata-sphinx-theme == 0.16.0",
123
+ "pydata-sphinx-theme == 0.16.1",
110
124
  "sc-leflib >= 0.2.0"
111
125
  ]
112
126
  profile = [
@@ -116,6 +130,9 @@ examples = [
116
130
  "migen == 0.9.2",
117
131
  "lambdalib == 0.3.2"
118
132
  ]
133
+ optimizer = [
134
+ "google-vizier[jax] == 0.1.20; python_version >= '3.10'"
135
+ ]
119
136
 
120
137
  [tool.setuptools]
121
138
  include-package-data = true
@@ -0,0 +1,43 @@
1
+ import argparse
2
+
3
+ from siliconcompiler import Chip
4
+ from siliconcompiler.tools.opensta import check_library
5
+
6
+
7
+ def main():
8
+ parser = argparse.ArgumentParser()
9
+ parser.add_argument('-target', help='Reference target', required=True)
10
+ parser.add_argument('-library', nargs='+', help='Library to check', required=True)
11
+ args = parser.parse_args()
12
+
13
+ chip = Chip('check_libs')
14
+
15
+ chip.node('check_lib', 'check', check_library)
16
+ chip.set('option', 'flow', 'check_lib')
17
+ chip.set('option', 'clean', True)
18
+
19
+ target = chip._load_module(args.target)
20
+ chip.use(target)
21
+
22
+ chip.unset('asic', 'logiclib')
23
+
24
+ for lib in args.library:
25
+ mod = chip._load_module(lib)
26
+
27
+ libraries = mod.setup()
28
+ if not isinstance(libraries, (list, tuple)):
29
+ libraries = [libraries]
30
+
31
+ for library in libraries:
32
+ if library.design.startswith('lambdalib_'):
33
+ continue
34
+ chip.use(library)
35
+ chip.add('asic', 'logiclib', library.design)
36
+
37
+ chip.run()
38
+
39
+ return 0
40
+
41
+
42
+ if __name__ == "__main__":
43
+ main()
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.29.0'
2
+ version = '0.29.1'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -0,0 +1,26 @@
1
+ from siliconcompiler.apps import sc_dashboard
2
+ from siliconcompiler.apps import sc_install
3
+ from siliconcompiler.apps import sc_issue
4
+ from siliconcompiler.apps import sc_remote
5
+ from siliconcompiler.apps import sc_server
6
+ from siliconcompiler.apps import sc_show
7
+ from siliconcompiler.apps import sc
8
+ from siliconcompiler.apps import smake
9
+
10
+
11
+ def get_apps():
12
+ '''
13
+ Returns a dict of builtin apps
14
+ '''
15
+ return {
16
+ module.__name__.split(".")[-1]: module for module in (
17
+ sc_dashboard,
18
+ sc_install,
19
+ sc_issue,
20
+ sc_remote,
21
+ sc_server,
22
+ sc_show,
23
+ sc,
24
+ smake
25
+ )
26
+ }
@@ -1,9 +1,18 @@
1
1
  # Copyright 2024 Silicon Compiler Authors. All Rights Reserved.
2
2
 
3
3
  # Standard Modules
4
+ import base64
5
+ import io
6
+ import json
7
+ import gzip
4
8
  import os
5
9
  import stat
6
10
  import sys
11
+ import tarfile
12
+ import tempfile
13
+ import textwrap
14
+
15
+ from datetime import datetime
7
16
 
8
17
  import siliconcompiler
9
18
  from siliconcompiler.apps._common import UNSET_DESIGN
@@ -11,6 +20,26 @@ from siliconcompiler import SiliconCompilerError
11
20
  from siliconcompiler import utils
12
21
 
13
22
 
23
+ def make_bytes(data):
24
+ if isinstance(data, bytes):
25
+ return data
26
+ return data.encode('utf-8')
27
+
28
+
29
+ def compress(data):
30
+ return gzip.compress(make_bytes(data))
31
+
32
+
33
+ def convert_base64(data):
34
+ return base64.b64encode(make_bytes(data))
35
+
36
+
37
+ def wrap_text(data):
38
+ if isinstance(data, bytes):
39
+ data = data.decode('utf-8')
40
+ return textwrap.wrap(data)
41
+
42
+
14
43
  ###########################
15
44
  def main():
16
45
  progname = "summarize"
@@ -25,9 +54,10 @@ def main():
25
54
 
26
55
  # Read command-line inputs and generate Chip objects to run the flow on.
27
56
  try:
28
- generation_arg = {
29
- 'metavar': '<path>',
30
- 'help': '(optional) Path to generate replay files to, if specified.',
57
+ file_arg = {
58
+ 'metavar': '<file>',
59
+ 'help': 'Path to generate replay file to.',
60
+ 'default': 'replay.sh',
31
61
  'sc_print': True
32
62
  }
33
63
  args = chip.create_cmdline(
@@ -37,7 +67,7 @@ def main():
37
67
  '-jobname',
38
68
  '-loglevel'],
39
69
  additional_args={
40
- '-path': generation_arg
70
+ '-file': file_arg
41
71
  })
42
72
  except SiliconCompilerError:
43
73
  return 1
@@ -93,40 +123,68 @@ def main():
93
123
  for tool, version in tools.items():
94
124
  print(f" {os.path.basename(tool):<{tool_len}}: {', '.join(version)}")
95
125
 
96
- if 'path' in args and args['path']:
97
- path = args['path']
98
- os.makedirs(path, exist_ok=True)
99
- with open(os.path.join(path, 'requirements.txt'), 'w', encoding='utf-8') as wf:
100
- wf.write(utils.get_file_template('replay/requirements.txt').render(
101
- design=chip.design,
102
- source=', '.join(chip.find_files('option', 'cfg')),
103
- jobname=jobname,
104
- pkgs=pythonpackages
105
- ))
106
-
107
- scripts = []
108
- scripts.append(os.path.join(path, 'setup.sh'))
109
- with open(scripts[-1], 'w', encoding='utf-8') as wf:
110
- wf.write(utils.get_file_template('replay/setup.sh').render(
111
- design=chip.design,
112
- source=', '.join(chip.find_files('option', 'cfg')),
113
- jobname=jobname,
114
- pythonversion=pythonversion
115
- ))
116
-
117
- scripts.append(os.path.join(path, 'run.py'))
118
- with open(scripts[-1], 'w', encoding='utf-8') as wf:
119
- wf.write(utils.get_file_template('replay/run.py.j2').render(
120
- design=chip.design,
121
- source=', '.join(chip.find_files('option', 'cfg')),
122
- cfgs=chip.find_files('option', 'cfg'),
123
- jobname=jobname,
124
- tool_versions=sorted(tool_versions)
125
- ))
126
-
127
- for script in scripts:
128
- permissions = stat.S_IMODE(os.lstat(script).st_mode)
129
- os.chmod(script, permissions | stat.S_IXUSR)
126
+ path = os.path.abspath(args['file'])
127
+ os.makedirs(os.path.dirname(path), exist_ok=True)
128
+
129
+ starttimes = set()
130
+ for starttime, step, index in chip.schema._getvals('history', jobname, 'record', 'starttime'):
131
+ starttimes.add(datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S'))
132
+ starttime = min(starttimes).strftime('%Y-%m-%d %H:%M:%S')
133
+
134
+ with io.StringIO() as fd:
135
+ fd.write(utils.get_file_template('replay/requirements.txt').render(
136
+ design=chip.design,
137
+ jobname=jobname,
138
+ date=starttime,
139
+ pkgs=pythonpackages
140
+ ))
141
+ fd.flush()
142
+ requirements_file = fd.getvalue()
143
+
144
+ with tempfile.TemporaryDirectory() as collect:
145
+ chip.collect(directory=collect, verbose=True, exclude_packages=['siliconcompiler'])
146
+
147
+ with io.BytesIO() as fd:
148
+ with tarfile.open(fileobj=fd, mode='w:gz') as tar:
149
+ tar.add(collect, arcname='')
150
+
151
+ fd.flush()
152
+ collect_files = convert_base64(fd.getvalue())
153
+
154
+ with io.StringIO() as fd:
155
+ fd.write(utils.get_file_template('replay/replay.py.j2').render(
156
+ design=chip.design,
157
+ jobname=jobname,
158
+ date=starttime,
159
+ src_file=wrap_text(collect_files),
160
+ tool_versions=sorted(tool_versions)
161
+ ))
162
+ fd.flush()
163
+ script = convert_base64(compress(fd.getvalue()))
164
+
165
+ manifest = convert_base64(compress(json.dumps(chip.schema.cfg, indent=2)))
166
+
167
+ tool_info = []
168
+ for tool, version in tools.items():
169
+ tool_info.append(f"{os.path.basename(tool):<{tool_len}}: {', '.join(version)}")
170
+
171
+ description = f"Replay for {chip.design} / {jobname}\nRun on: {starttime}"
172
+
173
+ with open(path, 'w', encoding='utf-8') as wf:
174
+ wf.write(utils.get_file_template('replay/setup.sh').render(
175
+ design=chip.design,
176
+ jobname=jobname,
177
+ date=starttime,
178
+ description=description,
179
+ pythonversion=pythonversion,
180
+ requirements=requirements_file.splitlines(),
181
+ script=wrap_text(script),
182
+ manifest=wrap_text(manifest),
183
+ tools=tool_info
184
+ ))
185
+
186
+ permissions = stat.S_IMODE(os.lstat(path).st_mode)
187
+ os.chmod(path, permissions | stat.S_IXUSR)
130
188
 
131
189
  return 0
132
190
 
@@ -0,0 +1,12 @@
1
+ from siliconcompiler.checklists import oh_tapeout
2
+
3
+
4
+ def get_checklists():
5
+ '''
6
+ Returns a dict of builtin checklists
7
+ '''
8
+ return {
9
+ module.__name__.split(".")[-1]: module for module in (
10
+ oh_tapeout,
11
+ )
12
+ }
@@ -255,8 +255,13 @@ class Chip:
255
255
  log_format.append(f'{utils.truncate_text(step, max_step_len): <{max_step_len}}')
256
256
  log_format.append(f'{utils.truncate_text(index, max_step_len): >{max_index_len}}')
257
257
 
258
+ log_formatprefix = "| "
259
+ if loglevel == "quiet":
260
+ log_format = []
261
+ log_formatprefix = ""
262
+
258
263
  log_format.append('%(message)s')
259
- logformat = '| ' + ' | '.join(log_format)
264
+ logformat = log_formatprefix + ' | '.join(log_format)
260
265
 
261
266
  if not self.logger.hasHandlers():
262
267
  stream_handler = logging.StreamHandler(stream=sys.stdout)
@@ -402,19 +407,24 @@ class Chip:
402
407
  if extra_params is not None and "target" in extra_params:
403
408
  if extra_params["target"]:
404
409
  # running target command
405
- # Search order "{name}", and "siliconcompiler.targets.{name}"
410
+ # Search order target plugins -> "{name}"
406
411
  modules = []
407
412
  module = extra_params["target"]
408
- for mod_name in [module, f'siliconcompiler.targets.{module}']:
409
- mod = self._load_module(mod_name)
410
- if mod:
411
- modules.append(mod)
413
+ for plugin in utils.get_plugins('target'):
414
+ plugin_targets = plugin()
415
+ if module in plugin_targets:
416
+ modules.append(plugin_targets[module])
417
+
418
+ mod = self._load_module(module)
419
+ if mod:
420
+ modules.append(mod)
412
421
 
413
422
  if len(modules) == 0:
414
423
  raise SiliconCompilerError(f'Could not find target {module}', chip=self)
415
424
 
416
- self.use(modules[0])
417
- extra_params["target"] = modules[0].__name__
425
+ target = modules[0]
426
+ self.use(target)
427
+ extra_params["target"] = target.__name__
418
428
 
419
429
  if extra_params is not None and "use" in extra_params:
420
430
  if extra_params["use"]:
@@ -975,7 +985,7 @@ class Chip:
975
985
  self.logger.debug(f'Setting {keypath} to {value}')
976
986
 
977
987
  # Special case to ensure loglevel is updated ASAP
978
- if keypath == ['option', 'loglevel'] and field == 'value' and \
988
+ if tuple(keypath) == ('option', 'loglevel') and field == 'value' and \
979
989
  step == self.get('arg', 'step') and index == self.get('arg', 'index'):
980
990
  self.logger.setLevel(schema_utils.translate_loglevel(value))
981
991
 
@@ -1074,6 +1084,54 @@ class Chip:
1074
1084
  except (ValueError, TypeError) as e:
1075
1085
  self.error(str(e))
1076
1086
 
1087
+ def import_flist(self, filename, package=None):
1088
+ '''
1089
+ Add input files, include directories, and defines from an flist
1090
+
1091
+ Args:
1092
+ filename (path): Path to flist file
1093
+ package (str): name of package
1094
+ '''
1095
+
1096
+ if package:
1097
+ filename = os.path.join(sc_package.path(self, package), filename)
1098
+
1099
+ if not os.path.isfile(filename):
1100
+ raise FileNotFoundError(filename)
1101
+
1102
+ package_name = f'flist-{os.path.basename(filename)}'
1103
+ package_dir = os.path.dirname(os.path.abspath(filename))
1104
+
1105
+ def __make_path(rel, path):
1106
+ path = utils._resolve_env_vars(self, path)
1107
+ if os.path.isabs(path):
1108
+ if path.startswith(rel):
1109
+ return os.path.relpath(path, rel), package_name
1110
+ else:
1111
+ return path, None
1112
+ return path, package_name
1113
+
1114
+ self.register_source(
1115
+ package_name,
1116
+ path=package_dir)
1117
+ with utils.sc_open(filename) as f:
1118
+ for line in f:
1119
+ line = line.strip()
1120
+ if not line:
1121
+ continue
1122
+ if line.startswith("//"):
1123
+ continue
1124
+ if line.startswith("+incdir+"):
1125
+ line = line[8:]
1126
+ path, package = __make_path(package_dir, line)
1127
+ self.add('option', 'idir', path, package=package)
1128
+ elif line.startswith("+define+"):
1129
+ line = line[8:]
1130
+ self.add('option', 'define', line)
1131
+ else:
1132
+ path, package = __make_path(package_dir, line)
1133
+ self.input(path, package=package)
1134
+
1077
1135
  ###########################################################################
1078
1136
  def input(self, filename, fileset=None, filetype=None, iomap=None,
1079
1137
  step=None, index=None, package=None):
@@ -2384,7 +2442,7 @@ class Chip:
2384
2442
  swap('library', lib, 'option', 'library')
2385
2443
 
2386
2444
  ########################################################################
2387
- def collect(self, directory=None, verbose=True, whitelist=None):
2445
+ def collect(self, directory=None, verbose=True, whitelist=None, exclude_packages=None):
2388
2446
  '''
2389
2447
  Collects files found in the configuration dictionary and places
2390
2448
  them in inputs/. The function only copies in files that have the 'copy'
@@ -2402,6 +2460,8 @@ class Chip:
2402
2460
  whitelist (list[path]): List of directories that are allowed to be
2403
2461
  collected. If a directory is is found that is not on this list
2404
2462
  a RuntimeError will be raised.
2463
+ package_filter (list[str]): List of packages to exclude from
2464
+ collection.
2405
2465
  '''
2406
2466
 
2407
2467
  if not directory:
@@ -2414,6 +2474,9 @@ class Chip:
2414
2474
  if verbose:
2415
2475
  self.logger.info('Collecting input sources')
2416
2476
 
2477
+ if not exclude_packages:
2478
+ exclude_packages = []
2479
+
2417
2480
  dirs = {}
2418
2481
  files = {}
2419
2482
 
@@ -2453,6 +2516,8 @@ class Chip:
2453
2516
  if not package:
2454
2517
  # Ensure package is an empty string
2455
2518
  package = ''
2519
+ if package in exclude_packages:
2520
+ continue
2456
2521
  if is_dir:
2457
2522
  dirs[(package, path)] = abspath
2458
2523
  else:
@@ -0,0 +1,34 @@
1
+ from siliconcompiler.flows import asicflow
2
+ from siliconcompiler.flows import asictopflow
3
+ from siliconcompiler.flows import drcflow
4
+ from siliconcompiler.flows import dvflow
5
+ from siliconcompiler.flows import fpgaflow
6
+ from siliconcompiler.flows import generate_openroad_rcx
7
+ from siliconcompiler.flows import interposerflow
8
+ from siliconcompiler.flows import lintflow
9
+ from siliconcompiler.flows import screenshotflow
10
+ from siliconcompiler.flows import showflow
11
+ from siliconcompiler.flows import signoffflow
12
+ from siliconcompiler.flows import synflow
13
+
14
+
15
+ def get_flows():
16
+ '''
17
+ Returns a dict of builtin flows
18
+ '''
19
+ return {
20
+ module.__name__.split(".")[-1]: module for module in (
21
+ asicflow,
22
+ asictopflow,
23
+ drcflow,
24
+ dvflow,
25
+ fpgaflow,
26
+ generate_openroad_rcx,
27
+ interposerflow,
28
+ lintflow,
29
+ screenshotflow,
30
+ showflow,
31
+ signoffflow,
32
+ synflow
33
+ )
34
+ }
@@ -1,12 +1,12 @@
1
1
  import siliconcompiler
2
2
  from siliconcompiler import SiliconCompilerError
3
- from siliconcompiler.targets import freepdk45_demo
4
3
 
5
4
 
6
5
  ############################################################################
7
6
  # DOCS
8
7
  ############################################################################
9
8
  def make_docs(chip):
9
+ from siliconcompiler.targets import freepdk45_demo
10
10
  chip.use(freepdk45_demo)
11
11
  return setup(filetype='gds', showtools=chip._showtools, np=3)
12
12
 
@@ -0,0 +1,5 @@
1
+ def get_libs():
2
+ '''
3
+ Returns a dict of builtin libraries
4
+ '''
5
+ return {}