Skip to main content

A PDK-agnostic layout automation framework for analog circuit design

Project description

Glayout

A PDK-agnostic layout automation framework for analog circuit design.

Overview

Glayout is a powerful layout automation tool that generates DRC-clean circuit layouts for any technology implementing the Glayout framework. It is implemented as an easy-to-install Python package with all dependencies available on PyPI.

Key features:

  • PDK-agnostic layout generation
  • Support for multiple technology nodes (sky130, gf180)
  • DRC-clean layout generation
  • Natural language processing for circuit design
  • Integration with Klayout for visualization and verification

Installation

Basic Installation

pip install .

Development Installation

git clone https://github.com/your-username/glayout.git
cd glayout
pip install -e ".[dev]"

ML Features Installation

pip install -e ".[ml]"

Quick Start

from glayout import sky130, gf180, nmos ,pmos,via_stack

# Generate a via stack
#met2 is the bottom layer. met3 is the top layer.
via = via_stack(sky130, "met2", "met3", centered=True) 

# Generate a transistor
transistor = nmos(sky130, width=1.0, length=0.15, fingers=2)

# Write to GDS
via.write_gds("via.gds")
transistor.write_gds("transistor.gds")

Documentation

For detailed documentation, please visit our documentation site.

Features

PDK Agnostic Layout

  • Generic layer mapping
  • Technology-independent design rules
  • Support for multiple PDKs (sky130, gf180)

Circuit Generators

  • Via stack generation
  • Transistor generation (NMOS/PMOS)
  • Guard ring generation
  • And more...

Natural Language Processing

  • Convert natural language descriptions to layouts
  • Support for standard components
  • Custom component definitions

Supported Open Source PDKs

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you use Glayout in your research, please cite our papers:

@article{hammoud2024human,
  title={Human Language to Analog Layout Using Glayout Layout Automation Framework},
  author={Hammoud, A. and Goyal, C. and Pathen, S. and Dai, A. and Li, A. and Kielian, G. and Saligane, M.},
  journal={Accepted at MLCAD},
  year={2024}
}

@article{hammoud2024reinforcement,
  title={Reinforcement Learning-Enhanced Cloud-Based Open Source Analog Circuit Generator for Standard and Cryogenic Temperatures in 130-nm and 180-nm OpenPDKs},
  author={Hammoud, A. and Li, A. and Tripathi, A. and Tian, W. and Khandeparkar, H. and Wans, R. and Kielian, G. and Murmann, B. and Sylvester, D. and Saligane, M.},
  journal={Accepted at ICCAD},
  year={2024}
}

Contact

For questions and support, please contact:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glayout-0.1.2.tar.gz (181.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glayout-0.1.2-py3-none-any.whl (193.6 kB view details)

Uploaded Python 3

File details

Details for the file glayout-0.1.2.tar.gz.

File metadata

  • Download URL: glayout-0.1.2.tar.gz
  • Upload date:
  • Size: 181.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for glayout-0.1.2.tar.gz
Algorithm Hash digest
SHA256 38cca8bc2b38a020730b8a40f1412a66e5c4958f9aef33609450f85e1649f948
MD5 cfdd2a81a4cefb5afe7e2c115d889a2c
BLAKE2b-256 37bc843ef4723ba1eebe4db57d089bac201ff8738a0ccb51f25852224bad3ff5

See more details on using hashes here.

File details

Details for the file glayout-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: glayout-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 193.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for glayout-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 afb8754c03123919065d4eb1dab4cd506f248f717773c50cef03c4e00791b651
MD5 521425af6339e169d123f544aa56f573
BLAKE2b-256 0ac47d5684bb495dc9252339eeebb58fbec93e5f606c5d50c7a26de82287483d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page