VHDLの信号と変数についてお聞きしたいのですが、それらの違いは知っていますが、シミュレーションで違いを確認したいです。
Quartus ツールでこの単純なプログラムを使用して、それらの違いを確認しました。
ENTITY test IS PORT (
a : IN bit;
y : OUT bit);
END test;
ARCHITECTURE beh OF test IS
SIGNAL x : BIT;
BEGIN
PROCESS (a)
BEGIN
x <= '1';
IF x = '1' THEN y <= '0' AFTER 8 ns;
ELSE y <= '1' AFTER 5 ns;
END IF;
END PROCESS;
END BEH;
信号の場合と変数の場合:
entity test1 is port (
a : IN bit;
y : OUT bit);
end test1;
architecture beh of test1 is
begin
process (a)
variable x : bit;
begin
x := '1';
if x = '1' then y <= '0' after 8 ns;
else y <= '1' after 5 ns;
end if;
end process;
end beh;
最初のプログラムで違いを確認するために作成した波形を(y)value
に設定する必要がありますが、変更さ1
れ5ns
ません..なぜですか?
前もって感謝します。