[kmac,rtl] Bogus CmdSparse_M assertion
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
In `kmac.sv` is an assertion (an assumption actually) about the possible behaviour of software. The assertion is:
```systemverilog
// Command input should be sparse
`ASSUME(CmdSparse_M, reg2hw.cmd.cmd.qe |-> reg2hw.cmd.cmd.q inside {CmdStart, CmdProcess,
CmdManualRun,CmdDone, CmdNone})
```
Since the field uses `prim_subreg_ext`, this is actually saying that when a TL transaction tries to write to the register, the field's portion of the wdata is one of five special 6-bit values.
This isn't really something that belongs in design RTL... I managed to trigger the assertion failure when porting some of this code to the Caliptra project. The reason that we hadn't seen it in OpenTitan is that the `csr_rw` test is constrained not to write to the `CMD` register.
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.
Assessment
This issue has not been assessed yet.