EXE tb
This commit is contained in:
parent
5375e88722
commit
21e157377d
34
exec_tb.vhdl
34
exec_tb.vhdl
|
@ -112,6 +112,9 @@ begin
|
||||||
|
|
||||||
ck <= not ck after 2 ns;
|
ck <= not ck after 2 ns;
|
||||||
process
|
process
|
||||||
|
|
||||||
|
signal vexe_res : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
-- add
|
-- add
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
|
@ -155,6 +158,9 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"0000001E";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
-- add lsl
|
-- add lsl
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -171,7 +177,7 @@ begin
|
||||||
dec_shift_asr <= '0';
|
dec_shift_asr <= '0';
|
||||||
dec_shift_ror <= '0';
|
dec_shift_ror <= '0';
|
||||||
dec_shift_rrx <= '0';
|
dec_shift_rrx <= '0';
|
||||||
dec_shift_val <= "00011"; --shift de 3
|
dec_shift_val <= "00011";
|
||||||
|
|
||||||
dec_alu_add <= '1';
|
dec_alu_add <= '1';
|
||||||
dec_alu_and <= '0';
|
dec_alu_and <= '0';
|
||||||
|
@ -197,6 +203,9 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"00000780";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
-- and
|
-- and
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -239,6 +248,10 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"01000000";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
|
|
||||||
-- and lsr
|
-- and lsr
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -281,6 +294,10 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"0000000";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
|
|
||||||
-- mov
|
-- mov
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -325,6 +342,10 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"FFFFFFFF";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
|
|
||||||
-- or asr
|
-- or asr
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -371,6 +392,10 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"08000000";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
|
|
||||||
-- or
|
-- or
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -413,6 +438,10 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"01000001";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
|
|
||||||
-- xor
|
-- xor
|
||||||
ck <= '0';
|
ck <= '0';
|
||||||
wait for 2 ns;
|
wait for 2 ns;
|
||||||
|
@ -455,7 +484,8 @@ begin
|
||||||
ck <= '1';
|
ck <= '1';
|
||||||
wait;
|
wait;
|
||||||
|
|
||||||
|
vexe_res <= x"00000001";
|
||||||
|
assert (exe_res = vexe_res) report "[error] lsl. vexe_res = " & integer'image(to_integer(unsigned(vexe_res))) & " versus exe_res = " & integer'image(to_integer(unsigned(exe_res))) severity error;
|
||||||
|
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue