Problem
SystemRDL does not provide a standard mechanism for handling register array paths.
For arrays, paths have to be written or managed manually for each index, which becomes repetitive, error-prone, and difficult to scale.
Proposed solution
To handle this, I used a placeholder pattern (e.g., [%0d]) in the path definition of backdoor access in RDL.
A Python script then processes these paths and converts them into properly formatted $sformatf expressions. This is handled within the register array loop , so paths are directly accessible for every entry without manual duplication. This automatically generates correct paths for all array elements.
Suggestion
This approach could be standardized or integrated into the flow to provide a consistent and scalable way to handle register array paths.
Problem
SystemRDL does not provide a standard mechanism for handling register array paths.
For arrays, paths have to be written or managed manually for each index, which becomes repetitive, error-prone, and difficult to scale.
Proposed solution
To handle this, I used a placeholder pattern (e.g., [%0d]) in the path definition of backdoor access in RDL.
A Python script then processes these paths and converts them into properly formatted $sformatf expressions. This is handled within the register array loop , so paths are directly accessible for every entry without manual duplication. This automatically generates correct paths for all array elements.
Suggestion
This approach could be standardized or integrated into the flow to provide a consistent and scalable way to handle register array paths.