-
Notifications
You must be signed in to change notification settings - Fork 762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[edn] EDN doesn't support backpressure from CSRNG on RES/GEN commands #15469
Comments
Hey @mwbranstad & @senelson7, |
FYI @martin-lueker , I've now assigned a default P1. |
PR #15478 will functionally handle this issue. However, this is a brute force fix by adding an output FIFO on the CSRNG command interface. |
Factored out from #15402.
While working on #14240 it has been noticed that EDN currently doesn't support backpressure from CSRNG when transmitting contents of the command FIFOs. As a result, whenever a RES/GEN command contains more than 1 word of additional data, word 2 and 3 are dropped by CSRNG which then keeps waiting for the last two words forever. Similarly, EDN keeps waiting for the final ACK of CSRNG. Both IPs lock up.
The waveform below shows this.
csrng_req_ready
goes low at the curser but EDN keeps updating the request buscsrng_req_bus
. Words 1 and 2 of the seed (0x21CA8E3F and 0x5BA3DBA1) are not being picked up by CSRNG - they are missing in therdata_o
sequence at the bottom.cmd_len_q
stays at 2 and CSRNG remains in theSendMOP
state forever.I've worked out a first hot fix here #15402 but something more robust is needed. In addition also verification is needed for this feature.
The text was updated successfully, but these errors were encountered: