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

Allow multiple -liberty args in dfflibmap and clockgate #4797

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

widlarizer
Copy link
Collaborator

dfflibmap and clockgate are the only passes which accept a -liberty flag but only once. This requires workarounds for PDKs like asap7 which come in multiple files sharing the same "header" (that is, anything but cells) and having distinct sets of cells. The other commands accepting any number of -liberty arguments are the abc commands and stat. read_liberty is a frontend and therefore fixed to one file per invocation.

In this PR, I'm extending libparse with LibertyMergedCells which steals LibertyAst* out of LibertyParsers before the AST is destroyed when ~LibertyAst is executed. I'm extending tests for both affected commands to cover this functionality. There's a nice extra benefit of deduplicating some sanity checks from passes into LibertyMergedCells.

I intend to create an OpenROAD flow scripts PR later to demonstrate this functionality.

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.

1 participant