commit | b683bd76fed4b9d026a1b7827dd0f35d67b1c450 | [log] [tgz] |
---|---|---|
author | Rupert Swarbrick <rswarbrick@lowrisc.org> | Tue Apr 05 17:25:47 2022 +0100 |
committer | Rupert Swarbrick <rswarbrick@gmail.com> | Thu Apr 07 14:30:28 2022 +0100 |
tree | 7c97ebfac490a91804c821fd497894cc97752af4 | |
parent | 7c3843df31022bcbc11c53f5dbed9002276899a0 [diff] |
[otbn,rtl] Make sure to latch "non-core" error bits I think I probably broke this in 75885e6. If you look at e.g. otbn_core.sv, you'll see that we have err_bits_q and err_bits_d and we latch errors until the next start signal. I thought that I'd done the same thing in otbn.sv for errors that don't come from the core, but I really hadn't! There, err_bits, err_bits_d and err_bits_q are used to make sure that we only update the (hwext) ERR_BITS register when a command finishes. That's fine for signals coming out of the core because (as mentioned above) we latch them there. But it isn't fine for signals generated at top-level. Note that, unlike the other "error bits" registers, we don't bother including a provision for clearing them. This is because all of the signals are fatal so we should never be able to start another operation (clearing the error bits) anyway. Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.
The project contains comprehensive documentation of all IPs and tools. You can access it online at docs.opentitan.org.
Have a look at [CONTRIBUTING]({{< relref “CONTRIBUTING.md” >}}) and our documentation on project organization and processes for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).