Browse Source

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 3 years ago
parent
commit
f74e8a4f79
  1. 24
      icache_tb.vhdl
  2. BIN
      icache_test.bin
  3. 9
      scripts/gen_icache_tb.py

24
icache_tb.vhdl

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


BIN
icache_test.bin

Binary file not shown.

9
scripts/gen_icache_tb.py

@ -0,0 +1,9 @@ @@ -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