Skip to main content

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]"

LLM Features Installation

pip install -e ".[llm]"

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/Large Language Model Framework

  • 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:

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.2.0.tar.gz (259.5 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.2.0-py3-none-any.whl (286.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glayout-0.2.0.tar.gz
  • Upload date:
  • Size: 259.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for glayout-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d253f09d52994c6cc60608cd9516ddb5362de5f4faef1f67b2f4ec34f932e9c9
MD5 d6a311569223d79e74309c884b6f397a
BLAKE2b-256 8aee5a5f5dec7416b7694ffd25abbc9c7bf6442f3b51793ddf472655d03149bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glayout-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 286.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for glayout-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17de27253badd2dd8f26c60b686b77c660227a7085732b9d71bfe1c98443c3d9
MD5 bf8ca670b504f2b0c119f12ffc393877
BLAKE2b-256 cd12bf8fd3b130e6d949f3b4d7dcafac310a9e8e999338dc5dc0cb732f780c66

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

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