N
Niv
Guest
I now have a set of test bench processes which work nicely on my 35
output signals, verifying their correct assertion/negation/timing etc.
To do this I've concatenated the signals into a 35 bit SLV, and then
used GENERATE for the test process for each signal type; e.g. below
for one such.
-------------------------------------------------------------------------------------------------------------------------
two_state_assert_hi_drv_en: FOR i IN 19 TO 24 GENERATE
hi_two_state_assert_check_drv_en: PROCESS
.....
.....
WAIT UNTIL ((reset_n = '0') OR event_0_to_1(all_outputs(i)))
FOR timeout;
....
....
END PROCESS hi_two_state_assert_check_drv_en;
END GENERATE;
-------------------------------------------------------------------------------------------------------------------------
However, I may need to re-assign signals to a different group, so what
I'd like to do is use the generate statement like you do with a CASE
statement, as follows:
FOR i IN 19 OR 22 TO 24 GENERATE
but obviously this doesn't work.
Any ideas how I can generate for unique, non-contiguous, integers?
This will make it very easy to move signals around my 6 different
process types, otherwise I have to re-arrange the signal order and
then edit all the generate statement indices.
TIA, Niv.
output signals, verifying their correct assertion/negation/timing etc.
To do this I've concatenated the signals into a 35 bit SLV, and then
used GENERATE for the test process for each signal type; e.g. below
for one such.
-------------------------------------------------------------------------------------------------------------------------
two_state_assert_hi_drv_en: FOR i IN 19 TO 24 GENERATE
hi_two_state_assert_check_drv_en: PROCESS
.....
.....
WAIT UNTIL ((reset_n = '0') OR event_0_to_1(all_outputs(i)))
FOR timeout;
....
....
END PROCESS hi_two_state_assert_check_drv_en;
END GENERATE;
-------------------------------------------------------------------------------------------------------------------------
However, I may need to re-assign signals to a different group, so what
I'd like to do is use the generate statement like you do with a CASE
statement, as follows:
FOR i IN 19 OR 22 TO 24 GENERATE
but obviously this doesn't work.
Any ideas how I can generate for unique, non-contiguous, integers?
This will make it very easy to move signals around my 6 different
process types, otherwise I have to re-arrange the signal order and
then edit all the generate statement indices.
TIA, Niv.