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

Add top_layer/pg_pins_layers/stripe_pins flags to write_ilm for hierarchical flows #819

Merged
merged 1 commit into from
Nov 7, 2023

Conversation

jerryz123
Copy link
Contributor

@jerryz123 jerryz123 commented Nov 7, 2023

Related PRs / Issues

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?

@harrisonliew
Copy link
Contributor

Hm, can't we just set the stripe pins and top layer arguments based on the power straps pin_layer field?

@jerryz123
Copy link
Contributor Author

Is that general enough though for all use cases? For instance, If you have a power island in a block that instantiates its own bump, what would the flags to this command need to be?

I figured there will frequently be cases where you'll need some specialized settings to achieve what you want.

@harrisonliew
Copy link
Contributor

In the user guide:

In a bottom-up flow (where the block was not created using the create_partition command), you normally create a simple LEF abstract that contains:

  • one obstruction (OBS) shape per routing layer
  • signal pins located along the block boundary
  • add power pins for the top metal layer PG stripes (see –stripe_pins and –pg_pin_layers options)
  • embedded bump pins shapes are also written out as LEF pin shapes

So, it seems like -stripe_pins and -pg_pin_layers is sufficient. If you want more options, that's what a replacement hook is for. Otherwise adding all these keys for command options gets unwieldy.

@jerryz123
Copy link
Contributor Author

Ok, I'll change this then.

@jerryz123
Copy link
Contributor Author

Should we at least handle the case where manual power straps are used, in which case the by_tracks.pin_layers option is unset?

@harrisonliew
Copy link
Contributor

No, I think if you're doing manual straps, you're already using hooks and being mindful of stripe pin layers. At most, add an additional comment for the by_tracks.pin_layers key to note that this is used when writing out LEF/DEF of the layout (user can always set this key even if they're using manual straps).

@jerryz123 jerryz123 closed this Nov 7, 2023
@jerryz123 jerryz123 reopened this Nov 7, 2023
Currently, this uses the auto-power-straps by_tracks pin_layers
option to determine the top_layer and pg_pin_layers
@jerryz123 jerryz123 changed the title Add field to patch args into hierarchical write_lef_abstract Add top_layer/pg_pins_layers/stripe_pins flags to write_ilm for hierarchical flows Nov 7, 2023
@harrisonliew harrisonliew added this pull request to the merge queue Nov 7, 2023
Merged via the queue into master with commit 1a98d94 Nov 7, 2023
3 checks passed
@harrisonliew harrisonliew deleted the write_lef_extra branch November 7, 2023 21:22
nayiri-k pushed a commit that referenced this pull request Nov 13, 2023
Currently, this uses the auto-power-straps by_tracks pin_layers
option to determine the top_layer and pg_pin_layers
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.

2 participants