Git Product home page Git Product logo

skywater-pdk-libs-sky130_bag3_pr's Introduction

BAG (BAG AMS Generator) Primitives Library for SKY130

This repository contains the required primitives to use the BAG3 framework with the SkyWater proprietary S8 130nm PDK. You can get access to this PDK through signing an NDA and legal agreement with SkyWater Technologies.

This repository also contains a work in progress to make these primitives and the BAG3 framework compatible with the Google skywater-pdk, a fully open source, manufacturable PDK for SkyWater's 130nm (SKY130) process node.

When combined with appropriate generator code, the primitives enables the creation of analog integrated circuits that are manufacturable at SkyWater Technologies commercially or through programs like Google's no-cost MPW shuttle program for open source designs, done in collaboration with efabless.

What is BAG?

BAG AMS Generator (BAG) is the 3rd generation of the Berkeley Analog Generator framework (see also BAG v2 framework).

These primitives are updated for V2.0.0 of the PDK. It currently support layout generation and LVS using Virtuoso pcells, which was previously not supported. Simulations using BAG is also supported.

This workspace and tech plugin are primarily maintained by Ayan Biswas, Felicia Guo, Sean Huang, and Bob Zhou.

Technology features and hints

  • Layout resolution is in 5nm.
  • Min channel length is 150nm, so min channel units is 30.
  • This tech has standard, lvt, and hvt devices. pch hvt and lvt have min channel length of 350um, so they cannot be used for logic-style MOS with nch.
  • Min nch width is 420nm (84 units). Min pch width is 550nm (110 units).
  • Widths are quantized in irregular intervals. See the pcells for examples.
    • Nch has 840nm. Pch has 1120nm.
  • This tech has 5 metal layers and an "M0" (LI) layer.
  • This tech has pcell MOM caps. M1-M2 caps provide ~0.4 fF / um^2. M1-M4 caps provide ~0.74 fF / um^2.
  • This tech has pcell MIM caps, between M3-M4 and M4-M5. Both provide ~2.2 fF / um^2.

SD pitch: 0.430 um ~ 86 units. BAG quantizes vertical metal pitches to match the SD pitch ~ li, met2, met4

Metal min width and space (um):

  • li : 0.170, 0.170
  • met1: 0.140, 0.140
  • met2: 0.140, 0.140
  • met3: 0.300, 0.300
  • met4: 0.300, 0.300
  • met5: 1.600, 1.600

Track manager hints:

  • m4 needs to be at least w=5 to connect to m5

Resistors

  • This tech has two flavors of "precisions" poly resistors: hrpoly (300 ohm / sq) and uhrpoly (2K ohm / sq). Min width is 0.33 um / 66 units, min resistor length is 0.5 um / 100 units. The contacts have a 2.16um length, required by DRC, so the min overall length is 4.82um.

  • res_type: standard ~ hrpoly

Width selection

  • For nice compatibility with the routing grid, make the unit cell width quantized to the sd pitch ~ 430 nm / 86 units. (not a hard requirement)
  • LR edges account for up to an additional 780nm / 156 unit
  • Some good values: 102, 360, 532

Length selection

  • To minimize unused area, quantize unit height to sd pitch ~ 86 for working with the routing grid. (not a hard requirement)
    • Otherwise, unit height will round up to the next pitch of 86
  • TB edges, including taps, account for up to 5.530 um / 1106 units
  • Some good values: 270, 614

Abstract Generation

Abstract generation in this technology does not work out of the box. More details in this README.

Extraction

  • This tech uses Calibre xRC for extraction. See $PDK_HOME/PEX/xRC and the manual for details.
  • The xRC SVRF is set up to produce SPF files, to match other PEX tools. It can produce Spectre-format PEX netlists, but this has not been tested rigorously.
  • xRC automatically capitalizes cell names, so top level cell names need to be full capitalized.

License

To enable wide compatibility with the existing BAG ecosystem, this repository is dual-licensed. It is available to you under your choice of the the Apache 2.0 license or a 3 clause BSD style.

SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0

skywater-pdk-libs-sky130_bag3_pr's People

Contributors

feliciag avatar mithro avatar zhaokai-l avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

skywater-pdk-libs-sky130_bag3_pr's Issues

Fix `bag_submodules.yaml` references to `[email protected]`

In the pull request #8 the file @

BAG_framework:
url: [email protected]:bag/BAG_framework.git
branch: sim_refactor
bag3_digital:
url: [email protected]:bag/bag3_digital.git
branch: sim_refactor
bag3_testbenches:
url: [email protected]:bag/bag3_testbenches.git
branch: sim_refactor
xbase_bcad:
url: [email protected]:bag/xbase_bcad.git
branch: sim_refactor
was changed to references [email protected] -- this should be pointing to public repositories.

Fix hard coded absolute paths in a number of files

A number of the files in #8 have absolute paths which should be relative (to environment variables or similar).

Examples;

The command grep -R '\s/[^/ ]' * should help you find them...

Resurrect tutorial files removed in #8

The pull request @ #8 removed the following files;

 delete mode 100644 workspace_setup/tutorial_files/.gitignore
 delete mode 100644 workspace_setup/tutorial_files/1_flow_demo.ipynb
 delete mode 100644 workspace_setup/tutorial_files/2_xbase_routing.ipynb
 delete mode 100644 workspace_setup/tutorial_files/3_analogbase.ipynb
 delete mode 100644 workspace_setup/tutorial_files/4_schematic_generators.ipynb
 delete mode 100644 workspace_setup/tutorial_files/5_hierarchical_generators.ipynb
 delete mode 100644 workspace_setup/tutorial_files/6_MOSDBDiscrete.ipynb
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_1.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_2.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_3.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_4.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_1.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_2.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_3.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_1.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_2.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_3.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_4.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_5.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_6.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_7.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_8.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_9.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_1.png
 delete mode 100644 workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_2.png
 delete mode 100644 workspace_setup/tutorial_files/solutions/3_analogbase.ipynb
 delete mode 100644 workspace_setup/tutorial_files/solutions/4_schematic.ipynb
 delete mode 100644 workspace_setup/tutorial_files/solutions/5_hierarchical_generators.ipynb

It would be good to resurrect and update this tutorial.

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.