lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.52k stars 752 forks source link

RFC: CSRs for Prims #7688

Open msfschaffner opened 3 years ago

msfschaffner commented 3 years ago

Some comportable IPs (OTP, Flash) have primitives with CSRs nodes. These CSRs are macro-specific and typically (but not only) DFT / test related. Currently these CSRs are defined in a separate Hjson located in a closed repo, maintained by the Silicon Creator.

image

This creates problems with our design and DV tooling, since these tools do not understand the concept of "nested CSR" nodes. For example, the DV environment generates RAL models for both reg_top 1 and reg_top 2 in the picture above, and these RAL models alias onto each other, which causes problems with both automated and directed tests. Furthermore, the crossbar configuration (offset / size) for these CSRs is not inferred correctly by the design and DV tooling.

There are several potential approaches to this problem and discussions on how to solve this are currently ongoing. However, it is clear that a change (either on the DV, tooling or design side) is going to be necessary. This issue serves as a place holder until we have converged on a solution.

See also these slides for an overview of the solutions considered so far.

asb commented 3 years ago

Hi Michael - just to double-check, is this ready for review from the Technical Committee from your perspective?

msfschaffner commented 3 years ago

Hey Alex - yes this is ready. We have put together an RFC document.

Do you want me to send this to a specific mailing list also?

asb commented 3 years ago

Nope, tagging it with the RFC label is fine. I've put it on the agenda for the next meeting. We did used to have separate RFC: Proposal and RFC: TC review labels (with the latter indicating it's ready for review), but it seems that label was removed at some point.

msfschaffner commented 3 years ago

Alright, thanks!

tjaychen commented 1 year ago

@msfschaffner should we close this now? I know you've already implemented a scheme for this and it is already in production.

msfschaffner commented 1 year ago

Yeah I am going to close it in a bit. I still need to document some of this.

msfschaffner commented 1 year ago

This can go in the M2.5 backlog.