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

Memory corruption during burst write #3

Closed
MJoergen opened this issue Mar 8, 2023 · 1 comment
Closed

Memory corruption during burst write #3

MJoergen opened this issue Mar 8, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@MJoergen
Copy link
Owner

MJoergen commented Mar 8, 2023

Short description

This bug only happens when writing with burstcount > 1, i.e. when issuing writes of more than 2 bytes. Basically, the controller ignores the byteenable input on all but the first clock cycle. This bug was observed in the ILA while investigating issue #2.

To reproduce

Start a write with burstcount = 2 and write the following:

  1. cycle: data = X"BBAA" with byteenable = "11"
  2. cycle: data = X"DDCC" with byteenable = "01"

Expected behavior

The memory is updated with the three bytes X"AA", X"BB", and X"CC".

Observed behavior

Four bytes are written to memory, i.e. the fourth byte X"DD" gets written as well, thus corrupting one byte of memory.

@MJoergen MJoergen added the bug Something isn't working label Mar 8, 2023
MJoergen added a commit that referenced this issue Mar 8, 2023
MJoergen added a commit that referenced this issue Mar 8, 2023
@MJoergen
Copy link
Owner Author

MJoergen commented Mar 8, 2023

Fixed in commit 11fb085

@MJoergen MJoergen closed this as completed Mar 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant