In reply to jeromeburke2:
It seems to me your function does meet the definition for a “constant function” as defined in the SystemVerilog spec. But I’m thinking there’s a bit of gray area here. After all there’s an implicit “loops must be unrollable at elaboration time” requirement for constant functions too.
I’m thinking your function would work if you removed the argument “count” as your repeat loop iterator, and just hardcoded 33 as your loop count?
Personally, I’ve not used repeat() statements, but have constant functions using fixed for loops doing very similar things to yours. All my tools accept such constructs as constant functions.
Edit - I’m wondering if the automatic tag is tripping the tool too. It’s not necessary is it?
Regards,
Mark