Open GlenNicholls opened 4 years ago
The line it is complaining about (https://github.com/VUnit/vunit/blob/master/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-2002p.vhd#L209) is the one used for every set
of the internal integer vectors, which are used all over VUnit. I would expect such a fundamental issue to arise in the regular test suite...
Can you print ref
, index
and value
? I'd like to understand if any of the following situations is happening:
ref
is 255, which is not in the "database".ref
is retrieving the wrong vector from the "database", so the size does not correspond.ref
is retrieving the expected vector, but index=255
is out of bounds.@umarcor output.txt
I also am seeing that this is not the only failure produced by activeHDL, there are others that don't look related... One step at a time though
I would expect such a fundamental issue to arise in the regular test suite...
I would too, but I'm suspicious that this is an Aldec problem and not a VUnit problem. those tests all pass with the GHDL 0.37 :/
I'm running with the newest version of ModelSim I have to see what it yields
@GlenNicholls, thanks! It seems that somewhere set(ptr, 255, 1)
is being executed, but ptr
was allocated with size 16. In this case, the id of ptr
is 128. By searching ref=28
in the log:
The point is to locate where is that call produced. It can be some explicit call in your code, or some incorrect internal call.
You might confirm that ref=128
is allocated with size 16 by printing length
right before https://github.com/VUnit/vunit/blob/master/vunit/vhdl/data_types/src/integer_vector_ptr_pkg-body-2002p.vhd#L141. That will hopefully provide some hint to find the caller.
Sorry for the delay, I have not had time to really dig into this to help with debugging since it is ultimately ActiveHDL's bug. However, I opened a support request and they have looked into the issue and discovered the problem. They are stating that in ActiveHDL 12.0, this problem(s) will be fixed.
I am having problems using the AXI VCs in activeHDL 11.1 where I see the the simulator times out from the VUnit watchdog. In ModelSim and GHDL, I do not see the same problem with the AXI VCs. Unfortunately, I have been unable to get an MWE that reproduces this bug to report to Aldec. I ran the VC tests for VUnit, and a majority fail with a bound check failure in
integer_vector_ptr_pkg-body-2002p.vhd
. Not too sure what to make of it.My tests do not produce this error, but at least this is a start to tracking down what the problem is. If you need, I can also zip up the
vunit_out
orvunit_out/test_output
directories.Im suspicious that this bug is Aldec's problem, but I'm not sure. I've done some digging, but haven't yet come to any conclusions.