Skip to main content

Physical Design Python Code

Project description

codecov Documentation Status

🧱 physdes-py

Physical Design Python Code

✨ Features

  • Rectilinear Polygon support

🚀 Recent Developments

  • Deferred Merge Embedding (DME) Algorithm: Implemented the DME algorithm for clock tree synthesis, featuring a strategy pattern for delay calculation. This allows for flexible delay modeling, with both LinearDelayCalculator and ElmoreDelayCalculator provided as options. The algorithm is designed to build a prescribed-skew (not necessarily zero) clock tree and includes functionalities for analyzing clock skew, total wirelength, and other tree statistics.
  • Global Router Enhancements: The global router now offers multiple routing strategies to accommodate different design needs:
    • route_simple(): Connects terminals directly to the nearest node in the tree for quick and straightforward routing.
    • route_with_steiners(): Inserts Steiner points to optimize wire length, resulting in more efficient routing.
    • route_with_constraints(): A performance-driven approach that also uses Steiner points to reduce wire length.

Dependencies

👀 See also

👉 Note

This project has been set up using PyScaffold 3.2.1. For details and usage information on PyScaffold see https://pyscaffold.org/

🤖 For AI Agents

If you're an AI agent working on this repository, please see AGENTS.md for comprehensive guidelines on:

  • Build/lint/test commands
  • Code style and conventions
  • Testing practices
  • Development workflow

Output Examples

Clock Tree Synthesis Examples

Elmore Delay Model Clock Tree

Elmore Delay Model Clock Tree

Linear Delay Model Clock Tree

Linear Delay Model Clock Tree

Delay Model Comparison

Delay Model Comparison

3D Elmore Model Clock Tree

3D Elmore Model Clock Tree

3D Linear Model Clock Tree

3D Linear Model Clock Tree

Global Routing Examples

Routing with Steiner Points

Routing with Steiner Points

Routing with Constraints

Routing with Constraints

Routing with Keepouts

Routing with Keepouts

Routing with Steiner Points and Keepouts

Routing with Steiner Points and Keepouts

3D Routing with Steiner Points

3D Routing with Steiner Points

3D Routing with Constraints and Keepouts

3D Routing with Constraints and Keepouts

Rectilinear Polygon Examples

Rectilinear Polygon Convex Hull

Rectilinear Polygon Convex Hull

Rectilinear Polygon Convex Cut

Rectilinear Polygon Convex Cut

X-Monotone Hull

X-Monotone Hull

Y-Monotone Hull

Y-Monotone Hull

Steiner Forest

Steiner Forest

Steiner Forest

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

physdes_py-0.6.tar.gz (975.4 kB view details)

Uploaded Source

Built Distribution

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

physdes_py-0.6-py3-none-any.whl (105.9 kB view details)

Uploaded Python 3

File details

Details for the file physdes_py-0.6.tar.gz.

File metadata

  • Download URL: physdes_py-0.6.tar.gz
  • Upload date:
  • Size: 975.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for physdes_py-0.6.tar.gz
Algorithm Hash digest
SHA256 33015e9d137c3ad886cd953e3c28fbc6b624380af9f8038d0ac5bc66d8d3519e
MD5 553bc504c35019655bcc5bd9c200a759
BLAKE2b-256 08706218d5bb13e7a2ac76ca06342b4ca8dc55df8b89e54f785e5975e22bb685

See more details on using hashes here.

Provenance

The following attestation bundles were made for physdes_py-0.6.tar.gz:

Publisher: python-publish.yml on luk036/physdes-py

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

File details

Details for the file physdes_py-0.6-py3-none-any.whl.

File metadata

  • Download URL: physdes_py-0.6-py3-none-any.whl
  • Upload date:
  • Size: 105.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for physdes_py-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7a98d5bffd6b65cabb8d48382fa42a152857d34d5fc08bdc8a22cbcfc76410c6
MD5 bc06912041fc5daff51b8fe0ab630da0
BLAKE2b-256 ca27a93723a39f84ea902d75e64755e0b8289c8fb55cb135282618d857befaa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for physdes_py-0.6-py3-none-any.whl:

Publisher: python-publish.yml on luk036/physdes-py

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