Closed hughjackson closed 3 years ago
Nice find! This is definitely an oversight in the compiler when generating component type names. I already had to extend the behavior defined by the SystemRDL spec to account for dynamic property assignments.
Since this is actually a bug in the systemrdl-compiler, moving this issue under that project.
My mistake. This is indeed a UVM exporter issue. Transferring it back :facepalm:
Fixed in v2.0.2
https://github.com/SystemRDL/PeakRDL-uvm/blob/af894376240a8b10a98ab9e49a3a16283343c09f/peakrdl/uvm/exporter.py#L173
The following RDL code highlights the issue:
A cut down version of the output shows that whilst the regfiles (rf_t) are uniquified (with addition of _P) both unique instances use the same r0 type (block__rf_t__r0) so they end up with the same reset value, even though rf2.r0.f1 should have a reset value of 1.