Fix fence by disallowing x-initialization instead of all-0 mask

Setting mem_req_mask to all-zero triggers an assertion error in
mem_scheduler.  Instead, disallow initialize-by-x in instruction decode
which is the source of x-propagation.  Since this seems to only happen
in VCS, define-gate it accordingly.

This reverts commit a15f4fd483.
This commit is contained in:
Hansung Kim
2024-03-07 17:39:18 -08:00
parent 010c4675ce
commit 8317a3fbe5
2 changed files with 9 additions and 1 deletions

View File

@@ -148,13 +148,21 @@ module VX_decode #(
always @(*) begin
ex_type = '0;
`ifdef VCS
op_type = '0;
`else
op_type = 'x;
`endif
op_mod = '0;
rd_r = '0;
rs1_r = '0;
rs2_r = '0;
rs3_r = '0;
`ifdef VCS
imm = '0;
`else
imm = 'x;
`endif
use_imm = 0;
use_PC = 0;
use_rd = 0;