I want to return values of A,B, and Y at time values 7.5 ns, 15 ns, 22.5 ns, etc during my simulation. Below is the code I've implemented thus far (for the for loop). Mathemitically it makes sense, but it's returning values at times 7.5 ns, 30 ns, 67.5 ns, 120 ns,.... I can't figure out where my code is wrong. Do you know of a better way to implement this?
constant InputPeriod : time := 15 ns;
----------------------------------
TEST:process
variable n : integer range 1 to 9;
begin
for I in 0 to 4 loop
wait for (n * (InputPeriod / 2));
report "A: " & std_logic'image(A);
report "B: " & std_logic'image(B);
report "Y: " & std_logic'image(Y);
n := n + 2;
end loop;
report "Test Completed";
wait;
end process TEST;