2

シミュレーション中に、時間値 7.5 ns、15 ns、22.5 ns などで A、B、および Y の値を返したいと考えています。以下は、これまでに実装したコードです (for ループ用)。数学的には理にかなっていますが、7.5 ns、30 ns、67.5 ns、120 ns の時間で値を返しています....コードのどこが間違っているのかわかりません。これを実装するためのより良い方法を知っていますか?

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;
4

0 に答える 0