Fix & Feat: Improve Verilator 5.040 compatibility and fix FP compilation issues#56
Open
CelestialMelody wants to merge 4 commits intomathis-s:masterfrom
Open
Fix & Feat: Improve Verilator 5.040 compatibility and fix FP compilation issues#56CelestialMelody wants to merge 4 commits intomathis-s:masterfrom
CelestialMelody wants to merge 4 commits intomathis-s:masterfrom
Conversation
…ers.h. The content of the header files generated after executing "make soomrv" may vary across different Verilator versions. If related issues occur, you need to execute "make prepare_header" to resolve them.
…le is assigned an initial value at the time of declaration but is reassigned in sequential logic. Verilator treats such warnings as errors by default.
…-GENUNNAMED. Older versions, such as Verilator v5.008, do not support it, but for newer versions of Verilator like v5.040, an error will occur if it is not added.
…ll occur: "Can't find definition of variable: INT_FSGNJ_S". It seems that the naming has been modified to have the BM_ prefix, and this can be found in Include.sv.
mathis-s
reviewed
Jan 24, 2026
Owner
There was a problem hiding this comment.
This should be better fixed by ignoring the warning instead of changing the code (also applies to all others)
mathis-s
reviewed
Jan 24, 2026
Owner
There was a problem hiding this comment.
This file is autogenerated, there shouldn't be any comments in here, these will be overwritten when regenerating. I'd prefer as few changes here as possible
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR addresses several compatibility issues encountered when building SOOMRV with newer Verilator versions (specifically v5.040) and fixes a compilation error when the Floating Point Unit (FPU) is enabled.
Key Changes
Verilator Version Compatibility
Flag Handling: Resolved the issue where
-Wno-GENUNNAMEDcaused errors in older versions (like v5.008) while being necessary for newer versions. The build system now handles this flag more gracefully to support a wider range of Verilator versions.PROCASSINIT Fix: Fixed
Warning-PROCASSINITin Verilator 5.040. This warning was triggered by variables being initialized at the time of declaration and then reassigned within sequential logic.Floating Point Unit (FPU) Fixes
Fixed a compilation error occurring when
define ENABLE_FPis set inConfig.sv.Corrected the undefined variable
INT_FSGNJ_Sby updating it to the newBM_prefix convention (consistent with the definitions inInclude.sv).Build System & Documentation
Added detailed explanations regarding the sources of header files in
model_headers.h.Since generated headers can vary across Verilator versions, a note was added recommending users to execute
make prepare_headerif linkage issues occur.Impact
Verification Results
ENABLE_FPconfiguration compiles correctly and links with the RISC-V ISA sim libraries.