verilator
verilator copied to clipboard
Improve internals of inliner
Author Name: Wilson Snyder (@wsnyder) Original Redmine Issue: 1539 from https://www.veripool.org
Feature tracking bug.
The current module inliner code works by operating on modules before the complete scoped hierarchy has been created (V3Scope).
This should be changed to be post-scope, as this would also remove the horrible need to go through V3LinkDot for the final time to cleanup inlined references. This V3LinkDot pass is very difficult to maintain.
Some work was started on this about a year ago and is incomplete.
@wsnyder is this still expected to happen? I was planning to make some improvements in the current inline pass, but this makes me wonder if it's futile.
This stalled out in a branch as interfaces proved a big mess (as usual). If you have improvements, perhaps short of a big rewrite, feel free to put them in, and if/when I get back to this I'll port the changes to the new version. If you're interested in doing something major I can put what I have onto a branch.