Skip to main content

Open-source tool for inserting dummy metal fill into semiconductor layouts.

Project description

gdsfill is an open-source tool for inserting dummy metal fill into semiconductor layouts. It helps designers meet density requirements and prepare GDSII layouts for manufacturing by analyzing, erasing, and generating dummy fill patterns across multiple layers. The tool is designed to integrate easily into existing design flows and ensures reproducible, automated preparation of layouts before tape-out.

This project is still under development. Please report any issues you encounter and always verify your layout before tape-out deadlines to prevent submission failures.

Installation

gdsfill can be installed as a Python package. We recommend using a virtual environment to keep dependencies isolated.

$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install --updage pip
(venv) $ pip install gdsfill

Density

This command calculates the utilization per layer and prints the values. It is useful to check layer density before and after running the fill process:

gdsfill density <my-layout.gds>

Erase

If a layout already contains dummy fill, or if previous fills should be removed, this command erases all dummy metal fill from a layout:

gdsfill erase <my-layout.gds>

Fill

To insert dummy metal fill into all supported layers of a layout, run:

gdsfill fill <my-layout.gds>

Some algorithms, such as the track filler, require information about the chip core region. You can provide the lower-left and upper-right coordinates as floating-point values:

gdsfill fill <my-layout.gds> --core-size llx lly urx ury

By default, gdsfill creates a temporary directory for intermediate data. Use --keep-data to retain all generated files in a directory called gdsfill-tmp:

gdsfill fill <my-layout.gds> --keep-data

If you only want to simulate the process without modifying the layout file, use --dry-run:

gdsfill fill <my-layout.gds> --dry-run

Custom Configuration

By default, gdsfill inserts dummy metal fill into each layer using predefined parameters. To apply different parameters or restrict fill to specific layers, you can create a custom configuration file.

The following example config inserts fill only into TopMetal1 and TopMetal2:

PDK: ihp-sg13g2
layers:
  TopMetal1:
    algorithm: Square
    density: 60
    deviation: 1
  TopMetal2:
    algorithm: Square
    density: 60
    deviation: 1

To use a custom config file, pass it with --config-file:

gdsfill fill <my-layout.gds> --config-file <my-config-file.yaml>

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

gdsfill-0.1.2.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

gdsfill-0.1.2-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gdsfill-0.1.2.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdsfill-0.1.2.tar.gz
Algorithm Hash digest
SHA256 af2c73e0324549b134c129978f5bd914405f2d700a7ec13cc932385a2acf8360
MD5 880ec98fc646c7126f59dd7a98d2ac9a
BLAKE2b-256 d09f7484755c00d4822ffdf0adfb47673d3145859333e27ddfed65a7483696f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdsfill-0.1.2.tar.gz:

Publisher: build-and-release.yaml on aesc-silicon/gdsfill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: gdsfill-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdsfill-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe26d81c6636581f6f9c6eb75f5641681e570567bd3a2cd9952782258591f2a1
MD5 b537adac829c87a31d00ce533887eedd
BLAKE2b-256 6a7cbcb19961651656cde9d3429a9863b631f44084ae2fcdba5ea67e1c015e57

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdsfill-0.1.2-py3-none-any.whl:

Publisher: build-and-release.yaml on aesc-silicon/gdsfill

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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