register file test case 30 failing
test case 30 is failing. it has added assertions and print info for the expected and received values.
failing at the assertion shown below:
-- Write to register 7
s_wc <= '1'; -- Enable write
s_wa <= "00111"; -- Write to register 7
s_r1 <= "00000"; -- Read from zero register
s_r2 <= "00111"; -- Read from register 7
s_wd <= x"12345678"; -- Write data to register 7
-- Expected: zero register should still be zero, register 7 should be updated
expected_d1 <= x"00000000"; -- Confirm zero register is still zero
expected_d2 <= x"12345678"; -- Confirm register 7 has been updated
wait for cclk_per;
s_wc <= '0'; -- Disable write
s_wa <= "00000"; -- Read from zero register
s_r1 <= "00000"; -- Read from zero register
s_r2 <= "00111"; -- Read from register 7 for comparison
-- Expected: zero register should still be zero, regardless of operations performed
expected_d1 <= x"00000000"; -- Confirm zero register is still zero
expected_d2 <= x"12345678"; -- Confirm register 7 is unchanged
ASSERT s_d1 = expected_d1 AND s_d2 = expected_d2 REPORT "Test 30 Failed expected_d1: " & to_string(expected_d1) & " s_d1: " & to_string(s_d1) & " expected_d2: " & to_string(expected_d2) & " s_d2: " & to_string(s_d2) SEVERITY FAILURE;
REPORT "Test 30 Passed" SEVERITY NOTE;
failing response in the questasim "terminal"
# ** Note: Test 1 Passed
# Time: 0 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 2 Passed
# Time: 100 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 3 Passed
# Time: 200 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 4 Passed
# Time: 300 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 7 Passed
# Time: 600 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 8 Passed
# Time: 700 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 9 Passed
# Time: 800 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 10 Passed
# Time: 900 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 11 Passed
# Time: 1 us Iteration: 0 Instance: /tb_register_file
# ** Note: Test 13 Passed
# Time: 1100 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 14 Passed
# Time: 1200 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 15 Passed
# Time: 1300 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 16 Passed
# Time: 1400 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 17 Passed
# Time: 1500 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 17 Passed
# Time: 1600 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 18 Passed
# Time: 1700 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 19 Passed
# Time: 1800 ns Iteration: 0 Instance: /tb_register_file
# ** Error: Test 25 Failed
# Time: 1900 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 25 Passed
# Time: 1900 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 26 Passed
# Time: 2 us Iteration: 0 Instance: /tb_register_file
# ** Note: Test 27 Passed
# Time: 2100 ns Iteration: 0 Instance: /tb_register_file
# ** Note: Test 28 Passed
# Time: 2200 ns Iteration: 0 Instance: /tb_register_file
# ** Failure: Test 30 Failed expected_d1: 00000000000000000000000000000000 s_d1: 00000000000000000000000000000000 expected_d2: 01010101010101010101010101010101 s_d2: 00000000000000000000000000000000
# Time: 2300 ns Iteration: