ncvlog does not seem to allow inline constraint randomization of a queue. Is that true ?
For example, the following failed compile
byte pld_byte_q[int][$];
std::randomize(pld_byte_q[i]) with {
pld_byte_q[i].size() == num_payload_bytes_per_search[i];
};
I got the following compile error :
ncvlog: *E,RNDRARG (/ The argument to class or scope randomize must be a simple identifier of integral type.
Do I need to declarate this as a rand variable to get the above to work organically as part of the randomization ?
cuonghl
2
In reply to DVJoe:
Your tool vendor doesnt support to pass like that to std randomize function. Please try:
void'(std::randomize(pld_byte_q) with {
foreach(pld_byte_q[i]) {
pld_byte_q[i].size() == num_payload_bytes_per_search[i];
}
});
In reply to cuonghl:
Thanks Chris. I tried that too and that does not work either. I get the same compile error as before.
cuonghl
4
In reply to DVJoe:
I tried with Cadence tool, it worked:
If doesnt work at your side, maybe its because of your tool.