From: Anton Blanchard Date: Sun, 12 Jun 2022 01:42:32 +0000 (+1000) Subject: icache: Don't output X on i_out.insn X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e7f0a7c7acd55b6f62230ce9745b6aa123d4130b;p=microwatt.git icache: Don't output X on i_out.insn decode1 has a lot of logic that uses i_out.insn without first looking at i_iout.valid. Play it safe and never output X state. Signed-off-by: Anton Blanchard --- diff --git a/icache.vhdl b/icache.vhdl index a51209e..e8acaa7 100644 --- a/icache.vhdl +++ b/icache.vhdl @@ -555,7 +555,11 @@ begin -- I prefer not to do just yet as it would force fetch2 to know about -- some of the cache geometry information. -- - i_out.insn <= read_insn_word(r.hit_nia, cache_out(r.hit_way)); + if r.hit_valid = '1' then + i_out.insn <= read_insn_word(r.hit_nia, cache_out(r.hit_way)); + else + i_out.insn <= (others => '0'); + end if; i_out.valid <= r.hit_valid; i_out.nia <= r.hit_nia; i_out.stop_mark <= r.hit_smark;