Intenal Error of "Multiple root modules" happens if one of sub modules is not inlined when creating a protect lib. #1616
Comments
Original Redmine Comment Thanks for the example. I'll take a look. |
Original Redmine Comment That check was overly aggressive when inlining. Here's my proposed solution: Wilson: I'm guessing this sort of fix doesn't require a Changes entry. But please let me know if it does. Also, please let me know if this needs any changes before pushing. |
Original Redmine Comment Todd, thanks for fixing. Feel free to push, you just need to init m_foundTop = false in the constructor. |
Original Redmine Comment m_foundTop is already in the constructor initializer list. Is it fine there or should I move it to the constructor's implementation? |
Original Redmine Comment Sorry, missed that, looks fine. |
Original Redmine Comment Fixed in git towards 4.024. |
Author Name: Yutetsu TAKATSUKASA (@yTakatsukasa)
Original Redmine Issue: 1616 from https://www.veripool.org
Original Assignee: Todd Strader (@toddstrader)
First of all, thank you very much for maintaining and evolving the great software.
I am exploring --protect-lib to shorten the verilator runtime for a large design.
When I tried, I encountered Intenal Error of "Multiple root modules".
I can not share the actual design, so I made a tiny case to see the error.
The attached file is a small HDL to show the error.
I ran verilator as the following.
The error message is
As far as I tried, non-inlined module seems to cause the internal error because one of the following setting is necessary.
I tried the following versions and saw the error.
stable branch tag:verilator_4_022
master branch 3d6e8e9
The text was updated successfully, but these errors were encountered: