[keymgr/kmac] how kmac should send `kmac_data_i.error`
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
As brought up in this comment, we may want to find a better way to send the error when KMAC detects a fault during an operation requested by keymgr. We haven't had a conclusion in that discussion, so file this issue to continue on it.
Here are some approaches we brought up.
- current implementation (no design change needed): kmac sends error without done, and keymgr gets stuck at the operation. Eventually, the chip will be reset as kmac sends a fatal alert.
- make the operation complete normally: change Kmac also send
donealong witherror. Also need to setreadyhigh to accept the remaining data from keymgr. - treat the
erroras an interrupt to keymgr: keymgr finishes the operation once it sees theerroris set. This changes the handshaking protocol, which impacts the current DV. My assumption was thaterroronly asserts whendoneis set. We need to update the block-level TB if we choose this.
As a DV person, slightly prefer to 1) or 2) as they have less DV impact. I'm open to 3) as well, if it makes more sense to the design.
cc: @ballifatih @tjaychen @eunchan @cindychip
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the linked discussion in pull request 16661 and inspect the current KMAC/keymgr handshake around kmac_data_i.error, done, and ready. Compare the three proposed behaviors and check the block-level DV impact; the work is done only after the protocol choice is agreed and the affected DV coverage is updated.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100