siliconcompiler 0.35.3__tar.gz → 0.36.0__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 (514) hide show
  1. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/Changes +47 -0
  2. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/PKG-INFO +5 -4
  3. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/README.md +1 -1
  4. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/pyproject.toml +8 -4
  5. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/_metadata.py +1 -1
  6. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_issue.py +18 -2
  7. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/checklist.py +2 -1
  8. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/constraints/__init__.py +4 -1
  9. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/constraints/asic_component.py +49 -11
  10. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/constraints/asic_floorplan.py +23 -21
  11. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/constraints/asic_pins.py +55 -17
  12. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/constraints/asic_timing.py +280 -57
  13. siliconcompiler-0.36.0/siliconcompiler/constraints/fpga_timing.py +384 -0
  14. siliconcompiler-0.36.0/siliconcompiler/constraints/timing_mode.py +82 -0
  15. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/replay/replay.sh.j2 +27 -14
  16. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/tcl/manifest.tcl.j2 +0 -6
  17. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flowgraph.py +95 -42
  18. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/generate_openroad_rcx.py +2 -2
  19. siliconcompiler-0.36.0/siliconcompiler/flows/highresscreenshotflow.py +37 -0
  20. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/library.py +2 -1
  21. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/package/__init__.py +56 -51
  22. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/project.py +13 -2
  23. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/docker.py +24 -25
  24. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/scheduler.py +143 -100
  25. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/schedulernode.py +138 -22
  26. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/slurm.py +120 -35
  27. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/taskscheduler.py +19 -23
  28. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/_metadata.py +1 -1
  29. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/editableschema.py +29 -0
  30. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/namedschema.py +2 -4
  31. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/parametervalue.py +14 -2
  32. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/cmdlineschema.py +0 -3
  33. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/dependencyschema.py +0 -6
  34. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/option.py +82 -1
  35. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/pathschema.py +7 -13
  36. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/record.py +4 -3
  37. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tool.py +105 -52
  38. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +0 -6
  39. siliconcompiler-0.36.0/siliconcompiler/tools/keplerformal/__init__.py +7 -0
  40. siliconcompiler-0.36.0/siliconcompiler/tools/keplerformal/lec.py +112 -0
  41. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/__init__.py +3 -0
  42. siliconcompiler-0.36.0/siliconcompiler/tools/klayout/screenshot.py +112 -0
  43. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/scripts/klayout_convert_drc_db.py +1 -0
  44. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/scripts/klayout_export.py +11 -40
  45. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/scripts/klayout_operations.py +1 -0
  46. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/scripts/klayout_show.py +5 -4
  47. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/scripts/klayout_utils.py +16 -5
  48. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/montage/tile.py +26 -12
  49. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/__init__.py +27 -1
  50. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/_apr.py +107 -14
  51. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/clock_tree_synthesis.py +1 -0
  52. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/global_placement.py +1 -0
  53. siliconcompiler-0.36.0/siliconcompiler/tools/openroad/init_floorplan.py +181 -0
  54. siliconcompiler-0.36.0/siliconcompiler/tools/openroad/power_grid_analysis.py +174 -0
  55. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/repair_design.py +1 -0
  56. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/repair_timing.py +1 -0
  57. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +1 -1
  58. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +91 -18
  59. siliconcompiler-0.36.0/siliconcompiler/tools/openroad/scripts/apr/sc_irdrop.tcl +148 -0
  60. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -1
  61. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +8 -10
  62. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/procs.tcl +15 -6
  63. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +2 -2
  64. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/reports.tcl +7 -4
  65. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +1 -1
  66. siliconcompiler-0.36.0/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +11 -0
  67. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/write_images.tcl +16 -12
  68. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl +2 -4
  69. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +3 -1
  70. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/write_data.py +2 -2
  71. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/__init__.py +1 -1
  72. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +2 -2
  73. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +2 -2
  74. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/scripts/sc_timing.tcl +13 -10
  75. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/timing.py +6 -2
  76. siliconcompiler-0.36.0/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +13 -0
  77. siliconcompiler-0.36.0/siliconcompiler/tools/vivado/scripts/sc_place.tcl +13 -0
  78. siliconcompiler-0.36.0/siliconcompiler/tools/vivado/scripts/sc_route.tcl +15 -0
  79. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/scripts/sc_syn_fpga.tcl +10 -0
  80. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/__init__.py +28 -0
  81. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/sc_screenshot.tcl +1 -1
  82. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +40 -4
  83. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/sc_synth_fpga.tcl +15 -5
  84. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/syn_asic.py +42 -0
  85. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/syn_fpga.py +8 -0
  86. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/_tools.json +12 -7
  87. siliconcompiler-0.36.0/siliconcompiler/toolscripts/ubuntu22/install-keplerformal.sh +72 -0
  88. siliconcompiler-0.36.0/siliconcompiler/toolscripts/ubuntu24/install-keplerformal.sh +72 -0
  89. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/__init__.py +243 -51
  90. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/curation.py +89 -56
  91. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/issue.py +6 -1
  92. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/multiprocessing.py +46 -2
  93. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/paths.py +21 -0
  94. siliconcompiler-0.36.0/siliconcompiler/utils/settings.py +162 -0
  95. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/PKG-INFO +5 -4
  96. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/SOURCES.txt +9 -0
  97. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/requires.txt +2 -2
  98. siliconcompiler-0.35.3/siliconcompiler/constraints/fpga_timing.py +0 -190
  99. siliconcompiler-0.35.3/siliconcompiler/tools/klayout/screenshot.py +0 -47
  100. siliconcompiler-0.35.3/siliconcompiler/tools/openroad/init_floorplan.py +0 -69
  101. siliconcompiler-0.35.3/siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +0 -3
  102. siliconcompiler-0.35.3/siliconcompiler/tools/vivado/scripts/sc_bitstream.tcl +0 -2
  103. siliconcompiler-0.35.3/siliconcompiler/tools/vivado/scripts/sc_place.tcl +0 -2
  104. siliconcompiler-0.35.3/siliconcompiler/tools/vivado/scripts/sc_route.tcl +0 -4
  105. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/.dockerignore +0 -0
  106. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/.flake8 +0 -0
  107. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/.gitattributes +0 -0
  108. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/.gitignore +0 -0
  109. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/.readthedocs.yaml +0 -0
  110. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/CONTRIBUTING.md +0 -0
  111. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/LICENSE +0 -0
  112. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/MANIFEST.in +0 -0
  113. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/SECURITY.md +0 -0
  114. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/scripts/.gitignore +0 -0
  115. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/scripts/methods.py +0 -0
  116. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/scripts/profile_sc.py +0 -0
  117. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/scripts/requirements.txt +0 -0
  118. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/setup.cfg +0 -0
  119. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/__init__.py +0 -0
  120. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/_common.py +0 -0
  121. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/__init__.py +0 -0
  122. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/_common.py +0 -0
  123. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_dashboard.py +0 -0
  124. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_install.py +0 -0
  125. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_remote.py +0 -0
  126. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_server.py +0 -0
  127. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/sc_show.py +0 -0
  128. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/smake.py +0 -0
  129. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/utils/replay.py +0 -0
  130. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/apps/utils/summarize.py +0 -0
  131. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/asic.py +0 -0
  132. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/checklists/__init__.py +0 -0
  133. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/checklists/oh_tapeout.py +0 -0
  134. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/RobotoMono/LICENSE.txt +0 -0
  135. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf +0 -0
  136. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/RobotoMono/__init__.py +0 -0
  137. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/__init__.py +0 -0
  138. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/heartbeat.pcf +0 -0
  139. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/heartbeat.sdc +0 -0
  140. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/tech_flops.lib +0 -0
  141. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/tech_flops.v +0 -0
  142. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/vtr_primitives.lib +0 -0
  143. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/z1000.xml +0 -0
  144. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/z1000_constraint_map.json +0 -0
  145. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/z1000_rr_graph.xml +0 -0
  146. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/demo_fpga/z1000_yosys_config.json +0 -0
  147. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/heartbeat.sdc +0 -0
  148. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/heartbeat.v +0 -0
  149. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/logo.png +0 -0
  150. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/__init__.py +0 -0
  151. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/email/__init__.py +0 -0
  152. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/email/general.j2 +0 -0
  153. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/email/summary.j2 +0 -0
  154. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/issue/README.txt +0 -0
  155. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/issue/__init__.py +0 -0
  156. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/issue/run.sh +0 -0
  157. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/replay/replay.py.j2 +0 -0
  158. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/replay/requirements.txt +0 -0
  159. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/replay/setup.sh +0 -0
  160. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/slurm/__init__.py +0 -0
  161. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/slurm/run.sh +0 -0
  162. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/data/templates/tcl/__init__.py +0 -0
  163. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/demos/__init__.py +0 -0
  164. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/demos/asic_demo.py +0 -0
  165. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/demos/fpga_demo.py +0 -0
  166. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/design.py +0 -0
  167. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/__init__.py +0 -0
  168. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/asicflow.py +0 -0
  169. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/drcflow.py +0 -0
  170. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/dvflow.py +0 -0
  171. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/fpgaflow.py +0 -0
  172. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/interposerflow.py +0 -0
  173. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/lintflow.py +0 -0
  174. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/showflow.py +0 -0
  175. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/signoffflow.py +0 -0
  176. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/flows/synflow.py +0 -0
  177. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/fpga.py +0 -0
  178. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/fpgas/__init__.py +0 -0
  179. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/fpgas/lattice_ice40.py +0 -0
  180. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/metrics/__init__.py +0 -0
  181. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/metrics/asic.py +0 -0
  182. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/metrics/fpga.py +0 -0
  183. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/optimizer/__init__.py +0 -0
  184. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/optimizer/vizier.py +0 -0
  185. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/package/git.py +0 -0
  186. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/package/github.py +0 -0
  187. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/package/https.py +0 -0
  188. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/pdk.py +0 -0
  189. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/__init__.py +0 -0
  190. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/client.py +0 -0
  191. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/schema.py +0 -0
  192. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server.py +0 -0
  193. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/__init__.py +0 -0
  194. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/__init__.py +0 -0
  195. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/cancel_job.json +0 -0
  196. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/check_progress.json +0 -0
  197. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/check_server.json +0 -0
  198. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/delete_job.json +0 -0
  199. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/get_results.json +0 -0
  200. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/requests/remote_run.json +0 -0
  201. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/__init__.py +0 -0
  202. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/cancel_job.json +0 -0
  203. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/check_progress.json +0 -0
  204. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/check_server.json +0 -0
  205. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/delete_job.json +0 -0
  206. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/get_results.json +0 -0
  207. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/remote/server_schema/responses/remote_run.json +0 -0
  208. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/__init__.py +0 -0
  209. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/__init__.py +0 -0
  210. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/cli/__init__.py +0 -0
  211. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/cli/board.py +0 -0
  212. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/__init__.py +0 -0
  213. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/components/__init__.py +0 -0
  214. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/components/flowgraph.py +0 -0
  215. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/components/graph.py +0 -0
  216. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/layouts/__init__.py +0 -0
  217. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/layouts/_common.py +0 -0
  218. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph.py +0 -0
  219. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_node_tab.py +0 -0
  220. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/layouts/vertical_flowgraph_sac_tabs.py +0 -0
  221. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/state.py +0 -0
  222. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/utils/__init__.py +0 -0
  223. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/utils/file_utils.py +0 -0
  224. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/dashboard/web/viewer.py +0 -0
  225. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/report.py +0 -0
  226. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/summary_image.py +0 -0
  227. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/report/utils.py +0 -0
  228. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/__init__.py +0 -0
  229. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/error.py +0 -0
  230. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/run_node.py +0 -0
  231. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/send_messages.py +0 -0
  232. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/validation/__init__.py +0 -0
  233. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/scheduler/validation/email_credentials.json +0 -0
  234. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/__init__.py +0 -0
  235. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/baseschema.py +0 -0
  236. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/docs/__init__.py +0 -0
  237. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/docs/schemagen.py +0 -0
  238. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/docs/utils.py +0 -0
  239. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/docschema.py +0 -0
  240. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/journal.py +0 -0
  241. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/parameter.py +0 -0
  242. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/parametertype.py +0 -0
  243. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/safeschema.py +0 -0
  244. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema/utils.py +0 -0
  245. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/__init__.py +0 -0
  246. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/filesetschema.py +0 -0
  247. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/metric.py +0 -0
  248. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schema_support/packageschema.py +0 -0
  249. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/schematic.py +0 -0
  250. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/__init__.py +0 -0
  251. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/asap7_demo.py +0 -0
  252. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/freepdk45_demo.py +0 -0
  253. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/gf180_demo.py +0 -0
  254. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/ihp130_demo.py +0 -0
  255. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/interposer_demo.py +0 -0
  256. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/targets/skywater130_demo.py +0 -0
  257. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/__init__.py +0 -0
  258. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/__init__.py +0 -0
  259. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/sdc/__init__.py +0 -0
  260. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/sdc/sc_constraints.sdc +0 -0
  261. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/tcl/__init__.py +0 -0
  262. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +0 -0
  263. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/bambu/__init__.py +0 -0
  264. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/bambu/convert.py +0 -0
  265. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/bluespec/__init__.py +0 -0
  266. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/bluespec/convert.py +0 -0
  267. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/__init__.py +0 -0
  268. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/filter.py +0 -0
  269. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/importfiles.py +0 -0
  270. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/join.py +0 -0
  271. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/maximum.py +0 -0
  272. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/minimum.py +0 -0
  273. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/mux.py +0 -0
  274. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/nop.py +0 -0
  275. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/builtin/verify.py +0 -0
  276. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/chisel/__init__.py +0 -0
  277. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/chisel/convert.py +0 -0
  278. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/chisel/template/SCDriver.scala +0 -0
  279. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/chisel/template/build.sbt +0 -0
  280. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/execute/__init__.py +0 -0
  281. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/execute/exec_input.py +0 -0
  282. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/genfasm/__init__.py +0 -0
  283. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/genfasm/bitstream.py +0 -0
  284. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/ghdl/__init__.py +0 -0
  285. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/ghdl/convert.py +0 -0
  286. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/graphviz/__init__.py +0 -0
  287. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/graphviz/screenshot.py +0 -0
  288. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/graphviz/show.py +0 -0
  289. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/gtkwave/__init__.py +0 -0
  290. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +0 -0
  291. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/gtkwave/show.py +0 -0
  292. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/icarus/__init__.py +0 -0
  293. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/icarus/compile.py +0 -0
  294. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/icepack/__init__.py +0 -0
  295. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/icepack/bitstream.py +0 -0
  296. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/convert_drc_db.py +0 -0
  297. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/drc.py +0 -0
  298. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/export.py +0 -0
  299. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/operations.py +0 -0
  300. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/klayout/show.py +0 -0
  301. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/__init__.py +0 -0
  302. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/drc.py +0 -0
  303. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/extspice.py +0 -0
  304. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/scripts/sc_drc.tcl +0 -0
  305. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/scripts/sc_extspice.tcl +0 -0
  306. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/magic/scripts/sc_magic.tcl +0 -0
  307. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/montage/__init__.py +0 -0
  308. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/netgen/__init__.py +0 -0
  309. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/netgen/count_lvs.py +0 -0
  310. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/netgen/lvs.py +0 -0
  311. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/netgen/scripts/sc_lvs.tcl +0 -0
  312. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/nextpnr/__init__.py +0 -0
  313. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/nextpnr/apr.py +0 -0
  314. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/antenna_repair.py +0 -0
  315. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/detailed_placement.py +0 -0
  316. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/detailed_route.py +0 -0
  317. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +0 -0
  318. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/fillercell_insertion.py +0 -0
  319. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/fillmetal_insertion.py +0 -0
  320. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/global_route.py +0 -0
  321. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/macro_placement.py +0 -0
  322. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/metrics.py +0 -0
  323. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/pin_placement.py +0 -0
  324. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/power_grid.py +0 -0
  325. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/rcx_bench.py +0 -0
  326. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/rcx_extract.py +0 -0
  327. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/rdlroute.py +0 -0
  328. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/screenshot.py +0 -0
  329. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +0 -0
  330. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +0 -0
  331. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +0 -0
  332. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +0 -0
  333. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +0 -0
  334. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +0 -0
  335. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +0 -0
  336. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +0 -0
  337. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +0 -0
  338. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +0 -0
  339. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +0 -0
  340. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +0 -0
  341. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +0 -0
  342. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +0 -0
  343. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +0 -0
  344. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/debugging.tcl +0 -0
  345. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +0 -0
  346. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +0 -0
  347. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/write_data.tcl +0 -0
  348. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +0 -0
  349. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl +0 -0
  350. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +0 -0
  351. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/scripts/sc_show.tcl +0 -0
  352. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/show.py +0 -0
  353. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/templates/__init__.py +0 -0
  354. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/openroad/templates/pex.tcl +0 -0
  355. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/check_library.py +0 -0
  356. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/report_libraries.py +0 -0
  357. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/scripts/__init__.py +0 -0
  358. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/opensta/scripts/sc_procs.tcl +0 -0
  359. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/slang/__init__.py +0 -0
  360. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/slang/elaborate.py +0 -0
  361. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/slang/lint.py +0 -0
  362. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surelog/__init__.py +0 -0
  363. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surelog/parse.py +0 -0
  364. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surelog/templates/__init__.py +0 -0
  365. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surelog/templates/output.v +0 -0
  366. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surfer/__init__.py +0 -0
  367. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/surfer/show.py +0 -0
  368. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/sv2v/__init__.py +0 -0
  369. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/sv2v/convert.py +0 -0
  370. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/verilator/__init__.py +0 -0
  371. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/verilator/compile.py +0 -0
  372. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/verilator/lint.py +0 -0
  373. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/__init__.py +0 -0
  374. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/bitstream.py +0 -0
  375. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/place.py +0 -0
  376. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/route.py +0 -0
  377. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/scripts/__init__.py +0 -0
  378. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/scripts/sc_run.tcl +0 -0
  379. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vivado/syn_fpga.py +0 -0
  380. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/_json_constraint.py +0 -0
  381. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/_xml_constraint.py +0 -0
  382. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/place.py +0 -0
  383. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/route.py +0 -0
  384. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/screenshot.py +0 -0
  385. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/vpr/show.py +0 -0
  386. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/xdm/__init__.py +0 -0
  387. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/xdm/convert.py +0 -0
  388. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/xyce/__init__.py +0 -0
  389. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/xyce/simulate.py +0 -0
  390. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/__init__.py +0 -0
  391. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/lec_asic.py +0 -0
  392. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/prepareLib.py +0 -0
  393. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/procs.tcl +0 -0
  394. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/sc_lec.tcl +0 -0
  395. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/scripts/syn_strategies.tcl +0 -0
  396. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/techmaps/__init__.py +0 -0
  397. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v +0 -0
  398. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/templates/__init__.py +0 -0
  399. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/tools/yosys/templates/abc.const +0 -0
  400. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/_tools.py +0 -0
  401. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-chisel.sh +0 -0
  402. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-icarus.sh +0 -0
  403. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-klayout.sh +0 -0
  404. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-magic.sh +0 -0
  405. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-montage.sh +0 -0
  406. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-netgen.sh +0 -0
  407. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-surelog.sh +0 -0
  408. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-sv2v.sh +0 -0
  409. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-verible.sh +0 -0
  410. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-verilator.sh +0 -0
  411. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-xdm.sh +0 -0
  412. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel8/install-xyce.sh +0 -0
  413. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-chisel.sh +0 -0
  414. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-ghdl.sh +0 -0
  415. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +0 -0
  416. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-icarus.sh +0 -0
  417. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-klayout.sh +0 -0
  418. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-magic.sh +0 -0
  419. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-montage.sh +0 -0
  420. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-netgen.sh +0 -0
  421. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-openroad.sh +0 -0
  422. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-opensta.sh +0 -0
  423. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-surelog.sh +0 -0
  424. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-sv2v.sh +0 -0
  425. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-verible.sh +0 -0
  426. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-verilator.sh +0 -0
  427. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-vpr.sh +0 -0
  428. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-wildebeest.sh +0 -0
  429. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-xdm.sh +0 -0
  430. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-xyce.sh +0 -0
  431. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +0 -0
  432. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +0 -0
  433. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/rhel9/install-yosys.sh +0 -0
  434. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +0 -0
  435. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +0 -0
  436. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +0 -0
  437. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +0 -0
  438. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +0 -0
  439. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +0 -0
  440. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +0 -0
  441. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +0 -0
  442. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-magic.sh +0 -0
  443. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-montage.sh +0 -0
  444. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +0 -0
  445. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +0 -0
  446. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +0 -0
  447. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +0 -0
  448. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +0 -0
  449. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +0 -0
  450. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +0 -0
  451. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-verible.sh +0 -0
  452. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +0 -0
  453. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +0 -0
  454. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +0 -0
  455. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +0 -0
  456. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +0 -0
  457. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +0 -0
  458. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +0 -0
  459. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +0 -0
  460. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +0 -0
  461. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +0 -0
  462. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +0 -0
  463. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-magic.sh +0 -0
  464. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-montage.sh +0 -0
  465. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +0 -0
  466. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +0 -0
  467. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +0 -0
  468. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +0 -0
  469. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +0 -0
  470. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +0 -0
  471. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-surfer.sh +0 -0
  472. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +0 -0
  473. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-verible.sh +0 -0
  474. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +0 -0
  475. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +0 -0
  476. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-wildebeest.sh +0 -0
  477. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +0 -0
  478. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +0 -0
  479. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +0 -0
  480. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +0 -0
  481. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +0 -0
  482. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +0 -0
  483. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +0 -0
  484. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +0 -0
  485. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +0 -0
  486. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +0 -0
  487. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +0 -0
  488. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +0 -0
  489. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +0 -0
  490. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-magic.sh +0 -0
  491. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-montage.sh +0 -0
  492. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +0 -0
  493. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +0 -0
  494. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +0 -0
  495. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +0 -0
  496. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +0 -0
  497. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +0 -0
  498. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-surfer.sh +0 -0
  499. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +0 -0
  500. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-verible.sh +0 -0
  501. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +0 -0
  502. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +0 -0
  503. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-wildebeest.sh +0 -0
  504. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +0 -0
  505. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +0 -0
  506. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +0 -0
  507. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +0 -0
  508. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +0 -0
  509. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/logging.py +0 -0
  510. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/showtools.py +0 -0
  511. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler/utils/units.py +0 -0
  512. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/dependency_links.txt +0 -0
  513. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/entry_points.txt +0 -0
  514. {siliconcompiler-0.35.3 → siliconcompiler-0.36.0}/siliconcompiler.egg-info/top_level.txt +0 -0
@@ -8,6 +8,53 @@ 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.36.0 (2026-01-06)
12
+ =========================================
13
+
14
+ **Major:**
15
+
16
+ * Changed schema to better handle timing constraints, by splitting out mode specific information from the scenarios.
17
+
18
+ **Minor:**
19
+
20
+ * Reimplemented flowgraph rendering with file IO information.
21
+ * Fixed tool version checking to support threaded runs.
22
+ * Reworked use of pipes during execution to avoid creating more pipes than needed.
23
+ * Fixed flowgraph IO checks to only check required files.
24
+
25
+ * Tools:
26
+
27
+ * klayout: fixed handling of GDS generation when foreign is specified in lef.
28
+ * openroad: added support for halo constraints.
29
+ * kelper-formal: added initial support for LEC with kepler-formal.
30
+
31
+
32
+ SiliconCompiler 0.35.4 (2025-12-08)
33
+ =========================================
34
+
35
+ **Major:**
36
+
37
+ * Added support for `settings.json` to allow users to set defaults and persistent options and controls for slurm nodes.
38
+
39
+ **Minor:**
40
+
41
+ * Added limit to the number of warnings/errors that will be printed to the terminal.
42
+ * Added `copy_*` methods to timing constraints to better support building multiple modes.
43
+ * Added support for flow to run collection if the specific node requires it.
44
+ * Added check for conflicting flow tasks and generate an error if one is found.
45
+ * Added Python 3.14 to testing matrix.
46
+ * Improved logging to help identify specific log files.
47
+ * Ensured data is cleaned up when a failure occurs while downloading remote data.
48
+ * Corrected missing history when failures occur in the flow.
49
+ * Fixed bug causing skipped tasks to not get re-executed when restarting flow.
50
+
51
+ * Tools:
52
+
53
+ * yosys: added warning to indicate that slang was not found, added controls for undefined signals, and buffer insertion.
54
+ * openroad: added support for using bmaps to place bumps, added IR drop task to provide better "what-if" analysis.
55
+ * vivado: added support for pre/post scripts.
56
+
57
+
11
58
  SiliconCompiler 0.35.3 (2025-11-10)
12
59
  =========================================
13
60
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siliconcompiler
3
- Version: 0.35.3
3
+ Version: 0.36.0
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author: Zero ASIC
6
6
  License: Apache License 2.0
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Operating System :: POSIX :: Linux
20
21
  Classifier: Operating System :: MacOS
21
22
  Classifier: Operating System :: Microsoft :: Windows
@@ -37,7 +38,7 @@ Requires-Dist: PyYAML<7.0.0,>=6.0.0
37
38
  Requires-Dist: GitPython<3.2,>=3.1.44
38
39
  Requires-Dist: PyGithub<2.9.0,>=2.8.0
39
40
  Requires-Dist: urllib3>=1.26.0
40
- Requires-Dist: lambdapdk>=0.2.4
41
+ Requires-Dist: lambdapdk>=0.2.6
41
42
  Requires-Dist: fasteners>=0.20
42
43
  Requires-Dist: pandas>=1.1.5
43
44
  Requires-Dist: psutil>=5.8.0
@@ -60,7 +61,7 @@ Requires-Dist: responses==0.25.8; extra == "test"
60
61
  Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
61
62
  Provides-Extra: lint
62
63
  Requires-Dist: flake8==7.3.0; extra == "lint"
63
- Requires-Dist: tclint==0.6.1; extra == "lint"
64
+ Requires-Dist: tclint==0.7.0; extra == "lint"
64
65
  Requires-Dist: codespell==2.4.1; extra == "lint"
65
66
  Provides-Extra: docs
66
67
  Requires-Dist: Sphinx<8.3,>=7.4; extra == "docs"
@@ -102,7 +103,7 @@ SiliconCompiler is a modular hardware build system ("make for silicon"). The pro
102
103
  # Getting Started
103
104
 
104
105
  SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and
105
- Linux platforms. For working Python 3.9-3.13 environment, just use pip.
106
+ Linux platforms. For working Python 3.9-3.14 environment, just use pip.
106
107
 
107
108
  ```sh
108
109
  pip install --upgrade siliconcompiler
@@ -29,7 +29,7 @@ SiliconCompiler is a modular hardware build system ("make for silicon"). The pro
29
29
  # Getting Started
30
30
 
31
31
  SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and
32
- Linux platforms. For working Python 3.9-3.13 environment, just use pip.
32
+ Linux platforms. For working Python 3.9-3.14 environment, just use pip.
33
33
 
34
34
  ```sh
35
35
  pip install --upgrade siliconcompiler
@@ -21,6 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.11",
22
22
  "Programming Language :: Python :: 3.12",
23
23
  "Programming Language :: Python :: 3.13",
24
+ "Programming Language :: Python :: 3.14",
24
25
  "Operating System :: POSIX :: Linux",
25
26
  "Operating System :: MacOS",
26
27
  "Operating System :: Microsoft :: Windows",
@@ -44,7 +45,7 @@ dependencies = [
44
45
  "PyGithub >= 2.8.0, < 2.9.0",
45
46
  "urllib3 >= 1.26.0", # Required for PyGithub
46
47
 
47
- "lambdapdk >= 0.2.4",
48
+ "lambdapdk >= 0.2.6",
48
49
 
49
50
  "fasteners >= 0.20",
50
51
  "pandas >= 1.1.5",
@@ -111,7 +112,7 @@ test = [
111
112
  ]
112
113
  lint = [
113
114
  "flake8 == 7.3.0",
114
- "tclint == 0.6.1",
115
+ "tclint == 0.7.0",
115
116
  "codespell == 2.4.1"
116
117
  ]
117
118
  docs = [
@@ -156,7 +157,10 @@ filterwarnings = [
156
157
  'ignore:The distutils\.sysconfig module is deprecated, use sysconfig instead',
157
158
  'ignore:The distutils package is deprecated and slated for removal in Python 3\.12',
158
159
  'ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release',
159
- 'ignore:.* is multi-threaded, use of fork\(\) may lead to deadlocks in the child.:DeprecationWarning'
160
+ 'ignore:.* is multi-threaded, use of fork\(\) may lead to deadlocks in the child.:DeprecationWarning',
161
+ 'ignore:This function is deprecated and will be removed in a future version, use cls\.find_task instead:DeprecationWarning',
162
+ 'ignore:This function is deprecated and will be removed in a future version, use TimingModeSchema instead:DeprecationWarning',
163
+ 'ignore:Python 3\.14 will, by default, filter extracted tar archives and reject files or modify their metadata\. Use the filter argument to control this behavior\.:DeprecationWarning'
160
164
  ]
161
165
 
162
166
  [tool.tclint]
@@ -178,7 +182,7 @@ spaces-in-braces = true
178
182
  skip = '*/build/*,./docs/_build/*,*.json,*.xml,*.v,./siliconcompiler/data/templates/report/bootstrap.min.js,./tests/utils/test_utils.py,./tests/tools/data/klayout_pdk/interposer.drc'
179
183
  count = true
180
184
  quiet-level = 3
181
- ignore-words-list = 'synopsys,inout,subtile,FRAM,dffer,dffers'
185
+ ignore-words-list = 'synopsys,inout,subtile,FRAM,dffer,dffers,thirdparty'
182
186
 
183
187
  [tool.check-wheel-contents]
184
188
  ignore = [
@@ -1,5 +1,5 @@
1
1
  # Version number following semver standard.
2
- version = '0.35.3'
2
+ version = '0.36.0'
3
3
 
4
4
  # Default server address for remote runs, if unspecified.
5
5
  default_server = 'https://server.siliconcompiler.com'
@@ -72,6 +72,21 @@ To run a testcase, use:
72
72
  if not issue.get("cmdarg", "run"):
73
73
  project: Project = Project.from_manifest(filepath=issue.get("cmdarg", "cfg"))
74
74
 
75
+ # Determine abs path for build dir
76
+ builddir = project.option.get_builddir()
77
+ if isinstance(builddir, str) and not os.path.isabs(builddir):
78
+ builddirname = os.path.basename(builddir)
79
+ fullpath = os.path.dirname(os.path.abspath(issue.get("cmdarg", "cfg")))
80
+ while True:
81
+ if os.path.basename(fullpath) == builddirname:
82
+ project.option.set_builddir(fullpath)
83
+ break
84
+ parent = os.path.dirname(fullpath)
85
+ if parent == fullpath:
86
+ # Reached filesystem root without finding a match
87
+ break
88
+ fullpath = parent
89
+
75
90
  if issue.get("arg", "step"):
76
91
  project.set("arg", "step", issue.get("arg", "step"))
77
92
  if issue.get("arg", "index"):
@@ -143,8 +158,9 @@ To run a testcase, use:
143
158
 
144
159
  # Modify run environment to point to extracted files
145
160
  builddir_key = ['option', 'builddir']
146
- new_builddir = f"{test_dir}/{project.get(*builddir_key)}"
147
- project.logger.info(f"Changing {builddir_key} to '{new_builddir}'")
161
+ new_builddir = os.path.abspath(
162
+ os.path.join(test_dir, f"{os.path.basename(project.get(*builddir_key))}"))
163
+ project.logger.info(f"Changing [{','.join(builddir_key)}] to '{new_builddir}'")
148
164
  project.set(*builddir_key, new_builddir)
149
165
 
150
166
  # Run task
@@ -6,6 +6,7 @@ from typing import Tuple, List, Optional, Union, Dict, Iterable
6
6
  from siliconcompiler.schema import NamedSchema, EditableSchema, Parameter, Scope, BaseSchema
7
7
  from siliconcompiler.schema.utils import trim
8
8
  from siliconcompiler import NodeStatus, utils
9
+ from siliconcompiler.utils.paths import cwdirsafe
9
10
 
10
11
 
11
12
  class Criteria(NamedSchema):
@@ -328,7 +329,7 @@ class Checklist(NamedSchema):
328
329
 
329
330
  schema_root = self._parent(root=True)
330
331
  logger = getattr(schema_root, "logger", None)
331
- cwd = getattr(schema_root, "_Project__cwd", os.getcwd())
332
+ cwd = cwdirsafe(schema_root)
332
333
 
333
334
  assert hasattr(schema_root, "history"), f"{schema_root}"
334
335
 
@@ -1,5 +1,7 @@
1
1
  from siliconcompiler.schema import BaseSchema
2
2
 
3
+ from siliconcompiler.constraints.timing_mode import TimingModeSchema
4
+
3
5
  from siliconcompiler.constraints.asic_timing import \
4
6
  ASICTimingConstraintSchema, ASICTimingScenarioSchema
5
7
  from siliconcompiler.constraints.asic_floorplan import ASICAreaConstraint
@@ -29,5 +31,6 @@ __all__ = [
29
31
  "ASICComponentConstraint",
30
32
  "ASICComponentConstraints",
31
33
  "FPGATimingConstraintSchema",
32
- "FPGATimingScenarioSchema"
34
+ "FPGATimingScenarioSchema",
35
+ "TimingModeSchema"
33
36
  ]
@@ -1,4 +1,4 @@
1
- from typing import Tuple, Union
1
+ from typing import Tuple, Union, Optional
2
2
 
3
3
  from siliconcompiler.schema import BaseSchema, NamedSchema, EditableSchema, Parameter, \
4
4
  PerNode, Scope
@@ -13,7 +13,7 @@ class ASICComponentConstraint(NamedSchema):
13
13
  keepout halo, and rotation.
14
14
  """
15
15
 
16
- def __init__(self, name: str = None):
16
+ def __init__(self, name: Optional[str] = None):
17
17
  super().__init__()
18
18
  self.set_name(name)
19
19
 
@@ -113,7 +113,8 @@ class ASICComponentConstraint(NamedSchema):
113
113
  270 deg ccw
114
114
  """))
115
115
 
116
- def set_placement(self, x: float, y: float, step: str = None, index: Union[str, int] = None):
116
+ def set_placement(self, x: float, y: float,
117
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
117
118
  """
118
119
  Sets the placement constraint for the component.
119
120
 
@@ -134,7 +135,8 @@ class ASICComponentConstraint(NamedSchema):
134
135
  raise TypeError("y must be a number")
135
136
  return self.set("placement", (x, y), step=step, index=index)
136
137
 
137
- def get_placement(self, step: str = None, index: Union[str, int] = None) -> Tuple[float, float]:
138
+ def get_placement(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
139
+ -> Tuple[float, float]:
138
140
  """
139
141
  Retrieves the current placement constraint of the component.
140
142
 
@@ -148,7 +150,8 @@ class ASICComponentConstraint(NamedSchema):
148
150
  """
149
151
  return self.get("placement", step=step, index=index)
150
152
 
151
- def set_partname(self, name: str, step: str = None, index: Union[str, int] = None):
153
+ def set_partname(self, name: str,
154
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
152
155
  """
153
156
  Sets the part name (cell name) constraint for the component.
154
157
 
@@ -165,7 +168,8 @@ class ASICComponentConstraint(NamedSchema):
165
168
  raise ValueError("a partname is required")
166
169
  return self.set("partname", name, step=step, index=index)
167
170
 
168
- def get_partname(self, step: str = None, index: Union[str, int] = None) -> str:
171
+ def get_partname(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
172
+ -> str:
169
173
  """
170
174
  Retrieves the current part name (cell name) constraint of the component.
171
175
 
@@ -178,7 +182,8 @@ class ASICComponentConstraint(NamedSchema):
178
182
  """
179
183
  return self.get("partname", step=step, index=index)
180
184
 
181
- def set_halo(self, x: float, y: float, step: str = None, index: Union[str, int] = None):
185
+ def set_halo(self, x: float, y: float,
186
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
182
187
  """
183
188
  Sets the placement keepout halo constraint around the component.
184
189
 
@@ -204,7 +209,8 @@ class ASICComponentConstraint(NamedSchema):
204
209
  raise ValueError("y must be a positive number")
205
210
  return self.set("halo", (x, y), step=step, index=index)
206
211
 
207
- def get_halo(self, step: str = None, index: Union[str, int] = None) -> Tuple[float, float]:
212
+ def get_halo(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
213
+ -> Tuple[float, float]:
208
214
  """
209
215
  Retrieves the current placement keepout halo constraint of the component.
210
216
 
@@ -218,7 +224,8 @@ class ASICComponentConstraint(NamedSchema):
218
224
  """
219
225
  return self.get("halo", step=step, index=index)
220
226
 
221
- def set_rotation(self, rotation: str, step: str = None, index: Union[str, int] = None):
227
+ def set_rotation(self, rotation: str,
228
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
222
229
  """
223
230
  Sets the rotation constraint for the component.
224
231
 
@@ -231,7 +238,8 @@ class ASICComponentConstraint(NamedSchema):
231
238
  """
232
239
  return self.set("rotation", rotation, step=step, index=index)
233
240
 
234
- def get_rotation(self, step: str = None, index: Union[str, int] = None) -> str:
241
+ def get_rotation(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
242
+ -> str:
235
243
  """
236
244
  Retrieves the current rotation constraint of the component.
237
245
 
@@ -286,7 +294,7 @@ class ASICComponentConstraints(BaseSchema):
286
294
 
287
295
  EditableSchema(self).insert(component.name, component, clobber=True)
288
296
 
289
- def get_component(self, component: str = None):
297
+ def get_component(self, component: Optional[str] = None):
290
298
  """
291
299
  Retrieves one or all component constraints from the configuration.
292
300
 
@@ -350,6 +358,36 @@ class ASICComponentConstraints(BaseSchema):
350
358
  self.add_component(constraint)
351
359
  return constraint
352
360
 
361
+ def copy_component(self, component: str, name: str, insert: bool = True) \
362
+ -> ASICComponentConstraint:
363
+ """
364
+ Copies an existing component constraint, renames it, and optionally adds it to the design.
365
+
366
+ This method retrieves the component constraint identified by ``component``, creates a
367
+ deep copy of it, and renames the copy to ``name``. If ``insert`` is True,
368
+ the new constraint is immediately added to the configuration.
369
+
370
+ Args:
371
+ component (str): The name of the existing component constraint to be copied.
372
+ name (str): The name to assign to the new copied constraint.
373
+ insert (bool, optional): Whether to add the newly created constraint
374
+ to the configuration. Defaults to True.
375
+
376
+ Returns:
377
+ ASICComponentConstraint: The newly created copy of the component constraint.
378
+
379
+ Raises:
380
+ LookupError: If the source component constraint specified by ``component`` does not
381
+ exist.
382
+ """
383
+ constraint = EditableSchema(self.get_component(component)).copy()
384
+ EditableSchema(constraint).rename(name)
385
+ if insert:
386
+ if self.valid(name):
387
+ raise ValueError(f"{name} already exists")
388
+ self.add_component(constraint)
389
+ return constraint
390
+
353
391
  def remove_component(self, component: str) -> bool:
354
392
  """
355
393
  Removes a component constraint from the design configuration.
@@ -1,4 +1,4 @@
1
- from typing import Union, List, Tuple
1
+ from typing import Union, List, Tuple, Optional
2
2
 
3
3
  from siliconcompiler.schema import BaseSchema, EditableSchema, Parameter, PerNode, Scope
4
4
 
@@ -99,9 +99,9 @@ class ASICAreaConstraint(BaseSchema):
99
99
 
100
100
  def set_density(self,
101
101
  density: float,
102
- aspectratio: float = None,
103
- coremargin: float = None,
104
- step: str = None, index: Union[str, int] = None):
102
+ aspectratio: Optional[float] = None,
103
+ coremargin: Optional[float] = None,
104
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
105
105
  """
106
106
  Sets the target layout density.
107
107
 
@@ -145,7 +145,8 @@ class ASICAreaConstraint(BaseSchema):
145
145
  params.append(self.set_coremargin(coremargin, step=step, index=index))
146
146
  return params
147
147
 
148
- def get_density(self, step: str = None, index: Union[str, int] = None) -> float:
148
+ def get_density(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
149
+ -> float:
149
150
  """
150
151
  Retrieves the current target layout density.
151
152
 
@@ -162,7 +163,7 @@ class ASICAreaConstraint(BaseSchema):
162
163
 
163
164
  def set_aspectratio(self,
164
165
  aspectratio: float,
165
- step: str = None, index: Union[str, int] = None):
166
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
166
167
  """
167
168
  Sets the layout aspect ratio.
168
169
 
@@ -192,8 +193,8 @@ class ASICAreaConstraint(BaseSchema):
192
193
 
193
194
  return self.set("aspectratio", aspectratio, step=step, index=index)
194
195
 
195
- def get_aspectratio(self,
196
- step: str = None, index: Union[str, int] = None) -> float:
196
+ def get_aspectratio(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
197
+ -> float:
197
198
  """
198
199
  Retrieves the current layout aspect ratio.
199
200
 
@@ -210,7 +211,7 @@ class ASICAreaConstraint(BaseSchema):
210
211
 
211
212
  def set_coremargin(self,
212
213
  coremargin: float,
213
- step: str = None, index: Union[str, int] = None):
214
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
214
215
  """
215
216
  Sets the core margin.
216
217
 
@@ -240,8 +241,8 @@ class ASICAreaConstraint(BaseSchema):
240
241
 
241
242
  return self.set("coremargin", coremargin, step=step, index=index)
242
243
 
243
- def get_coremargin(self,
244
- step: str = None, index: Union[str, int] = None) -> float:
244
+ def get_coremargin(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
245
+ -> float:
245
246
  """
246
247
  Retrieves the current core margin.
247
248
 
@@ -259,8 +260,8 @@ class ASICAreaConstraint(BaseSchema):
259
260
  def set_diearea_rectangle(self,
260
261
  height: float,
261
262
  width: float,
262
- coremargin: Union[float, Tuple[float, float]] = None,
263
- step: str = None, index: Union[str, int] = None):
263
+ coremargin: Optional[Union[float, Tuple[float, float]]] = None,
264
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
264
265
  """
265
266
  Sets the die area as a rectangle with its bottom-left corner at (0,0).
266
267
 
@@ -311,7 +312,7 @@ class ASICAreaConstraint(BaseSchema):
311
312
  dieheight: float,
312
313
  diewidth: float,
313
314
  coremargin: Union[float, Tuple[float, float]],
314
- step: str = None, index: Union[str, int] = None):
315
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
315
316
  """
316
317
  Sets the core area as a rectangle within a die area, based on margins.
317
318
 
@@ -378,7 +379,7 @@ class ASICAreaConstraint(BaseSchema):
378
379
 
379
380
  def set_diearea(self,
380
381
  points: List[Tuple[float, float]],
381
- step: str = None, index: Union[str, int] = None):
382
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
382
383
  """
383
384
  Sets the die area using a list of points defining its boundary.
384
385
 
@@ -396,8 +397,8 @@ class ASICAreaConstraint(BaseSchema):
396
397
  """
397
398
  return self.set("diearea", points, step=step, index=index)
398
399
 
399
- def get_diearea(self,
400
- step: str = None, index: Union[str, int] = None) -> List[Tuple[float, float]]:
400
+ def get_diearea(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
401
+ -> List[Tuple[float, float]]:
401
402
  """
402
403
  Retrieves the current die area definition.
403
404
 
@@ -415,7 +416,7 @@ class ASICAreaConstraint(BaseSchema):
415
416
 
416
417
  def set_corearea(self,
417
418
  points: List[Tuple[float, float]],
418
- step: str = None, index: Union[str, int] = None):
419
+ step: Optional[str] = None, index: Optional[Union[str, int]] = None):
419
420
  """
420
421
  Sets the core area using a list of points defining its boundary.
421
422
 
@@ -432,8 +433,8 @@ class ASICAreaConstraint(BaseSchema):
432
433
  """
433
434
  return self.set("corearea", points, step=step, index=index)
434
435
 
435
- def get_corearea(self,
436
- step: str = None, index: Union[str, int] = None) -> List[Tuple[float, float]]:
436
+ def get_corearea(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
437
+ -> List[Tuple[float, float]]:
437
438
  """
438
439
  Retrieves the current core area definition.
439
440
 
@@ -449,7 +450,8 @@ class ASICAreaConstraint(BaseSchema):
449
450
  """
450
451
  return self.get("corearea", step=step, index=index)
451
452
 
452
- def calc_diearea(self, step: str = None, index: str = None) -> float:
453
+ def calc_diearea(self, step: Optional[str] = None, index: Optional[Union[str, int]] = None) \
454
+ -> float:
453
455
  '''Calculates the area of a rectilinear die.
454
456
 
455
457
  Uses the shoelace formula to calculate the design area from the (x,y)