Closed EdaphicStudio closed 5 years ago
The issue boils down to the read_byte_seq0.randomize() with ...
call inside the expanded macro.
Currently, we do not keep track of the actual text when we expand macros. We "just" work with the underlying types. So read_byte_seq0.randomize ()
is broken down to IDENTIFIER . IDENTIFIER ()
making it a generic subroutine call where with
is not allowed.
Fixing this is a little tricky as randomize
is not a keyword but content dependent.
The longtime solution is to improve macro text expansion to track related text. This solution means a significant rewrite of the code beyond the current scope.
I'm currently working on a short-term solution fix randomize-calls inside macros, but other similar cases might show up.
The fix for IDENTIFIER.randomize
calls is in. It works for none UVM based project. It seems UVM optimizations breaks correct expansion for another reason as well. See #13 for details.
The UBUS example generates an incorrect syntax error(see image):