From ca9604e2c8a9c44ccba5223ef095d84cd618bbe1 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Sun, 29 Oct 2023 10:02:12 +0100 Subject: [PATCH] fix: offset ram by bytes, not bits --- src/ram.sv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ram.sv b/src/ram.sv index 64da55c27ed31414d62256ba31422b378d5002e1..69500b819b95a9a9bc139123609cceb94512bb69 100755 --- a/src/ram.sv +++ b/src/ram.sv @@ -8,14 +8,14 @@ module ram ( reg [4095:0] RAM; - assign rd = RAM[a[11:0] +:32]; // word aligned + assign rd = RAM[(a[11:0] * 8) +:32]; // word aligned always @(posedge clk) if(we) begin case(mask) - MEM_BYTE: RAM[a[11:0] +:8] <= wd[7:0]; - MEM_HALFWORD: RAM[a[11:0] +:16] <= wd[15:0]; - MEM_WORD: RAM[{a[11:0]} +:32] <= wd[31:0]; + MEM_BYTE: RAM[(a[11:0] * 8) +:8] <= wd[7:0]; + MEM_HALFWORD: RAM[(a[11:0] * 8) +:16] <= wd[15:0]; + MEM_WORD: RAM[(a[11:0] * 8) +:32] <= wd[31:0]; default: ; endcase end