Add 1 to the reqfifo depth

In the best case, sram can complete a transaction immediately on the next cycle.
When this happens, the adapter should immediately accept the next transaction.
However, if the reqfifo is sized to the same depth as the outstanding capacity,
it is not able to do so without creating a response -> request timing path.

As a result, an extra entry is added to the request fifo to handle this case.

The response fifo is not sized up as it can work as a passthrough fifo and
will not back-pressure on back to back responses unless the host is unwilling
to accept a response.
1 file changed
tree: fe98c2a12d8fe4f0eec18d4382542fb1fbd8da75
  1. doc/
  2. hw/
  3. sw/
  4. util/
  5. .clang-format
  6. .gitignore
  7. .style.yapf
  8. azure-pipelines.yml
  9. CONTRIBUTING.md
  10. index.md
  11. LICENSE
  12. python-requirements.txt
  13. README.md
  14. sitemap.md
README.md

OpenTitan

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.

Documentation

The project contains comprehensive documentation of all IPs and tools. You can either access it online or build it locally by following the steps below.

  1. Ensure that you have the required Python modules installed (to be executed in the repository root):
$ sudo apt install python3 python3-pip
$ pip3 install --user -r python-requirements.txt
  1. Execute the build script:
$ ./util/build_docs.py --preview

This compiles the documentation into ./opentitan-docs and starts a local server, which allows you to access the documentation at http://127.0.0.1:5500.

How to contribute

Have a look at CONTRIBUTING.md for guidelines how to contribute code to this repository.

Licensing

Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).