end record alu_testv;
-- ggf. groesse des arrays erhoehen
- type alu_testv_array is array (natural range 0 to 20) of alu_testv;
+ type alu_testv_array is array (natural range 0 to 30) of alu_testv;
variable testmatrix : alu_testv_array :=
( 0 => (-5, ALU_DIV, 3, -1),
17 => (-153156, ALU_DIV, -3543, 43),
others => (0, ALU_ADD, 0, 0)
);
-
+ variable checkall : boolean := true;
begin
-- init & reset
sys_res_n <= '0';
"/= " & integer'image(to_integer(op3)) &
" -- erwartet: " & cinteger'image(testmatrix(i).expected);
+ if op3 /= to_signed(testmatrix(i).expected,CBITS) then
+ checkall := false;
+ end if;
+
icwait(sys_clk, 2);
-- ack it!
do_calc <= '0';
end loop;
- assert false
+ if checkall then
report "alle testfaelle der ALU waren erfolgreich!";
+ else
+ report "nicht alle testfaelle der ALU waren erfolgreich!";
+ end if;
stop <= true;
wait;
end process;