lambdapdk 0.2.7__tar.gz → 0.2.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {lambdapdk-0.2.7/lambdapdk.egg-info → lambdapdk-0.2.9}/PKG-INFO +198 -18
  2. lambdapdk-0.2.9/README.md +206 -0
  3. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/__init__.py +7 -2
  4. lambdapdk-0.2.9/lambdapdk/asap7/libs/fakepll7.py +42 -0
  5. {lambdapdk-0.2.7 → lambdapdk-0.2.9/lambdapdk.egg-info}/PKG-INFO +198 -18
  6. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk.egg-info/SOURCES.txt +1 -0
  7. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk.egg-info/requires.txt +1 -1
  8. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/pyproject.toml +1 -1
  9. lambdapdk-0.2.7/README.md +0 -26
  10. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/LICENSE +0 -0
  11. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/MANIFEST.in +0 -0
  12. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/asap7/__init__.py +0 -0
  13. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/asap7/libs/asap7sc7p5t.py +0 -0
  14. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/asap7/libs/fakeio7.py +0 -0
  15. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/asap7/libs/fakekit7.py +0 -0
  16. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/asap7/libs/fakeram7.py +0 -0
  17. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/freepdk45/__init__.py +0 -0
  18. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/freepdk45/libs/fakeram45.py +0 -0
  19. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/freepdk45/libs/nangate45.py +0 -0
  20. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/gf180/__init__.py +0 -0
  21. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/gf180/libs/gf180io.py +0 -0
  22. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/gf180/libs/gf180mcu.py +0 -0
  23. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/gf180/libs/gf180sram.py +0 -0
  24. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/ihp130/__init__.py +0 -0
  25. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/ihp130/libs/sg13g2_io.py +0 -0
  26. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/ihp130/libs/sg13g2_sram.py +0 -0
  27. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/ihp130/libs/sg13g2_stdcell.py +0 -0
  28. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/interposer/__init__.py +0 -0
  29. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/interposer/_generator.py +0 -0
  30. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/interposer/libs/bumps.py +0 -0
  31. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/sky130/__init__.py +0 -0
  32. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/sky130/libs/sky130io.py +0 -0
  33. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/sky130/libs/sky130sc.py +0 -0
  34. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/sky130/libs/sky130sram.py +0 -0
  35. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk/utils.py +0 -0
  36. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk.egg-info/dependency_links.txt +0 -0
  37. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk.egg-info/entry_points.txt +0 -0
  38. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/lambdapdk.egg-info/top_level.txt +0 -0
  39. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/setup.cfg +0 -0
  40. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/tests/test_getters.py +0 -0
  41. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/tests/test_lambda.py +0 -0
  42. {lambdapdk-0.2.7 → lambdapdk-0.2.9}/tests/test_paths.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdapdk
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License
@@ -199,7 +199,7 @@ Requires-Python: >=3.8
199
199
  Description-Content-Type: text/markdown
200
200
  License-File: LICENSE
201
201
  Requires-Dist: siliconcompiler>=0.35.0
202
- Requires-Dist: lambdalib>=0.7.0
202
+ Requires-Dist: lambdalib>=0.10.0
203
203
  Provides-Extra: test
204
204
  Requires-Dist: flake8==7.3.0; extra == "test"
205
205
  Requires-Dist: pytest==9.0.2; extra == "test"
@@ -209,29 +209,209 @@ Requires-Dist: sc-leflib==0.5.1; extra == "test"
209
209
  Requires-Dist: Jinja2==3.1.6; extra == "test"
210
210
  Dynamic: license-file
211
211
 
212
- # Lambdapdk Introduction
212
+ # Lambdapdk
213
213
 
214
- The Lambdapdk project includes a number of open source Process Design Kits (PDKs). The original source of these PDKs is documented in the README file for each PDK. Cell level mapping is included to the generic technology independent [Lambdalib](https://github.com/siliconcompiler/lambdalib) library.
214
+ [![CI Tests](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml)
215
+ [![Wheels](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml)
216
+ [![PyPI](https://img.shields.io/pypi/v/lambdapdk)](https://pypi.org/project/lambdapdk/)
217
+ [![Downloads](https://static.pepy.tech/badge/lambdapdk)](https://pepy.tech/project/lambdapdk)
218
+ [![GitHub stars](https://img.shields.io/github/stars/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/stargazers)
219
+ [![GitHub issues](https://img.shields.io/github/issues/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/issues)
220
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
215
221
 
216
- Lambdapdk is supported by the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) project.
217
222
 
223
+ Lambdapdk is a collection of open-source Process Design Kits (PDKs) that enable chip design across multiple technology nodes. Each PDK includes standard cell libraries, I/O libraries, and memory compilers with full integration into the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) build system and [Lambdalib](https://github.com/siliconcompiler/lambdalib) Verilog hardware abstraction library.
218
224
 
219
- Supported PDKs:
225
+ <!-- TODO: Add architecture diagram showing PDK relationship to design flow -->
220
226
 
221
- * [ASAP7](lambdapdk/asap7/README.md)
222
- * [FreePDK45](lambdapdk/freepdk45/base/README.md)
223
- * [IHP 130](https://github.com/IHP-GmbH/IHP-Open-PDK)
224
- * [Skywater130](lambdapdk/sky130/README.md)
225
- * [Global Foundries 180](lambdapdk/gf180/README.md)
226
- * [interposer](lambdapdk/interposer/README.md)
227
+ ## Why Lambdapdk?
227
228
 
228
- # License
229
+ ### Challenges
229
230
 
230
- [Apache License 2.0](LICENSE)
231
+ - PDK setup is complex and error-prone
232
+ - Technology-specific designs limit portability
233
+ - Commercial PDKs have restrictive licenses
234
+ - Scattered PDK sources with inconsistent interfaces
231
235
 
232
- Specific PDK licences can be found in their respective folders.
236
+ ### Solution
233
237
 
234
- # Issues / Bugs
238
+ - Pre-configured PDKs ready for immediate use
239
+ - [Lambdalib](https://github.com/siliconcompiler/lambdalib) mapping enables design portability
240
+ - Fully open-source PDKs for research and education
241
+ - Unified API across all supported technologies
235
242
 
236
- We use [GitHub Issues](https://github.com/siliconcompiler/lambdapdk/issues)
237
- for tracking requests and bugs.
243
+ <!-- TODO: Add flow diagram showing design portability across PDKs -->
244
+
245
+ ## Supported PDKs
246
+
247
+ | PDK | Node | Libraries | Source |
248
+ |-----|------|-----------|--------|
249
+ | [ASAP7](lambdapdk/asap7/README.md) | 7nm FinFET | Standard cells (RVT/LVT/SLVT), I/O, SRAM | Arizona State University |
250
+ | [FreePDK45](lambdapdk/freepdk45/base/README.md) | 45nm | Nangate standard cells, SRAM | NC State / Nangate |
251
+ | [Sky130](lambdapdk/sky130/README.md) | 130nm | Standard cells (HD/HDLL), I/O, SRAM | Google / Skywater |
252
+ | [GF180](lambdapdk/gf180/README.md) | 180nm | Standard cells (7T/9T), I/O, SRAM | Google / GlobalFoundries |
253
+ | [IHP130](https://github.com/IHP-GmbH/IHP-Open-PDK) | 130nm SiGe | Standard cells, I/O, SRAM | IHP GmbH |
254
+ | [Interposer](lambdapdk/interposer/README.md) | Multi-layer | Bump cells for chiplet integration | ZeroASIC |
255
+
256
+ ## Quick Start
257
+
258
+ ### Installation
259
+
260
+ ```bash
261
+ pip install lambdapdk
262
+ ```
263
+
264
+ ### Basic Usage
265
+
266
+ ```python
267
+ from siliconcompiler import ASIC, Design
268
+ from siliconcompiler.targets import skywater130_demo
269
+
270
+ # Create design and add source files
271
+ design = Design("mydesign")
272
+ design.set_topmodule("mydesign", fileset="rtl")
273
+ design.add_file("mydesign.v", fileset="rtl")
274
+ design.add_file("mydesign.sdc", fileset="sdc")
275
+
276
+ # Create ASIC project and load target
277
+ project = ASIC(design)
278
+ project.add_fileset(["rtl", "sdc"])
279
+ skywater130_demo(project)
280
+
281
+ # Run the flow
282
+ project.run()
283
+ project.summary()
284
+ ```
285
+
286
+ Available targets: `asap7_demo`, `freepdk45_demo`, `skywater130_demo`, `gf180_demo`, `ihp130_demo`, `interposer_demo`
287
+
288
+ ## Cell Library Inventory
289
+
290
+ ### ASAP7 (7nm)
291
+
292
+ Standard cell libraries with three threshold voltage variants:
293
+
294
+ | Library | Type | Cells | Verilog |
295
+ |---------|------|-------|---------|
296
+ | [asap7sc7p5t_rvt](lambdapdk/asap7/libs/asap7sc7p5t_rvt) | Regular Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_rvt/verilog) |
297
+ | [asap7sc7p5t_lvt](lambdapdk/asap7/libs/asap7sc7p5t_lvt) | Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_lvt/verilog) |
298
+ | [asap7sc7p5t_slvt](lambdapdk/asap7/libs/asap7sc7p5t_slvt) | Super Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_slvt/verilog) |
299
+
300
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, Adder, Tie, Filler, Decap, Tap
301
+
302
+ **Memory macros ([fakeram7](lambdapdk/asap7/libs/fakeram7)):**
303
+
304
+ | Configuration | Verilog |
305
+ |--------------|---------|
306
+ | Single-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
307
+ | Dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
308
+ | True dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
309
+
310
+ ### FreePDK45 (45nm)
311
+
312
+ | Library | Type | Verilog |
313
+ |---------|------|---------|
314
+ | [nangate45](lambdapdk/freepdk45/libs/nangate45) | Standard cells | [lambda](lambdapdk/freepdk45/libs/nangate45/lambda/stdlib) |
315
+
316
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tie, Filler, Tap
317
+
318
+ **Memory macros ([fakeram45](lambdapdk/freepdk45/libs/fakeram45)):**
319
+
320
+ | Configuration | Verilog |
321
+ |--------------|---------|
322
+ | 64x32 to 512x64 | [verilog](lambdapdk/freepdk45/libs/fakeram45/verilog) |
323
+
324
+ ### Sky130 (130nm)
325
+
326
+ | Library | Type | Cells | Verilog |
327
+ |---------|------|-------|---------|
328
+ | [sky130hd](lambdapdk/sky130/libs/sky130hd) | High Density | ~430 unique | [verilog](lambdapdk/sky130/libs/sky130hd/verilog) |
329
+ | [sky130hdll](lambdapdk/sky130/libs/sky130hdll) | High Density Low Leakage | ~140 unique | [verilog](lambdapdk/sky130/libs/sky130hdll/verilog) |
330
+ | [sky130io](lambdapdk/sky130/libs/sky130io) | I/O cells | Various | [verilog](lambdapdk/sky130/libs/sky130io/verilog) |
331
+
332
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Delay, Tie, Filler, Decap, Tap, Antenna
333
+
334
+ **Memory macros ([sky130sram](lambdapdk/sky130/libs/sky130sram)):**
335
+
336
+ | Configuration | Verilog |
337
+ |--------------|---------|
338
+ | 1RW1R 64x256 | [verilog](lambdapdk/sky130/libs/sky130sram/sky130_sram_1rw1r_64x256_8/verilog) |
339
+
340
+ ### GF180 (180nm)
341
+
342
+ | Library | Type | Cells | Verilog |
343
+ |---------|------|-------|---------|
344
+ | [gf180mcu_fd_sc_mcu7t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0) | 7-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0/verilog) |
345
+ | [gf180mcu_fd_sc_mcu9t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0) | 9-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0/verilog) |
346
+ | [gf180mcu_fd_io](lambdapdk/gf180/libs/gf180mcu_fd_io) | I/O cells | Various | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_io/verilog) |
347
+
348
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tristate, Delay, Tie, Filler, Decap, Tap, Antenna
349
+
350
+ **Memory macros ([gf180sram](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram)):**
351
+
352
+ | Configuration | Verilog |
353
+ |--------------|---------|
354
+ | 64x8 to 512x8 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram/verilog) |
355
+
356
+ ### IHP130 (130nm SiGe)
357
+
358
+ | Library | Type | Verilog |
359
+ |---------|------|---------|
360
+ | [sg13g2_stdcell](lambdapdk/ihp130/libs/sg13g2_stdcell) | Standard cells | [lambda](lambdapdk/ihp130/libs/sg13g2_stdcell/lambda/stdlib) |
361
+ | [sg13g2_io](lambdapdk/ihp130/libs/sg13g2_io) | I/O cells | [blackbox](lambdapdk/ihp130/libs/sg13g2_io/blackbox) |
362
+
363
+ Note: IHP130 cell views are provided by the [IHP Open PDK](https://github.com/IHP-GmbH/IHP-Open-PDK).
364
+
365
+ ### Interposer
366
+
367
+ | Library | Type | Description |
368
+ |---------|------|-------------|
369
+ | [bumps](lambdapdk/interposer/libs/bumps) | Bump cells | Micro-bump cells for chiplet integration |
370
+
371
+ Stackup variants: 3ML, 4ML, 5ML with 400um, 800um, and 2000um bump pitches.
372
+
373
+ ## Architecture
374
+
375
+ ```
376
+ lambdapdk/
377
+ ├── asap7/ # 7nm FinFET PDK
378
+ │ ├── base/ # Technology files, DRC rules
379
+ │ └── libs/ # Standard cells, I/O, memory
380
+ ├── freepdk45/ # 45nm PDK
381
+ │ ├── base/
382
+ │ └── libs/
383
+ ├── sky130/ # 130nm PDK
384
+ │ ├── base/
385
+ │ └── libs/
386
+ ├── gf180/ # 180nm PDK
387
+ │ ├── base/
388
+ │ └── libs/
389
+ ├── ihp130/ # 130nm SiGe PDK
390
+ │ ├── base/
391
+ │ └── libs/
392
+ └── interposer/ # Passive interposer
393
+ ├── base/
394
+ └── libs/
395
+ ```
396
+
397
+ ## Contributing
398
+
399
+ We welcome contributions! Please report issues and submit pull requests at:
400
+ https://github.com/siliconcompiler/lambdapdk/issues
401
+
402
+ ## License
403
+
404
+ This project is licensed under the [Apache License 2.0](LICENSE).
405
+
406
+ Individual PDKs may have additional license terms:
407
+
408
+ | PDK | License | Details |
409
+ |-----|---------|---------|
410
+ | ASAP7 | BSD 3-Clause | [LICENSE](lambdapdk/asap7/libs/asap7sc7p5t_rvt/LICENSE) |
411
+ | Nangate45 | Nangate Open Cell Library License | [LICENSE](lambdapdk/freepdk45/libs/nangate45/LICENSE) (non-commercial use) |
412
+ | Sky130 | Apache 2.0 | Via [open_pdks](https://github.com/RTimothyEdwards/open_pdks) |
413
+ | GF180 | Apache 2.0 | Via [gf180mcu-pdk](https://github.com/google/gf180mcu-pdk) |
414
+ | IHP130 | Apache 2.0 | Via [IHP-Open-PDK](https://github.com/IHP-GmbH/IHP-Open-PDK) |
415
+ | Interposer | Apache 2.0 | Copyright 2024 ZeroASIC Corp |
416
+
417
+ Copyright 2023 Zero ASIC Corporation
@@ -0,0 +1,206 @@
1
+ # Lambdapdk
2
+
3
+ [![CI Tests](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml)
4
+ [![Wheels](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml)
5
+ [![PyPI](https://img.shields.io/pypi/v/lambdapdk)](https://pypi.org/project/lambdapdk/)
6
+ [![Downloads](https://static.pepy.tech/badge/lambdapdk)](https://pepy.tech/project/lambdapdk)
7
+ [![GitHub stars](https://img.shields.io/github/stars/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/stargazers)
8
+ [![GitHub issues](https://img.shields.io/github/issues/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/issues)
9
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
10
+
11
+
12
+ Lambdapdk is a collection of open-source Process Design Kits (PDKs) that enable chip design across multiple technology nodes. Each PDK includes standard cell libraries, I/O libraries, and memory compilers with full integration into the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) build system and [Lambdalib](https://github.com/siliconcompiler/lambdalib) Verilog hardware abstraction library.
13
+
14
+ <!-- TODO: Add architecture diagram showing PDK relationship to design flow -->
15
+
16
+ ## Why Lambdapdk?
17
+
18
+ ### Challenges
19
+
20
+ - PDK setup is complex and error-prone
21
+ - Technology-specific designs limit portability
22
+ - Commercial PDKs have restrictive licenses
23
+ - Scattered PDK sources with inconsistent interfaces
24
+
25
+ ### Solution
26
+
27
+ - Pre-configured PDKs ready for immediate use
28
+ - [Lambdalib](https://github.com/siliconcompiler/lambdalib) mapping enables design portability
29
+ - Fully open-source PDKs for research and education
30
+ - Unified API across all supported technologies
31
+
32
+ <!-- TODO: Add flow diagram showing design portability across PDKs -->
33
+
34
+ ## Supported PDKs
35
+
36
+ | PDK | Node | Libraries | Source |
37
+ |-----|------|-----------|--------|
38
+ | [ASAP7](lambdapdk/asap7/README.md) | 7nm FinFET | Standard cells (RVT/LVT/SLVT), I/O, SRAM | Arizona State University |
39
+ | [FreePDK45](lambdapdk/freepdk45/base/README.md) | 45nm | Nangate standard cells, SRAM | NC State / Nangate |
40
+ | [Sky130](lambdapdk/sky130/README.md) | 130nm | Standard cells (HD/HDLL), I/O, SRAM | Google / Skywater |
41
+ | [GF180](lambdapdk/gf180/README.md) | 180nm | Standard cells (7T/9T), I/O, SRAM | Google / GlobalFoundries |
42
+ | [IHP130](https://github.com/IHP-GmbH/IHP-Open-PDK) | 130nm SiGe | Standard cells, I/O, SRAM | IHP GmbH |
43
+ | [Interposer](lambdapdk/interposer/README.md) | Multi-layer | Bump cells for chiplet integration | ZeroASIC |
44
+
45
+ ## Quick Start
46
+
47
+ ### Installation
48
+
49
+ ```bash
50
+ pip install lambdapdk
51
+ ```
52
+
53
+ ### Basic Usage
54
+
55
+ ```python
56
+ from siliconcompiler import ASIC, Design
57
+ from siliconcompiler.targets import skywater130_demo
58
+
59
+ # Create design and add source files
60
+ design = Design("mydesign")
61
+ design.set_topmodule("mydesign", fileset="rtl")
62
+ design.add_file("mydesign.v", fileset="rtl")
63
+ design.add_file("mydesign.sdc", fileset="sdc")
64
+
65
+ # Create ASIC project and load target
66
+ project = ASIC(design)
67
+ project.add_fileset(["rtl", "sdc"])
68
+ skywater130_demo(project)
69
+
70
+ # Run the flow
71
+ project.run()
72
+ project.summary()
73
+ ```
74
+
75
+ Available targets: `asap7_demo`, `freepdk45_demo`, `skywater130_demo`, `gf180_demo`, `ihp130_demo`, `interposer_demo`
76
+
77
+ ## Cell Library Inventory
78
+
79
+ ### ASAP7 (7nm)
80
+
81
+ Standard cell libraries with three threshold voltage variants:
82
+
83
+ | Library | Type | Cells | Verilog |
84
+ |---------|------|-------|---------|
85
+ | [asap7sc7p5t_rvt](lambdapdk/asap7/libs/asap7sc7p5t_rvt) | Regular Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_rvt/verilog) |
86
+ | [asap7sc7p5t_lvt](lambdapdk/asap7/libs/asap7sc7p5t_lvt) | Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_lvt/verilog) |
87
+ | [asap7sc7p5t_slvt](lambdapdk/asap7/libs/asap7sc7p5t_slvt) | Super Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_slvt/verilog) |
88
+
89
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, Adder, Tie, Filler, Decap, Tap
90
+
91
+ **Memory macros ([fakeram7](lambdapdk/asap7/libs/fakeram7)):**
92
+
93
+ | Configuration | Verilog |
94
+ |--------------|---------|
95
+ | Single-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
96
+ | Dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
97
+ | True dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
98
+
99
+ ### FreePDK45 (45nm)
100
+
101
+ | Library | Type | Verilog |
102
+ |---------|------|---------|
103
+ | [nangate45](lambdapdk/freepdk45/libs/nangate45) | Standard cells | [lambda](lambdapdk/freepdk45/libs/nangate45/lambda/stdlib) |
104
+
105
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tie, Filler, Tap
106
+
107
+ **Memory macros ([fakeram45](lambdapdk/freepdk45/libs/fakeram45)):**
108
+
109
+ | Configuration | Verilog |
110
+ |--------------|---------|
111
+ | 64x32 to 512x64 | [verilog](lambdapdk/freepdk45/libs/fakeram45/verilog) |
112
+
113
+ ### Sky130 (130nm)
114
+
115
+ | Library | Type | Cells | Verilog |
116
+ |---------|------|-------|---------|
117
+ | [sky130hd](lambdapdk/sky130/libs/sky130hd) | High Density | ~430 unique | [verilog](lambdapdk/sky130/libs/sky130hd/verilog) |
118
+ | [sky130hdll](lambdapdk/sky130/libs/sky130hdll) | High Density Low Leakage | ~140 unique | [verilog](lambdapdk/sky130/libs/sky130hdll/verilog) |
119
+ | [sky130io](lambdapdk/sky130/libs/sky130io) | I/O cells | Various | [verilog](lambdapdk/sky130/libs/sky130io/verilog) |
120
+
121
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Delay, Tie, Filler, Decap, Tap, Antenna
122
+
123
+ **Memory macros ([sky130sram](lambdapdk/sky130/libs/sky130sram)):**
124
+
125
+ | Configuration | Verilog |
126
+ |--------------|---------|
127
+ | 1RW1R 64x256 | [verilog](lambdapdk/sky130/libs/sky130sram/sky130_sram_1rw1r_64x256_8/verilog) |
128
+
129
+ ### GF180 (180nm)
130
+
131
+ | Library | Type | Cells | Verilog |
132
+ |---------|------|-------|---------|
133
+ | [gf180mcu_fd_sc_mcu7t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0) | 7-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0/verilog) |
134
+ | [gf180mcu_fd_sc_mcu9t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0) | 9-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0/verilog) |
135
+ | [gf180mcu_fd_io](lambdapdk/gf180/libs/gf180mcu_fd_io) | I/O cells | Various | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_io/verilog) |
136
+
137
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tristate, Delay, Tie, Filler, Decap, Tap, Antenna
138
+
139
+ **Memory macros ([gf180sram](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram)):**
140
+
141
+ | Configuration | Verilog |
142
+ |--------------|---------|
143
+ | 64x8 to 512x8 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram/verilog) |
144
+
145
+ ### IHP130 (130nm SiGe)
146
+
147
+ | Library | Type | Verilog |
148
+ |---------|------|---------|
149
+ | [sg13g2_stdcell](lambdapdk/ihp130/libs/sg13g2_stdcell) | Standard cells | [lambda](lambdapdk/ihp130/libs/sg13g2_stdcell/lambda/stdlib) |
150
+ | [sg13g2_io](lambdapdk/ihp130/libs/sg13g2_io) | I/O cells | [blackbox](lambdapdk/ihp130/libs/sg13g2_io/blackbox) |
151
+
152
+ Note: IHP130 cell views are provided by the [IHP Open PDK](https://github.com/IHP-GmbH/IHP-Open-PDK).
153
+
154
+ ### Interposer
155
+
156
+ | Library | Type | Description |
157
+ |---------|------|-------------|
158
+ | [bumps](lambdapdk/interposer/libs/bumps) | Bump cells | Micro-bump cells for chiplet integration |
159
+
160
+ Stackup variants: 3ML, 4ML, 5ML with 400um, 800um, and 2000um bump pitches.
161
+
162
+ ## Architecture
163
+
164
+ ```
165
+ lambdapdk/
166
+ ├── asap7/ # 7nm FinFET PDK
167
+ │ ├── base/ # Technology files, DRC rules
168
+ │ └── libs/ # Standard cells, I/O, memory
169
+ ├── freepdk45/ # 45nm PDK
170
+ │ ├── base/
171
+ │ └── libs/
172
+ ├── sky130/ # 130nm PDK
173
+ │ ├── base/
174
+ │ └── libs/
175
+ ├── gf180/ # 180nm PDK
176
+ │ ├── base/
177
+ │ └── libs/
178
+ ├── ihp130/ # 130nm SiGe PDK
179
+ │ ├── base/
180
+ │ └── libs/
181
+ └── interposer/ # Passive interposer
182
+ ├── base/
183
+ └── libs/
184
+ ```
185
+
186
+ ## Contributing
187
+
188
+ We welcome contributions! Please report issues and submit pull requests at:
189
+ https://github.com/siliconcompiler/lambdapdk/issues
190
+
191
+ ## License
192
+
193
+ This project is licensed under the [Apache License 2.0](LICENSE).
194
+
195
+ Individual PDKs may have additional license terms:
196
+
197
+ | PDK | License | Details |
198
+ |-----|---------|---------|
199
+ | ASAP7 | BSD 3-Clause | [LICENSE](lambdapdk/asap7/libs/asap7sc7p5t_rvt/LICENSE) |
200
+ | Nangate45 | Nangate Open Cell Library License | [LICENSE](lambdapdk/freepdk45/libs/nangate45/LICENSE) (non-commercial use) |
201
+ | Sky130 | Apache 2.0 | Via [open_pdks](https://github.com/RTimothyEdwards/open_pdks) |
202
+ | GF180 | Apache 2.0 | Via [gf180mcu-pdk](https://github.com/google/gf180mcu-pdk) |
203
+ | IHP130 | Apache 2.0 | Via [IHP-Open-PDK](https://github.com/IHP-GmbH/IHP-Open-PDK) |
204
+ | Interposer | Apache 2.0 | Copyright 2024 ZeroASIC Corp |
205
+
206
+ Copyright 2023 Zero ASIC Corporation
@@ -11,7 +11,7 @@ from siliconcompiler.tools.openroad import OpenROADStdCellLibrary
11
11
  from siliconcompiler.tools.bambu import BambuStdCellLibrary
12
12
  from siliconcompiler.tools.klayout import KLayoutLibrary
13
13
 
14
- __version__ = "0.2.7"
14
+ __version__ = "0.2.9"
15
15
 
16
16
 
17
17
  class _LambdaPath(PathSchema):
@@ -189,7 +189,10 @@ def get_libs():
189
189
  FakeRAM7_dp_8192x64, FakeRAM7_tdp_8192x64, \
190
190
  FakeRAM7_sp_8192x64, \
191
191
  FakeRAM7Lambdalib_SinglePort, \
192
- FakeRAM7Lambdalib_DoublePort
192
+ FakeRAM7Lambdalib_DoublePort, \
193
+ FakeRAM7Lambdalib_TrueDoublePort
194
+ from lambdapdk.asap7.libs.fakepll7 import FakePLL7Library, \
195
+ FakePLL7Lambdalib_la_pll
193
196
  from lambdapdk.freepdk45.libs.nangate45 import Nangate45
194
197
  from lambdapdk.freepdk45.libs.fakeram45 import \
195
198
  FakeRAM45_64x32, \
@@ -336,6 +339,8 @@ def get_libs():
336
339
  FakeRAM7_sp_8192x64(),
337
340
  FakeRAM7Lambdalib_SinglePort(),
338
341
  FakeRAM7Lambdalib_DoublePort(),
342
+ FakeRAM7Lambdalib_TrueDoublePort(),
343
+ FakePLL7Library(), FakePLL7Lambdalib_la_pll(),
339
344
  Nangate45(),
340
345
  FakeRAM45_64x32(),
341
346
  FakeRAM45_128x32(),
@@ -0,0 +1,42 @@
1
+ from pathlib import Path
2
+
3
+ from lambdalib import LambalibTechLibrary
4
+ from lambdapdk import LambdaLibrary, _LambdaPath
5
+ from lambdapdk.asap7 import ASAP7PDK
6
+
7
+
8
+ class FakePLL7Library(LambdaLibrary):
9
+ '''
10
+ ASAP7 Fake PLL library.
11
+ '''
12
+ def __init__(self):
13
+ super().__init__()
14
+ self.set_name("fakepll7")
15
+
16
+ self.add_asic_pdk(ASAP7PDK())
17
+
18
+ path_base = Path("lambdapdk", "asap7", "libs", "fakepll7")
19
+
20
+ with self.active_dataroot("lambdapdk"):
21
+ with self.active_fileset("models.physical"):
22
+ self.add_file(path_base / "lef" / "fakepll7.lef")
23
+ self.add_asic_aprfileset()
24
+
25
+ with self.active_fileset("models.blackbox"):
26
+ self.add_file(path_base / "model" / "fakepll7.v")
27
+ self.add_yosys_blackbox_fileset("models.blackbox")
28
+
29
+
30
+ class FakePLL7Lambdalib_la_pll(LambalibTechLibrary, _LambdaPath):
31
+ def __init__(self):
32
+ super().__init__("la_pll", [FakePLL7Library])
33
+ self.set_name("fakepll7_la_pll")
34
+
35
+ # version
36
+ self.package.set_version("v1")
37
+
38
+ lib_path = Path("lambdapdk", "asap7", "libs", "fakepll7")
39
+
40
+ with self.active_dataroot("lambdapdk"):
41
+ with self.active_fileset("rtl"):
42
+ self.add_file(lib_path / "lambda" / "la_pll.v")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdapdk
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License
@@ -199,7 +199,7 @@ Requires-Python: >=3.8
199
199
  Description-Content-Type: text/markdown
200
200
  License-File: LICENSE
201
201
  Requires-Dist: siliconcompiler>=0.35.0
202
- Requires-Dist: lambdalib>=0.7.0
202
+ Requires-Dist: lambdalib>=0.10.0
203
203
  Provides-Extra: test
204
204
  Requires-Dist: flake8==7.3.0; extra == "test"
205
205
  Requires-Dist: pytest==9.0.2; extra == "test"
@@ -209,29 +209,209 @@ Requires-Dist: sc-leflib==0.5.1; extra == "test"
209
209
  Requires-Dist: Jinja2==3.1.6; extra == "test"
210
210
  Dynamic: license-file
211
211
 
212
- # Lambdapdk Introduction
212
+ # Lambdapdk
213
213
 
214
- The Lambdapdk project includes a number of open source Process Design Kits (PDKs). The original source of these PDKs is documented in the README file for each PDK. Cell level mapping is included to the generic technology independent [Lambdalib](https://github.com/siliconcompiler/lambdalib) library.
214
+ [![CI Tests](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/ci.yml)
215
+ [![Wheels](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml/badge.svg?branch=main)](https://github.com/siliconcompiler/lambdapdk/actions/workflows/wheels.yml)
216
+ [![PyPI](https://img.shields.io/pypi/v/lambdapdk)](https://pypi.org/project/lambdapdk/)
217
+ [![Downloads](https://static.pepy.tech/badge/lambdapdk)](https://pepy.tech/project/lambdapdk)
218
+ [![GitHub stars](https://img.shields.io/github/stars/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/stargazers)
219
+ [![GitHub issues](https://img.shields.io/github/issues/siliconcompiler/lambdapdk)](https://github.com/siliconcompiler/lambdapdk/issues)
220
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
215
221
 
216
- Lambdapdk is supported by the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) project.
217
222
 
223
+ Lambdapdk is a collection of open-source Process Design Kits (PDKs) that enable chip design across multiple technology nodes. Each PDK includes standard cell libraries, I/O libraries, and memory compilers with full integration into the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) build system and [Lambdalib](https://github.com/siliconcompiler/lambdalib) Verilog hardware abstraction library.
218
224
 
219
- Supported PDKs:
225
+ <!-- TODO: Add architecture diagram showing PDK relationship to design flow -->
220
226
 
221
- * [ASAP7](lambdapdk/asap7/README.md)
222
- * [FreePDK45](lambdapdk/freepdk45/base/README.md)
223
- * [IHP 130](https://github.com/IHP-GmbH/IHP-Open-PDK)
224
- * [Skywater130](lambdapdk/sky130/README.md)
225
- * [Global Foundries 180](lambdapdk/gf180/README.md)
226
- * [interposer](lambdapdk/interposer/README.md)
227
+ ## Why Lambdapdk?
227
228
 
228
- # License
229
+ ### Challenges
229
230
 
230
- [Apache License 2.0](LICENSE)
231
+ - PDK setup is complex and error-prone
232
+ - Technology-specific designs limit portability
233
+ - Commercial PDKs have restrictive licenses
234
+ - Scattered PDK sources with inconsistent interfaces
231
235
 
232
- Specific PDK licences can be found in their respective folders.
236
+ ### Solution
233
237
 
234
- # Issues / Bugs
238
+ - Pre-configured PDKs ready for immediate use
239
+ - [Lambdalib](https://github.com/siliconcompiler/lambdalib) mapping enables design portability
240
+ - Fully open-source PDKs for research and education
241
+ - Unified API across all supported technologies
235
242
 
236
- We use [GitHub Issues](https://github.com/siliconcompiler/lambdapdk/issues)
237
- for tracking requests and bugs.
243
+ <!-- TODO: Add flow diagram showing design portability across PDKs -->
244
+
245
+ ## Supported PDKs
246
+
247
+ | PDK | Node | Libraries | Source |
248
+ |-----|------|-----------|--------|
249
+ | [ASAP7](lambdapdk/asap7/README.md) | 7nm FinFET | Standard cells (RVT/LVT/SLVT), I/O, SRAM | Arizona State University |
250
+ | [FreePDK45](lambdapdk/freepdk45/base/README.md) | 45nm | Nangate standard cells, SRAM | NC State / Nangate |
251
+ | [Sky130](lambdapdk/sky130/README.md) | 130nm | Standard cells (HD/HDLL), I/O, SRAM | Google / Skywater |
252
+ | [GF180](lambdapdk/gf180/README.md) | 180nm | Standard cells (7T/9T), I/O, SRAM | Google / GlobalFoundries |
253
+ | [IHP130](https://github.com/IHP-GmbH/IHP-Open-PDK) | 130nm SiGe | Standard cells, I/O, SRAM | IHP GmbH |
254
+ | [Interposer](lambdapdk/interposer/README.md) | Multi-layer | Bump cells for chiplet integration | ZeroASIC |
255
+
256
+ ## Quick Start
257
+
258
+ ### Installation
259
+
260
+ ```bash
261
+ pip install lambdapdk
262
+ ```
263
+
264
+ ### Basic Usage
265
+
266
+ ```python
267
+ from siliconcompiler import ASIC, Design
268
+ from siliconcompiler.targets import skywater130_demo
269
+
270
+ # Create design and add source files
271
+ design = Design("mydesign")
272
+ design.set_topmodule("mydesign", fileset="rtl")
273
+ design.add_file("mydesign.v", fileset="rtl")
274
+ design.add_file("mydesign.sdc", fileset="sdc")
275
+
276
+ # Create ASIC project and load target
277
+ project = ASIC(design)
278
+ project.add_fileset(["rtl", "sdc"])
279
+ skywater130_demo(project)
280
+
281
+ # Run the flow
282
+ project.run()
283
+ project.summary()
284
+ ```
285
+
286
+ Available targets: `asap7_demo`, `freepdk45_demo`, `skywater130_demo`, `gf180_demo`, `ihp130_demo`, `interposer_demo`
287
+
288
+ ## Cell Library Inventory
289
+
290
+ ### ASAP7 (7nm)
291
+
292
+ Standard cell libraries with three threshold voltage variants:
293
+
294
+ | Library | Type | Cells | Verilog |
295
+ |---------|------|-------|---------|
296
+ | [asap7sc7p5t_rvt](lambdapdk/asap7/libs/asap7sc7p5t_rvt) | Regular Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_rvt/verilog) |
297
+ | [asap7sc7p5t_lvt](lambdapdk/asap7/libs/asap7sc7p5t_lvt) | Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_lvt/verilog) |
298
+ | [asap7sc7p5t_slvt](lambdapdk/asap7/libs/asap7sc7p5t_slvt) | Super Low Vt | ~200 | [verilog](lambdapdk/asap7/libs/asap7sc7p5t_slvt/verilog) |
299
+
300
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, Adder, Tie, Filler, Decap, Tap
301
+
302
+ **Memory macros ([fakeram7](lambdapdk/asap7/libs/fakeram7)):**
303
+
304
+ | Configuration | Verilog |
305
+ |--------------|---------|
306
+ | Single-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
307
+ | Dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
308
+ | True dual-port 64x32 to 8192x64 | [verilog](lambdapdk/asap7/libs/fakeram7/verilog) |
309
+
310
+ ### FreePDK45 (45nm)
311
+
312
+ | Library | Type | Verilog |
313
+ |---------|------|---------|
314
+ | [nangate45](lambdapdk/freepdk45/libs/nangate45) | Standard cells | [lambda](lambdapdk/freepdk45/libs/nangate45/lambda/stdlib) |
315
+
316
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tie, Filler, Tap
317
+
318
+ **Memory macros ([fakeram45](lambdapdk/freepdk45/libs/fakeram45)):**
319
+
320
+ | Configuration | Verilog |
321
+ |--------------|---------|
322
+ | 64x32 to 512x64 | [verilog](lambdapdk/freepdk45/libs/fakeram45/verilog) |
323
+
324
+ ### Sky130 (130nm)
325
+
326
+ | Library | Type | Cells | Verilog |
327
+ |---------|------|-------|---------|
328
+ | [sky130hd](lambdapdk/sky130/libs/sky130hd) | High Density | ~430 unique | [verilog](lambdapdk/sky130/libs/sky130hd/verilog) |
329
+ | [sky130hdll](lambdapdk/sky130/libs/sky130hdll) | High Density Low Leakage | ~140 unique | [verilog](lambdapdk/sky130/libs/sky130hdll/verilog) |
330
+ | [sky130io](lambdapdk/sky130/libs/sky130io) | I/O cells | Various | [verilog](lambdapdk/sky130/libs/sky130io/verilog) |
331
+
332
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Delay, Tie, Filler, Decap, Tap, Antenna
333
+
334
+ **Memory macros ([sky130sram](lambdapdk/sky130/libs/sky130sram)):**
335
+
336
+ | Configuration | Verilog |
337
+ |--------------|---------|
338
+ | 1RW1R 64x256 | [verilog](lambdapdk/sky130/libs/sky130sram/sky130_sram_1rw1r_64x256_8/verilog) |
339
+
340
+ ### GF180 (180nm)
341
+
342
+ | Library | Type | Cells | Verilog |
343
+ |---------|------|-------|---------|
344
+ | [gf180mcu_fd_sc_mcu7t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0) | 7-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu7t5v0/verilog) |
345
+ | [gf180mcu_fd_sc_mcu9t5v0](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0) | 9-track | ~230 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_sc_mcu9t5v0/verilog) |
346
+ | [gf180mcu_fd_io](lambdapdk/gf180/libs/gf180mcu_fd_io) | I/O cells | Various | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_io/verilog) |
347
+
348
+ **Cell categories:** AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tristate, Delay, Tie, Filler, Decap, Tap, Antenna
349
+
350
+ **Memory macros ([gf180sram](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram)):**
351
+
352
+ | Configuration | Verilog |
353
+ |--------------|---------|
354
+ | 64x8 to 512x8 | [verilog](lambdapdk/gf180/libs/gf180mcu_fd_ip_sram/verilog) |
355
+
356
+ ### IHP130 (130nm SiGe)
357
+
358
+ | Library | Type | Verilog |
359
+ |---------|------|---------|
360
+ | [sg13g2_stdcell](lambdapdk/ihp130/libs/sg13g2_stdcell) | Standard cells | [lambda](lambdapdk/ihp130/libs/sg13g2_stdcell/lambda/stdlib) |
361
+ | [sg13g2_io](lambdapdk/ihp130/libs/sg13g2_io) | I/O cells | [blackbox](lambdapdk/ihp130/libs/sg13g2_io/blackbox) |
362
+
363
+ Note: IHP130 cell views are provided by the [IHP Open PDK](https://github.com/IHP-GmbH/IHP-Open-PDK).
364
+
365
+ ### Interposer
366
+
367
+ | Library | Type | Description |
368
+ |---------|------|-------------|
369
+ | [bumps](lambdapdk/interposer/libs/bumps) | Bump cells | Micro-bump cells for chiplet integration |
370
+
371
+ Stackup variants: 3ML, 4ML, 5ML with 400um, 800um, and 2000um bump pitches.
372
+
373
+ ## Architecture
374
+
375
+ ```
376
+ lambdapdk/
377
+ ├── asap7/ # 7nm FinFET PDK
378
+ │ ├── base/ # Technology files, DRC rules
379
+ │ └── libs/ # Standard cells, I/O, memory
380
+ ├── freepdk45/ # 45nm PDK
381
+ │ ├── base/
382
+ │ └── libs/
383
+ ├── sky130/ # 130nm PDK
384
+ │ ├── base/
385
+ │ └── libs/
386
+ ├── gf180/ # 180nm PDK
387
+ │ ├── base/
388
+ │ └── libs/
389
+ ├── ihp130/ # 130nm SiGe PDK
390
+ │ ├── base/
391
+ │ └── libs/
392
+ └── interposer/ # Passive interposer
393
+ ├── base/
394
+ └── libs/
395
+ ```
396
+
397
+ ## Contributing
398
+
399
+ We welcome contributions! Please report issues and submit pull requests at:
400
+ https://github.com/siliconcompiler/lambdapdk/issues
401
+
402
+ ## License
403
+
404
+ This project is licensed under the [Apache License 2.0](LICENSE).
405
+
406
+ Individual PDKs may have additional license terms:
407
+
408
+ | PDK | License | Details |
409
+ |-----|---------|---------|
410
+ | ASAP7 | BSD 3-Clause | [LICENSE](lambdapdk/asap7/libs/asap7sc7p5t_rvt/LICENSE) |
411
+ | Nangate45 | Nangate Open Cell Library License | [LICENSE](lambdapdk/freepdk45/libs/nangate45/LICENSE) (non-commercial use) |
412
+ | Sky130 | Apache 2.0 | Via [open_pdks](https://github.com/RTimothyEdwards/open_pdks) |
413
+ | GF180 | Apache 2.0 | Via [gf180mcu-pdk](https://github.com/google/gf180mcu-pdk) |
414
+ | IHP130 | Apache 2.0 | Via [IHP-Open-PDK](https://github.com/IHP-GmbH/IHP-Open-PDK) |
415
+ | Interposer | Apache 2.0 | Copyright 2024 ZeroASIC Corp |
416
+
417
+ Copyright 2023 Zero ASIC Corporation
@@ -14,6 +14,7 @@ lambdapdk/asap7/__init__.py
14
14
  lambdapdk/asap7/libs/asap7sc7p5t.py
15
15
  lambdapdk/asap7/libs/fakeio7.py
16
16
  lambdapdk/asap7/libs/fakekit7.py
17
+ lambdapdk/asap7/libs/fakepll7.py
17
18
  lambdapdk/asap7/libs/fakeram7.py
18
19
  lambdapdk/freepdk45/__init__.py
19
20
  lambdapdk/freepdk45/libs/fakeram45.py
@@ -1,5 +1,5 @@
1
1
  siliconcompiler>=0.35.0
2
- lambdalib>=0.7.0
2
+ lambdalib>=0.10.0
3
3
 
4
4
  [test]
5
5
  flake8==7.3.0
@@ -14,7 +14,7 @@ requires-python = ">= 3.8"
14
14
  license = {file = "LICENSE"}
15
15
  dependencies = [
16
16
  "siliconcompiler >= 0.35.0",
17
- "lambdalib >= 0.7.0"
17
+ "lambdalib >= 0.10.0"
18
18
  ]
19
19
  dynamic = ['version']
20
20
 
lambdapdk-0.2.7/README.md DELETED
@@ -1,26 +0,0 @@
1
- # Lambdapdk Introduction
2
-
3
- The Lambdapdk project includes a number of open source Process Design Kits (PDKs). The original source of these PDKs is documented in the README file for each PDK. Cell level mapping is included to the generic technology independent [Lambdalib](https://github.com/siliconcompiler/lambdalib) library.
4
-
5
- Lambdapdk is supported by the [SiliconCompiler](https://github.com/siliconcompiler/siliconcompiler) project.
6
-
7
-
8
- Supported PDKs:
9
-
10
- * [ASAP7](lambdapdk/asap7/README.md)
11
- * [FreePDK45](lambdapdk/freepdk45/base/README.md)
12
- * [IHP 130](https://github.com/IHP-GmbH/IHP-Open-PDK)
13
- * [Skywater130](lambdapdk/sky130/README.md)
14
- * [Global Foundries 180](lambdapdk/gf180/README.md)
15
- * [interposer](lambdapdk/interposer/README.md)
16
-
17
- # License
18
-
19
- [Apache License 2.0](LICENSE)
20
-
21
- Specific PDK licences can be found in their respective folders.
22
-
23
- # Issues / Bugs
24
-
25
- We use [GitHub Issues](https://github.com/siliconcompiler/lambdapdk/issues)
26
- for tracking requests and bugs.
File without changes
File without changes
File without changes
File without changes
File without changes