Search the Community
Showing results for tags 'Queues'.
-
Hi All, I have a scenario where i need to send n random bytes and out of n bytes i should able to corrupt few selected bytes. I have used Queue for selecting error bytes list. Transaction : rand bit [7:0] tx_data_byte[`MAX_DATA:0] ; // data byte array rand int unsigned tx_no_of_bytes_to_send ; // number of data bytes to send rand byte tx_err_bytes[$] ; //queue contains byte positions to be corrupted Example : consider i am sending 5 data bytes and I have to corrupt 2,4,5 bytes (corrupting data bytes is handled in driver) Sequence : `uvm_do_with( req, { tx_data_byte[0]=='h00; tx_data_byte[1]=='h11; tx_data_byte[2]=='h00; tx_data_byte[3]=='h99; tx_data_byte[4]=='h55; ///----------------- tx_no_of_bytes_to_send ==20; tx_err_bytes == {4,5,7}; }) I am seeing below error from the cadence simulator. Can somebody help me out in resolving this error . Error: Randomization constraint has error, which will cause the randomize function to return 0 and no new rand values will be set: This feature is currently not supported for queues, dynamic arrays, strings and associative arrays. Thank you
- 7 replies
-
- Queues
- Inline Constraints
-
(and 1 more)
Tagged with: