siliconcompiler 0.29.0__tar.gz → 0.29.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/.readthedocs.yaml +5 -1
  2. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/Changes +36 -0
  3. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/PKG-INFO +14 -11
  4. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/pyproject.toml +26 -9
  5. siliconcompiler-0.29.2/scripts/check_library.py +43 -0
  6. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/_metadata.py +1 -1
  7. siliconcompiler-0.29.2/siliconcompiler/apps/__init__.py +26 -0
  8. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_install.py +1 -1
  9. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/utils/replay.py +96 -38
  10. siliconcompiler-0.29.2/siliconcompiler/checklists/__init__.py +12 -0
  11. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/core.py +85 -15
  12. siliconcompiler-0.29.2/siliconcompiler/flows/__init__.py +34 -0
  13. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/showflow.py +1 -1
  14. siliconcompiler-0.29.2/siliconcompiler/libs/__init__.py +5 -0
  15. siliconcompiler-0.29.2/siliconcompiler/optimizer/__init__.py +199 -0
  16. siliconcompiler-0.29.2/siliconcompiler/optimizer/vizier.py +259 -0
  17. siliconcompiler-0.29.2/siliconcompiler/pdks/__init__.py +5 -0
  18. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/__init__.py +67 -49
  19. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/send_messages.py +1 -1
  20. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/schema/schema_cfg.py +2 -2
  21. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/schema/schema_obj.py +13 -10
  22. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/schema/utils.py +2 -0
  23. siliconcompiler-0.29.2/siliconcompiler/sphinx_ext/__init__.py +85 -0
  24. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/dynamicgen.py +17 -33
  25. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/schemagen.py +3 -2
  26. siliconcompiler-0.29.2/siliconcompiler/targets/__init__.py +26 -0
  27. siliconcompiler-0.29.2/siliconcompiler/templates/replay/replay.py.j2 +62 -0
  28. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/replay/requirements.txt +2 -1
  29. siliconcompiler-0.29.2/siliconcompiler/templates/replay/setup.sh +130 -0
  30. siliconcompiler-0.29.2/siliconcompiler/tools/__init__.py +62 -0
  31. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/asic.py +77 -6
  32. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +2 -2
  33. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/ghdl/ghdl.py +1 -2
  34. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/__init__.py +39 -0
  35. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +34 -0
  36. siliconcompiler-0.29.2/siliconcompiler/tools/gtkwave/show.py +70 -0
  37. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/icarus/compile.py +4 -0
  38. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/convert_drc_db.py +1 -1
  39. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/drc.py +1 -1
  40. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/export.py +8 -1
  41. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout.py +2 -2
  42. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +2 -2
  43. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_export.py +7 -5
  44. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_operations.py +4 -3
  45. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_show.py +3 -2
  46. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/klayout_utils.py +1 -1
  47. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/operations.py +8 -0
  48. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/screenshot.py +6 -1
  49. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/klayout/show.py +8 -1
  50. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/magic.py +1 -1
  51. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/__init__.py +1 -1
  52. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/_apr.py +11 -2
  53. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/global_placement.py +23 -2
  54. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/init_floorplan.py +1 -1
  55. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +1 -1
  56. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +4 -0
  57. siliconcompiler-0.29.2/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +89 -0
  58. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +4 -0
  59. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +8 -2
  60. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +88 -0
  61. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +1 -1
  62. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +10 -1
  63. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +5 -0
  64. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/__init__.py +1 -1
  65. siliconcompiler-0.29.2/siliconcompiler/tools/opensta/check_library.py +27 -0
  66. siliconcompiler-0.29.2/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +255 -0
  67. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +1 -1
  68. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/sv2v/sv2v.py +1 -2
  69. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/compile.py +11 -0
  70. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/verilator.py +7 -8
  71. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/vivado.py +1 -1
  72. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/yosys.py → siliconcompiler-0.29.2/siliconcompiler/tools/yosys/__init__.py +3 -2
  73. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/lec.py +22 -9
  74. siliconcompiler-0.29.2/siliconcompiler/tools/yosys/sc_lec.tcl +129 -0
  75. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/sc_syn.tcl +1 -0
  76. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/screenshot.py +2 -2
  77. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_asic.py +98 -74
  78. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_asic.tcl +31 -6
  79. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_fpga.py +2 -3
  80. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -1
  81. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/_tools.json +8 -3
  82. siliconcompiler-0.29.2/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +40 -0
  83. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +28 -0
  84. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +28 -0
  85. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  86. siliconcompiler-0.29.2/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +29 -0
  87. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/utils/__init__.py +7 -3
  88. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/utils/showtools.py +3 -0
  89. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/PKG-INFO +14 -11
  90. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/SOURCES.txt +13 -15
  91. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/entry_points.txt +13 -0
  92. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/requires.txt +15 -9
  93. siliconcompiler-0.29.0/siliconcompiler/libs/asap7sc7p5t.py +0 -8
  94. siliconcompiler-0.29.0/siliconcompiler/libs/gf180mcu.py +0 -8
  95. siliconcompiler-0.29.0/siliconcompiler/libs/interposer.py +0 -8
  96. siliconcompiler-0.29.0/siliconcompiler/libs/nangate45.py +0 -8
  97. siliconcompiler-0.29.0/siliconcompiler/libs/sg13g2_stdcell.py +0 -8
  98. siliconcompiler-0.29.0/siliconcompiler/libs/sky130hd.py +0 -8
  99. siliconcompiler-0.29.0/siliconcompiler/libs/sky130io.py +0 -8
  100. siliconcompiler-0.29.0/siliconcompiler/pdks/asap7.py +0 -8
  101. siliconcompiler-0.29.0/siliconcompiler/pdks/freepdk45.py +0 -8
  102. siliconcompiler-0.29.0/siliconcompiler/pdks/gf180.py +0 -8
  103. siliconcompiler-0.29.0/siliconcompiler/pdks/ihp130.py +0 -8
  104. siliconcompiler-0.29.0/siliconcompiler/pdks/interposer.py +0 -8
  105. siliconcompiler-0.29.0/siliconcompiler/pdks/skywater130.py +0 -8
  106. siliconcompiler-0.29.0/siliconcompiler/templates/replay/run.py.j2 +0 -22
  107. siliconcompiler-0.29.0/siliconcompiler/templates/replay/setup.sh +0 -17
  108. siliconcompiler-0.29.0/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -26
  109. siliconcompiler-0.29.0/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  110. siliconcompiler-0.29.0/siliconcompiler/tools/sv2v/__init__.py +0 -0
  111. siliconcompiler-0.29.0/siliconcompiler/tools/template/__init__.py +0 -0
  112. siliconcompiler-0.29.0/siliconcompiler/tools/verilator/__init__.py +0 -0
  113. siliconcompiler-0.29.0/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  114. siliconcompiler-0.29.0/siliconcompiler/tools/vpr/__init__.py +0 -0
  115. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/__init__.py +0 -0
  116. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/sc_lec.tcl +0 -84
  117. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  118. siliconcompiler-0.29.0/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  119. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/.dockerignore +0 -0
  120. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/.flake8 +0 -0
  121. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/.gitattributes +0 -0
  122. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/.gitignore +0 -0
  123. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/CONTRIBUTING.md +0 -0
  124. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/LICENSE +0 -0
  125. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/MANIFEST.in +0 -0
  126. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/README.md +0 -0
  127. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/SECURITY.md +0 -0
  128. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/scripts/.gitignore +0 -0
  129. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/scripts/profile_sc.py +0 -0
  130. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/scripts/report_library.py +0 -0
  131. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/setup.cfg +0 -0
  132. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/__init__.py +0 -0
  133. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/__main__.py +0 -0
  134. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/_common.py +0 -0
  135. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/_common.py +0 -0
  136. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc.py +0 -0
  137. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_dashboard.py +0 -0
  138. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_issue.py +0 -0
  139. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_remote.py +0 -0
  140. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_server.py +0 -0
  141. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/sc_show.py +0 -0
  142. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/smake.py +0 -0
  143. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/apps/utils/summarize.py +0 -0
  144. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  145. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  146. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  147. {siliconcompiler-0.29.0/siliconcompiler/apps → siliconcompiler-0.29.2/siliconcompiler/data/RobotoMono}/__init__.py +0 -0
  148. {siliconcompiler-0.29.0/siliconcompiler/checklists → siliconcompiler-0.29.2/siliconcompiler/data}/__init__.py +0 -0
  149. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/data/heartbeat.v +0 -0
  150. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/data/logo.png +0 -0
  151. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flowgraph.py +0 -0
  152. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/_common.py +0 -0
  153. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/asicflow.py +0 -0
  154. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/asictopflow.py +0 -0
  155. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/drcflow.py +0 -0
  156. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/dvflow.py +0 -0
  157. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/fpgaflow.py +0 -0
  158. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  159. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/interposerflow.py +0 -0
  160. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/lintflow.py +0 -0
  161. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/screenshotflow.py +0 -0
  162. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/signoffflow.py +0 -0
  163. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/flows/synflow.py +0 -0
  164. {siliconcompiler-0.29.0/siliconcompiler/data/RobotoMono → siliconcompiler-0.29.2/siliconcompiler/fpgas}/__init__.py +0 -0
  165. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  166. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/fpgas/vpr_example.py +0 -0
  167. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/issue.py +0 -0
  168. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/package.py +0 -0
  169. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/__init__.py +0 -0
  170. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/client.py +0 -0
  171. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/schema.py +0 -0
  172. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server.py +0 -0
  173. {siliconcompiler-0.29.0/siliconcompiler/data → siliconcompiler-0.29.2/siliconcompiler/remote/server_schema}/__init__.py +0 -0
  174. {siliconcompiler-0.29.0/siliconcompiler/flows → siliconcompiler-0.29.2/siliconcompiler/remote/server_schema/requests}/__init__.py +0 -0
  175. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  176. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  177. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  178. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  179. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  180. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  181. {siliconcompiler-0.29.0/siliconcompiler/fpgas → siliconcompiler-0.29.2/siliconcompiler/remote/server_schema/responses}/__init__.py +0 -0
  182. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  183. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  184. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  185. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  186. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  187. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  188. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/__init__.py +0 -0
  189. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/__init__.py +0 -0
  190. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  191. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  192. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  193. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  194. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  195. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  196. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  197. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  198. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/state.py +0 -0
  199. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  200. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  201. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/dashboard/viewer.py +0 -0
  202. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/html_report.py +0 -0
  203. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/report.py +0 -0
  204. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/summary_image.py +0 -0
  205. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/summary_table.py +0 -0
  206. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/report/utils.py +0 -0
  207. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/docker_runner.py +0 -0
  208. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/run_node.py +0 -0
  209. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/slurm.py +0 -0
  210. {siliconcompiler-0.29.0/siliconcompiler/libs → siliconcompiler-0.29.2/siliconcompiler/scheduler/validation}/__init__.py +0 -0
  211. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  212. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/schema/__init__.py +0 -0
  213. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/sphinx_ext/utils.py +0 -0
  214. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/asap7_demo.py +0 -0
  215. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/asic_demo.py +0 -0
  216. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/fpgaflow_demo.py +0 -0
  217. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  218. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/gf180_demo.py +0 -0
  219. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/ihp130_demo.py +0 -0
  220. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/interposer_demo.py +0 -0
  221. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/targets/skywater130_demo.py +0 -0
  222. {siliconcompiler-0.29.0/siliconcompiler/pdks → siliconcompiler-0.29.2/siliconcompiler/templates}/__init__.py +0 -0
  223. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema → siliconcompiler-0.29.2/siliconcompiler/templates/email}/__init__.py +0 -0
  224. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/email/general.j2 +0 -0
  225. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/email/summary.j2 +0 -0
  226. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/issue/README.txt +0 -0
  227. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema/requests → siliconcompiler-0.29.2/siliconcompiler/templates/issue}/__init__.py +0 -0
  228. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/issue/run.sh +0 -0
  229. {siliconcompiler-0.29.0/siliconcompiler/remote/server_schema/responses → siliconcompiler-0.29.2/siliconcompiler/templates/report}/__init__.py +0 -0
  230. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  231. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  232. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  233. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  234. {siliconcompiler-0.29.0/siliconcompiler/scheduler/validation → siliconcompiler-0.29.2/siliconcompiler/templates/slurm}/__init__.py +0 -0
  235. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/slurm/run.sh +0 -0
  236. {siliconcompiler-0.29.0/siliconcompiler/sphinx_ext → siliconcompiler-0.29.2/siliconcompiler/templates/tcl}/__init__.py +0 -0
  237. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  238. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/__init__.py +0 -0
  239. {siliconcompiler-0.29.0/siliconcompiler/targets → siliconcompiler-0.29.2/siliconcompiler/tools/_common/sdc}/__init__.py +0 -0
  240. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  241. {siliconcompiler-0.29.0/siliconcompiler/templates → siliconcompiler-0.29.2/siliconcompiler/tools/_common/tcl}/__init__.py +0 -0
  242. {siliconcompiler-0.29.0/siliconcompiler/templates/email → siliconcompiler-0.29.2/siliconcompiler/tools/bambu}/__init__.py +0 -0
  243. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/bambu/bambu.py +0 -0
  244. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/bambu/convert.py +0 -0
  245. {siliconcompiler-0.29.0/siliconcompiler/templates/issue → siliconcompiler-0.29.2/siliconcompiler/tools/bluespec}/__init__.py +0 -0
  246. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  247. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/bluespec/convert.py +0 -0
  248. {siliconcompiler-0.29.0/siliconcompiler/templates/report → siliconcompiler-0.29.2/siliconcompiler/tools/builtin}/__init__.py +0 -0
  249. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/_common.py +0 -0
  250. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/builtin.py +0 -0
  251. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  252. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/join.py +0 -0
  253. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/maximum.py +0 -0
  254. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/minimum.py +0 -0
  255. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/mux.py +0 -0
  256. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/nop.py +0 -0
  257. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/builtin/verify.py +0 -0
  258. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  259. {siliconcompiler-0.29.0/siliconcompiler/templates/slurm → siliconcompiler-0.29.2/siliconcompiler/tools/chisel}/__init__.py +0 -0
  260. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/build.sbt +0 -0
  261. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/chisel.py +0 -0
  262. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/chisel/convert.py +0 -0
  263. {siliconcompiler-0.29.0/siliconcompiler/templates/tcl → siliconcompiler-0.29.2/siliconcompiler/tools/execute}/__init__.py +0 -0
  264. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/execute/exec_input.py +0 -0
  265. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/execute/execute.py +0 -0
  266. {siliconcompiler-0.29.0/siliconcompiler/tools → siliconcompiler-0.29.2/siliconcompiler/tools/genfasm}/__init__.py +0 -0
  267. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  268. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  269. {siliconcompiler-0.29.0/siliconcompiler/tools/_common/sdc → siliconcompiler-0.29.2/siliconcompiler/tools/ghdl}/__init__.py +0 -0
  270. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/ghdl/convert.py +0 -0
  271. {siliconcompiler-0.29.0/siliconcompiler/tools/_common/tcl → siliconcompiler-0.29.2/siliconcompiler/tools/icarus}/__init__.py +0 -0
  272. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/icarus/icarus.py +0 -0
  273. {siliconcompiler-0.29.0/siliconcompiler/tools/bambu → siliconcompiler-0.29.2/siliconcompiler/tools/icepack}/__init__.py +0 -0
  274. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  275. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/icepack/icepack.py +0 -0
  276. {siliconcompiler-0.29.0/siliconcompiler/tools/bluespec → siliconcompiler-0.29.2/siliconcompiler/tools/klayout}/__init__.py +0 -0
  277. {siliconcompiler-0.29.0/siliconcompiler/tools/builtin → siliconcompiler-0.29.2/siliconcompiler/tools/magic}/__init__.py +0 -0
  278. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/drc.py +0 -0
  279. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/extspice.py +0 -0
  280. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  281. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  282. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  283. {siliconcompiler-0.29.0/siliconcompiler/tools/chisel → siliconcompiler-0.29.2/siliconcompiler/tools/montage}/__init__.py +0 -0
  284. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/montage/montage.py +0 -0
  285. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/montage/tile.py +0 -0
  286. {siliconcompiler-0.29.0/siliconcompiler/tools/execute → siliconcompiler-0.29.2/siliconcompiler/tools/netgen}/__init__.py +0 -0
  287. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  288. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/lvs.py +0 -0
  289. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/netgen.py +0 -0
  290. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  291. {siliconcompiler-0.29.0/siliconcompiler/tools/genfasm → siliconcompiler-0.29.2/siliconcompiler/tools/nextpnr}/__init__.py +0 -0
  292. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  293. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  294. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  295. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +0 -0
  296. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  297. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  298. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  299. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  300. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  301. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/global_route.py +0 -0
  302. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  303. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/metrics.py +0 -0
  304. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  305. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  306. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  307. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  308. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  309. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/repair_design.py +0 -0
  310. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/repair_timing.py +0 -0
  311. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  312. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  313. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  314. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  315. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  316. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  317. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  318. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  319. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  320. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +0 -0
  321. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  322. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  323. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  324. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  325. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +0 -0
  326. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  327. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  328. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +0 -0
  329. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  330. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +0 -0
  331. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  332. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +0 -0
  333. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  334. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  335. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  336. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/show.py +0 -0
  337. {siliconcompiler-0.29.0/siliconcompiler/tools/ghdl → siliconcompiler-0.29.2/siliconcompiler/tools/openroad/templates}/__init__.py +0 -0
  338. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  339. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/openroad/write_data.py +0 -0
  340. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  341. {siliconcompiler-0.29.0/siliconcompiler/tools/icarus → siliconcompiler-0.29.2/siliconcompiler/tools/opensta/scripts}/__init__.py +0 -0
  342. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  343. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  344. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/opensta/timing.py +0 -0
  345. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/slang/__init__.py +0 -0
  346. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/slang/lint.py +0 -0
  347. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/__init__.py +0 -0
  348. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/parse.py +0 -0
  349. {siliconcompiler-0.29.0/siliconcompiler/tools/icepack → siliconcompiler-0.29.2/siliconcompiler/tools/surelog/templates}/__init__.py +0 -0
  350. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  351. {siliconcompiler-0.29.0/siliconcompiler/tools/klayout → siliconcompiler-0.29.2/siliconcompiler/tools/sv2v}/__init__.py +0 -0
  352. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/sv2v/convert.py +0 -0
  353. {siliconcompiler-0.29.0/siliconcompiler/tools/magic → siliconcompiler-0.29.2/siliconcompiler/tools/template}/__init__.py +0 -0
  354. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/template/template.py +0 -0
  355. {siliconcompiler-0.29.0/siliconcompiler/tools/montage → siliconcompiler-0.29.2/siliconcompiler/tools/verilator}/__init__.py +0 -0
  356. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/lint.py +0 -0
  357. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/verilator/parse.py +0 -0
  358. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/__init__.py +0 -0
  359. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  360. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/place.py +0 -0
  361. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/route.py +0 -0
  362. {siliconcompiler-0.29.0/siliconcompiler/tools/netgen → siliconcompiler-0.29.2/siliconcompiler/tools/vivado/scripts}/__init__.py +0 -0
  363. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -0
  364. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -0
  365. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -0
  366. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  367. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  368. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  369. {siliconcompiler-0.29.0/siliconcompiler/tools/nextpnr → siliconcompiler-0.29.2/siliconcompiler/tools/vpr}/__init__.py +0 -0
  370. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  371. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  372. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/place.py +0 -0
  373. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/route.py +0 -0
  374. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  375. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/show.py +0 -0
  376. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/vpr/vpr.py +0 -0
  377. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/xdm/__init__.py +0 -0
  378. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/xdm/convert.py +0 -0
  379. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/xyce/__init__.py +0 -0
  380. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/xyce/simulate.py +0 -0
  381. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  382. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  383. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  384. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  385. {siliconcompiler-0.29.0/siliconcompiler/tools/openroad/templates → siliconcompiler-0.29.2/siliconcompiler/tools/yosys/techmaps}/__init__.py +0 -0
  386. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  387. {siliconcompiler-0.29.0/siliconcompiler/tools/opensta/scripts → siliconcompiler-0.29.2/siliconcompiler/tools/yosys/templates}/__init__.py +0 -0
  388. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  389. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/_tools.py +0 -0
  390. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  391. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  392. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  393. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  394. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  395. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  396. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  397. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  398. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  399. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  400. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  401. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  402. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  403. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  404. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  405. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  406. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  407. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  408. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  409. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  410. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  411. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  412. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  413. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  414. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  415. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  416. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  417. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  418. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  419. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  420. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  421. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  422. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  423. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  424. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  425. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  426. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  427. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  428. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  429. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  430. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  431. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  432. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  433. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  434. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  435. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  436. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  437. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  438. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  439. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  440. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  441. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  442. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  443. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  444. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  445. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  446. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  447. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  448. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  449. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  450. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  451. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  452. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  453. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  454. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  455. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  456. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  457. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  458. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  459. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  460. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  461. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  462. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  463. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  464. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  465. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  466. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  467. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  468. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  469. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  470. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  471. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  472. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  473. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  474. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  475. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  476. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  477. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  478. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  479. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  480. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  481. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  482. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  483. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  484. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/units.py +0 -0
  485. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/use.py +0 -0
  486. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler/utils/asic.py +0 -0
  487. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  488. {siliconcompiler-0.29.0 → siliconcompiler-0.29.2}/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,42 @@ The changes in each SiliconCompiler release version are described below. Commit
8
8
  version shown in (). Where applicable, the contributors that suggested a given
9
9
  feature are shown in [].
10
10
 
11
+ SiliconCompiler 0.29.2 (2025-01-16)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Added gtkwave show task to allow for vcd viewing.
17
+ * Removed enablement for conda-eda as this is no longer a supported project.
18
+
19
+ **Minor:**
20
+
21
+ * Allow passing a file path to `.register_source` to make it easier to handle retive path to the current file.
22
+
23
+ * Tools:
24
+
25
+ * openroad: added support for mutli-bit flipflop mapping and initial support for scan chain insertion, correct pin ordering from constraints.
26
+
27
+
28
+ SiliconCompiler 0.29.1 (2025-01-09)
29
+ =========================================
30
+
31
+ **Major:**
32
+
33
+ * Added optional `optimizer` install extra to provide design optimization via google-vizier.
34
+
35
+ **Minor:**
36
+
37
+ * Added capability to import flist files via `Chip.import_flist`
38
+ * Added quiet loglevel to limit siliconcompiler logging to just the most critical information.
39
+
40
+ * Tools:
41
+
42
+ * openroad: switch to turn on new macro placer by default and correct handling of dont_use based on cell lists.
43
+ * yosys: add detailed metrics for cell counts, added support for handling clockgate insertion, simplified library file handling, and updated lec task.
44
+ * sta: added check_library task to help verify library setups for asic flows.
45
+
46
+
11
47
  SiliconCompiler 0.29.0 (2024-12-12)
12
48
  =========================================
13
49
 
@@ -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.2
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
6
6
  License: Apache License 2.0
@@ -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.14
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,10 +57,11 @@ 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.2; 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
- Requires-Dist: responses==0.25.3; extra == "test"
64
+ Requires-Dist: responses==0.25.5; extra == "test"
64
65
  Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
65
66
  Provides-Extra: lint
66
67
  Requires-Dist: flake8==7.1.1; extra == "lint"
@@ -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.21; 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.14",
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,15 +87,29 @@ 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.2; 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
- "responses == 0.25.3",
112
+ "responses == 0.25.5",
99
113
  "PyVirtualDisplay == 3.0"
100
114
  ]
101
115
  lint = [
@@ -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.21; 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.2'
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
+ }
@@ -126,7 +126,7 @@ def _recommended_tool_groups(tools):
126
126
  groups = {
127
127
  "asic": {"surelog", "sv2v", "yosys", "openroad", "klayout"},
128
128
  "fpga": {"surelog", "sv2v", "yosys", "vpr"},
129
- "digital-simulation": {"verilator", "icarus"},
129
+ "digital-simulation": {"verilator", "icarus", "gtkwave"},
130
130
  "analog-simulation": {"xyce"}
131
131
  }
132
132
 
@@ -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"]:
@@ -490,6 +500,9 @@ class Chip:
490
500
  'dependency-caching-rebase')
491
501
  """
492
502
 
503
+ if os.path.isfile(path):
504
+ path = os.path.dirname(os.path.abspath(path))
505
+
493
506
  preset_path = self.get('package', 'source', name, 'path')
494
507
  preset_ref = self.get('package', 'source', name, 'ref')
495
508
  if preset_path and preset_path != path or preset_ref and preset_ref != ref:
@@ -975,7 +988,7 @@ class Chip:
975
988
  self.logger.debug(f'Setting {keypath} to {value}')
976
989
 
977
990
  # Special case to ensure loglevel is updated ASAP
978
- if keypath == ['option', 'loglevel'] and field == 'value' and \
991
+ if tuple(keypath) == ('option', 'loglevel') and field == 'value' and \
979
992
  step == self.get('arg', 'step') and index == self.get('arg', 'index'):
980
993
  self.logger.setLevel(schema_utils.translate_loglevel(value))
981
994
 
@@ -1074,6 +1087,54 @@ class Chip:
1074
1087
  except (ValueError, TypeError) as e:
1075
1088
  self.error(str(e))
1076
1089
 
1090
+ def import_flist(self, filename, package=None):
1091
+ '''
1092
+ Add input files, include directories, and defines from an flist
1093
+
1094
+ Args:
1095
+ filename (path): Path to flist file
1096
+ package (str): name of package
1097
+ '''
1098
+
1099
+ if package:
1100
+ filename = os.path.join(sc_package.path(self, package), filename)
1101
+
1102
+ if not os.path.isfile(filename):
1103
+ raise FileNotFoundError(filename)
1104
+
1105
+ package_name = f'flist-{os.path.basename(filename)}'
1106
+ package_dir = os.path.dirname(os.path.abspath(filename))
1107
+
1108
+ def __make_path(rel, path):
1109
+ path = utils._resolve_env_vars(self, path)
1110
+ if os.path.isabs(path):
1111
+ if path.startswith(rel):
1112
+ return os.path.relpath(path, rel), package_name
1113
+ else:
1114
+ return path, None
1115
+ return path, package_name
1116
+
1117
+ self.register_source(
1118
+ package_name,
1119
+ path=package_dir)
1120
+ with utils.sc_open(filename) as f:
1121
+ for line in f:
1122
+ line = line.strip()
1123
+ if not line:
1124
+ continue
1125
+ if line.startswith("//"):
1126
+ continue
1127
+ if line.startswith("+incdir+"):
1128
+ line = line[8:]
1129
+ path, package = __make_path(package_dir, line)
1130
+ self.add('option', 'idir', path, package=package)
1131
+ elif line.startswith("+define+"):
1132
+ line = line[8:]
1133
+ self.add('option', 'define', line)
1134
+ else:
1135
+ path, package = __make_path(package_dir, line)
1136
+ self.input(path, package=package)
1137
+
1077
1138
  ###########################################################################
1078
1139
  def input(self, filename, fileset=None, filetype=None, iomap=None,
1079
1140
  step=None, index=None, package=None):
@@ -2384,7 +2445,7 @@ class Chip:
2384
2445
  swap('library', lib, 'option', 'library')
2385
2446
 
2386
2447
  ########################################################################
2387
- def collect(self, directory=None, verbose=True, whitelist=None):
2448
+ def collect(self, directory=None, verbose=True, whitelist=None, exclude_packages=None):
2388
2449
  '''
2389
2450
  Collects files found in the configuration dictionary and places
2390
2451
  them in inputs/. The function only copies in files that have the 'copy'
@@ -2402,6 +2463,8 @@ class Chip:
2402
2463
  whitelist (list[path]): List of directories that are allowed to be
2403
2464
  collected. If a directory is is found that is not on this list
2404
2465
  a RuntimeError will be raised.
2466
+ package_filter (list[str]): List of packages to exclude from
2467
+ collection.
2405
2468
  '''
2406
2469
 
2407
2470
  if not directory:
@@ -2414,6 +2477,9 @@ class Chip:
2414
2477
  if verbose:
2415
2478
  self.logger.info('Collecting input sources')
2416
2479
 
2480
+ if not exclude_packages:
2481
+ exclude_packages = []
2482
+
2417
2483
  dirs = {}
2418
2484
  files = {}
2419
2485
 
@@ -2453,6 +2519,8 @@ class Chip:
2453
2519
  if not package:
2454
2520
  # Ensure package is an empty string
2455
2521
  package = ''
2522
+ if package in exclude_packages:
2523
+ continue
2456
2524
  if is_dir:
2457
2525
  dirs[(package, path)] = abspath
2458
2526
  else:
@@ -3135,6 +3203,7 @@ class Chip:
3135
3203
  sc_step = self.get('arg', 'step')
3136
3204
  sc_index = self.get('arg', 'index')
3137
3205
  sc_job = self.get('option', 'jobname')
3206
+ flow = self.get('option', 'flow')
3138
3207
 
3139
3208
  has_filename = filename is not None
3140
3209
  # Finding last layout if no argument specified
@@ -3145,14 +3214,15 @@ class Chip:
3145
3214
  if sc_step and sc_index:
3146
3215
  search_nodes.append((sc_step, sc_index))
3147
3216
  elif sc_step:
3148
- for check_step, check_index in nodes_to_execute(self, self.get('option', 'flow')):
3217
+ for check_step, check_index in nodes_to_execute(self, flow):
3149
3218
  if sc_step == check_step:
3150
3219
  search_nodes.append((check_step, check_index))
3151
3220
  else:
3152
- for nodes in _get_flowgraph_execution_order(self,
3153
- self.get('option', 'flow'),
3154
- reverse=True):
3155
- search_nodes.extend(nodes)
3221
+ if flow is not None:
3222
+ for nodes in _get_flowgraph_execution_order(self,
3223
+ flow,
3224
+ reverse=True):
3225
+ search_nodes.extend(nodes)
3156
3226
 
3157
3227
  for ext in self._showtools.keys():
3158
3228
  if extension and extension != ext: