Known Issues & Limitations¶
This page lists anything from the SystemRDL 2.0 spec that the
systemrdl-compiler does not support yet.
constraint blocks are not implemented yet.
No support for heterogeneous arrays¶
RDL spec allows parameters to be overridden via a dynamic property assignment. One feature described is the ability to modify a subset of an array of instances via dynamic assignment. This would result in an array of instances that no longer share the same properties.
Currently, I don’t see a convincing reason to support dynamic property modifications to sub-ranges of an instance array. Dynamic assignments are only supported when modifying the entire instance array, and without using an array subscript (even if the subscript is a range that represents the entire array).
my_reg my_inst; // Modifying all instances in the array is supported my_inst -> some_property = 1234; // Modifying a subset is not supported my_inst -> some_property = 1234; my_inst[1:4] -> some_property = 1234; my_inst[0:15] -> some_property = 1234;
Property assignments using references shall be constant¶
Use of property or component references are only supported if the resulting assignment value can be determined during RDL elaboration-time.
some_property = PARAMETER ? my_reg.my_field : my_reg.my_field->some_property;
some_property = my_signal ? my_field : my_field->some_property;