Skip to main content

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

Wafer Layout Example


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dieopt-0.1.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

dieopt-0.1.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

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

Hashes for dieopt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 78c5a891b98e629a052ca84eb26488d239d3229241ce2460d73ce4403a3b57a1
MD5 2a7c555a05143f2ba4fe9ead863364d0
BLAKE2b-256 8a4fdb59299c1ca0653faae4d5f3de53300d4fa0c9d1f3450e4466807a0305b9

See more details on using hashes here.

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

Hashes for dieopt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d955f5d80683630fe821ab0c8decaec836046a7c407f00a1317b47e84fb8e8d1
MD5 01d284acb6aeaabdb560064678e7b8d8
BLAKE2b-256 be776124f75e8a3a0229a7e64732df7f7820550456eeae30f010f8f7b54c8f61

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