Hi all,
Could someone shed some light on this for me, I have 2 mutually exclusive if generate statements inside 2 nested for generate loops, the indices of which form the if statement conditions. However, for some reason the simulator doesn't appear to evaluate the if's as mutually exclusive and I end up with conflicting signals.
Is this a issue of VHDL can't handle this level of nesting or have I made an obvious silly mistake - any suggestions would be welcome. Fundamentally I'm trying to connect a parameterized number of modules together such that all connect to all except themselves.
Could someone shed some light on this for me, I have 2 mutually exclusive if generate statements inside 2 nested for generate loops, the indices of which form the if statement conditions. However, for some reason the simulator doesn't appear to evaluate the if's as mutually exclusive and I end up with conflicting signals.
Code:
lable1:for i in 0 to PARAMETER generate
begin
lable2:for j in 0 to PARAMETER generate
begin
lable4: if (j > i) generate
begin
an_in_array(j-1) <= out_arrayA(j);
end generate;
lable5: if (j<i) generate
begin
an_in_array(j) <= out_arrayA(j);
end generate;
end generate;
end generate;
in_arrays(i) <= an_in_array;
end generate;
Is this a issue of VHDL can't handle this level of nesting or have I made an obvious silly mistake - any suggestions would be welcome. Fundamentally I'm trying to connect a parameterized number of modules together such that all connect to all except themselves.
Last edited: