-
Notifications
You must be signed in to change notification settings - Fork 553
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
Missing `ifdef guard from assertion in ibex_core.sv #2213
Comments
Hmm. I think the problem is that The weird thing is that the reference is:
and it was a bit surprising to me if this matters when Given your last note, I guess we don't have To debug further, I think you'll need to do some "debug printing" by hacking on |
I did not have any defines included originally. With the Additionally, the else branch without either one does set |
Ok, that's rather confusing! Since we don't have access to the tool you're working with, I think you'll have to do some debugging. To trace the If it feels like something hasn't been defined properly, you can also hunt down the order that things are compiled by inserting a syntax error in two places (and seeing which one appears in the log!). |
Sorry for the delay in returning to this. I've looked into the compile some more and it seems to be interaction between ibex_core.sv and the ibex_ex_block.sv. As mentioned earlier, To synchronize the ibex_ex_block.sv to this behavior, it probably requires that My suggestion on fixing this would be on ibex_ex_block.sv to add
|
Observed Behavior
Building ibex without INC_ASSERT define fails due to missing guard in ibex_core.sv.
Expected Behavior
Expecting core to elaborate without this define.
Steps to reproduce the issue
This assertion relies on logic only present in ibex_ex_block.sv when it is compiled with this assertion. If ex_block is compiled with the define, elaboration succeeds without issues.
My Environment
RHEL7 / Questa
Compiling source codes based on external filelists and Questa commands in makefile.
Version of the Ibex source code:
The issue is present in current master (53888bc), assertion was introduced by [rtl] Guard... merge.
Edit: Testing more locally
This seems to be more complex issue than I originally figured. Simply inserting guard ifdef does not fix the issue, Module seems to be inheriting the INC_ASSERT define from somewhere (and the ex_block does not). Probably from includes that define the macros, but I did not investigate that too much yet.
Alternative is to use the SYNTHESIS define which of course disables all assertions.
The text was updated successfully, but these errors were encountered: