commit | e941a0321ae80a449513c3457964850f8367470b | [log] [tgz] |
---|---|---|
author | Timothy Chen <timothytim@google.com> | Wed May 04 11:45:22 2022 -0700 |
committer | tjaychen <timothytim@google.com> | Thu May 05 09:56:51 2022 -0700 |
tree | c6daba11cb52c34291f6463d1e213b697a463191 | |
parent | 1e04d94b226ddc9de7384706ecc500a208867bd6 [diff] |
[flash_ctrl] Select appropriate ready's based on request source - fixes #12381 - the previous design used the read stage's ready for arbitration. Due to the way the design is currently done, the read stage ready is actually dependent on the the downstream flash macro actually ack-ing the transaction. To fix this, we would need to de-couple the req/ack interface on the side facing the phy and the side facing the macro. While this is doable, it would also require us to latch incoming bus attributes. However, there is not a lot to gain by doing so, because as long as the flash has not responded, the next read cannot proceed anyways. - This dependency can cause program/erase operations to lock-up if the the downstream macro does not always keep ack asserted when idle (in effect behaving more like ready). - Even though the above fix would be cleaner long term, the quick fix is simply to pick the appropriate ready for host and controller operations separately. Signed-off-by: Timothy Chen <timothytim@google.com>
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).