wait for 30*clk_period;
assert i_in.valid = '1';
- assert i_in.insn = x"00000001";
+ assert i_in.insn = x"00000001"
+ report "insn @" & to_hstring(i_out.nia) &
+ "=" & to_hstring(i_in.insn) &
+ " expected 00000001"
+ severity failure;
i_out.req <= '0';
i_out.nia <= x"0000000000000008";
wait for clk_period;
assert i_in.valid = '1';
- assert i_in.insn = x"00000002";
+ assert i_in.insn = x"00000002"
+ report "insn @" & to_hstring(i_out.nia) &
+ "=" & to_hstring(i_in.insn) &
+ " expected 00000002"
+ severity failure;
wait for clk_period;
-- another miss
wait for 30*clk_period;
assert i_in.valid = '1';
- assert i_in.insn = x"00000010";
+ assert i_in.insn = x"00000010"
+ report "insn @" & to_hstring(i_out.nia) &
+ "=" & to_hstring(i_in.insn) &
+ " expected 00000010"
+ severity failure;
-- test something that aliases
i_out.req <= '1';
wait for 30*clk_period;
assert i_in.valid = '1';
- assert i_in.insn = x"00000040";
+ assert i_in.insn = x"00000040"
+ report "insn @" & to_hstring(i_out.nia) &
+ "=" & to_hstring(i_in.insn) &
+ " expected 00000040"
+ severity failure;
i_out.req <= '0';
--- /dev/null
+#!/usr/bin/python3
+
+b = bytearray()
+for i in range(0x100):
+ b = b + i.to_bytes(4, 'little')
+f = open('icache_test.bin', 'w+b')
+f.write(b)
+f.close()
+