Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: dynamic designformat registration #612

Merged
merged 6 commits into from
Dec 15, 2024
Merged

feat!: dynamic designformat registration #612

merged 6 commits into from
Dec 15, 2024

Conversation

donn
Copy link
Member

@donn donn commented Dec 3, 2024

Misc Enhancements/Bugfixes

  • openlane.state
    • DesignFormat
      • Now a dataclass encapsulating the information about the DesignFormat directly.
      • .factory is a factory for retrieval of DesignFormats by ID
        • DesignFormats may be registered to the factory using .register()
        • Registrations for previously included DesignFormats now moved to where appropriate.
          • Renamed POWERED_NETLIST_NO_PHYSICAL_CELLS to LOGICAL_POWERED_NETLIST
          • Renamed POWERED_NETLIST_SDF_FRIENDLY to SDF_FRIENDLY_POWERED_NETLIST
    • State
      • States initialized with keys that have values that are None now remove said keys.

API Breaks

  • openlane.steps

    • TclStep now uses the IDs uppercased for CURRENT_ and SAVE_.
  • openlane.state

    • State no longer includes all DesignFormats as guaranteed keys and .get must be used to avoide KeyErrors
    • DesignFormat is no longer an enumeration and is not iterable. However, to avoid massive codebase changes, you can still access DesignFormats registered to the factory using the dot notation (e.g. DesignFormat.NETLIST), using either their id or any of their alts.
    • Removed DesignFormatObject: the DesignFormat class itself is now a dataclass incorporating these fields, except name, which has been renamed to full_name. The enumeration's name has been added to alts, while .name is now an alias for .id.

@donn donn marked this pull request as ready for review December 3, 2024 12:16
@donn donn requested a review from kareefardi December 3, 2024 12:16
@openlane-bot
Copy link
Collaborator

openlane-bot commented Dec 3, 2024

Failed to create report:

Metrics not found for commit: 7959772a9a938f2e75ef2f4227dcd98dc770acf7.

@kareefardi
Copy link
Collaborator

  • Renamed POWERED_NETLIST_NO_PHYSICAL_CELLS to LOGICAL_POWERED_NETLIST

POWERED_NETLIST_LOGICAL instead of LOGICAL_POWERED_NETLIST to follow the same pattern as POWERED_NETLIST_SDF_FRIENDLY?

openlane/state/state.py Outdated Show resolved Hide resolved
@donn donn requested a review from kareefardi December 15, 2024 14:55
@donn donn merged commit 7959772 into dev Dec 15, 2024
4 of 5 checks passed
@donn donn deleted the design-formats-redux branch December 16, 2024 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants