-
Notifications
You must be signed in to change notification settings - Fork 12
RFC 54: Initial and reset values on memory read ports. #54
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
Conversation
I would want to make sure that the emulation logic does not break inference. Is an implementation available to test? Could the default be With regards to the alternative, is this referencing an implementation detail? Not sure how I as the user would specify those attributes on the signature if it's created by the Memory. |
I do want to exclude the uninitialized register hole one way or another. |
Emulation will definitely not break inference in yosys. This RFC is, however, likely to cause problems in other toolchains. Part of the goal of |
1eef49d
to
6d82746
Compare
I don't have problem with having default to have a port have 0 as init. |
@wanda-phi How do we handle this, |
in whatever way we do that for plain
|
I'd say I.e. alter the guide as follows: -Reset-less signals are not affected by explicit reset.
+Reset-less signals are not affected by explicit reset, and assume an unspecified value,
+which may differ between toolchains and platforms, at power-on reset. |
Oh, wait, I misread what you said. My comment applies in general but not to "reset with no initial value" desire. I think we are going to need a coherent strategy for dealing with reset and nondeterminism on ASICs, but probably not as a part of this RFC. For this RFC I think we should be OK saying essentially "the read port is a funny |
Agreed fully. |
|
6d82746
to
6aa6d3c
Compare
We have discussed this RFC on the 2024-03-18 weekly meeting. The disposition was to merge. Due to the potential for disruption of memory inference, the implementation for this RFC should not be merged until either:
|
Rendered