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>
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gdsfill-0.1.6.tar.gz.
File metadata
- Download URL: gdsfill-0.1.6.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56e9766ba3c7142be55144e3adc23a81279cb0ac0a0cbc6dae3305a38342f112
|
|
| MD5 |
82674a3781357140482f1b0253d1b67e
|
|
| BLAKE2b-256 |
7708a7f68508ca3c1d84dfcb77c125cbf0bc47a90e0f1f2e88514868f34592ea
|
Provenance
The following attestation bundles were made for gdsfill-0.1.6.tar.gz:
Publisher:
build-and-release.yaml on aesc-silicon/gdsfill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdsfill-0.1.6.tar.gz -
Subject digest:
56e9766ba3c7142be55144e3adc23a81279cb0ac0a0cbc6dae3305a38342f112 - Sigstore transparency entry: 1280745627
- Sigstore integration time:
-
Permalink:
aesc-silicon/gdsfill@cfa2696533d776deb4c48372d347cda7cd9423a3 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/aesc-silicon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-release.yaml@cfa2696533d776deb4c48372d347cda7cd9423a3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gdsfill-0.1.6-py3-none-any.whl.
File metadata
- Download URL: gdsfill-0.1.6-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7fa1a23e62a44830dec3e854b27145c333be2d69e5486e583ad3bbdeb105022
|
|
| MD5 |
3c1a8ebe8296e2f286a4e5458347dbf2
|
|
| BLAKE2b-256 |
ee008ad6a49722215ad5697220d3e9d7a79f70d4810f38b9f7c66a03d6bf4f00
|
Provenance
The following attestation bundles were made for gdsfill-0.1.6-py3-none-any.whl:
Publisher:
build-and-release.yaml on aesc-silicon/gdsfill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gdsfill-0.1.6-py3-none-any.whl -
Subject digest:
e7fa1a23e62a44830dec3e854b27145c333be2d69e5486e583ad3bbdeb105022 - Sigstore transparency entry: 1280745633
- Sigstore integration time:
-
Permalink:
aesc-silicon/gdsfill@cfa2696533d776deb4c48372d347cda7cd9423a3 -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/aesc-silicon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-release.yaml@cfa2696533d776deb4c48372d347cda7cd9423a3 -
Trigger Event:
push
-
Statement type: