lambdapdk 0.2.0rc3__py3-none-any.whl → 0.2.0rc4__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.
@@ -1,6 +1,8 @@
1
1
  from pathlib import Path
2
2
 
3
- from lambdapdk import LambdaLibrary
3
+ from siliconcompiler import ASICProject
4
+ from lambdalib import LambalibTechLibrary
5
+ from lambdapdk import LambdaLibrary, _LambdaPath
4
6
  from lambdapdk.ihp130 import IHP130PDK, _IHP130Path
5
7
 
6
8
 
@@ -68,3 +70,397 @@ class IHP130_IO_1p2(_IHP130_IOLibrary):
68
70
  class IHP130_IO_1p5(_IHP130_IOLibrary):
69
71
  def __init__(self):
70
72
  super().__init__("1p5")
73
+
74
+
75
+ class IHP130Lambdalib_la_iovdd_1p2(LambalibTechLibrary, _LambdaPath):
76
+ def __init__(self):
77
+ super().__init__("la_iovdd", [IHP130_IO_1p2])
78
+ self.set_name("ihp130_1p2_la_iovdd")
79
+
80
+ # version
81
+ self.set_version("v1")
82
+
83
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
84
+
85
+ with self.active_dataroot("lambdapdk"):
86
+ with self.active_fileset("rtl"):
87
+ self.add_file(lib_path / "lambda" / "la_iovdd.v")
88
+
89
+
90
+ class IHP130Lambdalib_la_iocorner_1p2(LambalibTechLibrary, _LambdaPath):
91
+ def __init__(self):
92
+ super().__init__("la_iocorner", [IHP130_IO_1p2])
93
+ self.set_name("ihp130_1p2_la_iocorner")
94
+
95
+ # version
96
+ self.set_version("v1")
97
+
98
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
99
+
100
+ with self.active_dataroot("lambdapdk"):
101
+ with self.active_fileset("rtl"):
102
+ self.add_file(lib_path / "lambda" / "la_iocorner.v")
103
+
104
+
105
+ class IHP130Lambdalib_la_iotxdiff_1p2(LambalibTechLibrary, _LambdaPath):
106
+ def __init__(self):
107
+ super().__init__("la_iotxdiff", [IHP130_IO_1p2])
108
+ self.set_name("ihp130_1p2_la_iotxdiff")
109
+
110
+ # version
111
+ self.set_version("v1")
112
+
113
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
114
+
115
+ with self.active_dataroot("lambdapdk"):
116
+ with self.active_fileset("rtl"):
117
+ self.add_file(lib_path / "lambda" / "la_iotxdiff.v")
118
+
119
+
120
+ class IHP130Lambdalib_la_ioanalog_1p2(LambalibTechLibrary, _LambdaPath):
121
+ def __init__(self):
122
+ super().__init__("la_ioanalog", [IHP130_IO_1p2])
123
+ self.set_name("ihp130_1p2_la_ioanalog")
124
+
125
+ # version
126
+ self.set_version("v1")
127
+
128
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
129
+
130
+ with self.active_dataroot("lambdapdk"):
131
+ with self.active_fileset("rtl"):
132
+ self.add_file(lib_path / "lambda" / "la_ioanalog.v")
133
+
134
+
135
+ class IHP130Lambdalib_la_ioinput_1p2(LambalibTechLibrary, _LambdaPath):
136
+ def __init__(self):
137
+ super().__init__("la_ioinput", [IHP130_IO_1p2])
138
+ self.set_name("ihp130_1p2_la_ioinput")
139
+
140
+ # version
141
+ self.set_version("v1")
142
+
143
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
144
+
145
+ with self.active_dataroot("lambdapdk"):
146
+ with self.active_fileset("rtl"):
147
+ self.add_file(lib_path / "lambda" / "la_ioinput.v")
148
+
149
+
150
+ class IHP130Lambdalib_la_iovss_1p2(LambalibTechLibrary, _LambdaPath):
151
+ def __init__(self):
152
+ super().__init__("la_iovss", [IHP130_IO_1p2])
153
+ self.set_name("ihp130_1p2_la_iovss")
154
+
155
+ # version
156
+ self.set_version("v1")
157
+
158
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
159
+
160
+ with self.active_dataroot("lambdapdk"):
161
+ with self.active_fileset("rtl"):
162
+ self.add_file(lib_path / "lambda" / "la_iovss.v")
163
+
164
+
165
+ class IHP130Lambdalib_la_iovddio_1p2(LambalibTechLibrary, _LambdaPath):
166
+ def __init__(self):
167
+ super().__init__("la_iovddio", [IHP130_IO_1p2])
168
+ self.set_name("ihp130_1p2_la_iovddio")
169
+
170
+ # version
171
+ self.set_version("v1")
172
+
173
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
174
+
175
+ with self.active_dataroot("lambdapdk"):
176
+ with self.active_fileset("rtl"):
177
+ self.add_file(lib_path / "lambda" / "la_iovddio.v")
178
+
179
+
180
+ class IHP130Lambdalib_la_iovssio_1p2(LambalibTechLibrary, _LambdaPath):
181
+ def __init__(self):
182
+ super().__init__("la_iovssio", [IHP130_IO_1p2])
183
+ self.set_name("ihp130_1p2_la_iovssio")
184
+
185
+ # version
186
+ self.set_version("v1")
187
+
188
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
189
+
190
+ with self.active_dataroot("lambdapdk"):
191
+ with self.active_fileset("rtl"):
192
+ self.add_file(lib_path / "lambda" / "la_iovssio.v")
193
+
194
+
195
+ class IHP130Lambdalib_la_iovdda_1p2(LambalibTechLibrary, _LambdaPath):
196
+ def __init__(self):
197
+ super().__init__("la_iovdda", [IHP130_IO_1p2])
198
+ self.set_name("ihp130_1p2_la_iovdda")
199
+
200
+ # version
201
+ self.set_version("v1")
202
+
203
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
204
+
205
+ with self.active_dataroot("lambdapdk"):
206
+ with self.active_fileset("rtl"):
207
+ self.add_file(lib_path / "lambda" / "la_iovdda.v")
208
+
209
+
210
+ class IHP130Lambdalib_la_iovssa_1p2(LambalibTechLibrary, _LambdaPath):
211
+ def __init__(self):
212
+ super().__init__("la_iovssa", [IHP130_IO_1p2])
213
+ self.set_name("ihp130_1p2_la_iovssa")
214
+
215
+ # version
216
+ self.set_version("v1")
217
+
218
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
219
+
220
+ with self.active_dataroot("lambdapdk"):
221
+ with self.active_fileset("rtl"):
222
+ self.add_file(lib_path / "lambda" / "la_iovssa.v")
223
+
224
+
225
+ class IHP130Lambdalib_la_iorxdiff_1p2(LambalibTechLibrary, _LambdaPath):
226
+ def __init__(self):
227
+ super().__init__("la_iorxdiff", [IHP130_IO_1p2])
228
+ self.set_name("ihp130_1p2_la_iorxdiff")
229
+
230
+ # version
231
+ self.set_version("v1")
232
+
233
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
234
+
235
+ with self.active_dataroot("lambdapdk"):
236
+ with self.active_fileset("rtl"):
237
+ self.add_file(lib_path / "lambda" / "la_iorxdiff.v")
238
+
239
+
240
+ class IHP130Lambdalib_la_iobidir_1p2(LambalibTechLibrary, _LambdaPath):
241
+ def __init__(self):
242
+ super().__init__("la_iobidir", [IHP130_IO_1p2])
243
+ self.set_name("ihp130_1p2_la_iobidir")
244
+
245
+ # version
246
+ self.set_version("v1")
247
+
248
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
249
+
250
+ with self.active_dataroot("lambdapdk"):
251
+ with self.active_fileset("rtl"):
252
+ self.add_file(lib_path / "lambda" / "la_iobidir.v")
253
+
254
+
255
+ class IHP130LambdaLib_IO_1p2(LambalibTechLibrary):
256
+ @classmethod
257
+ def alias(cls, project: ASICProject):
258
+ IHP130Lambdalib_la_iovdd_1p2.alias(project)
259
+ IHP130Lambdalib_la_iocorner_1p2.alias(project)
260
+ IHP130Lambdalib_la_iotxdiff_1p2.alias(project)
261
+ IHP130Lambdalib_la_ioanalog_1p2.alias(project)
262
+ IHP130Lambdalib_la_ioinput_1p2.alias(project)
263
+ IHP130Lambdalib_la_iovss_1p2.alias(project)
264
+ IHP130Lambdalib_la_iovddio_1p2.alias(project)
265
+ IHP130Lambdalib_la_iovssio_1p2.alias(project)
266
+ IHP130Lambdalib_la_iovdda_1p2.alias(project)
267
+ IHP130Lambdalib_la_iovssa_1p2.alias(project)
268
+ IHP130Lambdalib_la_iorxdiff_1p2.alias(project)
269
+ IHP130Lambdalib_la_iobidir_1p2.alias(project)
270
+
271
+
272
+ class IHP130Lambdalib_la_iovdd_1p5(LambalibTechLibrary, _LambdaPath):
273
+ def __init__(self):
274
+ super().__init__("la_iovdd", [IHP130_IO_1p5])
275
+ self.set_name("ihp130_1p5_la_iovdd")
276
+
277
+ # version
278
+ self.set_version("v1")
279
+
280
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
281
+
282
+ with self.active_dataroot("lambdapdk"):
283
+ with self.active_fileset("rtl"):
284
+ self.add_file(lib_path / "lambda" / "la_iovdd.v")
285
+
286
+
287
+ class IHP130Lambdalib_la_iocorner_1p5(LambalibTechLibrary, _LambdaPath):
288
+ def __init__(self):
289
+ super().__init__("la_iocorner", [IHP130_IO_1p5])
290
+ self.set_name("ihp130_1p5_la_iocorner")
291
+
292
+ # version
293
+ self.set_version("v1")
294
+
295
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
296
+
297
+ with self.active_dataroot("lambdapdk"):
298
+ with self.active_fileset("rtl"):
299
+ self.add_file(lib_path / "lambda" / "la_iocorner.v")
300
+
301
+
302
+ class IHP130Lambdalib_la_iotxdiff_1p5(LambalibTechLibrary, _LambdaPath):
303
+ def __init__(self):
304
+ super().__init__("la_iotxdiff", [IHP130_IO_1p5])
305
+ self.set_name("ihp130_1p5_la_iotxdiff")
306
+
307
+ # version
308
+ self.set_version("v1")
309
+
310
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
311
+
312
+ with self.active_dataroot("lambdapdk"):
313
+ with self.active_fileset("rtl"):
314
+ self.add_file(lib_path / "lambda" / "la_iotxdiff.v")
315
+
316
+
317
+ class IHP130Lambdalib_la_ioanalog_1p5(LambalibTechLibrary, _LambdaPath):
318
+ def __init__(self):
319
+ super().__init__("la_ioanalog", [IHP130_IO_1p5])
320
+ self.set_name("ihp130_1p5_la_ioanalog")
321
+
322
+ # version
323
+ self.set_version("v1")
324
+
325
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
326
+
327
+ with self.active_dataroot("lambdapdk"):
328
+ with self.active_fileset("rtl"):
329
+ self.add_file(lib_path / "lambda" / "la_ioanalog.v")
330
+
331
+
332
+ class IHP130Lambdalib_la_ioinput_1p5(LambalibTechLibrary, _LambdaPath):
333
+ def __init__(self):
334
+ super().__init__("la_ioinput", [IHP130_IO_1p5])
335
+ self.set_name("ihp130_1p5_la_ioinput")
336
+
337
+ # version
338
+ self.set_version("v1")
339
+
340
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
341
+
342
+ with self.active_dataroot("lambdapdk"):
343
+ with self.active_fileset("rtl"):
344
+ self.add_file(lib_path / "lambda" / "la_ioinput.v")
345
+
346
+
347
+ class IHP130Lambdalib_la_iovss_1p5(LambalibTechLibrary, _LambdaPath):
348
+ def __init__(self):
349
+ super().__init__("la_iovss", [IHP130_IO_1p5])
350
+ self.set_name("ihp130_1p5_la_iovss")
351
+
352
+ # version
353
+ self.set_version("v1")
354
+
355
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
356
+
357
+ with self.active_dataroot("lambdapdk"):
358
+ with self.active_fileset("rtl"):
359
+ self.add_file(lib_path / "lambda" / "la_iovss.v")
360
+
361
+
362
+ class IHP130Lambdalib_la_iovddio_1p5(LambalibTechLibrary, _LambdaPath):
363
+ def __init__(self):
364
+ super().__init__("la_iovddio", [IHP130_IO_1p5])
365
+ self.set_name("ihp130_1p5_la_iovddio")
366
+
367
+ # version
368
+ self.set_version("v1")
369
+
370
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
371
+
372
+ with self.active_dataroot("lambdapdk"):
373
+ with self.active_fileset("rtl"):
374
+ self.add_file(lib_path / "lambda" / "la_iovddio.v")
375
+
376
+
377
+ class IHP130Lambdalib_la_iovssio_1p5(LambalibTechLibrary, _LambdaPath):
378
+ def __init__(self):
379
+ super().__init__("la_iovssio", [IHP130_IO_1p5])
380
+ self.set_name("ihp130_1p5_la_iovssio")
381
+
382
+ # version
383
+ self.set_version("v1")
384
+
385
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
386
+
387
+ with self.active_dataroot("lambdapdk"):
388
+ with self.active_fileset("rtl"):
389
+ self.add_file(lib_path / "lambda" / "la_iovssio.v")
390
+
391
+
392
+ class IHP130Lambdalib_la_iovdda_1p5(LambalibTechLibrary, _LambdaPath):
393
+ def __init__(self):
394
+ super().__init__("la_iovdda", [IHP130_IO_1p5])
395
+ self.set_name("ihp130_1p5_la_iovdda")
396
+
397
+ # version
398
+ self.set_version("v1")
399
+
400
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
401
+
402
+ with self.active_dataroot("lambdapdk"):
403
+ with self.active_fileset("rtl"):
404
+ self.add_file(lib_path / "lambda" / "la_iovdda.v")
405
+
406
+
407
+ class IHP130Lambdalib_la_iovssa_1p5(LambalibTechLibrary, _LambdaPath):
408
+ def __init__(self):
409
+ super().__init__("la_iovssa", [IHP130_IO_1p5])
410
+ self.set_name("ihp130_1p5_la_iovssa")
411
+
412
+ # version
413
+ self.set_version("v1")
414
+
415
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
416
+
417
+ with self.active_dataroot("lambdapdk"):
418
+ with self.active_fileset("rtl"):
419
+ self.add_file(lib_path / "lambda" / "la_iovssa.v")
420
+
421
+
422
+ class IHP130Lambdalib_la_iorxdiff_1p5(LambalibTechLibrary, _LambdaPath):
423
+ def __init__(self):
424
+ super().__init__("la_iorxdiff", [IHP130_IO_1p5])
425
+ self.set_name("ihp130_1p5_la_iorxdiff")
426
+
427
+ # version
428
+ self.set_version("v1")
429
+
430
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
431
+
432
+ with self.active_dataroot("lambdapdk"):
433
+ with self.active_fileset("rtl"):
434
+ self.add_file(lib_path / "lambda" / "la_iorxdiff.v")
435
+
436
+
437
+ class IHP130Lambdalib_la_iobidir_1p5(LambalibTechLibrary, _LambdaPath):
438
+ def __init__(self):
439
+ super().__init__("la_iobidir", [IHP130_IO_1p5])
440
+ self.set_name("ihp130_1p5_la_iobidir")
441
+
442
+ # version
443
+ self.set_version("v1")
444
+
445
+ lib_path = Path("lambdapdk", "ihp130", "libs", "sg13g2_io")
446
+
447
+ with self.active_dataroot("lambdapdk"):
448
+ with self.active_fileset("rtl"):
449
+ self.add_file(lib_path / "lambda" / "la_iobidir.v")
450
+
451
+
452
+ class IHP130LambdaLib_IO_1p5(LambalibTechLibrary):
453
+ @classmethod
454
+ def alias(cls, project: ASICProject):
455
+ IHP130Lambdalib_la_iovdd_1p5.alias(project)
456
+ IHP130Lambdalib_la_iocorner_1p5.alias(project)
457
+ IHP130Lambdalib_la_iotxdiff_1p5.alias(project)
458
+ IHP130Lambdalib_la_ioanalog_1p5.alias(project)
459
+ IHP130Lambdalib_la_ioinput_1p5.alias(project)
460
+ IHP130Lambdalib_la_iovss_1p5.alias(project)
461
+ IHP130Lambdalib_la_iovddio_1p5.alias(project)
462
+ IHP130Lambdalib_la_iovssio_1p5.alias(project)
463
+ IHP130Lambdalib_la_iovdda_1p5.alias(project)
464
+ IHP130Lambdalib_la_iovssa_1p5.alias(project)
465
+ IHP130Lambdalib_la_iorxdiff_1p5.alias(project)
466
+ IHP130Lambdalib_la_iobidir_1p5.alias(project)
@@ -1,6 +1,8 @@
1
1
  from pathlib import Path
2
2
 
3
- from lambdapdk import LambdaLibrary
3
+ from siliconcompiler import ASICProject
4
+ from lambdalib import LambalibTechLibrary
5
+ from lambdapdk import LambdaLibrary, _LambdaPath
4
6
  from lambdapdk.sky130 import Sky130PDK
5
7
 
6
8
 
@@ -47,3 +49,216 @@ class Sky130_IOLibrary(LambdaLibrary):
47
49
  self.add_file(path_base / "blackbox" / "sky130_ef_io.v")
48
50
  self.add_file(path_base / "blackbox" / "sky130_fd_io.v")
49
51
  self.add_yosys_blackbox_fileset("models.blackbox")
52
+
53
+
54
+ class Sky130Lambdalib_la_ioanalog(LambalibTechLibrary, _LambdaPath):
55
+ def __init__(self):
56
+ super().__init__("la_ioanalog", [Sky130_IOLibrary])
57
+ self.set_name("sky130_la_ioanalog")
58
+
59
+ # version
60
+ self.set_version("v1")
61
+
62
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
63
+
64
+ with self.active_dataroot("lambdapdk"):
65
+ with self.active_fileset("rtl"):
66
+ self.add_file(lib_path / "lambda" / "la_ioanalog.v")
67
+
68
+
69
+ class Sky130Lambdalib_la_iobidir(LambalibTechLibrary, _LambdaPath):
70
+ def __init__(self):
71
+ super().__init__("la_iobidir", [Sky130_IOLibrary])
72
+ self.set_name("sky130_la_iobidir")
73
+
74
+ # version
75
+ self.set_version("v1")
76
+
77
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
78
+
79
+ with self.active_dataroot("lambdapdk"):
80
+ with self.active_fileset("rtl"):
81
+ self.add_file(lib_path / "lambda" / "la_iobidir.v")
82
+
83
+
84
+ class Sky130Lambdalib_la_ioclamp(LambalibTechLibrary, _LambdaPath):
85
+ def __init__(self):
86
+ super().__init__("la_ioclamp", [Sky130_IOLibrary])
87
+ self.set_name("sky130_la_ioclamp")
88
+
89
+ # version
90
+ self.set_version("v1")
91
+
92
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
93
+
94
+ with self.active_dataroot("lambdapdk"):
95
+ with self.active_fileset("rtl"):
96
+ self.add_file(lib_path / "lambda" / "la_ioclamp.v")
97
+
98
+
99
+ class Sky130Lambdalib_la_iocorner(LambalibTechLibrary, _LambdaPath):
100
+ def __init__(self):
101
+ super().__init__("la_iocorner", [Sky130_IOLibrary])
102
+ self.set_name("sky130_la_iocorner")
103
+
104
+ # version
105
+ self.set_version("v1")
106
+
107
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
108
+
109
+ with self.active_dataroot("lambdapdk"):
110
+ with self.active_fileset("rtl"):
111
+ self.add_file(lib_path / "lambda" / "la_iocorner.v")
112
+
113
+
114
+ class Sky130Lambdalib_la_ioinput(LambalibTechLibrary, _LambdaPath):
115
+ def __init__(self):
116
+ super().__init__("la_ioinput", [Sky130_IOLibrary])
117
+ self.set_name("sky130_la_ioinput")
118
+
119
+ # version
120
+ self.set_version("v1")
121
+
122
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
123
+
124
+ with self.active_dataroot("lambdapdk"):
125
+ with self.active_fileset("rtl"):
126
+ self.add_file(lib_path / "lambda" / "la_ioinput.v")
127
+
128
+
129
+ class Sky130Lambdalib_la_iorxdiff(LambalibTechLibrary, _LambdaPath):
130
+ def __init__(self):
131
+ super().__init__("la_iorxdiff", [Sky130_IOLibrary])
132
+ self.set_name("sky130_la_iorxdiff")
133
+
134
+ # version
135
+ self.set_version("v1")
136
+
137
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
138
+
139
+ with self.active_dataroot("lambdapdk"):
140
+ with self.active_fileset("rtl"):
141
+ self.add_file(lib_path / "lambda" / "la_iorxdiff.v")
142
+
143
+
144
+ class Sky130Lambdalib_la_iotxdiff(LambalibTechLibrary, _LambdaPath):
145
+ def __init__(self):
146
+ super().__init__("la_iotxdiff", [Sky130_IOLibrary])
147
+ self.set_name("sky130_la_iotxdiff")
148
+
149
+ # version
150
+ self.set_version("v1")
151
+
152
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
153
+
154
+ with self.active_dataroot("lambdapdk"):
155
+ with self.active_fileset("rtl"):
156
+ self.add_file(lib_path / "lambda" / "la_iotxdiff.v")
157
+
158
+
159
+ class Sky130Lambdalib_la_iovdd(LambalibTechLibrary, _LambdaPath):
160
+ def __init__(self):
161
+ super().__init__("la_iovdd", [Sky130_IOLibrary])
162
+ self.set_name("sky130_la_iovdd")
163
+
164
+ # version
165
+ self.set_version("v1")
166
+
167
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
168
+
169
+ with self.active_dataroot("lambdapdk"):
170
+ with self.active_fileset("rtl"):
171
+ self.add_file(lib_path / "lambda" / "la_iovdd.v")
172
+
173
+
174
+ class Sky130Lambdalib_la_iovdda(LambalibTechLibrary, _LambdaPath):
175
+ def __init__(self):
176
+ super().__init__("la_iovdda", [Sky130_IOLibrary])
177
+ self.set_name("sky130_la_iovdda")
178
+
179
+ # version
180
+ self.set_version("v1")
181
+
182
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
183
+
184
+ with self.active_dataroot("lambdapdk"):
185
+ with self.active_fileset("rtl"):
186
+ self.add_file(lib_path / "lambda" / "la_iovdda.v")
187
+
188
+
189
+ class Sky130Lambdalib_la_iovddio(LambalibTechLibrary, _LambdaPath):
190
+ def __init__(self):
191
+ super().__init__("la_iovddio", [Sky130_IOLibrary])
192
+ self.set_name("sky130_la_iovddio")
193
+
194
+ # version
195
+ self.set_version("v1")
196
+
197
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
198
+
199
+ with self.active_dataroot("lambdapdk"):
200
+ with self.active_fileset("rtl"):
201
+ self.add_file(lib_path / "lambda" / "la_iovddio.v")
202
+
203
+
204
+ class Sky130Lambdalib_la_iovss(LambalibTechLibrary, _LambdaPath):
205
+ def __init__(self):
206
+ super().__init__("la_iovss", [Sky130_IOLibrary])
207
+ self.set_name("sky130_la_iovss")
208
+
209
+ # version
210
+ self.set_version("v1")
211
+
212
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
213
+
214
+ with self.active_dataroot("lambdapdk"):
215
+ with self.active_fileset("rtl"):
216
+ self.add_file(lib_path / "lambda" / "la_iovss.v")
217
+
218
+
219
+ class Sky130Lambdalib_la_iovssa(LambalibTechLibrary, _LambdaPath):
220
+ def __init__(self):
221
+ super().__init__("la_iovssa", [Sky130_IOLibrary])
222
+ self.set_name("sky130_la_iovssa")
223
+
224
+ # version
225
+ self.set_version("v1")
226
+
227
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
228
+
229
+ with self.active_dataroot("lambdapdk"):
230
+ with self.active_fileset("rtl"):
231
+ self.add_file(lib_path / "lambda" / "la_iovssa.v")
232
+
233
+
234
+ class Sky130Lambdalib_la_iovssio(LambalibTechLibrary, _LambdaPath):
235
+ def __init__(self):
236
+ super().__init__("la_iovssio", [Sky130_IOLibrary])
237
+ self.set_name("sky130_la_iovssio")
238
+
239
+ # version
240
+ self.set_version("v1")
241
+
242
+ lib_path = Path("lambdapdk", "sky130", "libs", "sky130io")
243
+
244
+ with self.active_dataroot("lambdapdk"):
245
+ with self.active_fileset("rtl"):
246
+ self.add_file(lib_path / "lambda" / "la_iovssio.v")
247
+
248
+
249
+ class Sky130LambdaLib_IO(LambalibTechLibrary):
250
+ @classmethod
251
+ def alias(cls, project: ASICProject):
252
+ Sky130Lambdalib_la_ioanalog.alias(project)
253
+ Sky130Lambdalib_la_iobidir.alias(project)
254
+ Sky130Lambdalib_la_ioclamp.alias(project)
255
+ Sky130Lambdalib_la_iocorner.alias(project)
256
+ Sky130Lambdalib_la_ioinput.alias(project)
257
+ Sky130Lambdalib_la_iorxdiff.alias(project)
258
+ Sky130Lambdalib_la_iotxdiff.alias(project)
259
+ Sky130Lambdalib_la_iovdd.alias(project)
260
+ Sky130Lambdalib_la_iovdda.alias(project)
261
+ Sky130Lambdalib_la_iovddio.alias(project)
262
+ Sky130Lambdalib_la_iovss.alias(project)
263
+ Sky130Lambdalib_la_iovssa.alias(project)
264
+ Sky130Lambdalib_la_iovssio.alias(project)
@@ -38,8 +38,6 @@ class Sky130_SRAM_64x256(LambdaLibrary):
38
38
  self.add_openroad_global_connect_file(
39
39
  path_base / "apr" / "openroad" / "global_connect.tcl")
40
40
 
41
- self.set_yosys_skip_abc_liberty(True)
42
-
43
41
 
44
42
  class Sky130Lambdalib_SinglePort(LambalibTechLibrary, _LambdaPath):
45
43
  def __init__(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdapdk
3
- Version: 0.2.0rc3
3
+ Version: 0.2.0rc4
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License