Git Product home page Git Product logo

sky130_klayout_pdk's Introduction

Skywater 130nm Technology PDK for KLayout License

Mabrains is excited to share with you our Skywater 130nm PDK for Klayout. These files are not qualified. Please use with caution.

KLayout technology files for Skywater Sky130

Installation

To use this repo, you need to do the following:

  1. Clone the repo:

    git clone <https://github.com/mabrains/sky130_klayout_pdk.git>
    
  2. Go inside sky130_klayout_pdk:

    cd sky130_klayout_pdk
    
  3. Open klayout using the following command:

    KLAYOUT_HOME=./sky130_tech klayout -e
    

Status

Devices Status

Device Name Model Status DRC LVS Number of Cases Method of verification
Nmos 1.8v sky130_fd_pr__nfet_01v8 ✔️ ✔️ ✔️ 163 Semi automated
pmos 1.8v sky130_fd_pr__pfet_01v8 ✔️ ✔️ ✔️ 163 Semiautomated
nmos 5v sky130_fd_pr__nfet_g5v0d10v5 ✔️ ✔️ ✔️ 90 Semi automated
pmos 5v sky130_fd_pr__pfet_g5v0d10v5 ✔️ ✔️ ✔️ 90 Semi automated
mimcap_1 sky130_fd_pr__model__cap_mim ✔️ ✔️ ✔️ 122 Semi automated
mimcap_2 sky130_fd_pr__cap_mim_m4 ✔️ ✔️ ✔️ 122 Semi automated
npn sky130_fd_pr__npn_05v5 ✔️ ✔️ ✔️ 2 Semi automated
pnp sky130_fd_pr__pnp_05v5 ✔️ ✔️ ✔️ 2 Semi automated
P- poly_res sky130_fd_pr__res_xhigh_po ✔️ ✔️ not_perfect 113 Semi automated
via_generator Connectivity ✔️ ✔️ Connectivity 10 Manual
Single_inductor Mabrains Device ✔️ not perfect No LVS Available 5 Manual
rectangular_shielding Mabrains Device ✔️ not perfect No LVS Available 5 Manual
diff_octagon_inductor Mabrains Device ✔️ not perfect No LVS Available 5 Manual
diff_square_inductor Mabrains Device ✔️ not perfect No LVS Available 5 Manual
n-diode sky130_fd_pr__diode_pw2nd_,sky130_fd_pr__model__parasitic_
p-diode ky130_fd_pr__diode_pd2nw_*
nmos 1.8 lvt sky130_fd_pr__nfet_01v8_lvt
diff-resistor
mom cap sky130_fd_pr__cap_vpp_*
NMOS ESD FET sky130_fd_pr__esd_nfet_[01v8,g5v0d10v5,g5v0d10v5_nvt]
11V/16V NMOS FET sky130_fd_pr__nfet_g5v0d16v0
3.0V native NMOS FET sky130_fd_pr__nfet_03v3_nvt
5.0V native NMOS FET sky130_fd_pr__nfet_05v0_nvt
20V NMOS FET sky130_fd_pr__nfet_20v0
20V isolated NMOS FET sky130_fd_pr__nfet_20v0_iso
20V native NMOS FET sky130_fd_pr__nfet_20v0_nvt
20V NMOS zero-VT FET sky130_fd_pr__nfet_20v0_zvt
20V NMOS zero-VT FET sky130_fd_pr__nfet_20v0_zvt
10V/16V PMOS FET sky130_fd_pr__pfet_g5v0d16v0
1.8V high-VT PMOS FET sky130_fd_pr__pfet_01v8_hvt
1.8V low-VT PMOS FET sky130_fd_pr__pfet_01v8_lvt
20V PMOS FET sky130_fd_pr__pfet_20v0
P+ poly_res sky130_fd_pr__res_high_po
N-pass FET (SRAM) sky130_fd_pr__special_nfet_pass
N-latch FET (SRAM) sky130_fd_pr__special_nfet_latch
P-latch FET (SRAM) sky130_fd_pr__special_pfet_pass
Varactors sky130_fd_pr__cap_var_lvt , sky130_fd_pr__cap_var_hvt

sky130_klayout_pdk's People

Contributors

amrotork avatar atorkmabrains avatar faragelsayed2 avatar klayoutmatthias avatar mina-maksimous avatar mohanad0mohamed avatar pepijndevos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sky130_klayout_pdk's Issues

DRC issue

Hi ,

Trying to use a VIA - metal1 metal2 VIA. But Seems following DRC exists.

m2.5 [via_new]
m2.5 : min. m2 enclosure of via of 2 opposite edges : 0.085um
polygon: (0.425,-0.395;0.425,-0.245;0.575,-0.245;0.575,-0.395)

Thanks

PINs

How can we add pins so we can recognize the ports of the device?

Ideas for improvement

  • Simplify Pcells. How could we simplify the Pcells code by adding different levels of hierarchy? For example, Pcells could be greatly simplified
  • how can we make them available through PyPi and Klayout package manager? We could add them as PRs to this repo, which has both
  • Write tests and documentation
  • add ports so we can route and connect different PCells

Parasitic Extraction Support Needed

Our Magical team is currently working on supporting skywater-pdk to enable open-sourced tape out design. We have already finished the PMOS and NMOS device generation part, and are in desperate need of your support for the resistor and capacity LVS file to further boost the impact of both your open-sourced skywater-pdk and our Magical tool. Could you provide the resistor and capacitor LVS file? We also need parasitic extraction to generate the analog IC layout automatically.

Thanks for your help.

`ERROR: invalid literal for int() with base 10: 'Connection Up' in PCellDeclaration.produce`

KLayout version 0.27.8 (fresh install)
Sky130 PDK 9d36065
Python 3.8.10
Linux 5.13.0-30-generic #33~20.04.1-Ubuntu SMP Mon Feb 7 14:25:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Trying to place a nmos, I get the following error (and nothing happens):

ERROR: invalid literal for int() with base 10: 'Connection Up' in PCellDeclaration.produce
  /home/llandsmeer/.klayout/tech/sky130/pymacros/sky130_pcells/nmos18.py:123
  :/built-in-pymacros/pcell_declaration_helper.lym:185

sky130.lylvs: XML parser error

Root cause

Angle brackets in copyright comment result in XML parser error:

> ...
> # You should have received a copy of the GNU Affero General Public License
> # along with this program.  If not, see <https://www.gnu.org/licenses/>.

Actual Behavior

ERROR: Reading .../klayout_sky130/sky130_tech/tech/sky130/lvs/sky130.lylvs: XML parser error: error occurred while parsing element in line 31, column 49

Steps to Reproduce the Problem

  1. Run:
    > KLAYOUT_HOME=./sky130_tech klayout -e

Specifications

  • Version: Latest
  • Platform: Ubuntu 22.04.1 LTS

ERROR: sky130.lym:9: No module named 'cells'

Platform

Ubuntu 22.04
Klayout 0.28.5
sky_130_klayout_pdk latest from git

Steps to Reproduce the Problem

Run

KLAYOUT_HOME=./sky130_tech/ klayout -e

The following error messages are shown in terminal

ERROR: Reading /home/vvk/sky130_klayout_pdk/sky130_tech/tech/sky130/lvs/sky130.lylvs: XML parser error: error occurred while parsing element in line 31, column 49
ERROR: Reading /home/vvk/sky130_klayout_pdk/sky130_tech/tech/sky130/lvs/sky130.lylvs: XML parser error: error occurred while parsing element in line 31, column 49
ERROR: /home/vvk/sky130_klayout_pdk/sky130_tech/tech/sky130/pymacros/sky130.lym:9: No module named 'cells'
  /home/vvk/sky130_klayout_pdk/sky130_tech/tech/sky130/pymacros/sky130.lym:9 (class ModuleNotFoundError)

The first two are related to #28. But what is the No module cells error?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.