-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathopt_config.json
More file actions
413 lines (413 loc) · 81.6 KB
/
opt_config.json
File metadata and controls
413 lines (413 loc) · 81.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
{
"parameter_constraints": {
"CORE_UTIL": {
"type": "int",
"range": [
20,
99
]
},
"GP_PAD": {
"type": "int",
"range": [
0,
3
]
},
"DP_PAD": {
"type": "int",
"range": [
0,
3
]
},
"ENABLE_DPO": {
"type": "int",
"range": [
0,
1
]
},
"PIN_LAYER_ADJUST": {
"type": "float",
"range": [
0.2,
0.7
]
},
"ABOVE_LAYER_ADJUST": {
"type": "float",
"range": [
0.2,
0.7
]
},
"PLACE_DENSITY_LB_ADDON": {
"type": "float",
"range": [
0.0,
0.99
]
},
"FLATTEN": {
"type": "int",
"range": [
0,
1
]
},
"CTS_CLUSTER_SIZE": {
"type": "int",
"range": [
10,
40
]
},
"CTS_CLUSTER_DIAMETER": {
"type": "int",
"range": [
80,
120
]
},
"TNS_END_PERCENT": {
"type": "int",
"range": [
0,
100
]
}
},
"configurations": [
{
"description": "asap7 aes ECP",
"platform": "asap7",
"design": "aes",
"goal": "ECP",
"initial_config": "./designs/asap7/aes/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on ASAP7 PDK with ECP objective.\nClock period should be in ps.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the AES Encryption Core design using the ASAP7 (7nm) PDK, aiming to minimize the Effective Clock Period (ECP). The AES design consists of approximately 15,000 instances with a regular datapath structure, multiple pipeline stages, and critical paths in S-box computations. Focus on timing closure to minimize the clock period minus the worst slack, emphasizing critical path optimization and potentially trading off wirelength for improved timing.\n\nConsider the following PDK characteristics:\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks with a VDD rail width of 2 tracks\n- High RC delay requiring careful timing closure\n- Limited routing resources necessitating efficient utilization\n\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in picoseconds (ps). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "asap7 aes DWL",
"platform": "asap7",
"design": "aes",
"goal": "DWL",
"initial_config": "./designs/asap7/aes/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on ASAP7 PDK with DWL objective.\nClock period should be in ps.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement an **AES Encryption Core** on the **ASAP7 PDK (7nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **picoseconds (ps)**.\n\n### PDK Information:\n- **Process**: ASAP7 (7nm)\n- **Metal Stack**: 7 layers (M1-M7)\n- **M2/M3 Pitch**: 32nm\n- **Standard Cell Height**: 7 tracks\n- **VDD Rail Width**: 2 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure.\n - Limited routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: AES Encryption Core\n- **Size**: Approximately 15,000 instances\n- **Structure**:\n - Regular with datapath elements\n - Multiple pipeline stages\n - Critical paths in S-box computations\n- **Routing Complexity**: Medium\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following OpenROAD flow parameters within their specified ranges:\n\n| Parameter | Type | Range |\n|---------------------------|--------|-------------|\n| **CORE_UTIL** | int | 20 to 99 |\n| **GP_PAD** | int | 0 to 3 |\n| **DP_PAD** | int | 0 to 3 |\n| **ENABLE_DPO** | int | 0 to 1 |\n| **PIN_LAYER_ADJUST** | float | 0.2 to 0.7 |\n| **ABOVE_LAYER_ADJUST** | float | 0.2 to 0.7 |\n| **PLACE_DENSITY_LB_ADDON**| float | 0.0 to 0.99 |\n| **FLATTEN** | int | 0 to 1 |\n| **CTS_CLUSTER_SIZE** | int | 10 to 40 |\n| **CTS_CLUSTER_DIAMETER** | int | 80 to 120 |\n| **TNS_END_PERCENT** | int | 0 to 100 |\n\n### Task:\nUtilize **Bayesian optimization techniques** to explore the parameter space and identify the optimal set of OpenROAD parameters that achieve the DWL minimization objective for the AES Encryption Core on the ASAP7 PDK. Ensure that the selected parameters comply with the given constraints and consider the PDK and design characteristics outlined above.\n\n**Note**: Specify the clock period in **picoseconds (ps)** when configuring timing-related parameters.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "asap7 aes COMBO",
"platform": "asap7",
"design": "aes",
"goal": "COMBO",
"initial_config": "./designs/asap7/aes/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 400,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on ASAP7 PDK with COMBO objective.\nClock period should be in ps.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the AES Encryption Core design on the ASAP7 PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in picoseconds (ps).\n\n**PDK Information:**\n\n- **ASAP7 PDK (7nm)**\n - Metal stack: 7 layers (M1-M7)\n - M2/M3 pitch: 32\u202fnm\n - Standard cell height: 7 tracks\n - VDD rail width: 2 tracks\n - Requires careful timing closure due to high RC delay\n - Limited routing resources necessitate efficient utilization\n\n**Design Information:**\n\n- **AES Encryption Core**\n - Moderate size (~15K instances)\n - Regular structure with datapath elements\n - Multiple pipeline stages\n - Critical paths in S-box computations\n - Medium routing complexity\n\n**Optimization Goal:**\n\n- **Combined ECP and DWL Optimization**\n - Minimize the fractional sum: \n *(DWL\u202f/\u202fDWL_orig) + (ECP\u202f/\u202fECP_orig)* \n - **DWL**: Current detailed wire length \n - **ECP**: Current effective clock period \n - **DWL_orig** and **ECP_orig**: Original baseline values\n - Balance timing and routing objectives\n - Weighted optimization based on initial metrics\n - Moderate constraints for both objectives\n - Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n\nConfigure the following parameters within their specified ranges:\n\n- `CORE_UTIL` (int): **20** to **99**\n- `GP_PAD` (int): **0** to **3**\n- `DP_PAD` (int): **0** to **3**\n- `ENABLE_DPO` (int): **0** or **1**\n- `PIN_LAYER_ADJUST` (float): **0.2** to **0.7**\n- `ABOVE_LAYER_ADJUST` (float): **0.2** to **0.7**\n- `PLACE_DENSITY_LB_ADDON` (float): **0.0** to **0.99**\n- `FLATTEN` (int): **0** or **1**\n- `CTS_CLUSTER_SIZE` (int): **10** to **40**\n- `CTS_CLUSTER_DIAMETER` (int): **80** to **120**\n- `TNS_END_PERCENT` (int): **0** to **100**\n\n**Guidelines:**\n\n- Specify the clock period in picoseconds (ps).\n- Utilize the parameter ranges to explore the design space effectively.\n- Carefully consider the PDK characteristics and design constraints to achieve efficient routing and timing closure despite high RC delays.\n- Focus on minimizing the COMBO objective while maintaining a balance between timing and routing performance.\n- Aim to find Pareto-optimal solutions that optimize both the effective clock period and detailed wire length relative to their original values.\n\nYour task is to determine the optimal set of parameters within these constraints to minimize the COMBO objective for the AES design on the ASAP7 PDK.",
"weights": {
"ecp": 0.993939,
"dwl": 0.006061
},
"weights_surrogate": {
"ecp": 0.007023,
"dwl": 0.992977
}
},
{
"description": "sky130hd aes ECP",
"platform": "sky130hd",
"design": "aes",
"goal": "ECP",
"initial_config": "./designs/sky130hd/aes/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on SKY130HD PDK with ECP objective.\nClock period should be in ns.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the AES Encryption Core on the SKY130HD PDK (130nm) for minimum Effective Clock Period (ECP). Focus on timing closure by minimizing the clock period minus worst slack, emphasizing critical path optimization in S-box computations. \n\n**PDK Information:**\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- Abundant routing resources with relaxed timing constraints\n\n**Design Information:**\n- AES Encryption Core (~15,000 instances)\n- Regular datapath structure\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\n**Optimization Goal:**\n- Minimize Effective Clock Period (ECP)\n- Focus on timing closure\n- Allow trade-offs in wirelength for better timing\n\n**Parameter Constraints:**\n```json\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [20, 99]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [0.0, 0.99]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [10, 40]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [80, 120]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [0, 100]\n }\n}\n```\n\nEnsure the clock period is specified in nanoseconds.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "sky130hd aes DWL",
"platform": "sky130hd",
"design": "aes",
"goal": "DWL",
"initial_config": "./designs/sky130hd/aes/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on SKY130HD PDK with DWL objective.\nClock period should be in ns.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement an **AES Encryption Core** on the **SKY130HD PDK (130nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **nanoseconds (ns)**.\n\n### PDK Information:\n- **Process**: SKY130HD (130nm)\n- **Metal Stack**: 5 layers (M1-M5)\n- **M2/M3 Pitch**: 460nm\n- **Standard Cell Height**: 9 tracks\n- **VDD Rail Width**: 3 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure\n - Abundant routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: AES Encryption Core\n- **Size**: Approximately 15,000 instances\n- **Structure**:\n - Regular with datapath elements\n - Multiple pipeline stages\n - Critical paths in S-box computations\n- **Routing Complexity**: Medium\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in nanoseconds (ns). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "sky130hd aes COMBO",
"platform": "sky130hd",
"design": "aes",
"goal": "COMBO",
"initial_config": "./designs/sky130hd/aes/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 4.5,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nAES Encryption Core:\n- Moderate size (~15K instances)\n- Regular structure with datapath elements\n- Multiple pipeline stages\n- Critical paths in S-box computations\n- Medium routing complexity\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing AES on SKY130HD PDK with COMBO objective.\nClock period should be in ns.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the AES Encryption Core design on the SKY130HD PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in nanoseconds (ns).\n\n**PDK Information:**\n\n- **SKY130HD PDK (130nm)**\n - Metal stack: 5 layers (M1-M5)\n - M2/M3 pitch: 460nm\n - Standard cell height: 9 tracks\n - VDD rail width: 3 tracks\n - More relaxed timing constraints\n - Abundant routing resources\n\n**Design Information:**\n\n- **AES Encryption Core**\n - Moderate size (~15K instances)\n - Regular structure with datapath elements\n - Multiple pipeline stages\n - Critical paths in S-box computations\n - Medium routing complexity\n\n**Optimization Goal:**\n\n- **Combined ECP and DWL Optimization**\n - Minimize the fractional sum: \n *(DWL\u202f/\u202fDWL_orig) + (ECP\u202f/\u202fECP_orig)* \n - **DWL**: Current detailed wire length \n - **ECP**: Current effective clock period \n - **DWL_orig** and **ECP_orig**: Original baseline values\n - Balance timing and routing objectives\n - Weighted optimization based on initial metrics\n - Moderate constraints for both objectives\n - Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n\nConfigure the following parameters within their specified ranges:\n\n- `CORE_UTIL` (int): **20** to **99**\n- `GP_PAD` (int): **0** to **3**\n- `DP_PAD` (int): **0** to **3**\n- `ENABLE_DPO` (int): **0** or **1**\n- `PIN_LAYER_ADJUST` (float): **0.2** to **0.7**\n- `ABOVE_LAYER_ADJUST` (float): **0.2** to **0.7**\n- `PLACE_DENSITY_LB_ADDON` (float): **0.0** to **0.99**\n- `FLATTEN` (int): **0** or **1**\n- `CTS_CLUSTER_SIZE` (int): **10** to **40**\n- `CTS_CLUSTER_DIAMETER` (int): **80** to **120**\n- `TNS_END_PERCENT` (int): **0** to **100**\n\n**Guidelines:**\n\n- Specify the clock period in nanoseconds (ns).\n- Utilize the parameter ranges to explore the design space effectively.\n- Carefully consider the PDK characteristics and design constraints to achieve efficient routing and timing closure despite high RC delays.\n- Focus on minimizing the COMBO objective while maintaining a balance between timing and routing performance.\n- Aim to find Pareto-optimal solutions that optimize both the effective clock period and detailed wire length relative to their original values.\n\nYour task is to determine the optimal set of parameters within these constraints to minimize the COMBO objective for the AES design on the SKY130HD PDK.",
"weights": {
"ecp": 0.999992,
"dwl": 0.000008
},
"weights_surrogate": {
"ecp": 0.00001245,
"dwl": 0.99998755
}
},
{
"description": "asap7 ibex ECP",
"platform": "asap7",
"design": "ibex",
"goal": "ECP",
"initial_config": "./designs/asap7/ibex/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on ASAP7 PDK with ECP objective.\nClock period should be in ps.",
"llm_response": "You are tasked with configuring OpenROAD flow parameters to optimize the IBEX RISC-V Core design on the ASAP7 PDK with an Effective Clock Period (ECP) objective. Utilize the following information to guide your optimization:\n\n**PDK Information:**\n- ASAP7 PDK (7nm)\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- High RC delay requires careful timing closure\n- Limited routing resources necessitate efficient utilization\n\n**Design Information:**\n- IBEX RISC-V Core\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\n**Optimization Goal:**\n- **Effective Clock Period (ECP) Optimization**\n - Focus on timing closure\n - Minimize clock period minus worst slack\n - Trade off wirelength for better timing if necessary\n - Emphasize critical path optimization\n\n**Parameter Constraints:**\n\n```json\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [20, 99]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [0.0, 0.99]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [10, 40]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [80, 120]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [0, 100]\n }\n}\n```\n\n**Guidelines:**\n- Specify the clock period in picoseconds (ps).\n- Focus on achieving timing closure by minimizing the clock period minus worst slack.\n- Optimize critical paths, possibly trading off wirelength for improved timing.\n- Ensure efficient utilization of routing resources due to the limited availability in the ASAP7 PDK.\n- Account for the high RC delay by carefully tuning parameters affecting timing.\n\nConfigure the OpenROAD flow parameters within the provided constraints to meet the ECP optimization goal for the IBEX design on the ASAP7 PDK.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "asap7 ibex DWL",
"platform": "asap7",
"design": "ibex",
"goal": "DWL",
"initial_config": "./designs/asap7/ibex/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on ASAP7 PDK with DWL objective.\nClock period should be in ps.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement an **IBEX RISC-V Core** on the **ASAP7 PDK (7nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **picoseconds (ps)**.\n\n### PDK Information:\n- **Process**: ASAP7 (7nm)\n- **Metal Stack**: 7 layers (M1-M7)\n- **M2/M3 Pitch**: 32nm\n- **Standard Cell Height**: 7 tracks\n- **VDD Rail Width**: 2 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure\n - Limited routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: IBEX RISC-V Core\n- **Size**: Approximately 30,000 instances\n- **Structure**:\n - Complex control logic\n - Single clock domain\n - Multiple critical paths\n- **Routing Complexity**: Moderate\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in picoseconds (ps). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "asap7 ibex COMBO",
"platform": "asap7",
"design": "ibex",
"goal": "COMBO",
"initial_config": "./designs/asap7/ibex/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 1260,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on ASAP7 PDK with COMBO objective.\nClock period should be in ps.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the IBEX RISC-V Core design on the ASAP7 PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in picoseconds (ps).\n\n**PDK Information:**\n\n- **ASAP7 PDK (7nm)**\n - Metal stack: 7 layers (M1-M7)\n - M2/M3 pitch: 32\u202fnm\n - Standard cell height: 7 tracks\n - VDD rail width: 2 tracks\n - Requires careful timing closure due to high RC delay\n - Limited routing resources necessitate efficient utilization\n\n**Design Information:**\n\n- **IBEX RISC-V Core**\n - Medium size (~30,000 instances)\n - Complex control logic\n - Single clock domain\n - Multiple critical paths\n - Moderate routing complexity\n\n**Optimization Goals:**\n- Balance timing and routing objectives\n- Apply weighted optimization based on initial metrics\n- Operate under moderate constraints for both objectives\n- Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n- `CORE_UTIL` (int): 20\u201399\n- `GP_PAD` (int): 0\u20133\n- `DP_PAD` (int): 0\u20133\n- `ENABLE_DPO` (int): 0\u20131\n- `PIN_LAYER_ADJUST` (float): 0.2\u20130.7\n- `ABOVE_LAYER_ADJUST` (float): 0.2\u20130.7\n- `PLACE_DENSITY_LB_ADDON` (float): 0.0\u20130.99\n- `FLATTEN` (int): 0\u20131\n- `CTS_CLUSTER_SIZE` (int): 10\u201340\n- `CTS_CLUSTER_DIAMETER` (int): 80\u2013120\n- `TNS_END_PERCENT` (int): 0\u2013100\n\n**Guidelines:**\n- Configure the above parameters within their specified ranges to optimize the IBEX core on the ASAP7 PDK.\n- The clock period should be specified in picoseconds (ps).\n- Focus on efficient utilization of limited routing resources due to the 7-layer metal stack and tight pitches.\n- Pay special attention to timing closure challenges arising from high RC delays.\n- Aim to balance the timing and routing objectives to achieve a Pareto-optimal solution.\n\nConfigure the OpenROAD flow parameters accordingly to meet the optimization objectives.",
"weights": {
"ecp": 0.988344,
"dwl": 0.011656
},
"weights_surrogate": {
"ecp": 0.013868,
"dwl": 0.986132
}
},
{
"description": "sky130hd ibex ECP",
"platform": "sky130hd",
"design": "ibex",
"goal": "ECP",
"initial_config": "./designs/sky130hd/ibex/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on SKY130HD PDK with ECP objective.\nClock period should be in ns.",
"llm_response": "You are tasked with configuring OpenROAD flow parameters to optimize the IBEX RISC-V Core design on the SKY130HD PDK (130nm) with the goal of minimizing the Effective Clock Period (ECP). Focus on timing closure by minimizing the clock period minus worst slack, emphasizing critical path optimization, and be prepared to trade off wirelength for better timing. The clock period should be specified in nanoseconds (ns).\n\n**PDK Information:**\n\n- **SKY130HD PDK (130nm)**\n - Metal stack: 5 layers (M1-M5)\n - M2/M3 pitch: 460nm\n - Standard cell height: 9 tracks\n - VDD rail width: 3 tracks\n - More relaxed timing constraints\n - Abundant routing resources\n\n**Design Information:**\n\n- **IBEX RISC-V Core**\n - Medium size (~30,000 instances)\n - Complex control logic\n - Single clock domain\n - Multiple critical paths\n - Moderate routing complexity\n\n**Optimization Goal:**\n\n- **Effective Clock Period (ECP) Optimization**\n - Focus on timing closure\n - Minimize clock period minus worst slack\n - May trade off wirelength for better timing\n - Emphasis on critical path optimization\n\n**Parameter Constraints:**\n\n- `CORE_UTIL` (int): 20\u201399\n- `GP_PAD` (int): 0\u20133\n- `DP_PAD` (int): 0\u20133\n- `ENABLE_DPO` (int): 0\u20131\n- `PIN_LAYER_ADJUST` (float): 0.2\u20130.7\n- `ABOVE_LAYER_ADJUST` (float): 0.2\u20130.7\n- `PLACE_DENSITY_LB_ADDON` (float): 0.0\u20130.99\n- `FLATTEN` (int): 0\u20131\n- `CTS_CLUSTER_SIZE` (int): 10\u201340\n- `CTS_CLUSTER_DIAMETER` (int): 80\u2013120\n- `TNS_END_PERCENT` (int): 0\u2013100\n\nSelect optimal values for these parameters within their specified ranges to achieve the best ECP for the given design and PDK. Consider the characteristics of the SKY130HD PDK and the IBEX core, such as the abundant routing resources, relaxed timing constraints, and the presence of multiple critical paths, to inform your parameter selection.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "sky130hd ibex DWL",
"platform": "sky130hd",
"design": "ibex",
"goal": "DWL",
"initial_config": "./designs/sky130hd/ibex/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on SKY130HD PDK with DWL objective.\nClock period should be in ns.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement an **IBEX RISC-V Core** on the **SKY130HD PDK (130nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **nanoseconds (ns)**.\n\n### PDK Information:\n- **Process**: SKY130HD (130nm)\n- **Metal Stack**: 5 layers (M1-M5)\n- **M2/M3 Pitch**: 460nm\n- **Standard Cell Height**: 9 tracks\n- **VDD Rail Width**: 3 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure\n - Abundant routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: IBEX RISC-V Core\n- **Size**: Approximately 30,000 instances\n- **Structure**:\n - Complex control logic\n - Single clock domain\n - Multiple critical paths\n- **Routing Complexity**: Moderate\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in nanoseconds (ns). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "sky130hd ibex COMBO",
"platform": "sky130hd",
"design": "ibex",
"goal": "COMBO",
"initial_config": "./designs/sky130hd/ibex/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 10.0,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nIBEX RISC-V Core:\n- Medium size (~30K instances)\n- Complex control logic\n- Single clock domain\n- Multiple critical paths\n- Moderate routing complexity\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing IBEX on SKY130HD PDK with COMBO objective.\nClock period should be in ns.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the IBEX RISC-V Core design on the SKY130HD PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in nanoseconds (ns).\n\n**PDK Information:**\n\n- **SKY130HD PDK (130nm)**\n - Metal stack: 5 layers (M1-M5)\n - M2/M3 pitch: 460nm\n - Standard cell height: 9 tracks\n - VDD rail width: 3 tracks\n - More relaxed timing constraints\n - Abundant routing resources\n\n**Design Information:**\n\n- **IBEX RISC-V Core**\n - Medium size (~30,000 instances)\n - Complex control logic\n - Single clock domain\n - Multiple critical paths\n - Moderate routing complexity\n\n**Optimization Goals:**\n- Balance timing and routing objectives\n- Apply weighted optimization based on initial metrics\n- Operate under moderate constraints for both objectives\n- Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n- `CORE_UTIL` (int): 20\u201399\n- `GP_PAD` (int): 0\u20133\n- `DP_PAD` (int): 0\u20133\n- `ENABLE_DPO` (int): 0\u20131\n- `PIN_LAYER_ADJUST` (float): 0.2\u20130.7\n- `ABOVE_LAYER_ADJUST` (float): 0.2\u20130.7\n- `PLACE_DENSITY_LB_ADDON` (float): 0.0\u20130.99\n- `FLATTEN` (int): 0\u20131\n- `CTS_CLUSTER_SIZE` (int): 10\u201340\n- `CTS_CLUSTER_DIAMETER` (int): 80\u2013120\n- `TNS_END_PERCENT` (int): 0\u2013100\n\n**Guidelines:**\n- Configure the above parameters within their specified ranges to optimize the IBEX core on the SKY130HD PDK.\n- The clock period should be specified in nanoseconds (ns).\n- Focus on efficient utilization of limited routing resources due to the 5-layer metal stack and tight pitches.\n- Pay special attention to timing closure challenges arising from high RC delays.\n- Aim to balance the timing and routing objectives to achieve a Pareto-optimal solution.\n\nConfigure the OpenROAD flow parameters accordingly to meet the optimization objectives.",
"weights": {
"ecp": 0.999986,
"dwl": 0.000014
},
"weights_surrogate": {
"ecp": 0.00001968,
"dwl": 0.99998032
}
},
{
"description": "asap7 jpeg ECP",
"platform": "asap7",
"design": "jpeg",
"goal": "ECP",
"initial_config": "./designs/asap7/jpeg/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on ASAP7 PDK with ECP objective.\nClock period should be in ps.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the JPEG Encoder design on the ASAP7 PDK, focusing on minimizing the Effective Clock Period (ECP). The design specifications and constraints are as follows:\n\n**PDK Information:**\n- **Process:** ASAP7 PDK (7nm)\n- **Metal Stack:** 7 layers (M1-M7)\n- **M2/M3 Pitch:** 32\u202fnm\n- **Standard Cell Height:** 7 tracks\n- **VDD Rail Width:** 2 tracks\n- **Challenges:**\n - High RC delay requiring careful timing closure\n - Limited routing resources necessitating efficient utilization\n\n**Design Information:**\n- **Design:** JPEG Encoder\n- **Size:** Approximately 40,000 instances\n- **Characteristics:**\n - Mix of control logic and datapaths\n - Multiple clock domains\n - Complex routing requirements\n - Memory-intensive with large arrays\n\n**Optimization Goal:**\n- **Objective:** Minimize the Effective Clock Period (ECP)\n - Focus on timing closure and critical path optimization\n - Willingness to trade off wirelength for better timing\n- **Clock Period:** Specify in picoseconds (ps)\n\n**Parameter Constraints:**\nAdjust the following OpenROAD flow parameters within their specified ranges:\n\n- `CORE_UTIL` (int): 20 \u2013 99\n- `GP_PAD` (int): 0 \u2013 3\n- `DP_PAD` (int): 0 \u2013 3\n- `ENABLE_DPO` (int): 0 \u2013 1\n- `PIN_LAYER_ADJUST` (float): 0.2 \u2013 0.7\n- `ABOVE_LAYER_ADJUST` (float): 0.2 \u2013 0.7\n- `PLACE_DENSITY_LB_ADDON` (float): 0.0 \u2013 0.99\n- `FLATTEN` (int): 0 \u2013 1\n- `CTS_CLUSTER_SIZE` (int): 10 \u2013 40\n- `CTS_CLUSTER_DIAMETER` (int): 80 \u2013 120\n- `TNS_END_PERCENT` (int): 0 \u2013 100\n\n**Guidelines:**\n- Account for the high RC delays in the ASAP7 PDK by emphasizing timing closure strategies.\n- Optimize critical paths to achieve a minimal ECP, potentially at the expense of increased wirelength.\n- Efficiently utilize routing resources due to their limited availability in the PDK.\n- Consider the complex nature of the design, including multiple clock domains and large memory arrays, when configuring parameters.\n\n**Your Task:**\nDetermine the optimal values for the specified parameters to achieve the best possible ECP for the JPEG Encoder on the ASAP7 PDK using the OpenROAD flow. Ensure that all parameters are within their defined ranges and that the clock period is set in picoseconds.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "asap7 jpeg DWL",
"platform": "asap7",
"design": "jpeg",
"goal": "DWL",
"initial_config": "./designs/asap7/jpeg/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on ASAP7 PDK with DWL objective.\nClock period should be in ps.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement a **JPEG Encoder** on the **ASAP7 PDK (7nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **picoseconds (ps)**.\n\n### PDK Information:\n- **Process**: ASAP7 (7nm)\n- **Metal Stack**: 7 layers (M1-M7)\n- **M2/M3 Pitch**: 32nm\n- **Standard Cell Height**: 7 tracks\n- **VDD Rail Width**: 2 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure\n - Limited routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: JPEG Encoder\n- **Size**: Approximately 40,000 instances\n- **Structure**:\n - Mix of control logic and datapaths\n - Multiple clock domains\n - Complex routing requirements\n - Memory-intensive with large arrays\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in picoseconds (ps). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "asap7 jpeg COMBO",
"platform": "asap7",
"design": "jpeg",
"goal": "COMBO",
"initial_config": "./designs/asap7/jpeg/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 1100,
"prompt": "PDK Information:\nASAP7 PDK (7nm):\n- Metal stack: 7 layers (M1-M7)\n- M2/M3 pitch: 32nm\n- Standard cell height: 7 tracks\n- VDD rail width: 2 tracks\n- Requires careful timing closure due to high RC delay\n- Limited routing resources require efficient utilization\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on ASAP7 PDK with COMBO objective.\nClock period should be in ps.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the JPEG Encoder design on the ASAP7 PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in picoseconds (ps).\n\n**PDK Information:**\n\n- **ASAP7 PDK (7nm)**\n - Metal stack: 7 layers (M1-M7)\n - M2/M3 pitch: 32\u202fnm\n - Standard cell height: 7 tracks\n - VDD rail width: 2 tracks\n - Requires careful timing closure due to high RC delay\n - Limited routing resources necessitate efficient utilization\n\n**Design Information:**\n\n- **JPEG Encoder**\n - Large design (~40K instances)\n - Mix of control logic and datapaths\n - Multiple clock domains\n - Complex routing requirements\n - Memory-intensive with large arrays\n\n**Optimization Goal:**\n\n- **Combined ECP and DWL Optimization**\n - Minimize the fractional sum: \n *(DWL\u202f/\u202fDWL_orig) + (ECP\u202f/\u202fECP_orig)* \n - **DWL**: Current detailed wire length \n - **ECP**: Current effective clock period \n - **DWL_orig** and **ECP_orig**: Original baseline values\n - Balance timing and routing objectives\n - Weighted optimization based on initial metrics\n - Moderate constraints for both objectives\n - Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n\n```json\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [20, 99]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [0.0, 0.99]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [10, 40]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [80, 120]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [0, 100]\n }\n}\n```\n\n**Guidelines:**\n\n- Specify the clock period in picoseconds (ps).\n- Utilize the parameter ranges to explore the design space effectively.\n- Carefully consider the PDK characteristics and design constraints to achieve efficient routing and timing closure despite high RC delays.\n- Focus on minimizing the COMBO objective while maintaining a balance between timing and routing performance.\n- Aim to find Pareto-optimal solutions that optimize both the effective clock period and detailed wire length relative to their original values.\n\nYour task is to determine the optimal set of parameters within these constraints to minimize the COMBO objective for the JPEG Encoder design on the ASAP7 PDK.",
"weights": {
"ecp": 0.996192,
"dwl": 0.003808
},
"weights_surrogate": {
"ecp": 0.004096,
"dwl": 0.995904
}
},
{
"description": "sky130hd jpeg ECP",
"platform": "sky130hd",
"design": "jpeg",
"goal": "ECP",
"initial_config": "./designs/sky130hd/jpeg/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nEffective Clock Period (ECP) Optimization:\n- Focus on timing closure\n- Minimize clock period minus worst slack\n- May trade off wirelength for better timing\n- Emphasis on critical path optimization\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on SKY130HD PDK with ECP objective.\nClock period should be in ns.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the JPEG Encoder design on the SKY130HD PDK (130nm) with an emphasis on Effective Clock Period (ECP) optimization. The goal is to minimize the clock period minus the worst slack, focusing on timing closure and critical path optimization. You may trade off wirelength for better timing. Ensure the clock period is specified in nanoseconds.\n\n**PDK Information:**\n- **Process:** SKY130HD PDK (130nm)\n- **Metal Stack:** 5 layers (M1-M5)\n- **M2/M3 Pitch:** 460nm\n- **Standard Cell Height:** 9 tracks\n- **VDD Rail Width:** 3 tracks\n- **Features:** Relaxed timing constraints, abundant routing resources\n\n**Design Information:**\n- **Design:** JPEG Encoder (~40K instances)\n- **Characteristics:** Mix of control logic and datapaths, multiple clock domains, complex routing requirements, memory-intensive with large arrays\n\n**Parameter Constraints:**\n\n| Parameter | Type | Range |\n|-------------------------|--------|-------------|\n| `CORE_UTIL` | int | 20 to 99 |\n| `GP_PAD` | int | 0 to 3 |\n| `DP_PAD` | int | 0 to 3 |\n| `ENABLE_DPO` | int | 0 to 1 |\n| `PIN_LAYER_ADJUST` | float | 0.2 to 0.7 |\n| `ABOVE_LAYER_ADJUST` | float | 0.2 to 0.7 |\n| `PLACE_DENSITY_LB_ADDON`| float | 0.0 to 0.99 |\n| `FLATTEN` | int | 0 to 1 |\n| `CTS_CLUSTER_SIZE` | int | 10 to 40 |\n| `CTS_CLUSTER_DIAMETER` | int | 80 to 120 |\n| `TNS_END_PERCENT` | int | 0 to 100 |\n\nAdjust these parameters within their specified ranges to achieve optimal ECP for the JPEG Encoder on the SKY130HD PDK using the OpenROAD flow.",
"weights": {
"ecp": 1.0,
"dwl": 0.0
},
"weights_surrogate": {
"ecp": 1.0,
"dwl": 0.0
}
},
{
"description": "sky130hd jpeg DWL",
"platform": "sky130hd",
"design": "jpeg",
"goal": "DWL",
"initial_config": "./designs/sky130hd/jpeg/config.mk",
"clock_period_factor": 1.2,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nDetailed Wire Length (DWL) Optimization:\n- Focus on routing efficiency\n- Minimize total wirelength\n- May relax timing constraints\n- Emphasis on placement density and routing congestion\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on SKY130HD PDK with DWL objective.\nClock period should be in ns.",
"llm_response": "You are tasked with optimizing the OpenROAD flow parameters to implement a **JPEG Encoder** on the **SKY130HD PDK (130nm process)**. The primary **optimization goal** is to **minimize the Detailed Wire Length (DWL)**, focusing on routing efficiency and total wirelength reduction. Timing constraints can be relaxed, but attention should be paid to placement density and routing congestion. The clock period should be specified in **nanoseconds (ns)**.\n\n### PDK Information:\n- **Process**: SKY130HD (130nm)\n- **Metal Stack**: 5 layers (M1-M5)\n- **M2/M3 Pitch**: 460nm\n- **Standard Cell Height**: 9 tracks\n- **VDD Rail Width**: 3 tracks\n- **Characteristics**:\n - High RC delay requiring careful timing closure\n - Abundant routing resources necessitating efficient utilization\n\n### Design Information:\n- **Design**: JPEG Encoder\n- **Size**: Approximately 40,000 instances\n- **Structure**:\n - Mix of control logic and datapaths\n - Multiple clock domains\n - Complex routing requirements\n - Memory-intensive with large arrays\n\n### Optimization Goal:\n- **Objective**: Minimize **Detailed Wire Length (DWL)**\n- **Focus Areas**:\n - Routing efficiency\n - Total wirelength reduction\n - Placement density management\n - Reduction of routing congestion\n- **Constraints**:\n - Timing constraints may be relaxed for wirelength optimization.\n\n### Parameter Constraints:\nAdjust the following parameters within their specified ranges:\n- `CORE_UTIL` (int, 20-99)\n- `GP_PAD` (int, 0-3)\n- `DP_PAD` (int, 0-3)\n- `ENABLE_DPO` (int, 0-1)\n- `PIN_LAYER_ADJUST` (float, 0.2-0.7)\n- `ABOVE_LAYER_ADJUST` (float, 0.2-0.7)\n- `PLACE_DENSITY_LB_ADDON` (float, 0.0-0.99)\n- `FLATTEN` (int, 0-1)\n- `CTS_CLUSTER_SIZE` (int, 10-40)\n- `CTS_CLUSTER_DIAMETER` (int, 80-120)\n- `TNS_END_PERCENT` (int, 0-100)\n\nEnsure that the clock period is specified in nanoseconds (ns). Utilize the parameter adjustments to achieve optimal timing closure while efficiently managing routing resources.",
"weights": {
"ecp": 0.0,
"dwl": 1.0
},
"weights_surrogate": {
"ecp": 0.0,
"dwl": 1.0
}
},
{
"description": "sky130hd jpeg COMBO",
"platform": "sky130hd",
"design": "jpeg",
"goal": "COMBO",
"initial_config": "./designs/sky130hd/jpeg/config.mk",
"clock_period_factor": 1.2,
"initial_clock_period": 8.0,
"prompt": "PDK Information:\nSKY130HD PDK (130nm):\n- Metal stack: 5 layers (M1-M5)\n- M2/M3 pitch: 460nm\n- Standard cell height: 9 tracks\n- VDD rail width: 3 tracks\n- More relaxed timing constraints\n- Abundant routing resources\n\nDesign Information:\nJPEG Encoder:\n- Large design (~40K instances)\n- Mix of control logic and datapaths\n- Multiple clock domains\n- Complex routing requirements\n- Memory-intensive with large arrays\n\nOptimization Goal:\nCombined ECP and DWL Optimization:\n- Balance timing and routing objectives\n- Weighted optimization based on initial metrics\n- Moderate constraints for both objectives\n- Find pareto-optimal solutions\n\nParameter Constraints:\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [\n 20,\n 99\n ]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 3\n ]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [\n 0.2,\n 0.7\n ]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [\n 0.0,\n 0.99\n ]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 1\n ]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [\n 10,\n 40\n ]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [\n 80,\n 120\n ]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [\n 0,\n 100\n ]\n }\n}\n\nConfigure OpenROAD flow parameters for optimizing JPEG on SKY130HD PDK with COMBO objective.\nClock period should be in ns.",
"llm_response": "Configure the OpenROAD flow parameters to optimize the JPEG Encoder design on the SKY130HD PDK with the COMBO objective. The goal is to minimize the fractional sum of the detailed wire length (DWL) and effective clock period (ECP), balancing timing and routing objectives. The clock period should be specified in nanoseconds (ns).\n\n**PDK Information:**\n\n- **SKY130HD PDK (130nm)**\n - Metal stack: 5 layers (M1-M5)\n - M2/M3 pitch: 460nm\n - Standard cell height: 9 tracks\n - VDD rail width: 3 tracks\n - More relaxed timing constraints\n - Abundant routing resources\n\n**Design Information:**\n\n- **JPEG Encoder**\n - Large design (~40K instances)\n - Mix of control logic and datapaths\n - Multiple clock domains\n - Complex routing requirements\n - Memory-intensive with large arrays\n\n**Optimization Goal:**\n\n- **Combined ECP and DWL Optimization**\n - Minimize the fractional sum: \n *(DWL\u202f/\u202fDWL_orig) + (ECP\u202f/\u202fECP_orig)* \n - **DWL**: Current detailed wire length \n - **ECP**: Current effective clock period \n - **DWL_orig** and **ECP_orig**: Original baseline values\n - Balance timing and routing objectives\n - Weighted optimization based on initial metrics\n - Moderate constraints for both objectives\n - Find Pareto-optimal solutions\n\n**Parameter Constraints:**\n\n```json\n{\n \"CORE_UTIL\": {\n \"type\": \"int\",\n \"range\": [20, 99]\n },\n \"GP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"DP_PAD\": {\n \"type\": \"int\",\n \"range\": [0, 3]\n },\n \"ENABLE_DPO\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"PIN_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"ABOVE_LAYER_ADJUST\": {\n \"type\": \"float\",\n \"range\": [0.2, 0.7]\n },\n \"PLACE_DENSITY_LB_ADDON\": {\n \"type\": \"float\",\n \"range\": [0.0, 0.99]\n },\n \"FLATTEN\": {\n \"type\": \"int\",\n \"range\": [0, 1]\n },\n \"CTS_CLUSTER_SIZE\": {\n \"type\": \"int\",\n \"range\": [10, 40]\n },\n \"CTS_CLUSTER_DIAMETER\": {\n \"type\": \"int\",\n \"range\": [80, 120]\n },\n \"TNS_END_PERCENT\": {\n \"type\": \"int\",\n \"range\": [0, 100]\n }\n}\n```\n\n**Guidelines:**\n\n- Optimize the parameters within the specified ranges to minimize the COMBO objective function.\n- Balance timing and routing priorities to achieve Pareto-optimal solutions.\n- Consider the PDK characteristics and design complexities in your optimization.\n- Specify the clock period in nanoseconds.\n\nYour task is to find the optimal parameter settings that meet these goals while adhering to the given constraints.",
"weights": {
"ecp": 0.999994,
"dwl": 0.000006
},
"weights_surrogate": {
"ecp": 0.00000667,
"dwl": 0.99999333
}
}
]
}