Skip to content

Commit

Permalink
[FIRRTL] Support alternative base paths in LowerClasses.
Browse files Browse the repository at this point in the history
We previously had a constraint that paths are targeting entities in
the same owning module as the path. This allowed us to assume that a
single base path can be created for each owning module, and used in
all paths. However, we have transforms that extract entities targeted
by paths outside the paths' owning module.

To support this, we can instead plumb through base paths created
higher up in the instance graph down to the paths that need them. When
a path is detected outside the owning module, we find the module in
which the entity is instantiated and pass through its base path to the
paths that reference the entity.

Most of the work here is just plumbing, and the PathInfoTable has been
extended with new data structures and functions to support this.
  • Loading branch information
mikeurbach committed Mar 13, 2024
1 parent 13b9456 commit 7bc4de5
Show file tree
Hide file tree
Showing 2 changed files with 255 additions and 31 deletions.
Loading

0 comments on commit 7bc4de5

Please sign in to comment.