commit | a9aec87b1fdd7426082e032b47e5e6760aa3de8f | [log] [tgz] |
---|---|---|
author | Martin Lueker-Boden <martin.lueker-boden@wdc.com> | Tue Nov 23 17:35:22 2021 -0800 |
committer | Martin Lueker-Boden <47870387+martin-lueker@users.noreply.github.com> | Wed Nov 24 13:59:27 2021 -0800 |
tree | 2b88a8b2d427c615b8f70c6010a14daf406c780b | |
parent | 6c83a36a39b09fd7cc87110cee0dd71c84b88f1e [diff] |
[ spi_host, rtl ] Properly handle back-to-back segments Issue #9285 uncovers a bug whereby back-to-back segments are not being properly handled in the rtl. The issue is that when processing back to back segments, the FSM needs to carefully choose which copy of the segment parameters to look at. For anything initializing states for the following segment the FSM needs to look at the new incoming segment parameters. For finalizing processing of the previous segment (e.g., flushing data out of the shift register) the FSM needs to look at the previous parameters. This commit manages this subtlety. Fixes #9285 (with patch to test bench in @rasmus-madsen's offline TB, see issue for patch) Signed-off-by: Martin Lueker-Boden <martin.lueker-boden@wdc.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 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).