From: Paul Mackerras Date: Sat, 13 Jun 2020 07:22:56 +0000 (+1000) Subject: register_file: Report value being written before asserting it's not X X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5a00029519a8887f87763cbef8424d1f90f2e1b1;p=microwatt.git register_file: Report value being written before asserting it's not X If a bug causes an indeterminate value to be written to a GPR, an assert causes simulation to abort. Move the assert after the report of the GPR index and value so that we get to know what the bad value is before the simulation terminates. Signed-off-by: Paul Mackerras --- diff --git a/register_file.vhdl b/register_file.vhdl index 2cffeea..4df032c 100644 --- a/register_file.vhdl +++ b/register_file.vhdl @@ -40,12 +40,12 @@ begin begin if rising_edge(clk) then if w_in.write_enable = '1' then - assert not(is_x(w_in.write_data)) and not(is_x(w_in.write_reg)) severity failure; if w_in.write_reg(5) = '0' then report "Writing GPR " & to_hstring(w_in.write_reg) & " " & to_hstring(w_in.write_data); else report "Writing GSPR " & to_hstring(w_in.write_reg) & " " & to_hstring(w_in.write_data); end if; + assert not(is_x(w_in.write_data)) and not(is_x(w_in.write_reg)) severity failure; registers(to_integer(unsigned(w_in.write_reg))) <= w_in.write_data; end if; end if;