Languages

CommunityCategory: XMODELGenerating multiple random bits in parallel

XMODEL

Generating multiple random bits in parallel

SA Support Team Staff 2019-08-12

I know the 'prbs_gen' primitive can generate a random digital bit stream. But, how can I generate multiple random bit streams in parallel?

1 Answers
Best Answer
SA Support Team Staff 2019-08-12

The 'prbs_gen' primitive supports the 'width' parameter since the XMODEL 2019.07 official release. That is, the 'prbs_gen' primitive generates multiple random bit streams in parallel when its 'width' parameter is set greater than 1. The multiple random bit streams are generated by deserializing a single PRBS bit stream, i.e. assigning each bit of a single PRBS bit stream to the multiple output bit streams in a round-robin fashion.

Interestingly, each of the output bit streams generated in this way will also follow the same pattern of the original PRBS bit stream. In other words, each output bit stream is basically a time-shifted version of the original PRBS bit stream.

The 'probe_ber' primitive which counts the number of bit errors on a PRBS bit stream can also detect errors in multi-bit PRBS streams since the XMODEL 2019.07 official release, exploiting this very property. That is, when its 'width' parameter is set greater than 1, the 'probe_ber' primitive first counts the bit errors on each of the individual input bit streams using a dedicated PRBS verifier (the 'meas_ber' primitive) and then adds all the counts together to produce the final result.