Skip to content

Conversation

@povik
Copy link

@povik povik commented Jan 13, 2026

The simulation model for SP memories wasn't describing a functional memory as on a write it was only setting bits, never clearing them. Fix the write statement.

The bitwise OR operation may have been a remnant of a write mask. Before commit 0fb7f8c ("Re-factored fakeram to support sp/dp ram/regfile") there was a commented-out line:

# V_file.write('            mem[addr_in] <= (wd_in & w_mask_in) | (mem[addr_in] & ~w_mask_in);\n')

The simulation model for SP memories wasn't describing a functional
memory as on a write it was only setting bits, never clearing them.
Fix the write statement.

The bitwise OR operation may have been a remnant of a write mask. Before
commit 0fb7f8c ("Re-factored fakeram to support sp/dp ram/regfile")
there was a commented-out line:

    # V_file.write('            mem[addr_in] <= (wd_in & w_mask_in) | (mem[addr_in] & ~w_mask_in);\n')

Signed-off-by: Martin Povišer <povik@cutebit.org>
Copy link
Collaborator

@jeffng-or jeffng-or left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I see some test failures that are unrelated to your change, so I'll fix those once yours gets merged.

@maliberty maliberty merged commit 4fb92f4 into The-OpenROAD-Project:main Jan 15, 2026
20 checks passed
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.

3 participants