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

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:

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.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.

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