8. PDK directory

8.1. asap7

The asap7 PDK was developed at ASU in collaboration with ARM Research. With funding from the DARPA IDEA program, the PDK was released a permissive open source PDK in 2021. The PDK contains SPICE-compatible FinFET device models (BSIM-CMG), Technology files for Cadence Virtuoso, Design Rule Checker (DRC), Layout vs Schematic Checker (LVS) and Extraction Deck for the 7nm technology node. For more details regarding the technical specifications of the PDK, please refer the PDK documentation and associated publication. Note that this process design kit is provided as an academic and research aid only and the resulting designs are not manufacturable.

PDK content:

  • open source DRM

  • device primitive library (virtuoso)

  • spice (hspice)

  • extraction runsets (calibre)

  • drc runsets (calibre)

  • APR technology files

  • 7.5 track multi-vt standard cell libraries

More information:

  • https://asap.asu.edu/

  • L.T. Clark, V. Vashishtha, L. Shifren, A. Gujja, S. Sinha, B. Cline, C. Ramamurthya, and G. Yeric, “ASAP7: A 7-nm FinFET Predictive Process Design Kit,” Microelectronics Journal, vol. 53, pp. 105-115, July 2016.

Sources: https://github.com/The-OpenROAD-Project/asap7

Warning

Work in progress (not ready for use)

Setup file: asap7.py

8.1.1. Configuration

8.1.1.1. pdk, asap7

Keypath

Value

['pdk', 'asap7', 'foundry']

virtual

['pdk', 'asap7', 'node']

7.0

['pdk', 'asap7', 'version']

r1p7

['pdk', 'asap7', 'stackup']

10M

['pdk', 'asap7', 'wafersize']

300.0
8.1.1.1.1. pdk, asap7, minlayer

Keypath

Value

['pdk', 'asap7', 'minlayer', '10M']

M2
8.1.1.1.2. pdk, asap7, maxlayer

Keypath

Value

['pdk', 'asap7', 'maxlayer', '10M']

M7
8.1.1.1.3. pdk, asap7, pexmodel, openroad, 10M

Keypath

Value

['pdk', 'asap7', 'pexmodel', 'openroad', '10M', 'typical']

../third_party/pdks/virtual/asap7/pdk/r1p7/pex/openroad/typical.tcl
8.1.1.1.4. pdk, asap7, pexmodel, openroad-openrcx, 10M

Keypath

Value

['pdk', 'asap7', 'pexmodel', 'openroad-openrcx', '10M', 'typical']

../third_party/pdks/virtual/asap7/pdk/r1p7/pex/openroad/typical.rules
8.1.1.1.5. pdk, asap7, layermap, klayout, def, gds

Keypath

Value

['pdk', 'asap7', 'layermap', 'klayout', 'def', 'gds', '10M']

../third_party/pdks/virtual/asap7/pdk/r1p7/setup/klayout/asap7.lyt
8.1.1.1.6. pdk, asap7, aprtech, openroad, 10M, 7p5t

Keypath

Value

['pdk', 'asap7', 'aprtech', 'openroad', '10M', '7p5t', 'lef']

../third_party/pdks/virtual/asap7/pdk/r1p7/apr/asap7_tech.lef
8.1.1.1.7. pdk, asap7, aprtech, klayout, 10M, 7p5t

Keypath

Value

['pdk', 'asap7', 'aprtech', 'klayout', '10M', '7p5t', 'lef']

../third_party/pdks/virtual/asap7/pdk/r1p7/apr/asap7_tech.lef
8.1.1.1.8. pdk, asap7, aprtech, magic, 10M, 7p5t

Keypath

Value

['pdk', 'asap7', 'aprtech', 'magic', '10M', '7p5t', 'lef']

../third_party/pdks/virtual/asap7/pdk/r1p7/apr/asap7_tech.lef
8.1.1.1.9. pdk, asap7, var, openroad, M1_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M1_adjustment', '10M']

1.0
8.1.1.1.10. pdk, asap7, var, openroad, M2_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M2_adjustment', '10M']

0.8
8.1.1.1.11. pdk, asap7, var, openroad, M3_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M3_adjustment', '10M']

0.7
8.1.1.1.12. pdk, asap7, var, openroad, M4_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M4_adjustment', '10M']

0.4
8.1.1.1.13. pdk, asap7, var, openroad, M5_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M5_adjustment', '10M']

0.4
8.1.1.1.14. pdk, asap7, var, openroad, M6_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M6_adjustment', '10M']

0.4
8.1.1.1.15. pdk, asap7, var, openroad, M7_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M7_adjustment', '10M']

0.4
8.1.1.1.16. pdk, asap7, var, openroad, M8_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M8_adjustment', '10M']

0.4
8.1.1.1.17. pdk, asap7, var, openroad, M9_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'M9_adjustment', '10M']

0.4
8.1.1.1.18. pdk, asap7, var, openroad, Pad_adjustment

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'Pad_adjustment', '10M']

1.0
8.1.1.1.19. pdk, asap7, var, openroad, rclayer_signal

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'rclayer_signal', '10M']

M3
8.1.1.1.20. pdk, asap7, var, openroad, rclayer_clock

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'rclayer_clock', '10M']

M3
8.1.1.1.21. pdk, asap7, var, openroad, pin_layer_vertical

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'pin_layer_vertical', '10M']

M5
8.1.1.1.22. pdk, asap7, var, openroad, pin_layer_horizontal

Keypath

Value

['pdk', 'asap7', 'var', 'openroad', 'pin_layer_horizontal', '10M']

M4

8.2. freepdk45

The freepdk45 PDK is a virtual PDK derived from the work done at NCSU (NCSU_TechLib_FreePDK45.) It supplies techfiles, display resources, design rules and scripts to permit layout design and rule checking for a generic 45 nanometer process. The technology information contained in this kit has been compiled from published papers, predictive technology models and rule scaling. This information may be freely used, modified, and distributed under the open-source Apache License (see the file APACHE-LICENSE-2.0.txt in the root install directory for the complete text). This technology is intended to work with the 45nm BSIM4 Predictive Technology Model from Arizona State University (https://ptm.asu.edu/). See the HSPICE Models section of this file for details about these models.

More information:

Setup file: freepdk45.py

8.2.1. Configuration

8.2.1.1. pdk, freepdk45

Keypath

Value

['pdk', 'freepdk45', 'foundry']

virtual

['pdk', 'freepdk45', 'node']

45.0

['pdk', 'freepdk45', 'version']

r1p0

['pdk', 'freepdk45', 'stackup']

10M

['pdk', 'freepdk45', 'wafersize']

300.0

['pdk', 'freepdk45', 'd0']

1.25

['pdk', 'freepdk45', 'hscribe']

0.1

['pdk', 'freepdk45', 'vscribe']

0.1

['pdk', 'freepdk45', 'edgemargin']

2.0
8.2.1.1.1. pdk, freepdk45, minlayer

Keypath

Value

['pdk', 'freepdk45', 'minlayer', '10M']

metal2
8.2.1.1.2. pdk, freepdk45, maxlayer

Keypath

Value

['pdk', 'freepdk45', 'maxlayer', '10M']

metal10
8.2.1.1.3. pdk, freepdk45, pexmodel, openroad, 10M

Keypath

Value

['pdk', 'freepdk45', 'pexmodel', 'openroad', '10M', 'typical']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/pex/openroad/typical.tcl
8.2.1.1.4. pdk, freepdk45, pexmodel, openroad-openrcx, 10M

Keypath

Value

['pdk', 'freepdk45', 'pexmodel', 'openroad-openrcx', '10M', 'typical']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/pex/openroad/typical.rules
8.2.1.1.5. pdk, freepdk45, layermap, klayout, def, gds

Keypath

Value

['pdk', 'freepdk45', 'layermap', 'klayout', 'def', 'gds', '10M']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/setup/klayout/freepdk45.lyt
8.2.1.1.6. pdk, freepdk45, display, klayout

Keypath

Value

['pdk', 'freepdk45', 'display', 'klayout', '10M']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/setup/klayout/freepdk45.lyp
8.2.1.1.7. pdk, freepdk45, aprtech, openroad, 10M, 10t

Keypath

Value

['pdk', 'freepdk45', 'aprtech', 'openroad', '10M', '10t', 'lef']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/apr/freepdk45.tech.lef
8.2.1.1.8. pdk, freepdk45, aprtech, klayout, 10M, 10t

Keypath

Value

['pdk', 'freepdk45', 'aprtech', 'klayout', '10M', '10t', 'lef']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/apr/freepdk45.tech.lef
8.2.1.1.9. pdk, freepdk45, aprtech, magic, 10M, 10t

Keypath

Value

['pdk', 'freepdk45', 'aprtech', 'magic', '10M', '10t', 'lef']

../third_party/pdks/virtual/freepdk45/pdk/r1p0/apr/freepdk45.tech.lef
8.2.1.1.10. pdk, freepdk45, var, openroad, metal1_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal1_adjustment', '10M']

1.0
8.2.1.1.11. pdk, freepdk45, var, openroad, metal2_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal2_adjustment', '10M']

0.5
8.2.1.1.12. pdk, freepdk45, var, openroad, metal3_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal3_adjustment', '10M']

0.5
8.2.1.1.13. pdk, freepdk45, var, openroad, metal4_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal4_adjustment', '10M']

0.25
8.2.1.1.14. pdk, freepdk45, var, openroad, metal5_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal5_adjustment', '10M']

0.25
8.2.1.1.15. pdk, freepdk45, var, openroad, metal6_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal6_adjustment', '10M']

0.25
8.2.1.1.16. pdk, freepdk45, var, openroad, metal7_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal7_adjustment', '10M']

0.25
8.2.1.1.17. pdk, freepdk45, var, openroad, metal8_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal8_adjustment', '10M']

0.25
8.2.1.1.18. pdk, freepdk45, var, openroad, metal9_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal9_adjustment', '10M']

0.25
8.2.1.1.19. pdk, freepdk45, var, openroad, metal10_adjustment

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'metal10_adjustment', '10M']

0.25
8.2.1.1.20. pdk, freepdk45, var, openroad, rclayer_signal

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'rclayer_signal', '10M']

metal3
8.2.1.1.21. pdk, freepdk45, var, openroad, rclayer_clock

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'rclayer_clock', '10M']

metal5
8.2.1.1.22. pdk, freepdk45, var, openroad, pin_layer_vertical

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'pin_layer_vertical', '10M']

metal4
8.2.1.1.23. pdk, freepdk45, var, openroad, pin_layer_horizontal

Keypath

Value

['pdk', 'freepdk45', 'var', 'openroad', 'pin_layer_horizontal', '10M']

metal5

8.3. skywater130

The ‘skywater130’ Open Source PDK is a collaboration between Google and SkyWater Technology Foundry to provide a fully open source Process Design Kit and related resources, which can be used to create manufacturable designs at SkyWater’s facility.

Skywater130 Process Highlights:

  • 130nm process

  • support for internal 1.8V with 5.0V I/Os (operable at 2.5V)

  • 1 level of local interconnect

  • 5 levels of metal

PDK content:

  • An open source design rule manual

  • multiple standard digital cell libraries

  • primitive cell libraries and models for creating analog designs

  • EDA support files for multiple open source and proprietary flows

More information:

Sources:

Setup file: skywater130.py

8.3.1. Configuration

8.3.1.1. pdk, skywater130

Keypath

Value

['pdk', 'skywater130', 'foundry']

skywater

['pdk', 'skywater130', 'node']

130.0

['pdk', 'skywater130', 'version']

v0_0_2

['pdk', 'skywater130', 'stackup']

5M1LI

['pdk', 'skywater130', 'wafersize']

300.0

['pdk', 'skywater130', 'hscribe']

0.1

['pdk', 'skywater130', 'vscribe']

0.1

['pdk', 'skywater130', 'edgemargin']

2.0
8.3.1.1.1. pdk, skywater130, minlayer

Keypath

Value

['pdk', 'skywater130', 'minlayer', '5M1LI']

met1
8.3.1.1.2. pdk, skywater130, maxlayer

Keypath

Value

['pdk', 'skywater130', 'maxlayer', '5M1LI']

met5
8.3.1.1.3. pdk, skywater130, pexmodel, openroad, 5M1LI

Keypath

Value

['pdk', 'skywater130', 'pexmodel', 'openroad', '5M1LI', 'minimum']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/minimum.tcl

['pdk', 'skywater130', 'pexmodel', 'openroad', '5M1LI', 'typical']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/typical.tcl

['pdk', 'skywater130', 'pexmodel', 'openroad', '5M1LI', 'maximum']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/maximum.tcl
8.3.1.1.4. pdk, skywater130, pexmodel, openroad-openrcx, 5M1LI

Keypath

Value

['pdk', 'skywater130', 'pexmodel', 'openroad-openrcx', '5M1LI', 'minimum']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/minimum.rules

['pdk', 'skywater130', 'pexmodel', 'openroad-openrcx', '5M1LI', 'typical']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/typical.rules

['pdk', 'skywater130', 'pexmodel', 'openroad-openrcx', '5M1LI', 'maximum']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/pex/openroad/maximum.rules
8.3.1.1.5. pdk, skywater130, layermap, klayout, def, gds

Keypath

Value

['pdk', 'skywater130', 'layermap', 'klayout', 'def', 'gds', '5M1LI']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/setup/klayout/skywater130.lyt
8.3.1.1.6. pdk, skywater130, display, klayout

Keypath

Value

['pdk', 'skywater130', 'display', 'klayout', '5M1LI']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/setup/klayout/sky130A.lyp
8.3.1.1.7. pdk, skywater130, aprtech, openroad, 5M1LI, unithd

Keypath

Value

['pdk', 'skywater130', 'aprtech', 'openroad', '5M1LI', 'unithd', 'lef']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/apr/sky130_fd_sc_hd.tlef
8.3.1.1.8. pdk, skywater130, aprtech, klayout, 5M1LI, unithd

Keypath

Value

['pdk', 'skywater130', 'aprtech', 'klayout', '5M1LI', 'unithd', 'lef']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/apr/sky130_fd_sc_hd.tlef
8.3.1.1.9. pdk, skywater130, aprtech, magic, 5M1LI, unithd

Keypath

Value

['pdk', 'skywater130', 'aprtech', 'magic', '5M1LI', 'unithd', 'lef']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/apr/sky130_fd_sc_hd.tlef
8.3.1.1.10. pdk, skywater130, lvs, runset, netgen, 5M1LI

Keypath

Value

['pdk', 'skywater130', 'lvs', 'runset', 'netgen', '5M1LI', 'basic']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/setup/netgen/lvs_setup.tcl
8.3.1.1.11. pdk, skywater130, drc, runset, magic, 5M1LI

Keypath

Value

['pdk', 'skywater130', 'drc', 'runset', 'magic', '5M1LI', 'basic']

../third_party/pdks/skywater/skywater130/pdk/v0_0_2/setup/magic/sky130A.tech
8.3.1.1.12. pdk, skywater130, var, openroad, li1_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'li1_adjustment', '5M1LI']

1.0
8.3.1.1.13. pdk, skywater130, var, openroad, met1_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'met1_adjustment', '5M1LI']

0.3
8.3.1.1.14. pdk, skywater130, var, openroad, met2_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'met2_adjustment', '5M1LI']

0.3
8.3.1.1.15. pdk, skywater130, var, openroad, met3_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'met3_adjustment', '5M1LI']

0.3
8.3.1.1.16. pdk, skywater130, var, openroad, met4_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'met4_adjustment', '5M1LI']

0.3
8.3.1.1.17. pdk, skywater130, var, openroad, met5_adjustment

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'met5_adjustment', '5M1LI']

0.3
8.3.1.1.18. pdk, skywater130, var, openroad, rclayer_signal

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'rclayer_signal', '5M1LI']

met2
8.3.1.1.19. pdk, skywater130, var, openroad, rclayer_clock

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'rclayer_clock', '5M1LI']

met4
8.3.1.1.20. pdk, skywater130, var, openroad, pin_layer_vertical

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'pin_layer_vertical', '5M1LI']

met2
8.3.1.1.21. pdk, skywater130, var, openroad, pin_layer_horizontal

Keypath

Value

['pdk', 'skywater130', 'var', 'openroad', 'pin_layer_horizontal', '5M1LI']

met3
8.3.1.1.22. pdk, skywater130, var, klayout, hide_layers

Keypath

Value

['pdk', 'skywater130', 'var', 'klayout', 'hide_layers', '5M1LI']

areaid.standardc