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:

Metadata

Release files for glayout 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for glayout 0.2.0
File Size Uploaded
glayout-0.2.0.tar.gz 259.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for glayout 0.2.0
File Interpreter ABI Platform
glayout-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 545.9 kB

Release files / glayout-0.2.0.tar.gz

Download URL glayout-0.2.0.tar.gz
Size 259.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d253f09d52994c6cc60608cd9516ddb5362de5f4faef1f67b2f4ec34f932e9c9
BLAKE2b-256 checksum
How to use checksums
8aee5a5f5dec7416b7694ffd25abbc9c7bf6442f3b51793ddf472655d03149bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / glayout-0.2.0-py3-none-any.whl

Download URL glayout-0.2.0-py3-none-any.whl
Size 286.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17de27253badd2dd8f26c60b686b77c660227a7085732b9d71bfe1c98443c3d9
BLAKE2b-256 checksum
How to use checksums
cd12bf8fd3b130e6d949f3b4d7dcafac310a9e8e999338dc5dc0cb732f780c66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page