-
Notifications
You must be signed in to change notification settings - Fork 2
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
Atomic access to multi-block registers - holding register documentation #12
Comments
Sorry for the exceptionally late response. I broke my hand right around the time you posted this, couldn't type at the time, and then it slipped through the cracks. Better late than never I suppose. Anyway, I think you're right and my thinking was flawed. Even thinking about it now my intuition is that it's smaller, but when I try drawing it out in my head it's indeed the same. Maybe it's advantageous for timing since you effectively get two sequential read multiplexers for the holding register, but it's probably negligible. |
Fix misleading docs reported in #12
It looks like whatever CI used to generate the docs is long gone, but I updated the sources, at least. I guess I'll keep this open then. |
|
If the slave has large number of registers it might be. However, I guess it also depends on the relative size of these 2 stage multiplexers. If any of the multiplexers is much bigger than the other one, than it probably again becomes negligible. |
In Atomic access to multi-block registers you state:
I am not sure you are correct here. With logical registers wider than the data bus width you still have multiple addresses, which you present, for example, here bitrange. The required address space size is not smaller because of the holding register, so how can it affect the address decoding logic? I think the only resource utilization you reduce by sharing the snapshot/shadow register (you call it holding register) is the number of flip flops required for logical registers wider than the data bus width.
The text was updated successfully, but these errors were encountered: