This repository has been archived by the owner on Aug 20, 2024. It is now read-only.
Allow InferReadWrite to combine shared-address R/W ports when appropriate #2094
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.
I would categorize this as an "RFC" to see if anyone is interested in expanded readwrite inference. In cases where a read and write port of a
SyncReadMem
share the same clock and address, the semantics of the defaultundefined
read-under-write behavior mean that it is legal to combine the ports into an RW port. The definition of this behavior in the spec implies that this is legal even in cases where there is a partial write mask.Type of improvement: enhancement of optional inference pass
API impact: none
Backend code-generation impact: when
--infer-rw
is enabled, more RW inference may occurRelease notes:
The existing, optional InferReadWrite pass may now infer readwrite ports from read/write port pairs that share the same clock and address for undefined read-under-write synchronous-read memories. Previously recognized cases with mutually exclusive read and write enables will continue to be combined as before.
Contributor Checklist
Reviewer Checklist (only modified by reviewer)
Please Merge
?