Skip to content
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

Separate write acknowledge and write strobe generation #49

Merged
merged 3 commits into from
Jul 4, 2024

Conversation

lorenzschmid
Copy link
Contributor

The write acknowledge signal is now combinatorically linked to the write request signal. The write strobe signal (that should become active only after the register is updated) is delayed by one cycle as previously.

This allows for consecutive single cycle writes as mentioned in #48.

Since this pull request changes the write acknowledge signal to be asserted one cycle earlier, existing memory maps might execute their write requests one cycle faster now. If the default pipeline setting (wr-in,rd-out) was used, while being faster the interfaces should still behave correctly. Required testbench changes are visible in 071dbb7 and affect only register write verification's happening now slightly too early (just around the rising edge where previously, the write request took one cycle longer and so the verification was also happening only one cycle later).

Closes #48.

The write acknowledge signal is now combinatorically linked to the write
request signal. The write strobe signal (that should become active only
after the register is updated) is delayed by one cycle as previously.
@lorenzschmid
Copy link
Contributor Author

@tgingold-cern to add to the following point:

If the default pipeline setting (wr-in,rd-out) was used, while being faster the interfaces should still behave correctly.

Any write request relaying on the write acknowledge signal is now one cycle faster. About APB, we previously used pipeline: rd-out to have the standard conform two cycles write requests. With the changes presented here, the write request takes only one cycle, and we switched to pipeline: wr-in,rd-out to restore the old behavior taking two cycles.

@tgingold-cern tgingold-cern merged commit 14757cf into tgingold-cern:master Jul 4, 2024
2 checks passed
@tgingold-cern
Copy link
Owner

Thanks!

@lorenzschmid lorenzschmid deleted the wr-ack-instant branch July 4, 2024 06:59
@tgingold-cern
Copy link
Owner

Probably you should add a line in README.MD to mention this change.

@lorenzschmid
Copy link
Contributor Author

Probably you should add a line in README.MD to mention this change.

Done in #51.

lorenzschmid added a commit to lorenzschmid/cheby that referenced this pull request Jul 12, 2024
lorenzschmid added a commit to lorenzschmid/cheby that referenced this pull request Jul 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consecutive single cycle write access
2 participants