Skywater 130nm Klayout Device Generators PDK

Overview

Skywaters 130nm Technology for KLayout Device Generators

Mabrains is excited to share with you our Device Generator Library for Skywater 130nm PDK. It's very helpful for creating layouts on Skywater 130nm Technology.

KLayout technology files for Skywater Sky130

  • sky130.lyt : technology and connections description
  • sky130.lyp : layers color and shape description
  • drc/drc_sky130.lydrc : DRC script
  • lvs/lvs_sky130.lylvs : LVS script

Installation

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

  1. Move old .klayout to .klayout_old: mv .klayout .klayout_old
  2. Open klayout and enable edit mode.
  3. Close klayout
  4. cd .klayout
  5. mkdir tech
  6. cd tech
  7. git clone https://github.com/mabrains/sky130_klayout_pdk.git sky130
  8. pip install pandas
  9. close your terminal.
  10. Open a new terminal and open klayout and select sky130 technology as your default.
  11. Close klayout.
  12. Open klayout, you should be able to see the message that sky130 technology has been loaded in the terminal.
Comments
  • gds in your test cases

    gds in your test cases

    @mohanad0mohamed Hello, Is it possible to let me know where did you find the gds files that you have here? I can't find these in the Skywater repository.

    opened by danchitnis 2
  • Large LVS update: Adding VPP and RF devices in `sky130.lvs`, Adding patterns for some test cases

    Large LVS update: Adding VPP and RF devices in `sky130.lvs`, Adding patterns for some test cases

    This LVS update contains:

    • Adding VPP and RF devices in sky130.lvs.
    • Adding patterns for some test cases.
    • Including sky130.lvs inside sky130.lylvs.
    • Merged to the latest commit of the repository.
    opened by mohanad0mohamed 2
  • Don't use array dimensions zero for CellInstArray

    Don't use array dimensions zero for CellInstArray

    This is related to https://github.com/KLayout/klayout/issues/1096

    Currently, using a zero dimension for CellInstArray (either amax or bmax) will screw up the DRC engine and stream writers.

    I will fix that (https://github.com/KLayout/klayout/issues/1098), but as of now, this patch will help.

    I'm pretty sure there are other places where some array dimension is zero as well, but I did not have testcases for covering them.

    Best regards,

    Matthias

    opened by klayoutmatthias 1
  • `ERROR: invalid literal for int() with base 10: 'Connection Up' in PCellDeclaration.produce`

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

    KLayout version 0.27.8 (fresh install) Sky130 PDK 9d36065b2a48fc4215f26fca5a2193ea5641f7ab 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
    
    opened by llandsmeer 1
  • DRC issue

    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

    opened by ratul619 1
  • Sc solved issues

    Sc solved issues

    Fixes #<issue_number_goes_here>

    It's a good idea to open an issue first for discussion.

    • [ ] Tests pass
    • [ ] Appropriate changes to README are included in PR
    opened by atorkmabrains 0
  •  Adding drop-down menus for klayout, magic and netgen

    Adding drop-down menus for klayout, magic and netgen

    Adding drop-down menus for klayout, magic and netgen

    • [x] Drop down menu for Klayout DRC
    • [x] Drop down menu for Klayout LVS
    • [x] Drop down menu for Magic DRC
    • [x] Drop down menu for Magic with Netgen LVS
    • [x] Drop down menu for Magic PEX
    opened by mohanad0mohamed 0
  • Complete the updates of all devices and fix all the  existing issues for all devices

    Complete the updates of all devices and fix all the existing issues for all devices

    Status of this pull request:

    • Completed all tests for all devices except the known issues which will be documented in Google Slides.
    • Completed testing against all the Standard Cells. We still have some issues for certain cells that we have removed from the github actions for further investigation.
    opened by mohanad0mohamed 0
  • Fix nmos18 default connection value

    Fix nmos18 default connection value

    This fixes a bug where it tries to cast the default value to an integer

    Steps to reproduce:

    https://user-images.githubusercontent.com/168609/173038300-1a3e3478-2a7b-4515-8b9b-e614c6eb3f1a.mp4

    opened by pepijndevos 0
  • sky130.lylvs: XML parser error

    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
    opened by sergeiandreyev 1
  • Ideas for improvement

    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
    opened by joamatab 2
  • Parasitic Extraction Support Needed

    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.

    opened by LilyEvansHogwarts 0
  • LVS support for devices

    LVS support for devices

    Hi. Your repo mentions that for most of the devices are verified by "semi-automatic". Does that include automated LVS scripts that extract resistor/capacitor devices? It seems that I am unable to find how res/cap are extracted in your LVS script: https://github.com/mabrains/sky130_klayout_pdk/blob/main/lvs/lvs_sky130.lylvs

    Thanks for the help.

    opened by jayl940712 1
Owner
Mabrains
Mabrains
A facial recognition device is a device that takes an image or a video of a human face and compares it to another image faces in a database.

A facial recognition device is a device that takes an image or a video of a human face and compares it to another image faces in a database. The structure, shape and proportions of the faces are compared during the face recognition steps.

Pavankumar Khot 4 Mar 19, 2022
Official implementation of the paper Image Generators with Conditionally-Independent Pixel Synthesis https://arxiv.org/abs/2011.13775

CIPS -- Official Pytorch Implementation of the paper Image Generators with Conditionally-Independent Pixel Synthesis Requirements pip install -r requi

Multimodal Lab @ Samsung AI Center Moscow 201 Dec 21, 2022
Official implementation of "GS-WGAN: A Gradient-Sanitized Approach for Learning Differentially Private Generators" (NeurIPS 2020)

GS-WGAN This repository contains the implementation for GS-WGAN: A Gradient-Sanitized Approach for Learning Differentially Private Generators (NeurIPS

null 46 Nov 9, 2022
Code for ICCV 2021 paper: ARAPReg: An As-Rigid-As Possible Regularization Loss for Learning Deformable Shape Generators..

ARAPReg Code for ICCV 2021 paper: ARAPReg: An As-Rigid-As Possible Regularization Loss for Learning Deformable Shape Generators.. Installation The cod

Bo Sun 132 Nov 28, 2022
PyTorch code accompanying our paper on Maximum Entropy Generators for Energy-Based Models

Maximum Entropy Generators for Energy-Based Models All experiments have tensorboard visualizations for samples / density / train curves etc. To run th

Rithesh Kumar 135 Oct 27, 2022
lazy_table - a python-tabulate wrapper for producing tables from generators

A python-tabulate wrapper for producing tables from generators. Motivation lazy_table is useful when (i) each row of your table is generated by a poss

Parsiad Azimzadeh 52 Nov 12, 2022
Neural text generators like the GPT models promise a general-purpose means of manipulating texts.

Boolean Prompting for Neural Text Generators Neural text generators like the GPT models promise a general-purpose means of manipulating texts. These m

Jeffrey M. Binder 20 Jan 9, 2023
Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021)

PGpoints Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021) Hyeontae Son, Young Min Kim Pre

Hyeontae Son 9 Jun 6, 2022
Multtable is a collection of multiplication table generators in various languages.

Multtable Multtable is a collection of multiplication table generators in various languages. This project was created as a joke based on one of my bro

pollen__ 7 Mar 5, 2022
A comparison of mesh generators.

This repository creates meshes of the same domains with multiple mesh generators and compares the results.

Nico Schlömer 29 Dec 12, 2022
[ICLR 2022] Pretraining Text Encoders with Adversarial Mixture of Training Signal Generators

AMOS This repository contains the scripts for fine-tuning AMOS pretrained models on GLUE and SQuAD 2.0 benchmarks. Paper: Pretraining Text Encoders wi

Microsoft 22 Sep 15, 2022
tidevice can be used to communicate with iPhone device

h 该工具能够用于与iOS设备进行通信, 提供以下功能 截图 获取手机信息 ipa包的安装和卸载 根据bundleID 启动和停止应用 列出安装应用信息 模拟Xcode运行XCTest,常用的如启动WebDriverAgent测试

Alibaba 1.8k Dec 30, 2022
DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.

Project DeepSpeech DeepSpeech is an open-source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Spee

Mozilla 20.8k Jan 3, 2023
ReST based network device broker

The Open API Platform for Network Devices netpalm makes it easy to push and pull state from your apps to your network by providing multiple southbound

null 368 Dec 31, 2022
Simple utlity for sniffing decrypted HTTP/HTTPS traffic on a jailbroken iOS device into an HAR format.

Description iOS devices contain a hidden feature for sniffing decrypted HTTP/HTTPS traffic from all processes using the CFNetwork framework into an HA

null 83 Dec 25, 2022
tidevice can be used to communicate with iPhone device

tidevice can be used to communicate with iPhone device

Alibaba 1.8k Jan 8, 2023
Project to create an open-source 6 DoF input device

6DInputs A Project to create open-source 3D printed 6 DoF input devices Note the plural ('6DInputs' and 'devices') in the headings. We would like seve

RepRap Ltd 47 Jul 28, 2022
AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

DeepMind 814 Dec 26, 2022
CamRaptor is a tool that exploits several vulnerabilities in popular DVR cameras to obtain device credentials.

CamRaptor is a tool that exploits several vulnerabilities in popular DVR cameras to obtain device credentials.

EntySec 118 Dec 24, 2022