siliconcompiler 0.28.9__py3-none-any.whl → 0.29.0__py3-none-any.whl

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 (109) hide show
  1. siliconcompiler/_metadata.py +1 -1
  2. siliconcompiler/apps/sc_remote.py +15 -14
  3. siliconcompiler/apps/sc_show.py +5 -5
  4. siliconcompiler/apps/utils/replay.py +136 -0
  5. siliconcompiler/core.py +14 -12
  6. siliconcompiler/flows/_common.py +11 -13
  7. siliconcompiler/flows/asicflow.py +83 -42
  8. siliconcompiler/remote/__init__.py +11 -0
  9. siliconcompiler/remote/client.py +753 -815
  10. siliconcompiler/report/report.py +2 -0
  11. siliconcompiler/report/summary_table.py +1 -1
  12. siliconcompiler/scheduler/__init__.py +51 -9
  13. siliconcompiler/schema/schema_cfg.py +15 -3
  14. siliconcompiler/schema/schema_obj.py +16 -0
  15. siliconcompiler/sphinx_ext/dynamicgen.py +4 -3
  16. siliconcompiler/targets/gf180_demo.py +3 -3
  17. siliconcompiler/templates/replay/requirements.txt +6 -0
  18. siliconcompiler/templates/replay/run.py.j2 +22 -0
  19. siliconcompiler/templates/replay/setup.sh +17 -0
  20. siliconcompiler/tools/_common/__init__.py +15 -1
  21. siliconcompiler/tools/_common/asic.py +10 -3
  22. siliconcompiler/tools/builtin/concatenate.py +1 -1
  23. siliconcompiler/tools/openroad/__init__.py +103 -0
  24. siliconcompiler/tools/openroad/{openroad.py → _apr.py} +413 -422
  25. siliconcompiler/tools/openroad/antenna_repair.py +78 -0
  26. siliconcompiler/tools/openroad/clock_tree_synthesis.py +64 -0
  27. siliconcompiler/tools/openroad/detailed_placement.py +59 -0
  28. siliconcompiler/tools/openroad/detailed_route.py +62 -0
  29. siliconcompiler/tools/openroad/endcap_tapcell_insertion.py +52 -0
  30. siliconcompiler/tools/openroad/fillercell_insertion.py +58 -0
  31. siliconcompiler/tools/openroad/{dfm.py → fillmetal_insertion.py} +35 -19
  32. siliconcompiler/tools/openroad/global_placement.py +58 -0
  33. siliconcompiler/tools/openroad/global_route.py +63 -0
  34. siliconcompiler/tools/openroad/init_floorplan.py +103 -0
  35. siliconcompiler/tools/openroad/macro_placement.py +65 -0
  36. siliconcompiler/tools/openroad/metrics.py +23 -8
  37. siliconcompiler/tools/openroad/pin_placement.py +56 -0
  38. siliconcompiler/tools/openroad/power_grid.py +65 -0
  39. siliconcompiler/tools/openroad/rcx_bench.py +7 -4
  40. siliconcompiler/tools/openroad/rcx_extract.py +2 -1
  41. siliconcompiler/tools/openroad/rdlroute.py +4 -4
  42. siliconcompiler/tools/openroad/repair_design.py +59 -0
  43. siliconcompiler/tools/openroad/repair_timing.py +63 -0
  44. siliconcompiler/tools/openroad/screenshot.py +9 -20
  45. siliconcompiler/tools/openroad/scripts/apr/postamble.tcl +44 -0
  46. siliconcompiler/tools/openroad/scripts/apr/preamble.tcl +95 -0
  47. siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +51 -0
  48. siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +62 -0
  49. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +41 -0
  50. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +71 -0
  51. siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +55 -0
  52. siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +27 -0
  53. siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +36 -0
  54. siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +26 -0
  55. siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +61 -0
  56. siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +333 -0
  57. siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +123 -0
  58. siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +22 -0
  59. siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +41 -0
  60. siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +60 -0
  61. siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +68 -0
  62. siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +83 -0
  63. siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +125 -0
  64. siliconcompiler/tools/openroad/scripts/common/debugging.tcl +28 -0
  65. siliconcompiler/tools/openroad/scripts/common/procs.tcl +675 -0
  66. siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl +59 -0
  67. siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl +20 -0
  68. siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl +16 -0
  69. siliconcompiler/tools/openroad/scripts/common/reports.tcl +180 -0
  70. siliconcompiler/tools/openroad/scripts/common/screenshot.tcl +18 -0
  71. siliconcompiler/tools/openroad/scripts/common/write_images.tcl +395 -0
  72. siliconcompiler/tools/openroad/scripts/{sc_rcx_bench.tcl → rcx/sc_rcx_bench.tcl} +5 -5
  73. siliconcompiler/tools/openroad/scripts/{sc_rcx_extract.tcl → rcx/sc_rcx_extract.tcl} +0 -0
  74. siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +5 -16
  75. siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +51 -51
  76. siliconcompiler/tools/openroad/scripts/sc_show.tcl +105 -0
  77. siliconcompiler/tools/openroad/show.py +28 -23
  78. siliconcompiler/tools/openroad/{export.py → write_data.py} +31 -26
  79. siliconcompiler/tools/opensta/__init__.py +1 -1
  80. siliconcompiler/tools/yosys/syn_asic.py +7 -0
  81. siliconcompiler/tools/yosys/syn_asic.tcl +27 -6
  82. siliconcompiler/tools/yosys/syn_fpga.tcl +26 -18
  83. siliconcompiler/toolscripts/_tools.json +4 -4
  84. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/METADATA +14 -12
  85. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/RECORD +90 -63
  86. siliconcompiler/tools/openroad/cts.py +0 -45
  87. siliconcompiler/tools/openroad/floorplan.py +0 -75
  88. siliconcompiler/tools/openroad/physyn.py +0 -27
  89. siliconcompiler/tools/openroad/place.py +0 -41
  90. siliconcompiler/tools/openroad/route.py +0 -45
  91. siliconcompiler/tools/openroad/scripts/__init__.py +0 -0
  92. siliconcompiler/tools/openroad/scripts/sc_apr.tcl +0 -514
  93. siliconcompiler/tools/openroad/scripts/sc_cts.tcl +0 -68
  94. siliconcompiler/tools/openroad/scripts/sc_dfm.tcl +0 -22
  95. siliconcompiler/tools/openroad/scripts/sc_export.tcl +0 -100
  96. siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +0 -456
  97. siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +0 -1
  98. siliconcompiler/tools/openroad/scripts/sc_physyn.tcl +0 -6
  99. siliconcompiler/tools/openroad/scripts/sc_place.tcl +0 -84
  100. siliconcompiler/tools/openroad/scripts/sc_procs.tcl +0 -494
  101. siliconcompiler/tools/openroad/scripts/sc_report.tcl +0 -189
  102. siliconcompiler/tools/openroad/scripts/sc_route.tcl +0 -143
  103. siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl +0 -18
  104. siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +0 -393
  105. /siliconcompiler/tools/openroad/scripts/{sc_write.tcl → common/write_data.tcl} +0 -0
  106. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/LICENSE +0 -0
  107. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/WHEEL +0 -0
  108. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/entry_points.txt +0 -0
  109. {siliconcompiler-0.28.9.dist-info → siliconcompiler-0.29.0.dist-info}/top_level.txt +0 -0
@@ -125,6 +125,30 @@ if { [string match {ice*} $sc_partname] } {
125
125
  yosys proc
126
126
  yosys flatten
127
127
 
128
+ # Note there are two possibilities for how macro mapping might be done:
129
+ # using the extract command (to pattern match user RTL against
130
+ # the techmap) or using the techmap command. The latter is better
131
+ # for mapping simple multipliers; the former is better (for now)
132
+ # for mapping more complex DSP blocks (MAC, pipelined blocks, etc).
133
+ # and is also more easily extensible to arbitrary hard macros.
134
+ # Run separate passes of both to get best of both worlds
135
+
136
+ # An extract pass needs to happen prior to other optimizations,
137
+ # otherwise yosys can transform its internal model into something
138
+ # that doesn't match the patterns defined in the extract library
139
+ if { [sc_cfg_exists fpga $sc_partname file yosys_extractlib] } {
140
+ set sc_syn_extractlibs \
141
+ [sc_cfg_get fpga $sc_partname file yosys_extractlib]
142
+
143
+ foreach extractlib $sc_syn_extractlibs {
144
+ yosys log "Run extract with $extractlib"
145
+ yosys extract -map $extractlib
146
+ }
147
+ }
148
+
149
+ # Other hard macro passes can happen after the generic optimization
150
+ # passes take place.
151
+
128
152
  #Generic optimization passes; this is a fusion of the VTR reference
129
153
  #flow and the Yosys synth_ice40 flow
130
154
  yosys opt_expr
@@ -141,28 +165,12 @@ if { [string match {ice*} $sc_partname] } {
141
165
  yosys opt_expr
142
166
  yosys opt_clean
143
167
 
168
+ # Here is a remaining customization pass for DSP tech mapping
169
+
144
170
  #Map DSP blocks before doing anything else,
145
171
  #so that we don't convert any math blocks
146
172
  #into other primitives
147
173
 
148
- # Note there are two possibilities for how mapping might be done:
149
- # using the extract command (to pattern match user RTL against
150
- # the techmap) or using the techmap command. The latter is better
151
- # for mapping simple multipliers; the former is better (for now)
152
- # for mapping more complex DSP blocks (MAC, pipelined blocks, etc).
153
- # and also more extensible to arbitrary hard macros. Run separate
154
- # passes of both to get best of both worlds
155
-
156
- if { [sc_cfg_exists fpga $sc_partname file yosys_extractlib] } {
157
- set sc_syn_extractlibs \
158
- [sc_cfg_get fpga $sc_partname file yosys_extractlib]
159
-
160
- foreach extractlib $sc_syn_extractlibs {
161
- yosys log "Run extract with $extractlib"
162
- yosys extract -map $extractlib
163
- }
164
- }
165
-
166
174
  if { [sc_cfg_exists fpga $sc_partname file yosys_dsp_techmap] } {
167
175
  set sc_syn_dsp_library \
168
176
  [sc_cfg_get fpga $sc_partname file yosys_dsp_techmap]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openroad": {
3
3
  "git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
4
- "git-commit": "8300b5293dec4c0a0ef26cd2ba7ca6101714e155",
4
+ "git-commit": "8495fc80c78f4ab98bebd8cf2050fa63bc0b93c1",
5
5
  "docker-cmds": [
6
6
  "# Remove OR-Tools files",
7
7
  "RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
@@ -36,7 +36,7 @@
36
36
  "auto-update": false
37
37
  },
38
38
  "klayout": {
39
- "version": "0.29.8",
39
+ "version": "0.29.10",
40
40
  "git-url": "https://github.com/KLayout/klayout.git",
41
41
  "docker-skip": true,
42
42
  "auto-update": true,
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "sv2v": {
47
47
  "git-url": "https://github.com/zachjs/sv2v.git",
48
- "git-commit": "7808819c48c167978aeb5ef34c6e5ed416e90875",
48
+ "git-commit": "5a636724d783edd403ac4618d6cc4def72e39cbc",
49
49
  "auto-update": true
50
50
  },
51
51
  "verilator": {
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "yosys": {
93
93
  "git-url": "https://github.com/YosysHQ/yosys.git",
94
- "git-commit": "0.47",
94
+ "git-commit": "v0.48",
95
95
  "version-prefix": "",
96
96
  "auto-update": true
97
97
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: siliconcompiler
3
- Version: 0.28.9
3
+ Version: 0.29.0
4
4
  Summary: A compiler framework that automates translation from source code to silicon.
5
5
  Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
6
6
  License: Apache License 2.0
@@ -26,34 +26,35 @@ Requires-Python: >=3.8
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  Requires-Dist: aiohttp==3.10.11; python_version <= "3.8"
29
- Requires-Dist: aiohttp==3.11.2; python_version >= "3.9"
29
+ Requires-Dist: aiohttp==3.11.10; python_version >= "3.9"
30
30
  Requires-Dist: requests==2.32.3
31
31
  Requires-Dist: PyYAML==6.0.2
32
32
  Requires-Dist: pandas>=1.1.5
33
33
  Requires-Dist: Jinja2>=2.11.3
34
34
  Requires-Dist: graphviz==0.20.3
35
35
  Requires-Dist: distro==1.9.0
36
- Requires-Dist: packaging<24,>=21.3
36
+ Requires-Dist: packaging<25,>=21.3
37
37
  Requires-Dist: psutil>=5.8.0
38
38
  Requires-Dist: Pillow==10.4.0; python_version <= "3.8"
39
39
  Requires-Dist: Pillow==11.0.0; python_version >= "3.9"
40
40
  Requires-Dist: GitPython==3.1.43
41
- Requires-Dist: lambdapdk>=0.1.38
41
+ Requires-Dist: lambdapdk>=0.1.40
42
42
  Requires-Dist: PyGithub==2.5.0
43
43
  Requires-Dist: urllib3>=1.26.0
44
44
  Requires-Dist: fasteners==0.19
45
- Requires-Dist: fastjsonschema==2.20.0
45
+ Requires-Dist: fastjsonschema==2.21.1
46
46
  Requires-Dist: docker==7.1.0
47
47
  Requires-Dist: importlib_metadata; python_version < "3.10"
48
48
  Requires-Dist: sc-surelog==1.84.1
49
- Requires-Dist: orjson==3.10.11
50
- Requires-Dist: streamlit==1.40.1; python_full_version != "3.9.7"
49
+ Requires-Dist: orjson==3.10.12
50
+ Requires-Dist: streamlit==1.40.1; python_version <= "3.8"
51
+ Requires-Dist: streamlit==1.40.2; python_version >= "3.9" and python_full_version != "3.9.7"
51
52
  Requires-Dist: streamlit_agraph==0.0.45; python_full_version != "3.9.7"
52
53
  Requires-Dist: streamlit-antd-components==0.3.2; python_full_version != "3.9.7"
53
54
  Requires-Dist: streamlit_javascript==0.1.5; python_full_version != "3.9.7"
54
55
  Requires-Dist: streamlit-autorefresh==1.0.1; python_full_version != "3.9.7"
55
56
  Provides-Extra: test
56
- Requires-Dist: pytest==8.3.3; extra == "test"
57
+ Requires-Dist: pytest==8.3.4; extra == "test"
57
58
  Requires-Dist: pytest-xdist==3.6.1; extra == "test"
58
59
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
59
60
  Requires-Dist: pytest-asyncio==0.24.0; extra == "test"
@@ -61,9 +62,10 @@ Requires-Dist: pytest-cov==5.0.0; python_version <= "3.8" and extra == "test"
61
62
  Requires-Dist: pytest-cov==6.0.0; python_version >= "3.9" and extra == "test"
62
63
  Requires-Dist: responses==0.25.3; extra == "test"
63
64
  Requires-Dist: PyVirtualDisplay==3.0; extra == "test"
64
- Requires-Dist: flake8==7.1.1; extra == "test"
65
- Requires-Dist: tclint==0.4.2; extra == "test"
66
- Requires-Dist: codespell==2.3.0; extra == "test"
65
+ Provides-Extra: lint
66
+ Requires-Dist: flake8==7.1.1; extra == "lint"
67
+ Requires-Dist: tclint==0.5.0; extra == "lint"
68
+ Requires-Dist: codespell==2.3.0; extra == "lint"
67
69
  Provides-Extra: docs
68
70
  Requires-Dist: Sphinx==8.1.3; extra == "docs"
69
71
  Requires-Dist: pip-licenses==5.0.0; extra == "docs"
@@ -73,7 +75,7 @@ Provides-Extra: profile
73
75
  Requires-Dist: gprof2dot==2024.6.6; extra == "profile"
74
76
  Provides-Extra: examples
75
77
  Requires-Dist: migen==0.9.2; extra == "examples"
76
- Requires-Dist: lambdalib==0.3.1; extra == "examples"
78
+ Requires-Dist: lambdalib==0.3.2; extra == "examples"
77
79
 
78
80
  ![SiliconCompiler](https://raw.githubusercontent.com/siliconcompiler/siliconcompiler/main/docs/_static/sc_logo_with_text.png)
79
81
 
@@ -1,8 +1,8 @@
1
1
  siliconcompiler/__init__.py,sha256=Ke_Bcryj9N6MoUq_5z_IDW3qMrUzR-3-kJVsvUenYzY,511
2
2
  siliconcompiler/__main__.py,sha256=JwWkcvaNngqgMWprEQ1cFy2Wdq9GMvk46UGTHyh_qvM,170
3
3
  siliconcompiler/_common.py,sha256=c6r0SbI2xTpNOZayFsyCDo0riJGNJSPN-0zW8R7rDBI,1488
4
- siliconcompiler/_metadata.py,sha256=ISw0dgmSuNTS8xpsds6hA2uMv313WiLdIUnkF-qEI30,1264
5
- siliconcompiler/core.py,sha256=_T1eEY7lUsrbaEBUaG1WSAzY2JFxyz5tXEKxvoCGZaI,135718
4
+ siliconcompiler/_metadata.py,sha256=FWWPgsF9yds5x4TtUHjoCr0fI4uNpjHLReHLkws--Ck,1264
5
+ siliconcompiler/core.py,sha256=jmrE-o9IDB8aj7i4oQxuD8ikVMybopaLhzmtZA6-MBY,135846
6
6
  siliconcompiler/flowgraph.py,sha256=WLcbBWFj5DdYRRIxNy_Djm2v4yN9WELQM_ypNPB5QVM,21963
7
7
  siliconcompiler/issue.py,sha256=9ZpdEBh8QB56-bZ1YXRnjqgg9hwnFty2u1o5oI66W7M,11125
8
8
  siliconcompiler/package.py,sha256=nGFzYI63dwO6ULEyEGHu_Pd-8QYMWu8BtpzgwEmppag,14111
@@ -14,10 +14,11 @@ siliconcompiler/apps/sc.py,sha256=7wKQ89DZLVXMNbjAgIu9F8Erb_NmrBkV4lJNjBUt8_c,32
14
14
  siliconcompiler/apps/sc_dashboard.py,sha256=kGyMYbgKgZMBUrTyft6mEvRnmcrKA7JunrkWZ8VwSwM,3478
15
15
  siliconcompiler/apps/sc_install.py,sha256=aFCFXaXarREvt_rTAcOZoqDwj-Df620dLBxO2Fda9so,6273
16
16
  siliconcompiler/apps/sc_issue.py,sha256=PUXFWne6MWY0Ntak3PnMZ84tpEZ5S1Pta5B3AkxMdoY,6404
17
- siliconcompiler/apps/sc_remote.py,sha256=M7wH7lULkeDSEiVkvTY2xmuAK8lJ-3eVM6fC3bqj4s8,7331
17
+ siliconcompiler/apps/sc_remote.py,sha256=jsQWEqZnoKrJI9FcA2ILZYJ8F7uvLuwYI4N23dRwVRs,7241
18
18
  siliconcompiler/apps/sc_server.py,sha256=d3SCfKtNneIBiAk7Udc5SqXvSIoFSK40iHWcKuY7unk,894
19
- siliconcompiler/apps/sc_show.py,sha256=KZGm6nd2On3a15u-OPQnLxNetiHndJKqzWMZG2_Q_1g,4652
19
+ siliconcompiler/apps/sc_show.py,sha256=H0_evnBqr02FJVlIaFIva4RrYZ6M2otlWTaTCqFQPlg,4653
20
20
  siliconcompiler/apps/smake.py,sha256=jj69IuMLf4jblpVGeLT3GAvC-zDLHwPq16YPKtHosdA,7124
21
+ siliconcompiler/apps/utils/replay.py,sha256=zCoGx9WJa61Yi9yDp6qNS-YzpTvU6zQLChBoMWWXViA,4611
21
22
  siliconcompiler/apps/utils/summarize.py,sha256=mcViWpuS8UI2JqOF-QD99YAl0tjiy6_TbVl_coRCmNI,1291
22
23
  siliconcompiler/checklists/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
24
  siliconcompiler/checklists/oh_tapeout.py,sha256=xBXAHOVNslFUlOfVTLLoPEJazczP8MTsa5EGo5GYQk0,1441
@@ -28,8 +29,8 @@ siliconcompiler/data/RobotoMono/LICENSE.txt,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok
28
29
  siliconcompiler/data/RobotoMono/RobotoMono-Regular.ttf,sha256=w8iOaiprWYm5hBNPzFHOaddn_RgCWHLoz0FsBMTaryA,86908
29
30
  siliconcompiler/data/RobotoMono/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
31
  siliconcompiler/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- siliconcompiler/flows/_common.py,sha256=-T3OPvzgOpzVdHdgQANtPm5h7zzgghhKd4XJH4EKqcE,2133
32
- siliconcompiler/flows/asicflow.py,sha256=AbnwSersQ4EsBaAvnH3sz44Tj62aroZSGZaTgVSmO6g,6084
32
+ siliconcompiler/flows/_common.py,sha256=hcKVUPRK74t6JYU23UnY4qkFnu1-uauLwzsZjqzaYu0,2110
33
+ siliconcompiler/flows/asicflow.py,sha256=Hj0goWMxYGSqLmX_07z_uFePJvWcDGhY0afTeJblz7E,8113
33
34
  siliconcompiler/flows/asictopflow.py,sha256=UosrdJhh_NVyjigzz2KGhqcy2UBotkwTUUnCdOVaZXg,1155
34
35
  siliconcompiler/flows/drcflow.py,sha256=CinpSA2eHtqSlOIxTeXSoyV_TstFZ7uZ1VA9qAHihh8,230
35
36
  siliconcompiler/flows/dvflow.py,sha256=uchIXjAmKTQljkoBUMl9UWFvzwsON4vFWTBGCxPpKE4,3064
@@ -59,8 +60,8 @@ siliconcompiler/pdks/gf180.py,sha256=yT_tQmfXTMuU-NngX1lakxPXVxZxwdl_FwNP-Rxx2rU
59
60
  siliconcompiler/pdks/ihp130.py,sha256=grtX2Z2nQiQqtXGwkYcux3CrUM7EZp18F-s_yLxW0J4,204
60
61
  siliconcompiler/pdks/interposer.py,sha256=FwkgfEPg2dnfYoyeRgAanwhZkGqSSMZfpwnOSovzZ0s,208
61
62
  siliconcompiler/pdks/skywater130.py,sha256=6UxJaWDQfs180tbKAfhLT2jfO6yTa41cdFrBKxCfniU,204
62
- siliconcompiler/remote/__init__.py,sha256=2tRoHeocMaOltgsablWrX31KESPgP3In0oEJvaZDEY8,810
63
- siliconcompiler/remote/client.py,sha256=5wPYCPmYqXH3jJ5qWt7Lbkrkkin4b09PoHA96W2Ae8I,31938
63
+ siliconcompiler/remote/__init__.py,sha256=MoYnC1lkgbT5hN5Qi-0gTItaTWI2U1E8OuleffdTDSQ,977
64
+ siliconcompiler/remote/client.py,sha256=vndAQRgveaCCvnlM8QjQX30ioy4rA5MI2p5ACZOy_sw,32695
64
65
  siliconcompiler/remote/schema.py,sha256=fTnerloQXqUgCB5VNWGRfzPiraSG1Ve-b_mw7siAdnQ,4224
65
66
  siliconcompiler/remote/server.py,sha256=wJb3qSjBzAFKnp9rdkMBiXdp7Aex6xSXVLXaUzw6Rpg,19657
66
67
  siliconcompiler/remote/server_schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -80,9 +81,9 @@ siliconcompiler/remote/server_schema/responses/get_results.json,sha256=h4XraLW4h
80
81
  siliconcompiler/remote/server_schema/responses/remote_run.json,sha256=FWW_0m46qwIJHiTriISzChKHJF6G9RIwP0rmp1OjIuA,475
81
82
  siliconcompiler/report/__init__.py,sha256=ADa-8Jwy4fl2Wtg0ejy4Tvil805uwA4WWTdK125JKcs,388
82
83
  siliconcompiler/report/html_report.py,sha256=Wh5X7iQpfIEHcs-WrVE9dtDf-gkz3GhT_yf8kVG0O3o,2597
83
- siliconcompiler/report/report.py,sha256=OPJhuKAnUzP-dm-6CG6Fy45Gm_rbMapey2WKuJiouYI,14924
84
+ siliconcompiler/report/report.py,sha256=tngpaUczWiyXCYbgbSfQL1wbPn08qgUG3usHXvTwxGg,15004
84
85
  siliconcompiler/report/summary_image.py,sha256=tKuoLiG6Whvnc8LHeSzU4FookpBkYYCMWUGb-ux2i8k,3570
85
- siliconcompiler/report/summary_table.py,sha256=Y5ByOCJQtNOXIz5n9VU_CBHOTdSE0g8ClmfflWkQcXU,3386
86
+ siliconcompiler/report/summary_table.py,sha256=j7MrwGacCemAWNOtyHiYop9XRQPzIEWHyRl4dfS1yI8,3386
86
87
  siliconcompiler/report/utils.py,sha256=70klZsAKwhW55kOxBBdV9zzOU-NorMk6y6riMyKXo7c,6423
87
88
  siliconcompiler/report/dashboard/__init__.py,sha256=bvSfStUvkMa1zW1R5WtzzzKKAMm9FCNiPbIIFXOotJ0,5554
88
89
  siliconcompiler/report/dashboard/state.py,sha256=qBAmLpKb0xXqf2vRbBBgYs8P71v3MGIL6z0WHoAED-Y,5924
@@ -97,7 +98,7 @@ siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py,sha256=0
97
98
  siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py,sha256=g6lrnXJVEkTh7OQY1xCgl_q0So0XewItuY0sjnjaBCA,4086
98
99
  siliconcompiler/report/dashboard/utils/__init__.py,sha256=mkcBAlfPovfgoRv9nPbtgQSeFglwlxlSIXsEQmdsDz8,2540
99
100
  siliconcompiler/report/dashboard/utils/file_utils.py,sha256=5MKAyf7TGXQIc3yxwbP1H6xi0NGwUfzu2j3LOv1Yei0,3333
100
- siliconcompiler/scheduler/__init__.py,sha256=bkJ5S06BNXsdfjx5nPcgak_9FT8XHxgsnLIYvee5uvk,84997
101
+ siliconcompiler/scheduler/__init__.py,sha256=E_eBUuM6FXwX2BIfey-LJpigF-j_kaPN2OAqAlb2eS4,86247
101
102
  siliconcompiler/scheduler/docker_runner.py,sha256=bzGIqYpdtxoM_A4ko_LEADYAbHY89jiKHplVB1Zzh_k,8065
102
103
  siliconcompiler/scheduler/run_node.py,sha256=IWodOtT6b_MO5oXpEiF0th1Q3v7AD66jE182lY-aGv4,5063
103
104
  siliconcompiler/scheduler/send_messages.py,sha256=Pq0Bt7LknGsQZk_bSkL0rRdpUNGz_WzS1A3UyDpBp_0,6614
@@ -105,11 +106,11 @@ siliconcompiler/scheduler/slurm.py,sha256=CAuN5xmiWhk_k3CW6yMe5iukex4CWxp5Ox6_qA
105
106
  siliconcompiler/scheduler/validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
107
  siliconcompiler/scheduler/validation/email_credentials.json,sha256=hkJs0U2h2Bgm1zxeXvanIJ-prPhpn_aU6e3qwIs7qA0,1997
107
108
  siliconcompiler/schema/__init__.py,sha256=Gdny2AwDdg-X3RvghOHQYl3aG2alvMuK5CsSkFGKuYU,120
108
- siliconcompiler/schema/schema_cfg.py,sha256=K1xySfHNenZk33NJnQcqsv-xfByxshwLf4xPQCU0vR8,183674
109
- siliconcompiler/schema/schema_obj.py,sha256=85NFfP1P4Gjoxw2dFMWM7B6cHx94bY2sqkGuj8nCFMo,75000
109
+ siliconcompiler/schema/schema_cfg.py,sha256=8PZakYMN4lvCXtC0dtFZiD24-TqeQaMbLnYU1pe2sW8,184229
110
+ siliconcompiler/schema/schema_obj.py,sha256=HUiBiEPh-HS69CIR6GTvuHpLG_po7lKVWMjL23wxJVo,75474
110
111
  siliconcompiler/schema/utils.py,sha256=V8xDBpQ3gIiEpuzme15h7xEz601uGi8tNi0QyK175qk,4018
111
112
  siliconcompiler/sphinx_ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
- siliconcompiler/sphinx_ext/dynamicgen.py,sha256=ffucph_vUglkhs3NyK-Ml_2pHZ25aSbOdmZghg0I-J0,35219
113
+ siliconcompiler/sphinx_ext/dynamicgen.py,sha256=7BlYoNPhJ_SkEteZp87edaXfgQ7PhebeL7EgB7KQmz8,35290
113
114
  siliconcompiler/sphinx_ext/schemagen.py,sha256=5gQzx5dfCJ2ysMXkmsS7xcOmvj5ZkrXa0c_V-d6uHgc,7677
114
115
  siliconcompiler/sphinx_ext/utils.py,sha256=JNktfS5nYZE_DnXRX_fwOBkc5kWgLkB0Urxbe_lvPNc,4079
115
116
  siliconcompiler/targets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -117,7 +118,7 @@ siliconcompiler/targets/asap7_demo.py,sha256=RBCjAx3laq2xUT7w--b9oIVx8r87QyKfBRX
117
118
  siliconcompiler/targets/asic_demo.py,sha256=jRvbDhMZDGf-8AQ241vu8qLgloxPUToAn01Ybaaj_wo,1094
118
119
  siliconcompiler/targets/fpgaflow_demo.py,sha256=0fqCaXa8_gicQCiz4m_mhI8_JY1qQlBO3mH45-YzMGA,1288
119
120
  siliconcompiler/targets/freepdk45_demo.py,sha256=O983Nwrs9h_HHlHtlUUrP0cPgdf3IlME1yWXCRgdL_A,1953
120
- siliconcompiler/targets/gf180_demo.py,sha256=oTs07GFFyQT0LaE7jVdoLSBuGqpOGLyL-ThQ25ZpCkc,3075
121
+ siliconcompiler/targets/gf180_demo.py,sha256=-GiyRNVnoouILXV7_mCANSsOT6gmlmFKqn0JOJ_vS9g,3062
121
122
  siliconcompiler/targets/ihp130_demo.py,sha256=3nCxfM0-XpZWjhE1yQezZKBGJwtf6AjpeinPM4z6wv0,2688
122
123
  siliconcompiler/targets/interposer_demo.py,sha256=f9vH4NXhU2GUkPm8NJbo_MrTRJIPEr1hzQlkQwBbvOU,2234
123
124
  siliconcompiler/targets/skywater130_demo.py,sha256=ct-kdVuZm2idynFm8eEZlL2S4-rfzWe16in8lOZPqrU,2689
@@ -128,6 +129,9 @@ siliconcompiler/templates/email/summary.j2,sha256=OLdrWEvg_VxefqSlJ8QDsO-NIuk4Ab
128
129
  siliconcompiler/templates/issue/README.txt,sha256=2vFnTt8Npy73GPrWwjeJ53H9tOhwmHb7WxNXXrDgizY,671
129
130
  siliconcompiler/templates/issue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
131
  siliconcompiler/templates/issue/run.sh,sha256=pwWNRym9P06jtns7_acKTu1zrTEjK4dA9EDV_eKdLds,147
132
+ siliconcompiler/templates/replay/requirements.txt,sha256=Fy85pcZE9V7BHSDOgGf9ZVkRGmoY4SY92neRp7ka7WU,127
133
+ siliconcompiler/templates/replay/run.py.j2,sha256=okWgvlHVpwzqeGk3qAY6x-AWNowBBAor4IVBWJSkwtg,538
134
+ siliconcompiler/templates/replay/setup.sh,sha256=N_1Imrke8wZL_kup258pLbY3BTjixjfx557KL4NVdXc,470
131
135
  siliconcompiler/templates/report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
136
  siliconcompiler/templates/report/bootstrap.min.css,sha256=YvdLHPgkqJ8DVUxjjnGVlMMJtNimJ6dYkowFFvp4kKs,163873
133
137
  siliconcompiler/templates/report/bootstrap.min.js,sha256=cMPWkL3FzjuaFSfEYESYmjF25hCIL6mfRSPnW8OVvM4,59219
@@ -138,8 +142,8 @@ siliconcompiler/templates/slurm/run.sh,sha256=uXs91H0vjLB8G8vaezxXSr3XNR2EUiXH1d
138
142
  siliconcompiler/templates/tcl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
143
  siliconcompiler/templates/tcl/manifest.tcl.j2,sha256=XT2pKuPSaa2GPJj1IpEl3Al5N70yqQS8jZecmpyeV4o,3547
140
144
  siliconcompiler/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
- siliconcompiler/tools/_common/__init__.py,sha256=tCH4wk6hTQwS19pkVpOiN2MW1GbsFjKkPoarELzq5FQ,14525
142
- siliconcompiler/tools/_common/asic.py,sha256=0-yMpvuMBy2dzN6uRFC96z8mN-7Ndzj7LhiMuR2MKtk,6469
145
+ siliconcompiler/tools/_common/__init__.py,sha256=NP1YLZn6wyOXRWZwzDnJUKzrJ-eD88X94nXzXcj-ALg,15012
146
+ siliconcompiler/tools/_common/asic.py,sha256=D4pfv4AKU96W721iAheXkYZ57Mq2S-yvnN0nPncpwo0,6659
143
147
  siliconcompiler/tools/_common/sdc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
148
  siliconcompiler/tools/_common/sdc/sc_constraints.sdc,sha256=Hz6OLebi14UTcfGXgJoNJeFo0BH_4N5XwjFe2mrey8g,2827
145
149
  siliconcompiler/tools/_common/tcl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -153,7 +157,7 @@ siliconcompiler/tools/bluespec/convert.py,sha256=eDptNYocnia6YIAdySkDZmLhM-vYvAe
153
157
  siliconcompiler/tools/builtin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
158
  siliconcompiler/tools/builtin/_common.py,sha256=dBeR33Riy8IobdPJTPNhdy8rYu4bUif15fWOmsbTXmY,5289
155
159
  siliconcompiler/tools/builtin/builtin.py,sha256=SfkmFaqLE8U-sjimVBtIgR8INRenV0eW0buTTgeTDPI,831
156
- siliconcompiler/tools/builtin/concatenate.py,sha256=Z9GfzMnmn3728dnH8AmHG4s7MsU6hDUNz-w0Oz48vKw,3396
160
+ siliconcompiler/tools/builtin/concatenate.py,sha256=KkkGmh3E1T_lROKUGIo4qhzo1ixqB3_NJJ9b-Jyt4O8,3403
157
161
  siliconcompiler/tools/builtin/join.py,sha256=-RLK7PG15wfHpqtm-MAV4xzxNjEm1-ieKFvBJN8zBYM,554
158
162
  siliconcompiler/tools/builtin/maximum.py,sha256=L9pz8s_uZWHPt_IQavuEQXaTyrI3fI2f-aLqLlk-odI,1295
159
163
  siliconcompiler/tools/builtin/minimum.py,sha256=8qA8DsXy3mXm20P1euEQfXlDGjMEwvzDHIqF-fhDTao,1659
@@ -211,43 +215,66 @@ siliconcompiler/tools/netgen/sc_lvs.tcl,sha256=EKDVaYZZMi__ga-t8x-SWEyDG9Zat0wyZ
211
215
  siliconcompiler/tools/nextpnr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
212
216
  siliconcompiler/tools/nextpnr/apr.py,sha256=dCMLDS4xnwqCoBtCKd3kwCxjIRqPn_zq3f7pkWPw5mw,802
213
217
  siliconcompiler/tools/nextpnr/nextpnr.py,sha256=B5kr-ZLnt2vDFtS4veIdf0_Cm6yvfS1QVqWhxYa8R24,1712
214
- siliconcompiler/tools/openroad/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
- siliconcompiler/tools/openroad/cts.py,sha256=CZz_eJxCyuMpA7bvQaDm6dYgOkUM9phNKD1aNcJKJgE,1080
216
- siliconcompiler/tools/openroad/dfm.py,sha256=RjdOqq7oPVSx5HzYUTSlBh4ZGnVfJqJHR0cs4WdG1pQ,2244
217
- siliconcompiler/tools/openroad/export.py,sha256=svZZlcUIq9FTDydpoDZdlPyoMVYIkLBUTIBD2dm8TOk,5273
218
- siliconcompiler/tools/openroad/floorplan.py,sha256=y7V2WOhHW0MhMJkjx4hQuTsiIKCMpcJiQEu4RaMlq_k,2804
219
- siliconcompiler/tools/openroad/metrics.py,sha256=SyGF-foyfJz2VZRxEdA_HCKI9wW3s8jzdBkph1WMG3E,1048
220
- siliconcompiler/tools/openroad/openroad.py,sha256=Tcte1Vk5zV2LyhNi1gycj2hW8IQ9C86GBtUG2_vP_J8,50463
221
- siliconcompiler/tools/openroad/physyn.py,sha256=ZgEPRTGyXe930PsXNHx1p7ITsBa6x7_EyZfW8vM0-O8,682
222
- siliconcompiler/tools/openroad/place.py,sha256=0eRg3n0x3zawg8jp7akDpc1KbUw4LKqeGJ2MMliXbnU,1018
223
- siliconcompiler/tools/openroad/rcx_bench.py,sha256=EEOsuQhB2z09dbKqQ8CVgFQyymTceKG1fgFWUbEbcxQ,3658
224
- siliconcompiler/tools/openroad/rcx_extract.py,sha256=jguqgBerMgjQIaW8-nkcFoHSvwsWhWgfr2QoxKZEemk,1354
225
- siliconcompiler/tools/openroad/rdlroute.py,sha256=-wbX46ql-coKAplGvDlIHgzjltKPk1CtTLuKjM3YGyU,3873
226
- siliconcompiler/tools/openroad/route.py,sha256=4kLuBXeCyztS3sccORtjxSS8et0OFtaxGo6vGodnNX0,1113
227
- siliconcompiler/tools/openroad/screenshot.py,sha256=VWh74bLxgeW_8YOhUokDYDIN8rsQgb1G3KMLOPbF-EQ,1970
228
- siliconcompiler/tools/openroad/show.py,sha256=YtdKChcf2cdp2QoKvoHBjeKUWLP-7A8kWe3TfsZhuVw,3731
229
- siliconcompiler/tools/openroad/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
- siliconcompiler/tools/openroad/scripts/sc_apr.tcl,sha256=2HFzF54m6I1rGSYPb-n9eyGAkKFeiSyR0R0pN0hVXDQ,20320
231
- siliconcompiler/tools/openroad/scripts/sc_cts.tcl,sha256=IcHanlIAwd0183CaRTNG4lzP-DuFy5GYu4gGsUftBBo,1987
232
- siliconcompiler/tools/openroad/scripts/sc_dfm.tcl,sha256=vhIUebTDyDtg7mnwDzUgMmdKZd5NmgG68wQBj1P34Pg,587
233
- siliconcompiler/tools/openroad/scripts/sc_export.tcl,sha256=-r3WUFON7gMgXxcJUL_uGBp_-wi46h1hAMKlRWtOzWg,2830
234
- siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl,sha256=XufELL8Ys4kUrSSQwx_Kcx-NWchyrtHfo2AYO40kFys,13484
235
- siliconcompiler/tools/openroad/scripts/sc_metrics.tcl,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
236
- siliconcompiler/tools/openroad/scripts/sc_physyn.tcl,sha256=hLAVeE_a__ZBgVMOSmMwCwtTDfflZptPmphaqibYvEk,115
237
- siliconcompiler/tools/openroad/scripts/sc_place.tcl,sha256=WMuYB-LXQP8YdcYMHTkqGzOvn1bK6X7mOm12gEK4kKY,1937
238
- siliconcompiler/tools/openroad/scripts/sc_procs.tcl,sha256=ZjLhdb0ddjFMn_ATbVRhGRrgUC1bi4aCfHNjbDosHIQ,12640
239
- siliconcompiler/tools/openroad/scripts/sc_rcx.tcl,sha256=-70AuNikbsoHd_bW-myc8QMbmJNFSK-DqKIN_HF0luc,1514
240
- siliconcompiler/tools/openroad/scripts/sc_rcx_bench.tcl,sha256=d_VgTJA4hwRiaJVTTBOl1LxfJ3KB7fHJjmj8eTm1GRs,682
241
- siliconcompiler/tools/openroad/scripts/sc_rcx_extract.tcl,sha256=Aj9J_8aiOR1WqcQvdx99WyUDcN8RafxXwtrexcS5UcU,489
242
- siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl,sha256=HFGXVIb8f3FPHl0qR25_I3xhx49jfIMI8WSIw0sYbSw,4844
243
- siliconcompiler/tools/openroad/scripts/sc_report.tcl,sha256=lrMQ5j41xIXA5a6Q_6EejAT2P0dj3gMBwwGNjKdSN2I,6208
244
- siliconcompiler/tools/openroad/scripts/sc_route.tcl,sha256=m1TanwYlYcPbisO92gCih4jnxyaQ5BVDB71PtOCipqI,3919
245
- siliconcompiler/tools/openroad/scripts/sc_screenshot.tcl,sha256=nMbqIIcnUQ5kmdYXjeu-P2k3SOSWS1ORrUEMyGavGU0,437
246
- siliconcompiler/tools/openroad/scripts/sc_write.tcl,sha256=5N7ZKWU_8NdEYO-n6tuTXCmWCYtClDjHykOidKyFWdk,168
247
- siliconcompiler/tools/openroad/scripts/sc_write_images.tcl,sha256=YAtASBLAKq74ciN8Ow75X2vzl13NwQcwHyX9N-nroy4,10081
218
+ siliconcompiler/tools/openroad/__init__.py,sha256=jA7jPNbp1_vkT2Wubl0_YOD_uUVYdEH62IM-jYUuFKQ,3246
219
+ siliconcompiler/tools/openroad/_apr.py,sha256=h9bhRJDpZ-Ht7kBhJd3bN_getMUaKcK959hEbEN8Wc8,48855
220
+ siliconcompiler/tools/openroad/antenna_repair.py,sha256=VwHwiNOuaF8vQj2D_Rcfk2cRV45lA8h0JHdItk4y2dE,2225
221
+ siliconcompiler/tools/openroad/clock_tree_synthesis.py,sha256=slqlMBJnVauTqzOdw4pNOhgN9bJCpwtTj2FV0YmpGgE,1687
222
+ siliconcompiler/tools/openroad/detailed_placement.py,sha256=IsTuZH7780qXQYB7ZEpima2KbK8VWYTD3lBUehcMBX8,1548
223
+ siliconcompiler/tools/openroad/detailed_route.py,sha256=JVm3E8BVEABRG29lyyRNiW5VXBcCASeB4-7XWrUwNNs,1583
224
+ siliconcompiler/tools/openroad/endcap_tapcell_insertion.py,sha256=Clus1qkvUwlyfD4W4rZ_TvbK8vxHt9c6luN4wTSJcz4,1449
225
+ siliconcompiler/tools/openroad/fillercell_insertion.py,sha256=ac3HDUMbd065jn82s6km3ZSRtJbpp-yMHJIcvHBDO-0,1488
226
+ siliconcompiler/tools/openroad/fillmetal_insertion.py,sha256=CPYQ2LFtHlZ5yPUc3xefjDisk62woXgnx_ac6wNNk4Y,2511
227
+ siliconcompiler/tools/openroad/global_placement.py,sha256=hCJLkydal6UqK3A3UBdnM8JCsn6cloM37wfgnzjuoRo,1531
228
+ siliconcompiler/tools/openroad/global_route.py,sha256=JQwZDheM26E29hDaqkJ3eHWo-1BBYYts0kd8yQfbJfQ,1641
229
+ siliconcompiler/tools/openroad/init_floorplan.py,sha256=d7smF3C5tLq1L33O0s-0G-5CQQjBIX6ryYqqiBbvO0U,4016
230
+ siliconcompiler/tools/openroad/macro_placement.py,sha256=jXrdTQLt-OtV66UWYyZ35jOQdDfkqN-rjWLiGnjjNYI,1941
231
+ siliconcompiler/tools/openroad/metrics.py,sha256=ETSD5ks_da3s08_Couek766D3tfHQhhxeNDHpjUALvg,1492
232
+ siliconcompiler/tools/openroad/pin_placement.py,sha256=TZJGNnryXRULr8jVC0g1949tWT75m7o6kR0doZ-KeEU,1476
233
+ siliconcompiler/tools/openroad/power_grid.py,sha256=7Vj0IC4noMP22Zfl22FYEa6Yr_QyV9BqE1nwETMRte0,2125
234
+ siliconcompiler/tools/openroad/rcx_bench.py,sha256=6ASma7QGgM4Hk5oXYdDAR1BgElxhYN9L7RoDbQi9LBE,3655
235
+ siliconcompiler/tools/openroad/rcx_extract.py,sha256=ANj46BR3bzlTlI-wl45hD0HODTGRd03SfsM7gnEDJsg,1338
236
+ siliconcompiler/tools/openroad/rdlroute.py,sha256=S_9DchNfrA_uFiUeCfD2-kMVB8XxWl_sL6sxdU-rDmg,3849
237
+ siliconcompiler/tools/openroad/repair_design.py,sha256=R28PPT_OXmPoQFvZC0sxG5u1y9GiUg1ZlUUNZCzu1Vo,1573
238
+ siliconcompiler/tools/openroad/repair_timing.py,sha256=aNmxPYN3DvArqF42inCMNwPFsJqepQyuQM31WXSSl5o,1642
239
+ siliconcompiler/tools/openroad/screenshot.py,sha256=76IEYFy2CkmvCRbRYND1H-xhF0Jgjmu96HgQE6ttZV4,1574
240
+ siliconcompiler/tools/openroad/show.py,sha256=fABmvb9Y3bRwgvTorQR4w25ioCoLROvM0_VQlOTBap8,3874
241
+ siliconcompiler/tools/openroad/write_data.py,sha256=-COViTockYNz6ik77dHy22GC0XrRIplnp-fOHHHhHUQ,5297
242
+ siliconcompiler/tools/openroad/scripts/sc_rcx.tcl,sha256=eLbIVoKo9RgxZUcVAmkVMylxDUi7kSeIF1x518c_cZA,1254
243
+ siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl,sha256=DM8ShbsQdOSq0eXCn2paD2sH3XWQlyVG40yiFCmvWmc,4983
244
+ siliconcompiler/tools/openroad/scripts/sc_show.tcl,sha256=5Kra4ONIhvXFyk1At5aLeYMISHQ5UpC3KzHLAo1B9yU,2551
245
+ siliconcompiler/tools/openroad/scripts/apr/postamble.tcl,sha256=9CLpG_DLvRKMgFRQMR5xWSzGIF9QERIBMkKTxcDYaWA,1130
246
+ siliconcompiler/tools/openroad/scripts/apr/preamble.tcl,sha256=X4SxzX1f1jyPaF4UTBQUSbPEuJtLuEJCHTivHoX5OQQ,2397
247
+ siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl,sha256=Zyd9w7Md6iyCIBmDl-mTYPWkXIx5T0NE9qid339KqLA,1489
248
+ siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl,sha256=SjfWC5uKJTveQE0Chw_LaraX6fH9ZX35ZEY5cYdqFpU,1861
249
+ siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl,sha256=Xcvz-kilJTsrcvNmVZZSzYtCWkC2I1EWYLMVy6DjSxw,924
250
+ siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl,sha256=GlFud8C-89kktBVck4YdSpr_QBDZw62vkEERLyKNzAI,2314
251
+ siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl,sha256=A_eiApMbYlT0WOvreVtqkS-Ou1rdRu-m0Vtj7yKCGFg,1288
252
+ siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl,sha256=uc7MdGV64PWeH_MAkxx2jrzXVXeoOAVYyYIGgMilPDk,571
253
+ siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl,sha256=Qk16mhbcVo1g4wBKjYwV4aNr2zAEFXsF8XnehA9xbWY,896
254
+ siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl,sha256=wADPZeYFGVsmfNN11U6JCdGjqonsNcWhpuRO9TchE7A,555
255
+ siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl,sha256=v8149E4GbJrdDAc7i_WFhh2dQomuzSlf149DNqm1DVI,1853
256
+ siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl,sha256=j3sY5GMGtriQks2yaAEzxrcWhvFIsOrH8cfh5wj_aRQ,10431
257
+ siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl,sha256=RWQRQaFEtrlmaYah4FBwTMldL55FowefsPoq_rgurAw,5087
258
+ siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl,sha256=Y3EtUBTT1XJIM6CgnXqGAoRg46GNYuMG3dJ6tw-2ShE,500
259
+ siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl,sha256=FpHZ7b88rH-sxlg0w9PpWrmAZIj3Q6yLNiEFFm9wzkw,1114
260
+ siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl,sha256=1yV9CZjE7iT99nInjc_cdYe5z2iCmtIJCAqlOkBy7k0,1503
261
+ siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl,sha256=MGX50YV22tulRiCaSLGcU_m6fB5h8lbasQQZdBm7M5E,1687
262
+ siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl,sha256=ScaMAP_VtNWl_BTaqfq8sKIJTi9KJXMALhp5EOB8v9c,2357
263
+ siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl,sha256=q0I3s-hBZtoiFkZHCfeEHBQGNbbgUmiMJ7U7Gsr1pQI,3696
264
+ siliconcompiler/tools/openroad/scripts/common/debugging.tcl,sha256=i4oNtC0rQq3JaFf1-oKyr_jZQyu5ZF_--zskvG0hdKg,943
265
+ siliconcompiler/tools/openroad/scripts/common/procs.tcl,sha256=TKKpR0Fsoeu408ffKXRYoWMGr3VeqCXLvUG0tW8jz1k,20168
266
+ siliconcompiler/tools/openroad/scripts/common/read_input_files.tcl,sha256=sEL4hvDS30E5oHdkyDC2wqdYCKUY3bja4tobzSzWsDw,2020
267
+ siliconcompiler/tools/openroad/scripts/common/read_liberty.tcl,sha256=GeXZ8H3a8fg8o-4KyfZj2N4Db_P9XArZl2T4apfMSZI,778
268
+ siliconcompiler/tools/openroad/scripts/common/read_timing_constraints.tcl,sha256=fsHSSGXkrqOKXjwH7U8XMLMnEPoZpavBVkl4qzLugOU,515
269
+ siliconcompiler/tools/openroad/scripts/common/reports.tcl,sha256=ouBfFyvevH0kG_AToMIa1q2_szdNjUbBNBjyPLrFSgU,6086
270
+ siliconcompiler/tools/openroad/scripts/common/screenshot.tcl,sha256=OEE4JpafdOK1cVJw3sie_Fvo03ZkheElhPpvKsgCV0E,447
271
+ siliconcompiler/tools/openroad/scripts/common/write_data.tcl,sha256=5N7ZKWU_8NdEYO-n6tuTXCmWCYtClDjHykOidKyFWdk,168
272
+ siliconcompiler/tools/openroad/scripts/common/write_images.tcl,sha256=lP9ycPyQ4p-etIuir-fGWr4vq1UqT6LZiy5cRhLZQh8,11031
273
+ siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_bench.tcl,sha256=95p_XiRPA1PnofMTMUTesI4JniHnvB8f9_oANGRuC8M,692
274
+ siliconcompiler/tools/openroad/scripts/rcx/sc_rcx_extract.tcl,sha256=Aj9J_8aiOR1WqcQvdx99WyUDcN8RafxXwtrexcS5UcU,489
248
275
  siliconcompiler/tools/openroad/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
276
  siliconcompiler/tools/openroad/templates/pex.tcl,sha256=t-54kEYkIFkC5hIiMWw6IZD9guRwG90zT4Mt9erYUnY,299
250
- siliconcompiler/tools/opensta/__init__.py,sha256=CbwN01FDTGohrldYiSkc-Ny_5Wm2yDCRXMrw9CYSKLo,3679
277
+ siliconcompiler/tools/opensta/__init__.py,sha256=M8zNG1mxKv_u-Cflq2ixrImVECPmWVsh4WL6fLk-NR0,3675
251
278
  siliconcompiler/tools/opensta/report_libraries.py,sha256=9DPPQyh7QEEJi1HZR0m086WZPbB22h5aG-yTuHNW_uE,828
252
279
  siliconcompiler/tools/opensta/timing.py,sha256=UbnpTGPtYN4sg0ZurF7V78los6J24RuzVzeIL6Ry6fg,8742
253
280
  siliconcompiler/tools/opensta/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -302,17 +329,17 @@ siliconcompiler/tools/yosys/sc_lec.tcl,sha256=U86yboSq1TKiHKG2hjYUeO9wsCGvHLeQ6y
302
329
  siliconcompiler/tools/yosys/sc_screenshot.tcl,sha256=-7Bb-HhJsZjSdSIlYCTZnZgigwBoN_1FNik9Ba_flos,2853
303
330
  siliconcompiler/tools/yosys/sc_syn.tcl,sha256=ZtLbH-x9tPdZgHwcCLWZ4qQ4zqh1imLluj2LyW86P4k,2321
304
331
  siliconcompiler/tools/yosys/screenshot.py,sha256=Octzl15bG8LmXdyU-hv9QsP9GTrhoLYzdvi_yTRzXXo,5629
305
- siliconcompiler/tools/yosys/syn_asic.py,sha256=jEYfQTaTIPj4UHY2AKJocW3wMW2Prtgu6t55esNpZ_E,24106
306
- siliconcompiler/tools/yosys/syn_asic.tcl,sha256=MNUmV_qdkHfgDAPDb0urVwRLE65Y5xNodGOW4Zo7nTM,11957
332
+ siliconcompiler/tools/yosys/syn_asic.py,sha256=Q4s2lEiVVEeV_IEq4Qf8z3tp88G46HKpGhCL4ioTxsE,24495
333
+ siliconcompiler/tools/yosys/syn_asic.tcl,sha256=OXo20mKGy6LUYrXag3h51QzLePlp4pJgfbOj4WttngI,12487
307
334
  siliconcompiler/tools/yosys/syn_fpga.py,sha256=rF4TMBUhmtiWwdx1KJeW-cNiAnkTXmo_0htyuUE7plY,5427
308
- siliconcompiler/tools/yosys/syn_fpga.tcl,sha256=03w87fLgDwD65tDiUbkTBI-rKQUkMDnHI0u42UrA6D8,8030
335
+ siliconcompiler/tools/yosys/syn_fpga.tcl,sha256=GU1PACd1t6K_jLk2Ny7U6D8cxGHTgcwTmbCY1m4NEAs,8417
309
336
  siliconcompiler/tools/yosys/syn_strategies.tcl,sha256=YJ5bXCdUNDZZ4EY4wBGS-9m0EeNlANBIO9e5a_6A0KA,5329
310
337
  siliconcompiler/tools/yosys/yosys.py,sha256=77GTkg_ifbkJI5D2aRbj6rl1YNSDhZ139OWfXHag5VQ,4986
311
338
  siliconcompiler/tools/yosys/techmaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
339
  siliconcompiler/tools/yosys/techmaps/lcu_kogge_stone.v,sha256=M4T-ygiKmlsprl5eGGLaV5w6HVqlEepn0wlUDmOkapg,773
313
340
  siliconcompiler/tools/yosys/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
341
  siliconcompiler/tools/yosys/templates/abc.const,sha256=TAq9ThdLMYCJGrtToEU0gWcLuEtjE4Gk8huBbTm1v-I,116
315
- siliconcompiler/toolscripts/_tools.json,sha256=jeawsNVi9BJWSeMiIxX0_0mDjv0-WddcU5a_Rm5uPIw,3959
342
+ siliconcompiler/toolscripts/_tools.json,sha256=nc4Ro0ey2i10zpCRSjn1roD8QiwcnY4rRwkkn4GC3GY,3961
316
343
  siliconcompiler/toolscripts/_tools.py,sha256=P30KY_xbbjl8eHGsPAxDcAzWvJJpiL07ZfGZZDQbdR8,7174
317
344
  siliconcompiler/toolscripts/rhel8/install-chisel.sh,sha256=lPORZN7vlBX6sJSv01JOIiDE9-_7GcCZGA7EP5ri3MQ,525
318
345
  siliconcompiler/toolscripts/rhel8/install-ghdl.sh,sha256=xCLeEUuJVI_6PVEvnTwBsTWoEHiQg0TY3x-tJXfg6Zk,459
@@ -412,9 +439,9 @@ siliconcompiler/toolscripts/ubuntu24/install-yosys.sh,sha256=zpyt0MVI7tY8kGY2GII
412
439
  siliconcompiler/utils/__init__.py,sha256=6u8A5atgPW7cbC1xrerU67rlOM0FitCgxFIu5F_n5zo,14126
413
440
  siliconcompiler/utils/asic.py,sha256=cMLs7dneSmh5BlHS0-bZ1tLUpvghTw__gNaUCMpyBds,4986
414
441
  siliconcompiler/utils/showtools.py,sha256=qc5HLqCQxUITdhp9rESf0w_blAkKVYL6JpkXQdrew00,1406
415
- siliconcompiler-0.28.9.dist-info/LICENSE,sha256=lbLR6sRo_CYJOf7SVgHi-U6CZdD8esESEZE5TZazOQE,10766
416
- siliconcompiler-0.28.9.dist-info/METADATA,sha256=cIK1Z_MCUEI3Zz4VBwApsmfv94-s7Y23x6jvoZ-zKUY,10831
417
- siliconcompiler-0.28.9.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
418
- siliconcompiler-0.28.9.dist-info/entry_points.txt,sha256=TZVS-8akO-8Z1Z1oMjgWryzk_F9dAW74d2ArJV843pg,501
419
- siliconcompiler-0.28.9.dist-info/top_level.txt,sha256=H8TOYhnEUZAV1RJTa8JRtjLIebwHzkQUhA2wkNU2O6M,16
420
- siliconcompiler-0.28.9.dist-info/RECORD,,
442
+ siliconcompiler-0.29.0.dist-info/LICENSE,sha256=lbLR6sRo_CYJOf7SVgHi-U6CZdD8esESEZE5TZazOQE,10766
443
+ siliconcompiler-0.29.0.dist-info/METADATA,sha256=aCX3gJqoYrOrEmkz4LHcAVR2foZwz_ainn-xVzSkM1o,10939
444
+ siliconcompiler-0.29.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
445
+ siliconcompiler-0.29.0.dist-info/entry_points.txt,sha256=TZVS-8akO-8Z1Z1oMjgWryzk_F9dAW74d2ArJV843pg,501
446
+ siliconcompiler-0.29.0.dist-info/top_level.txt,sha256=H8TOYhnEUZAV1RJTa8JRtjLIebwHzkQUhA2wkNU2O6M,16
447
+ siliconcompiler-0.29.0.dist-info/RECORD,,
@@ -1,45 +0,0 @@
1
-
2
- from siliconcompiler.tools.openroad.openroad import setup as setup_tool
3
- from siliconcompiler.tools.openroad.openroad import build_pex_corners
4
- from siliconcompiler.tools.openroad.openroad import post_process as or_post_process
5
- from siliconcompiler.tools.openroad.openroad import pre_process as or_pre_process
6
- from siliconcompiler.tools.openroad.openroad import _set_reports, set_pnr_inputs, set_pnr_outputs
7
-
8
-
9
- def setup(chip):
10
- '''
11
- Perform clock tree synthesis and timing repair
12
- '''
13
-
14
- # Generic tool setup.
15
- setup_tool(chip)
16
-
17
- set_pnr_inputs(chip)
18
- set_pnr_outputs(chip)
19
-
20
- _set_reports(chip, [
21
- 'setup',
22
- 'hold',
23
- 'unconstrained',
24
- 'clock_skew',
25
- 'power',
26
- 'drv_violations',
27
- 'fmax',
28
-
29
- # Images
30
- 'placement_density',
31
- 'routing_congestion',
32
- 'power_density',
33
- 'clock_placement',
34
- 'clock_trees',
35
- 'optimization_placement'
36
- ])
37
-
38
-
39
- def pre_process(chip):
40
- or_pre_process(chip)
41
- build_pex_corners(chip)
42
-
43
-
44
- def post_process(chip):
45
- or_post_process(chip)
@@ -1,75 +0,0 @@
1
- from siliconcompiler.tools._common import input_provides, add_common_file, get_tool_task
2
- from siliconcompiler.tools._common.asic import set_tool_task_var
3
- from siliconcompiler.tools.openroad.openroad import setup as setup_tool
4
- from siliconcompiler.tools.openroad.openroad import build_pex_corners
5
- from siliconcompiler.tools.openroad.openroad import post_process as or_post_process
6
- from siliconcompiler.tools.openroad.openroad import pre_process as or_pre_process
7
- from siliconcompiler.tools.openroad.openroad import _set_reports, set_pnr_inputs, set_pnr_outputs
8
-
9
-
10
- def setup(chip):
11
- '''
12
- Perform floorplanning, pin placements, macro placements and power grid generation
13
- '''
14
-
15
- # Generic tool setup.
16
- setup_tool(chip)
17
-
18
- tool = 'openroad'
19
- design = chip.top()
20
- step = chip.get('arg', 'step')
21
- index = chip.get('arg', 'index')
22
- _, task = get_tool_task(chip, step, index)
23
-
24
- if chip.valid('input', 'asic', 'floorplan') and \
25
- chip.get('input', 'asic', 'floorplan', step=step, index=index):
26
- chip.add('tool', tool, 'task', task, 'require',
27
- ",".join(['input', 'asic', 'floorplan']),
28
- step=step, index=index)
29
-
30
- if f'{design}.vg' in input_provides(chip, step, index):
31
- chip.add('tool', tool, 'task', task, 'input', design + '.vg',
32
- step=step, index=index)
33
- else:
34
- chip.add('tool', tool, 'task', task, 'require', 'input,netlist,verilog',
35
- step=step, index=index)
36
-
37
- set_pnr_inputs(chip)
38
- set_pnr_outputs(chip)
39
-
40
- if chip.valid('tool', tool, 'task', task, 'file', 'padring') and \
41
- chip.get('tool', tool, 'task', task, 'file', 'padring',
42
- step=step, index=index):
43
- chip.add('tool', tool, 'task', task, 'require',
44
- ','.join(['tool', tool, 'task', task, 'file', 'padring']),
45
- step=step, index=index)
46
- chip.set('tool', tool, 'task', task, 'file', 'padring',
47
- 'script to insert the padring',
48
- field='help')
49
-
50
- set_tool_task_var(chip, param_key='remove_synth_buffers',
51
- default_value=True,
52
- schelp='remove buffers inserted by synthesis')
53
-
54
- snap = chip.get('tool', tool, 'task', task, 'var', 'ifp_snap_strategy',
55
- step=step, index=index)[0]
56
- snaps_allowed = ('none', 'site', 'manufacturing_grid')
57
- if snap not in snaps_allowed:
58
- chip.error(f'{snap} is not a supported snapping strategy. Allowed values: {snaps_allowed}')
59
-
60
- add_common_file(chip, 'sc_pin_constraint', 'tcl/sc_pin_constraints.tcl')
61
-
62
- _set_reports(chip, [
63
- 'setup',
64
- 'unconstrained',
65
- 'power'
66
- ])
67
-
68
-
69
- def pre_process(chip):
70
- or_pre_process(chip)
71
- build_pex_corners(chip)
72
-
73
-
74
- def post_process(chip):
75
- or_post_process(chip)
@@ -1,27 +0,0 @@
1
-
2
- from siliconcompiler.tools.openroad.openroad import setup as setup_tool
3
- from siliconcompiler.tools.openroad.openroad import build_pex_corners
4
- from siliconcompiler.tools.openroad.openroad import post_process as or_post_process
5
- from siliconcompiler.tools.openroad.openroad import pre_process as or_pre_process
6
- from siliconcompiler.tools.openroad.openroad import set_pnr_inputs, set_pnr_outputs
7
-
8
-
9
- def setup(chip):
10
- '''
11
- Not implemented yet
12
- '''
13
-
14
- # Generic tool setup.
15
- setup_tool(chip)
16
-
17
- set_pnr_inputs(chip)
18
- set_pnr_outputs(chip)
19
-
20
-
21
- def pre_process(chip):
22
- or_pre_process(chip)
23
- build_pex_corners(chip)
24
-
25
-
26
- def post_process(chip):
27
- or_post_process(chip)
@@ -1,41 +0,0 @@
1
-
2
- from siliconcompiler.tools.openroad.openroad import setup as setup_tool
3
- from siliconcompiler.tools.openroad.openroad import build_pex_corners
4
- from siliconcompiler.tools.openroad.openroad import post_process as or_post_process
5
- from siliconcompiler.tools.openroad.openroad import pre_process as or_pre_process
6
- from siliconcompiler.tools.openroad.openroad import _set_reports, set_pnr_inputs, set_pnr_outputs
7
-
8
-
9
- def setup(chip):
10
- '''
11
- Perform global and detail placements along with design violation repairs
12
- '''
13
-
14
- # Generic tool setup.
15
- setup_tool(chip)
16
-
17
- set_pnr_inputs(chip)
18
- set_pnr_outputs(chip)
19
-
20
- _set_reports(chip, [
21
- 'setup',
22
- 'unconstrained',
23
- 'power',
24
- 'drv_violations',
25
- 'fmax',
26
-
27
- # Images
28
- 'placement_density',
29
- 'routing_congestion',
30
- 'power_density',
31
- 'optimization_placement'
32
- ])
33
-
34
-
35
- def pre_process(chip):
36
- or_pre_process(chip)
37
- build_pex_corners(chip)
38
-
39
-
40
- def post_process(chip):
41
- or_post_process(chip)