[RTL] Pinmux jtag muxing#30707
Conversation
ee2f225 to
21ad2e2
Compare
|
see #29555 |
|
Thanks for this PR, this could indeed be a smoking gun, very nice catch! I'll yet have to review the changes in detail, but one comment in regards to LINT: The earlgrey chiplevel check fails with Even though you added a waiver to pinmux (which acts on this message but a different signal/net). This therefore either needs to be adapted or extended. |
vogelpi
left a comment
There was a problem hiding this comment.
Thanks @gautschimi , this looks good to me.
We should also also discuss this with partners before merging. About the security aspect: if really needed, we could also add a consistency check for the 3 added flops to only allow for a mismatch during one clock cycle and wire that up with the fatal alert of pinmux.
4a9ef32 to
db88664
Compare
|
ok all tests have passed with this bitstream. not so bad. Locally I still see flaky tests with sram execution. but I think that is another problem |
The three jtag request (lc_jtag, dft_jtag, rv_jtag) are now gated with an AND-gate instead of a combinatorial process. This eliminates the risk of a glitch on the jtag clock or reset line. Signed-off-by: Michael Gautschi <mgautschi@lowrisc.org>
db88664 to
be7bd57
Compare
The jtag
tckandtrstwere muxed with a combinatorial process. This can potentially lead to glitches on the clock lines and lead to failures during jtag transactions. e.g. mess up the jtag statemachine. This could be an explanation for some of the CI failures we see (e.g. the errors described in this issue #29555). We need to observe CI a bit to see if it really helps.The fix is:
tmsandtdi(data signals) in the combinatorial processThis fix is similar to the fix that has been done for the bkdr loader (f5668d8)
Security: