siliconcompiler 0.28.8__tar.gz → 0.28.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/Changes +14 -0
  2. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/PKG-INFO +1 -1
  3. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/_metadata.py +1 -1
  4. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/send_messages.py +37 -33
  5. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/validation/email_credentials.json +7 -0
  6. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/fpgaflow_demo.py +6 -7
  7. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/__init__.py +2 -2
  8. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/bitstream.py +8 -2
  9. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/place.py +6 -2
  10. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/route.py +6 -2
  11. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +1 -1
  12. siliconcompiler-0.28.9/siliconcompiler/tools/vivado/scripts/sc_place.tcl +2 -0
  13. siliconcompiler-0.28.9/siliconcompiler/tools/vivado/scripts/sc_route.tcl +4 -0
  14. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +4 -2
  15. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/syn_fpga.py +5 -1
  16. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/vivado.py +26 -10
  17. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/vpr.py +5 -0
  18. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/_tools.json +2 -2
  19. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/PKG-INFO +1 -1
  20. siliconcompiler-0.28.8/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -2
  21. siliconcompiler-0.28.8/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -4
  22. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/.dockerignore +0 -0
  23. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/.flake8 +0 -0
  24. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/.gitattributes +0 -0
  25. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/.gitignore +0 -0
  26. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/.readthedocs.yaml +0 -0
  27. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/CONTRIBUTING.md +0 -0
  28. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/LICENSE +0 -0
  29. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/MANIFEST.in +0 -0
  30. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/README.md +0 -0
  31. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/SECURITY.md +0 -0
  32. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/pyproject.toml +0 -0
  33. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/scripts/.gitignore +0 -0
  34. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/scripts/profile_sc.py +0 -0
  35. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/scripts/report_library.py +0 -0
  36. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/setup.cfg +0 -0
  37. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/__init__.py +0 -0
  38. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/__main__.py +0 -0
  39. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/_common.py +0 -0
  40. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/__init__.py +0 -0
  41. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/_common.py +0 -0
  42. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc.py +0 -0
  43. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_dashboard.py +0 -0
  44. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_install.py +0 -0
  45. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_issue.py +0 -0
  46. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_remote.py +0 -0
  47. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_server.py +0 -0
  48. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/sc_show.py +0 -0
  49. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/smake.py +0 -0
  50. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/apps/utils/summarize.py +0 -0
  51. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/checklists/__init__.py +0 -0
  52. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  53. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/core.py +0 -0
  54. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  55. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  56. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  57. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/__init__.py +0 -0
  58. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/heartbeat.v +0 -0
  59. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/data/logo.png +0 -0
  60. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flowgraph.py +0 -0
  61. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/__init__.py +0 -0
  62. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/_common.py +0 -0
  63. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/asicflow.py +0 -0
  64. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/asictopflow.py +0 -0
  65. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/drcflow.py +0 -0
  66. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/dvflow.py +0 -0
  67. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/fpgaflow.py +0 -0
  68. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/generate_openroad_rcx.py +0 -0
  69. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/interposerflow.py +0 -0
  70. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/lintflow.py +0 -0
  71. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/screenshotflow.py +0 -0
  72. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/showflow.py +0 -0
  73. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/signoffflow.py +0 -0
  74. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/flows/synflow.py +0 -0
  75. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/fpgas/__init__.py +0 -0
  76. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  77. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/fpgas/vpr_example.py +0 -0
  78. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/issue.py +0 -0
  79. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/__init__.py +0 -0
  80. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/asap7sc7p5t.py +0 -0
  81. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/gf180mcu.py +0 -0
  82. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/interposer.py +0 -0
  83. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/nangate45.py +0 -0
  84. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/sg13g2_stdcell.py +0 -0
  85. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/sky130hd.py +0 -0
  86. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/libs/sky130io.py +0 -0
  87. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/package.py +0 -0
  88. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/__init__.py +0 -0
  89. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/asap7.py +0 -0
  90. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/freepdk45.py +0 -0
  91. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/gf180.py +0 -0
  92. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/ihp130.py +0 -0
  93. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/interposer.py +0 -0
  94. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/pdks/skywater130.py +0 -0
  95. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/__init__.py +0 -0
  96. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/client.py +0 -0
  97. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/schema.py +0 -0
  98. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server.py +0 -0
  99. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  100. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  101. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  102. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  103. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  104. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  105. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  106. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  107. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  108. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  109. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  110. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  111. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  112. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  113. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  114. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/__init__.py +0 -0
  115. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/__init__.py +0 -0
  116. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/components/__init__.py +0 -0
  117. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/components/flowgraph.py +0 -0
  118. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/components/graph.py +0 -0
  119. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/layouts/__init__.py +0 -0
  120. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/layouts/_common.py +0 -0
  121. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +0 -0
  122. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +0 -0
  123. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  124. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/state.py +0 -0
  125. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/utils/__init__.py +0 -0
  126. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/utils/file_utils.py +0 -0
  127. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/dashboard/viewer.py +0 -0
  128. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/html_report.py +0 -0
  129. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/report.py +0 -0
  130. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/summary_image.py +0 -0
  131. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/summary_table.py +0 -0
  132. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/report/utils.py +0 -0
  133. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/__init__.py +0 -0
  134. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/docker_runner.py +0 -0
  135. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/run_node.py +0 -0
  136. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/slurm.py +0 -0
  137. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  138. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/schema/__init__.py +0 -0
  139. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/schema/schema_cfg.py +0 -0
  140. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/schema/schema_obj.py +0 -0
  141. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/schema/utils.py +0 -0
  142. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/sphinx_ext/__init__.py +0 -0
  143. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/sphinx_ext/dynamicgen.py +0 -0
  144. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/sphinx_ext/schemagen.py +0 -0
  145. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/sphinx_ext/utils.py +0 -0
  146. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/__init__.py +0 -0
  147. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/asap7_demo.py +0 -0
  148. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/asic_demo.py +0 -0
  149. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  150. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/gf180_demo.py +0 -0
  151. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/ihp130_demo.py +0 -0
  152. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/interposer_demo.py +0 -0
  153. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/targets/skywater130_demo.py +0 -0
  154. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/__init__.py +0 -0
  155. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/email/__init__.py +0 -0
  156. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/email/general.j2 +0 -0
  157. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/email/summary.j2 +0 -0
  158. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/issue/README.txt +0 -0
  159. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/issue/__init__.py +0 -0
  160. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/issue/run.sh +0 -0
  161. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/report/__init__.py +0 -0
  162. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/report/bootstrap.min.css +0 -0
  163. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/report/bootstrap.min.js +0 -0
  164. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/report/bootstrap_LICENSE.md +0 -0
  165. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/report/sc_report.j2 +0 -0
  166. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/slurm/__init__.py +0 -0
  167. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/slurm/run.sh +0 -0
  168. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/tcl/__init__.py +0 -0
  169. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/templates/tcl/manifest.tcl.j2 +0 -0
  170. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/__init__.py +0 -0
  171. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/asic.py +0 -0
  172. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  173. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  174. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  175. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  176. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bambu/__init__.py +0 -0
  177. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bambu/bambu.py +0 -0
  178. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bambu/convert.py +0 -0
  179. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  180. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bluespec/bluespec.py +0 -0
  181. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/bluespec/convert.py +0 -0
  182. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/__init__.py +0 -0
  183. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/_common.py +0 -0
  184. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/builtin.py +0 -0
  185. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/concatenate.py +0 -0
  186. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/join.py +0 -0
  187. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/maximum.py +0 -0
  188. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/minimum.py +0 -0
  189. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/mux.py +0 -0
  190. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/nop.py +0 -0
  191. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/builtin/verify.py +0 -0
  192. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/chisel/SCDriver.scala +0 -0
  193. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/chisel/__init__.py +0 -0
  194. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/chisel/build.sbt +0 -0
  195. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/chisel/chisel.py +0 -0
  196. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/chisel/convert.py +0 -0
  197. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/execute/__init__.py +0 -0
  198. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/execute/exec_input.py +0 -0
  199. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/execute/execute.py +0 -0
  200. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  201. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  202. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/genfasm/genfasm.py +0 -0
  203. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  204. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/ghdl/convert.py +0 -0
  205. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/ghdl/ghdl.py +0 -0
  206. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icarus/__init__.py +0 -0
  207. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icarus/compile.py +0 -0
  208. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icarus/icarus.py +0 -0
  209. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icepack/__init__.py +0 -0
  210. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  211. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/icepack/icepack.py +0 -0
  212. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/__init__.py +0 -0
  213. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  214. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/drc.py +0 -0
  215. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/export.py +0 -0
  216. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout.py +0 -0
  217. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout_convert_drc_db.py +0 -0
  218. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout_export.py +0 -0
  219. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout_operations.py +0 -0
  220. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout_show.py +0 -0
  221. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/klayout_utils.py +0 -0
  222. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/operations.py +0 -0
  223. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/screenshot.py +0 -0
  224. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/klayout/show.py +0 -0
  225. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/__init__.py +0 -0
  226. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/drc.py +0 -0
  227. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/extspice.py +0 -0
  228. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/magic.py +0 -0
  229. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/sc_drc.tcl +0 -0
  230. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/sc_extspice.tcl +0 -0
  231. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/magic/sc_magic.tcl +0 -0
  232. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/montage/__init__.py +0 -0
  233. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/montage/montage.py +0 -0
  234. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/montage/tile.py +0 -0
  235. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/netgen/__init__.py +0 -0
  236. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  237. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/netgen/lvs.py +0 -0
  238. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/netgen/netgen.py +0 -0
  239. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/netgen/sc_lvs.tcl +0 -0
  240. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  241. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  242. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/nextpnr/nextpnr.py +0 -0
  243. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/__init__.py +0 -0
  244. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/cts.py +0 -0
  245. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/dfm.py +0 -0
  246. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/export.py +0 -0
  247. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/floorplan.py +0 -0
  248. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/metrics.py +0 -0
  249. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/openroad.py +0 -0
  250. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/physyn.py +0 -0
  251. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/place.py +0 -0
  252. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  253. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  254. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  255. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/route.py +0 -0
  256. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  257. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
  258. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_apr.tcl +0 -0
  259. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -0
  260. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +0 -0
  261. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_export.tcl +0 -0
  262. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +0 -0
  263. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +0 -0
  264. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -0
  265. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_place.tcl +0 -0
  266. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_procs.tcl +0 -0
  267. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  268. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_rcx_bench.tcl +0 -0
  269. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_rcx_extract.tcl +0 -0
  270. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +0 -0
  271. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_report.tcl +0 -0
  272. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_route.tcl +0 -0
  273. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +0 -0
  274. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_write.tcl +0 -0
  275. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +0 -0
  276. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/show.py +0 -0
  277. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  278. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  279. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/__init__.py +0 -0
  280. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  281. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  282. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  283. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +0 -0
  284. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +0 -0
  285. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/opensta/timing.py +0 -0
  286. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/slang/__init__.py +0 -0
  287. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/slang/lint.py +0 -0
  288. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/surelog/__init__.py +0 -0
  289. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/surelog/parse.py +0 -0
  290. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  291. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  292. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  293. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/sv2v/convert.py +0 -0
  294. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/sv2v/sv2v.py +0 -0
  295. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/template/__init__.py +0 -0
  296. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/template/template.py +0 -0
  297. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/verilator/__init__.py +0 -0
  298. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/verilator/compile.py +0 -0
  299. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/verilator/lint.py +0 -0
  300. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/verilator/parse.py +0 -0
  301. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/verilator/verilator.py +0 -0
  302. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/__init__.py +0 -0
  303. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  304. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +0 -0
  305. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/__init__.py +0 -0
  306. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  307. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  308. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/place.py +0 -0
  309. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/route.py +0 -0
  310. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  311. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/vpr/show.py +0 -0
  312. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/xdm/__init__.py +0 -0
  313. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/xdm/convert.py +0 -0
  314. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/xyce/__init__.py +0 -0
  315. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/xyce/simulate.py +0 -0
  316. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/__init__.py +0 -0
  317. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/lec.py +0 -0
  318. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  319. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/procs.tcl +0 -0
  320. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/sc_lec.tcl +0 -0
  321. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/sc_screenshot.tcl +0 -0
  322. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/sc_syn.tcl +0 -0
  323. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/screenshot.py +0 -0
  324. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/syn_asic.py +0 -0
  325. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/syn_asic.tcl +0 -0
  326. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/syn_fpga.py +0 -0
  327. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/syn_fpga.tcl +0 -0
  328. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/syn_strategies.tcl +0 -0
  329. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  330. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  331. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  332. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  333. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/tools/yosys/yosys.py +0 -0
  334. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/_tools.py +0 -0
  335. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  336. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-ghdl.sh +0 -0
  337. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  338. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  339. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  340. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  341. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  342. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  343. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  344. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  345. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  346. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  347. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  348. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel8/install-yosys.sh +0 -0
  349. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  350. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  351. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  352. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  353. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  354. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  355. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  356. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  357. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  358. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  359. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  360. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  361. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  362. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  363. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  364. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  365. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  366. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  367. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  368. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  369. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  370. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  371. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  372. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  373. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  374. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  375. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  376. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  377. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  378. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  379. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  380. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  381. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  382. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +0 -0
  383. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  384. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  385. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +0 -0
  386. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  387. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  388. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  389. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  390. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  391. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  392. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  393. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  394. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  395. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  396. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  397. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  398. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  399. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  400. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  401. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  402. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  403. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  404. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  405. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  406. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  407. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  408. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  409. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  410. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  411. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  412. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  413. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  414. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  415. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  416. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  417. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  418. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  419. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  420. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  421. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  422. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  423. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  424. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  425. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  426. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  427. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  428. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  429. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  430. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/units.py +0 -0
  431. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/use.py +0 -0
  432. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/utils/__init__.py +0 -0
  433. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/utils/asic.py +0 -0
  434. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler/utils/showtools.py +0 -0
  435. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/SOURCES.txt +0 -0
  436. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  437. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/entry_points.txt +0 -0
  438. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/requires.txt +0 -0
  439. {siliconcompiler-0.28.8 → siliconcompiler-0.28.9}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -8,6 +8,20 @@ The changes in each SiliconCompiler release version are described below. Commit
8
8
  version shown in (). Where applicable, the contributors that suggested a given
9
9
  feature are shown in [].
10
10
 
11
+ SiliconCompiler 0.28.9 (2024-11-27)
12
+ =========================================
13
+
14
+ **Minor:**
15
+
16
+ * Added option to limit size of emailed logs based on number of lines.
17
+ * Fixed handling of `find_files` in frontend tools
18
+ * Removed automatic error when FPGA is not loaded, as this can be handled by the tool/task drivers.
19
+
20
+ * Tools:
21
+
22
+ * vivado: update tool and task drivers to handle v2024.x and cleaned up output filenames.
23
+
24
+
11
25
  SiliconCompiler 0.28.8 (2024-11-20)
12
26
  =========================================
13
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siliconcompiler
3
- Version: 0.28.8
3
+ Version: 0.28.9
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
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.28.8'
2
+ version = '0.28.9'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -81,40 +81,44 @@ def send(chip, msg_type, step, index):
81
81
  msg['To'] = ", ".join(to)
82
82
  msg['X-Entity-Ref-ID'] = uuid.uuid4().hex # keep emails from getting grouped
83
83
 
84
- if msg_type == "summary":
85
- layout_img = report_utils._find_summary_image(chip)
86
- if layout_img and os.path.isfile(layout_img):
87
- with open(layout_img, 'rb') as img_file:
88
- img_attach = MIMEApplication(img_file.read())
89
- img_attach.add_header('Content-Disposition',
90
- 'attachment',
91
- filename=os.path.basename(layout_img))
92
- msg.attach(img_attach)
93
-
94
- nodes_to_execute = get_executed_nodes(chip, flow)
95
- nodes, errors, metrics, metrics_unit, metrics_to_show, _ = \
96
- report_utils._collect_data(chip, flow=flow, flowgraph_nodes=nodes_to_execute)
97
-
98
- text_msg = get_file_template('email/summary.j2').render(
99
- design=chip.design,
100
- nodes=nodes,
101
- errors=errors,
102
- metrics=metrics,
103
- metrics_unit=metrics_unit,
104
- metric_keys=metrics_to_show)
105
- else:
106
- # Attach logs
107
- for log in (f'sc_{step}{index}.log', f'{step}.log'):
108
- log_file = f'{chip.getworkdir(step=step, index=index)}/{log}'
109
- if os.path.exists(log_file):
110
- with sc_open(log_file) as f:
111
- log_attach = MIMEApplication(f.read())
112
- log_name, _ = os.path.splitext(log)
113
- # Make attachment a txt file to avoid issues with tools not loading .log
114
- log_attach.add_header('Content-Disposition',
84
+ if cred["max_file_size"] > 0:
85
+ if msg_type == "summary":
86
+ layout_img = report_utils._find_summary_image(chip)
87
+ if layout_img and os.path.isfile(layout_img):
88
+ with open(layout_img, 'rb') as img_file:
89
+ img_attach = MIMEApplication(img_file.read())
90
+ img_attach.add_header('Content-Disposition',
115
91
  'attachment',
116
- filename=f'{log_name}.txt')
117
- msg.attach(log_attach)
92
+ filename=os.path.basename(layout_img))
93
+ msg.attach(img_attach)
94
+
95
+ nodes_to_execute = get_executed_nodes(chip, flow)
96
+ nodes, errors, metrics, metrics_unit, metrics_to_show, _ = \
97
+ report_utils._collect_data(chip, flow=flow, flowgraph_nodes=nodes_to_execute)
98
+
99
+ text_msg = get_file_template('email/summary.j2').render(
100
+ design=chip.design,
101
+ nodes=nodes,
102
+ errors=errors,
103
+ metrics=metrics,
104
+ metrics_unit=metrics_unit,
105
+ metric_keys=metrics_to_show)
106
+ else:
107
+ # Attach logs
108
+ for log in (f'sc_{step}{index}.log', f'{step}.log'):
109
+ log_file = f'{chip.getworkdir(step=step, index=index)}/{log}'
110
+ if os.path.exists(log_file):
111
+ with sc_open(log_file) as f:
112
+ file_content = f.read().splitlines()
113
+ # Limit to max_file_size
114
+ file_content = file_content[-cred["max_file_size"]:]
115
+ log_attach = MIMEApplication("\n".join(file_content))
116
+ log_name, _ = os.path.splitext(log)
117
+ # Make attachment a txt file to avoid issues with tools not loading .log
118
+ log_attach.add_header('Content-Disposition',
119
+ 'attachment',
120
+ filename=f'{log_name}.txt')
121
+ msg.attach(log_attach)
118
122
 
119
123
  records = {}
120
124
  for record in chip.getkeys('record'):
@@ -47,6 +47,13 @@
47
47
  "examples": [true],
48
48
  "type": "boolean",
49
49
  "default": true
50
+ },
51
+ "max_file_size": {
52
+ "title": "Max line in log file",
53
+ "description": "Maximum number of file lines to include in log",
54
+ "examples": [1000],
55
+ "type": "integer",
56
+ "default": 1000
50
57
  }
51
58
  },
52
59
 
@@ -16,25 +16,24 @@ def make_docs(chip):
16
16
  ####################################################
17
17
  # Target Setup
18
18
  ####################################################
19
- def setup(chip):
19
+ def setup(chip, partname=None):
20
20
  '''
21
21
  Demonstration target for running the open-source fpgaflow.
22
22
  '''
23
23
 
24
24
  # 1. Configure fpga part
25
- part_name = chip.get('fpga', 'partname')
26
- if not part_name:
25
+ if not partname:
26
+ partname = chip.get('fpga', 'partname')
27
+
28
+ if not partname:
27
29
  raise SiliconCompilerError('FPGA partname has not been set.', chip=chip)
28
30
 
29
31
  # 2. Load all available FPGAs
30
32
  chip.use(lattice_ice40)
31
33
  chip.use(vpr_example)
32
34
 
33
- if part_name not in chip.getkeys('fpga'):
34
- raise SiliconCompilerError(f'{part_name} has not been loaded', chip=chip)
35
-
36
35
  # 3. Load flow
37
- chip.use(fpgaflow, partname=part_name)
36
+ chip.use(fpgaflow, partname=partname)
38
37
 
39
38
  # 4. Select default flow
40
39
  chip.set('option', 'flow', 'fpgaflow', clobber=False)
@@ -115,17 +115,17 @@ def get_input_files(chip, *key, add_library_files=True):
115
115
  add_library_files (bool): When True, files from library keys
116
116
  will be included
117
117
  '''
118
- step = chip.get('arg', 'step')
119
- index = chip.get('arg', 'index')
120
118
 
121
119
  files = []
122
120
  for key in __get_keys(chip, *key, include_library_files=False):
121
+ step, index = __get_step_index(chip, *key)
123
122
  files.extend(chip.find_files(*key, step=step, index=index))
124
123
 
125
124
  if add_library_files:
126
125
  for item in get_libraries(chip, include_asic=False):
127
126
  lib_key = ('library', item, *key)
128
127
  if __is_key_valid(chip, *lib_key):
128
+ step, index = __get_step_index(chip, *lib_key)
129
129
  files.extend(chip.find_files(*lib_key, step=step, index=index))
130
130
 
131
131
  return __remove_duplicates(chip, files, list(key))
@@ -11,9 +11,15 @@ def setup(chip):
11
11
  vivado.setup_task(chip, task)
12
12
 
13
13
  design = chip.top()
14
- chip.set('tool', tool, 'task', task, 'input', f'{design}_checkpoint.dcp',
14
+ chip.set('tool', tool, 'task', task, 'input', f'{design}.dcp',
15
15
  step=step, index=index)
16
- chip.set('tool', tool, 'task', task, 'output', f'{design}.bit',
16
+ chip.set('tool', tool, 'task', task, 'output', f'{design}.dcp',
17
+ step=step, index=index)
18
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.xdc',
19
+ step=step, index=index)
20
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.vg',
21
+ step=step, index=index)
22
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.bit',
17
23
  step=step, index=index)
18
24
 
19
25
 
@@ -11,9 +11,13 @@ def setup(chip):
11
11
  vivado.setup_task(chip, task)
12
12
 
13
13
  design = chip.top()
14
- chip.set('tool', tool, 'task', task, 'input', f'{design}_checkpoint.dcp',
14
+ chip.set('tool', tool, 'task', task, 'input', f'{design}.dcp',
15
15
  step=step, index=index)
16
- chip.set('tool', tool, 'task', task, 'output', f'{design}_checkpoint.dcp',
16
+ chip.set('tool', tool, 'task', task, 'output', f'{design}.dcp',
17
+ step=step, index=index)
18
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.xdc',
19
+ step=step, index=index)
20
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.vg',
17
21
  step=step, index=index)
18
22
 
19
23
 
@@ -11,9 +11,13 @@ def setup(chip):
11
11
  vivado.setup_task(chip, task)
12
12
 
13
13
  design = chip.top()
14
- chip.set('tool', tool, 'task', task, 'input', f'{design}_checkpoint.dcp',
14
+ chip.set('tool', tool, 'task', task, 'input', f'{design}.dcp',
15
15
  step=step, index=index)
16
- chip.set('tool', tool, 'task', task, 'output', f'{design}_checkpoint.dcp',
16
+ chip.set('tool', tool, 'task', task, 'output', f'{design}.dcp',
17
+ step=step, index=index)
18
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.xdc',
19
+ step=step, index=index)
20
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.vg',
17
21
  step=step, index=index)
18
22
 
19
23
 
@@ -1,4 +1,4 @@
1
- open_checkpoint "inputs/${sc_design}_checkpoint.dcp"
1
+ open_checkpoint "inputs/${sc_design}.dcp"
2
2
  if { $sc_constraint != "" } {
3
3
  write_bitstream -force -file "outputs/${sc_design}.bit"
4
4
  } else {
@@ -0,0 +1,2 @@
1
+ open_checkpoint "inputs/${sc_design}.dcp"
2
+ place_design
@@ -0,0 +1,4 @@
1
+ open_checkpoint "inputs/${sc_design}.dcp"
2
+ phys_opt_design
3
+ power_opt_design
4
+ route_design
@@ -28,7 +28,9 @@ source $sc_refdir/sc_$sc_task.tcl
28
28
  # Checkpoint
29
29
  ##############################
30
30
 
31
- write_checkpoint -force "outputs/${sc_design}_checkpoint"
31
+ write_checkpoint -force "outputs/${sc_design}"
32
+ write_xdc "outputs/${sc_design}.xdc"
33
+ write_verilog "outputs/${sc_design}.vg"
32
34
 
33
35
  ##############################
34
36
  # Reports / Metrics
@@ -41,4 +43,4 @@ report_clock_utilization -file "reports/clock_utilization.rpt"
41
43
  report_drc -file "reports/drc.rpt"
42
44
  report_cdc -details -file "reports/cdc.rpt"
43
45
 
44
- report_design_analysis -qor_summary -json "qor_summary.json"
46
+ report_design_analysis -qor_summary -json "reports/qor_summary.json"
@@ -12,7 +12,11 @@ def setup(chip):
12
12
 
13
13
  design = chip.top()
14
14
  chip.set('tool', tool, 'task', task, 'input', f'{design}.v', step=step, index=index)
15
- chip.set('tool', tool, 'task', task, 'output', f'{design}_checkpoint.dcp',
15
+ chip.set('tool', tool, 'task', task, 'output', f'{design}.dcp',
16
+ step=step, index=index)
17
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.xdc',
18
+ step=step, index=index)
19
+ chip.add('tool', tool, 'task', task, 'output', f'{design}.vg',
16
20
  step=step, index=index)
17
21
 
18
22
 
@@ -67,36 +67,52 @@ def normalize_version(version):
67
67
 
68
68
 
69
69
  def _parse_qor_summary(chip, step, index):
70
- if not os.path.isfile('qor_summary.json'):
70
+ if not os.path.isfile('reports/qor_summary.json'):
71
71
  return
72
72
 
73
- with sc_open('qor_summary.json') as f:
73
+ with sc_open('reports/qor_summary.json') as f:
74
74
  data = json.load(f)
75
75
 
76
76
  # Data is organized as list of tasks that Vivado has completed, with
77
77
  # metrics associated with each. The tasks appear to be in chronological
78
78
  # order, so we pull metrics from the last one.
79
79
  task = data['Design QoR Summary'][-1]
80
- setup_wns = task['Wns(ns)']
81
- setup_tns = task['Tns(ns)']
82
- hold_wns = task['Whs(ns)']
83
- hold_tns = task['Ths(ns)']
80
+ setup_wns = None
81
+ for metric in ('Wns(ns)', 'WNS(ns)'):
82
+ if metric in task:
83
+ setup_wns = task[metric]
84
+ break
85
+ setup_tns = None
86
+ for metric in ('Tns(ns)', 'TNS(ns)'):
87
+ if metric in task:
88
+ setup_tns = task[metric]
89
+ break
90
+ hold_wns = None
91
+ for metric in ('Whs(ns)', 'WHS(ns)'):
92
+ if metric in task:
93
+ hold_wns = task[metric]
94
+ break
95
+ hold_tns = None
96
+ for metric in ('Ths(ns)', 'THS(ns)'):
97
+ if metric in task:
98
+ hold_tns = task[metric]
99
+ break
84
100
 
85
101
  if setup_wns:
86
102
  record_metric(chip, step, index, 'setupwns', setup_wns,
87
- 'qor_summary.json',
103
+ 'reports/qor_summary.json',
88
104
  source_unit='ns')
89
105
  if setup_tns:
90
106
  record_metric(chip, step, index, 'setuptns', setup_tns,
91
- 'qor_summary.json',
107
+ 'reports/qor_summary.json',
92
108
  source_unit='ns')
93
109
  if hold_wns:
94
110
  record_metric(chip, step, index, 'holdwns', hold_wns,
95
- 'qor_summary.json',
111
+ 'reports/qor_summary.json',
96
112
  source_unit='ns')
97
113
  if hold_tns:
98
114
  record_metric(chip, step, index, 'holdtns', hold_tns,
99
- 'qor_summary.json',
115
+ 'reports/qor_summary.json',
100
116
  source_unit='ns')
101
117
 
102
118
 
@@ -94,6 +94,11 @@ def runtime_options(chip):
94
94
 
95
95
  options.append(f"--device {device_code[0]}")
96
96
 
97
+ # Medium-term solution: VPR performs hash digest checks that
98
+ # fail if file paths are changed between steps. We wish to
99
+ # disable the digest checks to work around this
100
+ options.append("--verify_file_digests off")
101
+
97
102
  options.append(f"--write_block_usage {__block_file}")
98
103
  options.append("--outfile_prefix outputs/")
99
104
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openroad": {
3
3
  "git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
4
- "git-commit": "c3e802e73aa2ca2974874e487ae481fc4f2cb8c3",
4
+ "git-commit": "8300b5293dec4c0a0ef26cd2ba7ca6101714e155",
5
5
  "docker-cmds": [
6
6
  "# Remove OR-Tools files",
7
7
  "RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
@@ -66,7 +66,7 @@
66
66
  },
67
67
  "vpr": {
68
68
  "git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
69
- "git-commit": "9dd5ff66e3ab43238f5a4cb14cafe17bc4afe527",
69
+ "git-commit": "de31f094aa4f894a5e6e0dc32c66365f4b341190",
70
70
  "auto-update": false
71
71
  },
72
72
  "icepack": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siliconcompiler
3
- Version: 0.28.8
3
+ Version: 0.28.9
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
@@ -1,2 +0,0 @@
1
- open_checkpoint "inputs/${sc_design}_checkpoint.dcp"
2
- place_design
@@ -1,4 +0,0 @@
1
- open_checkpoint "inputs/${sc_design}_checkpoint.dcp"
2
- phys_opt_design
3
- power_opt_design
4
- route_design