lambdapdk 0.2.0rc2__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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdapdk
3
- Version: 0.2.0rc2
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
@@ -1,30 +1,30 @@
1
- lambdapdk/__init__.py,sha256=D-5fAL_Hac2rIqC0BbYuxGQcuUL-75VN76VZr8kFDRY,9830
1
+ lambdapdk/__init__.py,sha256=U1bjM0Zjl2CpGM3Um8EG2280tz8qGoHN8mYcjKIBMcw,17154
2
2
  lambdapdk/asap7/__init__.py,sha256=UprA-NESlw20dBdqhXhx-bfJ4d7KWotJYrWGmVbYbG8,4304
3
3
  lambdapdk/asap7/libs/asap7sc7p5t.py,sha256=x1sOg01b0ayYUOe38WweazGu51VmOkgthrBEk3bbcBY,4858
4
- lambdapdk/asap7/libs/fakeio7.py,sha256=E7jWC9YVhRdtDQlbkuRdhFY_0Lum209Bb7xSF0U68W4,773
4
+ lambdapdk/asap7/libs/fakeio7.py,sha256=j7v2Tgiq7Svc2pjDMe5YUHdk-26eG_YWQ3XmhB5DcJg,8822
5
5
  lambdapdk/asap7/libs/fakekit7.py,sha256=3AG-xHYw9PyCwdMKeo529DiXreejYUxd16uS2t1Bt1M,597
6
6
  lambdapdk/asap7/libs/fakeram7.py,sha256=JWENktqmrc_qzEG7X_ZAdBQJdLuvCl2UpXtWeM8y3Xo,6268
7
7
  lambdapdk/freepdk45/__init__.py,sha256=mtdE-xFQRn7nnHsT8izcLJ1hBd_DNL13NHijh6hsmZE,3159
8
8
  lambdapdk/freepdk45/libs/fakeram45.py,sha256=hJD7NuVI-JdXNR2t4a3I8_vgfHEESZL7HQ5SGnsGVQg,2391
9
9
  lambdapdk/freepdk45/libs/nangate45.py,sha256=RCgqS616U9N_rEyyCoEsyXHMoDobtXUKDoJPKT0yYEY,3551
10
10
  lambdapdk/gf180/__init__.py,sha256=uuF94SUCl0U1ibBFLfIVHjcXlAJLNtwogn9ZZBuh0j0,9154
11
- lambdapdk/gf180/libs/gf180io.py,sha256=KiwhmxycF2R7pl8EGsacStR5WkmGSIk8vIf7WD2gdwQ,4312
11
+ lambdapdk/gf180/libs/gf180io.py,sha256=qZrV6ZO20BU1QgH9V82uR7es6K66DlxEBHjsPpf4LkE,25584
12
12
  lambdapdk/gf180/libs/gf180mcu.py,sha256=Xt0jorrrJhK0R2UDAE-LslrY3S_1yXC4LQi-TQ1ARRw,8419
13
13
  lambdapdk/gf180/libs/gf180sram.py,sha256=72mAAov8QZgIQczeUJZxWWikqYekQYFvnXarCzl2jTo,4664
14
14
  lambdapdk/ihp130/__init__.py,sha256=3IdnV5_rKzxwBD3pD2SX7LsQfYlUd-YZF0m96fH3KoE,4697
15
- lambdapdk/ihp130/libs/sg13g2_io.py,sha256=kA2jT3AZfyNhR5RowhOLiOA2Sb9_uB5TJyF70b1x150,2995
15
+ lambdapdk/ihp130/libs/sg13g2_io.py,sha256=ksUsikkUb2kZonhPFqSVedbMYynI9hv5VKDiZJyRp8E,16158
16
16
  lambdapdk/ihp130/libs/sg13g2_sram.py,sha256=SabP-8icWhhGpBiMZkFlgSAYVGBg7vxVTOdPAixwq9g,3273
17
17
  lambdapdk/ihp130/libs/sg13g2_stdcell.py,sha256=dA8yOp2VHfFZn0K3LF1sp-ril0JP6DT86BZHr9A_Z2k,5010
18
18
  lambdapdk/interposer/__init__.py,sha256=woXKReyGw3yuoaQ6FZIFWJ7twxCdtx_tmVFSwhyJTJ0,4739
19
19
  lambdapdk/interposer/_generator.py,sha256=Uf9i7gfjgntUpLmxsRmOfzfgh26iQ3nfZmrdIx59UtA,15016
20
20
  lambdapdk/interposer/libs/bumps.py,sha256=gLz05sR72NFVZkbEXB1LRUQVkIegrE8JeH5gyBOVRWE,1730
21
21
  lambdapdk/sky130/__init__.py,sha256=85rjv0QvpP4VWG0N7UBSyWCH5YATZW8jlXA1O-54nXU,3790
22
- lambdapdk/sky130/libs/sky130io.py,sha256=ZlgkezCpgFc13zy5UqpIRHGQvT1KdKiXTsADf-T8_80,2105
22
+ lambdapdk/sky130/libs/sky130io.py,sha256=ODD7FqCxc97NgLDaysadJnLFjNhy6rjBLqW2cFZDrpU,9136
23
23
  lambdapdk/sky130/libs/sky130sc.py,sha256=msRNxMT6MtbGEhX3hfMOo2JL5EQpAaqYhy-hGxcAjAI,8553
24
24
  lambdapdk/sky130/libs/sky130sram.py,sha256=jvAI4RyQMOrQl6u9dZtZaOr7-uAfPB-9iZhsVgu7g8I,2117
25
- lambdapdk-0.2.0rc2.dist-info/licenses/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
26
- lambdapdk-0.2.0rc2.dist-info/METADATA,sha256=QG_tdOjUUkznBq2HgY85aygwSUqYXfu01kRF_uvQ2wQ,13953
27
- lambdapdk-0.2.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- lambdapdk-0.2.0rc2.dist-info/entry_points.txt,sha256=M3DJNwBP0Yv7_3UQ4scoJihxcHncDMkD2cEAbaK2XOw,61
29
- lambdapdk-0.2.0rc2.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
30
- lambdapdk-0.2.0rc2.dist-info/RECORD,,
25
+ lambdapdk-0.2.0rc4.dist-info/licenses/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
26
+ lambdapdk-0.2.0rc4.dist-info/METADATA,sha256=MJMJfwTbbDrZyQG6Wi3fBamltGD1uaAu58RtVqbJQ0U,13953
27
+ lambdapdk-0.2.0rc4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ lambdapdk-0.2.0rc4.dist-info/entry_points.txt,sha256=M3DJNwBP0Yv7_3UQ4scoJihxcHncDMkD2cEAbaK2XOw,61
29
+ lambdapdk-0.2.0rc4.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
30
+ lambdapdk-0.2.0rc4.dist-info/RECORD,,