ot_sram_ctrl: Connect the lc_ctrl HW_DEBUG_EN signal for ifetch / execution enablement#311
Merged
Merged
Conversation
When the OTP SRAM ifetch is disabled, hardware does not check the CSR iftech but instead checks whether the pervasive `HW_DEBUG_EN` signal from the lifecycle controller is being broadcast. If so, it allows ifetch/execution from SRAM. For now, it is kept that the property-configured `ifetch` still overrides the LC HW_DEBUG_EN ifetch enablement, so that this configuration ifetch is seen as a "global" disable that can override all other ifetch enablement mechanisms. Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Connect the lifecycle controller's broadcast `LC_HW_DEBUG_EN` signal to each SRAM controller in both tops, to match the ifetch/execution enablement conditions that are specified in the RTL. Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
ea44c3c to
e17da38
Compare
rivos-eblot
reviewed
Dec 8, 2025
Author
Done, I just opened a PR instead: lowRISC/opentitan#28900 |
Author
|
Merging as CI failures are unrelated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The current SRAM controller ifetch / execution enablement logic only considers that the configured
ifetchenable property should be true, in addition to the OTPHW_CFG1.EN_SRAM_IFETCHfield and the sram_ctrl CSREXEC.ENfield. This is likely based on theEXEC.ENdocumentation which states that:While this isn't incorrect, it doesn't paint the full picture. From the RTL:
In the case that the OTP iftech is disabled, the CSR value is entirely ignored and instead the value of the pervasive lifecycle controller
hw_debug_enbroadcast signal is used to determine SRAM ifetch enablement. This PR implements this functionality, retaining the behaviour that theifetchconfig property acts a disable regardless of theHW_DEBUG_ENvalue.