Modelsim 10.0a does not allow a function to be called before it is elaborated, so pkg_param_derived.vhd and pkg_trellis.vhd fail to compile. One solution is to change the following constants to deferred constants:
In pkg_param_derived.vhd:
ENCODER_MEMORY_DEPTH NUMBER_TRELLIS_STATES BW_TRELLIS_STATES BW_MAX_WINDOW_LENGTH BW_BRANCH_RESULT BW_MAX_PROBABILITY
In pkg_trellis.vhd:
PREVIOUS_STATES TRANSITIONS INITIALIZE_TRELLIS
For example, the line in the package should not define the value:
constant PREVIOUS_STATES : t_previous_states;
The value should be specified in the package body (after the necessary function)
constant PREVIOUS_STATES : t_previous_states := calc_previous_states;
Thank you for your bug report.
I dont have modelsim 10.0a available for testing, but the constants now are assigned in the package body. I tested the new code with other simulators and it seems to work.
If I done that, Xilinx ISE give me an error compilation.
Hi All,
Just an FYI...I'm having all kids of circular reference and other issues with the way the packages are structured even in ISE 14.7.
ISim seems to make sense of them (it doesn't give a compilation error) but XST barfs all over the place.
Matthew
I was using the source from the /trunk folder. Using the project in the tags/realease-1.0 seems to compile in XST. Makes sense but I wonder why trunk is not fixed as well.
Matthew