From ce6b9a7c66629bf94cac5f203c0772d6c64dd704 Mon Sep 17 00:00:00 2001 From: Alex Mykyta Date: Wed, 3 May 2023 23:35:23 -0700 Subject: [PATCH] Fix remainder of wbuf strobe accumulation. #38 --- src/peakrdl_regblock/write_buffering/template.sv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/peakrdl_regblock/write_buffering/template.sv b/src/peakrdl_regblock/write_buffering/template.sv index 9235642..43e7973 100644 --- a/src/peakrdl_regblock/write_buffering/template.sv +++ b/src/peakrdl_regblock/write_buffering/template.sv @@ -11,11 +11,11 @@ always_ff {{get_always_ff_event(cpuif.reset)}} begin if({{segment.strobe}} && decoded_req_is_wr) begin {{wbuf_prefix}}.pending <= '1; {%- if node.inst.is_msb0_order %} - {{wbuf_prefix}}.data{{segment.bslice}} <= decoded_wr_data_bswap; - {{wbuf_prefix}}.biten{{segment.bslice}} <= decoded_wr_biten_bswap; + {{wbuf_prefix}}.data{{segment.bslice}} <= ({{wbuf_prefix}}.data{{segment.bslice}} & ~decoded_wr_biten_bswap) | (decoded_wr_data_bswap & decoded_wr_biten_bswap); + {{wbuf_prefix}}.biten{{segment.bslice}} <= {{wbuf_prefix}}.biten{{segment.bslice}} | decoded_wr_biten_bswap; {%- else %} - {{wbuf_prefix}}.data{{segment.bslice}} <= ({{wbuf_prefix}}.data{{segment.bslice}} & ~decoded_wr_biten{{segment.bslice}}) | (decoded_wr_data{{segment.bslice}} & decoded_wr_biten{{segment.bslice}}); - {{wbuf_prefix}}.biten{{segment.bslice}} <= decoded_wr_biten | {{wbuf_prefix}}.biten{{segment.bslice}}; + {{wbuf_prefix}}.data{{segment.bslice}} <= ({{wbuf_prefix}}.data{{segment.bslice}} & ~decoded_wr_biten) | (decoded_wr_data & decoded_wr_biten); + {{wbuf_prefix}}.biten{{segment.bslice}} <= {{wbuf_prefix}}.biten{{segment.bslice}} | decoded_wr_biten; {%- endif %} end {%- endfor %}