tree dce431b03b2ab550ed7e55d7ae58c30c86d888ce
parent 5e6032a1f878d15e30d0ec06ca019f3754ff3a4c
author Eunchan Kim <eunchan@opentitan.org> 1608061403 -0800
committer Eunchan Kim <eunchan@opentitan.org> 1608070353 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEuEBfHXBX1JgKhUPPmhfzJJT+XB8FAl/ZNNEACgkQmhfzJJT+
 XB80vAv+IycUqB9XVgaUtOkngurWv7GRpL3CndU16d0OSL1MPdpwXgIvumZrmaTk
 rBhIHBE9YF0W9SLBbBqkjhuzwBgGbXPv7/YgkOS13zcBRruOaLMatVrlbhJS4+go
 gFirDrY4Y8mGfVugHw0wlaEPzrp9DUjDSSKRKYX7Sa8WRzllVvto2+HL5fEvYf4H
 wlElCcxvyGboVt5QaPbBeTyRiYl/nAOiZ4AADWp0jemVv/scNzT+mq/Hx1Y3UxJl
 pN4blSBiKP82kY7wo08dnCo4lFfq4POYRMfgXFeN1+51Xx66/PNTURSzpKVoA+Lh
 sR1G51aKUOWVDdjIPF29HtPojizi8xyBottnCvmo5RInWudF42kpvOLjlnFNpxdn
 5XSBePEk2o0DvgYJscuP1QtyOPKJI+HgwAN5tTkThSN6nf+BPyRqDbejtOd1wl4g
 tPAeYdmiwiHPND5jqHgV8vPUa+shY3P4tq+ZPl4Z3agC1yIeY+IoyyVqtIhJZqTG
 2eZ89+iL
 =XMHM
 -----END PGP SIGNATURE-----

[kmac] Latch the output data from state

Problem:

    The software reads unknown data or all-zero from state window.

The `tlram_rdata` is connected to tlram_rdata_endian. the latter is a
muxed signal from the internal Keccak state registers. The mux selection
signal is the input TL-UL address.

As the address only valid when the request is asserted, the selection
signal becomes unknown or incorrect value when the state module returns
the read data.

This commit is to fix the bug by latching the tlram_rdata. There's
another solution to latch the address selectino only when it is valid.
The latter consumes less registers as address bit width is smaller than
the return data but creates a little bit more ambiguous logic so that
drops the readability.

The issue is reported by @udinator

Signed-off-by: Eunchan Kim <eunchan@opentitan.org>
