-
Notifications
You must be signed in to change notification settings - Fork 717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[spi_device] Add support for 1r1w RAMs and parity init #20942
Commits on Jan 23, 2024
-
[reggen,hw] Create index parameter for registers windows
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Configuration menu - View commit details
-
Copy full SHA for f8da068 - Browse repository at this point
Copy the full SHA f8da068View commit details -
[prim] Make copies of dual port memory files
Signed-off-by: Michael Schaffner <msf@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for 306834a - Browse repository at this point
Copy the full SHA 306834aView commit details -
[prim] Add two-port memory implementation
Signed-off-by: Michael Schaffner <msf@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for b36ae73 - Browse repository at this point
Copy the full SHA b36ae73View commit details -
[prim] Add two-port memory ECC wrappers
Signed-off-by: Michael Schaffner <msf@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for 7b6163d - Browse repository at this point
Copy the full SHA 7b6163dView commit details -
Some core files were missing, and there were also some syntax errors. Signed-off-by: Alexander Williams <awill@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for d186d1b - Browse repository at this point
Copy the full SHA d186d1bView commit details
Commits on Jan 24, 2024
-
[spi_device] Add support for 1r1w RAMs and parity init
Add 1r1w RAM configuration as an option for spi_device for tech nodes where the 2p RAM configuration is not available. Make the 2p RAM have the same access controls as the 1r1w RAM, so the two behave the same way. Also add word initialization circuitry on the SPI side, to init parity. The SPI -> core buffer for the payload uses parity and SW has no way of initializing it since the the write port is in the SPI domain. Since the SPI side writes the payload byte by byte, we need to guard against partially initialized 32bit wordd, because these could cause TL-UL bus errors upon readout. Unfortunately, an initialization circuit that initializes the entire SRAM on the SPI clock domain is infeasible since that clock is only intermittently available. Hence, we keep track of uninitialized words using a valid bit array, and upon the first write to a word, uninitialized bytes are set to zero if the write operation is a sub-word write op. Note that in this commit, DV tests have focused much more on the 2p variant. Signed-off-by: Alexander Williams <awill@opentitan.org> Co-authored-by: Michael Schaffner <msf@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for bb22f4c - Browse repository at this point
Copy the full SHA bb22f4cView commit details -
[spi_device] Add params for DPRAM offsets
Add params for the DPRAM offsets so they are available in C headers for software. Signed-off-by: Alexander Williams <awill@opentitan.org>
Configuration menu - View commit details
-
Copy full SHA for 13fc2e2 - Browse repository at this point
Copy the full SHA 13fc2e2View commit details