|
1 | 1 | load("@bazel-orfs//:openroad.bzl", "orfs_flow") |
2 | | -load("@rules_python//python:pip.bzl", "compile_pip_requirements") |
3 | 2 |
|
4 | 3 | filegroup( |
5 | 4 | name = "constraints-gcd", |
@@ -101,158 +100,8 @@ orfs_flow( |
101 | 100 | ]), |
102 | 101 | ) |
103 | 102 |
|
104 | | -filegroup( |
105 | | - name = "mock-array-constraints", |
106 | | - srcs = [ |
107 | | - "designs/asap7/mock-array/constraints.sdc", |
108 | | - ], |
109 | | - visibility = [":__subpackages__"], |
110 | | -) |
111 | | - |
112 | | -filegroup( |
113 | | - name = "mock-array-io", |
114 | | - srcs = [ |
115 | | - "designs/asap7/mock-array/io.tcl", |
116 | | - ], |
117 | | - data = [ |
118 | | - "designs/src/mock-array/util.tcl", |
119 | | - ], |
120 | | - visibility = [":__subpackages__"], |
121 | | -) |
122 | | - |
123 | | -MOCK_ARRAY_FLOORPLAN_PLACE = { |
124 | | - "PLACE_PINS_ARGS": "-annealing", |
125 | | - "IO_CONSTRAINTS": "$(location :mock-array-io)", |
126 | | - "PLACE_DENSITY": "0.30", |
127 | | - "DIE_AREA": "0 0 358.56 388.8", |
128 | | - "CORE_AREA": "2.16 2.16 356.40000000000003 386.64000000000004", |
129 | | - "MACRO_PLACE_HALO": "0 2.16", |
130 | | - "RTLMP_BOUNDARY_WT": "0", |
131 | | - "PDN_TCL": "$(PLATFORM_DIR)/openRoad/pdn/BLOCKS_grid_strategy.tcl", |
132 | | - "MACRO_HALO_X": "0.5", |
133 | | - "MACRO_HALO_Y": "0.5", |
134 | | - "MACRO_BLOCKAGE_HALO": "0", |
135 | | - "ADDITIONAL_FILES": "$(locations :mock-array-io)", |
136 | | -} |
137 | | - |
138 | | -orfs_flow( |
139 | | - name = "MockArray", |
140 | | - macros = ["Element_generate_abstract"], |
141 | | - stage_arguments = { |
142 | | - "synth": { |
143 | | - "SDC_FILE": "$(location :mock-array-constraints)", |
144 | | - }, |
145 | | - "floorplan": MOCK_ARRAY_FLOORPLAN_PLACE | { |
146 | | - }, |
147 | | - "place": MOCK_ARRAY_FLOORPLAN_PLACE | { |
148 | | - }, |
149 | | - "cts": { |
150 | | - "CTS_BUF_DISTANCE": "60", |
151 | | - }, |
152 | | - "route": { |
153 | | - # works with 28 or more iterations as of writing, so give it a few more. |
154 | | - "GLOBAL_ROUTE_ARGS": "-congestion_iterations 40 -verbose", |
155 | | - # If this design isn't quickly done in detailed routing, something is wrong. |
156 | | - # At time of adding this option, only 12 iterations were needed for 0 |
157 | | - # violations. |
158 | | - "DETAILED_ROUTE_ARGS": "-bottom_routing_layer M2 -top_routing_layer M7 -save_guide_updates -verbose 1 -droute_end_iter 15", |
159 | | - # since we are specifying DETAILED_ROUTE_ARGS, we need to communicate the |
160 | | - # same information to other stages in the flow. |
161 | | - "MIN_ROUTING_LAYER": "M2", |
162 | | - "MAX_ROUTING_LAYER": "M7", |
163 | | - }, |
164 | | - "final": { |
165 | | - "GDS_ALLOW_EMPTY": "Element", |
166 | | - "PWR_NETS_VOLTAGEsS": "", |
167 | | - "GND_NETS_VOLTAGES": "", |
168 | | - }, |
169 | | - }, |
170 | | - stage_sources = { |
171 | | - "synth": all_sources + [":mock-array-constraints"] + [":mock-array-io"], |
172 | | - "floorplan": all_sources + [":mock-array-io"], |
173 | | - "place": all_sources + [":mock-array-io"], |
174 | | - "cts": all_sources, |
175 | | - "final": all_sources, |
176 | | - }, |
177 | | - verilog_files = glob(include = ["designs/src/mock-array/*.v"]), |
178 | | -) |
179 | | - |
180 | | -filegroup( |
181 | | - name = "mock-array-element-io", |
182 | | - srcs = [ |
183 | | - "designs/asap7/mock-array/Element/io.tcl", |
184 | | - ], |
185 | | - data = [ |
186 | | - "designs/src/mock-array/util.tcl", |
187 | | - ], |
188 | | - visibility = [":__subpackages__"], |
189 | | -) |
190 | | - |
191 | | -MOCK_ARRAY_ELEMENT_FLOORPLAN_PLACE = { |
192 | | - "IO_CONSTRAINTS": "$(location :mock-array-element-io)", |
193 | | - "PLACE_PINS_ARGS": "-annealing", |
194 | | -} |
195 | | - |
196 | | -MOCK_ARRAY_ELEMENT_ALL = { |
197 | | - "MOCK_ARRAY_ROWS": "8", |
198 | | - "MOCK_ARRAY_COLS": "8", |
199 | | -} |
200 | | - |
201 | | -mock_array_all_sources = ["designs/src/mock-array/util.tcl"] |
202 | | - |
203 | | -orfs_flow( |
204 | | - name = "Element", |
205 | | - abstract_stage = "route", |
206 | | - arguments = { |
207 | | - "PLACE_DENSITY": "0.82", |
208 | | - }, |
209 | | - stage_arguments = { |
210 | | - "synth": MOCK_ARRAY_ELEMENT_ALL | { |
211 | | - "SDC_FILE": "$(location :mock-array-constraints)", |
212 | | - }, |
213 | | - "floorplan": MOCK_ARRAY_ELEMENT_ALL | MOCK_ARRAY_ELEMENT_FLOORPLAN_PLACE | { |
214 | | - "DIE_AREA": "0 0 43.2 43.2", |
215 | | - "CORE_AREA": "1.08 1.08 42.120000000000005 42.120000000000005", |
216 | | - "PDN_TCL": "$(PLATFORM_DIR)/openRoad/pdn/BLOCK_grid_strategy.tcl", |
217 | | - }, |
218 | | - "place": MOCK_ARRAY_ELEMENT_ALL | MOCK_ARRAY_ELEMENT_FLOORPLAN_PLACE | { |
219 | | - }, |
220 | | - "cts": MOCK_ARRAY_ELEMENT_ALL | { |
221 | | - }, |
222 | | - "route": MOCK_ARRAY_ELEMENT_ALL | { |
223 | | - # If this design isn't quickly done in detailed routing, something is wrong. |
224 | | - # At time of adding this option, only 3 iterations were needed for 0 |
225 | | - # violations. |
226 | | - "DETAILED_ROUTE_ARGS": "-bottom_routing_layer M2 -top_routing_layer M5 -save_guide_updates -verbose 1 -droute_end_iter 10", |
227 | | - # since we are specifying DETAILED_ROUTE_ARGS, we need to communicate the |
228 | | - # same information to other stages in the flow. |
229 | | - "MIN_ROUTING_LAYER": "M2", |
230 | | - "MAX_ROUTING_LAYER": "M5", |
231 | | - }, |
232 | | - "final": MOCK_ARRAY_ELEMENT_ALL | { |
233 | | - "PWR_NETS_VOLTAGES": "", |
234 | | - "GND_NETS_VOLTAGES": "", |
235 | | - }, |
236 | | - }, |
237 | | - stage_sources = { |
238 | | - "synth": mock_array_all_sources + [":mock-array-constraints"], |
239 | | - "floorplan": mock_array_all_sources + [":mock-array-element-io"], |
240 | | - "place": mock_array_all_sources + [":mock-array-element-io"], |
241 | | - "cts": mock_array_all_sources, |
242 | | - "route": mock_array_all_sources, |
243 | | - "final": mock_array_all_sources, |
244 | | - }, |
245 | | - verilog_files = glob(include = ["designs/src/mock-array/*.v"]), |
246 | | -) |
247 | | - |
248 | 103 | filegroup( |
249 | 104 | name = "ethmac_lvt_src", |
250 | 105 | srcs = glob(include = ["designs/src/ethmac_lvt/*.v"]), |
251 | 106 | visibility = [":__subpackages__"], |
252 | 107 | ) |
253 | | - |
254 | | -compile_pip_requirements( |
255 | | - name = "requirements", |
256 | | - src = "util/requirements.in", |
257 | | - requirements_txt = "util/requirements_lock.txt", |
258 | | -) |
0 commit comments