Die layout and optimisation tool
Project description
dieopt
dieopt is a Python package for optimal die placement on circular wafers, supporting semiconductor layout and process engineering. It provides fast, flexible algorithms to maximize die-per-wafer (DPW) yield, visualize placements, and compare strategies.
Features
- Three fixed-offset strategies: Center, half-offset, and full-offset placement modes.
- Optimal DPW calculation: Quickly compute the best die arrangement for given wafer and die dimensions.
- Visualization: Easily plot wafer layouts and compare placement strategies.
- Simple API: Functional interface for both quick overviews, and GDS-II files.
Installation
pip install dieopt
Quickstart
from dieopt import get_solution, show_solution
# Visualize all three placement strategies
show_solution(
wafer_diameter=50.8,
edge_exclusion=2.0,
width=1.0,
height=1.0,
scribe=7.0,
solution="comparison"
)
# Get coordinates for the optimal placement
coords = get_solution(
wafer_diameter=50.8,
edge_exclusion=2.0,
width=1.0,
height=1.0,
scribe=7.0,
solution="optimal" # or "center", "half_offset", "full_offset"
)
print(coords)
>>> [(-12.0, -16.0), (-4.0, -16.0), (4.0, -16.0), (12.0, -16.0), (-20.0, -8.0), (-12.0, -8.0), (-4.0, -8.0), (4.0, -8.0), (12.0, -8.0), (20.0, -8.0), (-20.0, 0.0), (-12.0, 0.0), (-4.0, 0.0), (4.0, 0.0), (12.0, 0.0), (20.0, 0.0), (-20.0, 8.0), (-12.0, 8.0), (-4.0, 8.0), (4.0, 8.0), (12.0, 8.0), (20.0, 8.0), (-12.0, 16.0), (-4.0, 16.0), (4.0, 16.0), (12.0, 16.0)]
API Reference
get_solution(...)
Compute die placements for a wafer.
Parameters:
wafer_diameter(float): Wafer diameter in mm.edge_exclusion(float): Edge exclusion in mm.width(float): Die width in mm.height(float): Die height in mm.scribe(float): Scribe street width in mm.solution(str):"center","half_offset","full_offset", or"optimal".
Returns:
List[Tuple[float, float]] — Die center coordinates.
show_solution(...)
Visualize die placements on a wafer.
Parameters:
- Same as
get_solution solution(str):"center","half_offset","full_offset","comparison", or"optimal"
Returns:
Shows a matplotlib plot of the wafer and die placements.
Placement Modes
- center: Dies placed with grid centered on wafer.
- half_offset: Grid offset by half a die.
- full_offset: Grid offset by a full die.
- optimal: Automatically selects the best DPW.
- comparison: Visualizes all three strategies side-by-side.
License
Mozilla License
Authors
- Bjorn Funch Schrøder
Acknowledgements
Adapted from my Masters Thesis: "Site controlled epitaxy of quantum dots for nano- and quantum photonic applications in telecom wavelength range".
Project details
Release history Release notifications | RSS feed
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 dieopt-0.1.0.tar.gz.
File metadata
- Download URL: dieopt-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78c5a891b98e629a052ca84eb26488d239d3229241ce2460d73ce4403a3b57a1
|
|
| MD5 |
2a7c555a05143f2ba4fe9ead863364d0
|
|
| BLAKE2b-256 |
8a4fdb59299c1ca0653faae4d5f3de53300d4fa0c9d1f3450e4466807a0305b9
|
File details
Details for the file dieopt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dieopt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d955f5d80683630fe821ab0c8decaec836046a7c407f00a1317b47e84fb8e8d1
|
|
| MD5 |
01d284acb6aeaabdb560064678e7b8d8
|
|
| BLAKE2b-256 |
be776124f75e8a3a0229a7e64732df7f7820550456eeae30f010f8f7b54c8f61
|