Open epsilon537 opened 2 years ago
I provided the wrong commit above. This is the correct one: efd289d
Note that this appears to be an xsim bug. It has added the generate block's name to the _cidentifier, and this is incorrect. The standard says _cidentifier must default to _functionidentifier for exported functions, so it must literally be simutil_get_scramble_key
and simutil_get_scramble_nonce
in these cases.
This particular block seems like something that would ideally be fixed up on the C side. ...but it can't be done in a non-simulator-specific way because of the linking style of DPI. As a workaround, perhaps we could try making the _cidentifier explicit?
Observed Behavior
When I try to simulate the Arty A7-35 example in Vivado, I get an error message in elaborate.log:
ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/top_artya7_behav/obj/xsim_4.c.
Examination of xsim_4.c shows the following problem:
That is not a valid function signature. This error can be traced back to the following snippet in ibex_if_stage,sv:
If I disable this chunk of code, the simulation is working fine.
Expected Behavior
I would like to be able to simulate top_artya7 using Vivado.
Steps to reproduce the issue
My Environment
Vivado 2021.2 Ubuntu WSL on Windows 11
Version of the Ibex source code:
git rev-parse HEAD 4ada605b6c5b287feebdb5620066b3f8b6495dc5
I did make some changes for simulation purposes but I verified that I get the same error on the unmodified codebase.
elaborate.log xsim_4.zip