lowRISC / opentitan

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

[dv/clkmgr] Test different rst_io* and rst_root_io* #17934

Open matutem opened 1 year ago

matutem commented 1 year ago

Description

clkmgr has rst_io_ni, rst_io_div2_ni, and rst_io_div4_ni. Similarly it has three rst_root_io*. The testbench hooks them all to the same interface.

We should hook these to different interfaces and create simple tests that send different stimuli to each in order to verify they behave as expected.

This seems like a low priority test since the functional differences between them are pretty simple.

andreaskurth commented 2 months ago

We should check whether rstmgr releases all of those at the same time -- if it does, we can defer this to future release

matutem commented 1 month ago

They are by rstmgr released at slightly different times. All the corresponding clocks must be running, and the parent reset is sync'ed to the corresponding clock, so they are off by a 0 through 3 cycles of the 96 MHz io clock.

The rstmgr rstpor resets are named rstroot in clkmgr:

The rstmgr rstlc resets are named rst_ in clkmgr:

It seems the small number of cycles between when these resets toggle will not present any issues. I would be comfortable deferring this to a future release, in case some of the rstmgr behavior changes, or there is additional logic driven by these resets.

andreaskurth commented 1 month ago

triaged to backlog according to the arguments by @matutem and as we're separately verifying CDC and RDC