Hi,
Is it possible to randomize the VALID (in case of a master VVC) signal?
And the same for the READY (in case of a slave VVC) signal?
Rgds,
Eric
Hi,
Is it possible to randomize the VALID (in case of a master VVC) signal?
And the same for the READY (in case of a slave VVC) signal?
Rgds,
Eric
I found in the axistream bfm documenation on page 3 the values what seems for randomization
valid_low_at_word_num
valid_low_multiple_random_prob
valid_low_duration
valid_low_max_random_duration
and
ready_low_at_word_num
ready_low_multiple_random_prob
ready_low_duration
ready_low_max_random_duration
ready_default_value
But whatever I fill in for the
ready_low_multiple_random_prob
or valid_low_multiple_random_prob
it always stays high.
Only the static value valid low_at_word_num
or ready_low_at_word_num
seems to work.
But then I can only specify one static number.
I was hoping I could randomize the valid and ready in a stream where 100 packets should be send back to back.
How can I do that?
Hi,
In order to use the random deassertion you need to set the valid_low_at_word_num/ready_low_at_word_num to C_MULTIPLE_RANDOM. This is explained in more detail in page 7.
Hi Erick,
I’m still trying to get the randomisation working.
What I have so far is that I configure my VVC as:
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_at_word_num := 4;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_duration := 2;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_multiple_random_prob := 0.5;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_max_random_duration := 5;
This however gives a fixed low of a fixed duration.
So what am I doing wrong with setting up my VVC?
Hi,
As I mentioned before, to enable the random deassertion you need to set the configuration to random, you can try this:
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_at_word_num := C_MULTIPLE_RANDOM;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_multiple_random_prob := 0.5;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_duration := C_RANDOM;
shared_axistream_vvc_config(C_ID_AXIS).bfm_config.ready_low_max_random_duration := 5;
Yes this works. Now it is really random. And now it my testbench identifies another issue in my design…