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

Many Genus + Innovus enhancements #843

Merged
merged 8 commits into from
Mar 6, 2024
Merged

Many Genus + Innovus enhancements #843

merged 8 commits into from
Mar 6, 2024

Conversation

harrisonliew
Copy link
Contributor

@harrisonliew harrisonliew commented Feb 18, 2024

Genus enhancements:

  • Fix add_tieoffs crashing because it got multiple lib cells. Now, we only get the specific lib cell for the current analysis view in MMMC mode.
  • report_timing -lint for better info about missing SDC constraints

Many Innovus enhancements, including provisioning for updated commands in DDI 23.1:

  • Check for any unplaced pins prior to cell placement, and error out if detected. Prevents cases where pins are erroneously routed to in the lower left corner (place_pins failures should terminate the flow #834)
  • Add soft (guide) and hard (region) placement constraint types
  • Remove post-CTS timing reports from a separate folder (confusing)
  • Enable place_opt_design version 2 - 25-30% runtime improvement for placement. clock_opt_design replaces ccopt_design in this flow.
  • Fix SDF writing - timing values need to have min::typ::max values from corners. Currently only uses setup corner.
  • Enable opt_signoff for simultaneous setup/hold, DRV, and power optimization (at large runtime cost - hence the step is excluded by default). Adds standalone Tempus to PATH.
  • For 23.1: route_opt_design replaces route_design + opt_design, early global router can route to bumps

Cadence common:

  • In set_analysis_view, set the first extra corner (assumed to be typical) for dynamic & leakage power optimization/analysis.

Related PRs / Issues

Closes #834

Type of change:

  • Bug fix
  • New feature
  • Other enhancement

Impact:

  • Change to core Hammer
  • Change to a Hammer plugin
  • Other

Contributor Checklist:

  • Did you set master as the base branch?
  • Did you state the type-of-change/impact?
  • Did you delete any extraneous prints/debugging code?
  • (If applicable) Did you add documentation for the feature?
  • (If applicable) Did you update the poetry.lock file if you updated the requirements in pyproject.toml?
  • (If applicable) Did you add a unit test demonstrating the PR?
  • (If applicable) Did you run this through the e2e integration tests?
  • (If applicable) Did you update the submodules in e2e/ if this feature depends on updated plugins?

Copy link
Contributor

@jerryz123 jerryz123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good, we'll try these out soon

@harrisonliew harrisonliew changed the title Many Innovus enhancements Many Genus + Innovus enhancements Feb 29, 2024
Copy link
Contributor

@dpgrubb13 dpgrubb13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@harrisonliew harrisonliew added this pull request to the merge queue Mar 6, 2024
Merged via the queue into master with commit 303c375 Mar 6, 2024
3 checks passed
@harrisonliew harrisonliew deleted the post_q4_to branch March 6, 2024 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cadence Specific to a Cadence tool enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

place_pins failures should terminate the flow
3 participants