icache_tb: Improve test and include test file

The icache_test.bin file was missing. This adds it (along with a python3
script to generate it).

We also add better reporting on errors

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
pull/110/head
Benjamin Herrenschmidt 5 years ago
parent 900c131083
commit f74e8a4f79

@ -77,7 +77,11 @@ begin
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';

@ -88,7 +92,11 @@ begin
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
@ -98,7 +106,11 @@ begin
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';
@ -110,7 +122,11 @@ begin
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';


Binary file not shown.

@ -0,0 +1,9 @@
#!/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()

Loading…
Cancel
Save