VHDLの変数の使いどころ
出典: Wikimura
変数はプロセス文内でロジックを記述するのに役立つ。 例えば以下のように... A and B and Cがセットなら、これらを何度も書くのは面倒。
process( A, B, C)
begin
X <= A and B and C;
if( (A and B and C) = '1') then
Y <= '0';
else
Y <= Z;
end if;
end process;
信号を使う手はある。ただ、変数がグローバルに存在することになる。
プロセス文内だけで使う場合、わざわざグローバルなものを作るのは好ましくない。
ABC <= A and B and C;
process( ABC)
begin
X <= ABC;
if( ABC = '1') then
Y <= '0';
else
Y <= Z;
end if;
end process;
こんなときに変数を使う。
信号を束ねるのに使うことができる。
process( A, B, C)
variable ABC : std_logic;
begin
ABC := A and B and C;
X <= ABC;
if( ABC = '1') then
Y <= '0';
else
Y <= Z;
end if;
end process;
他にも変数は配列の並べ替えなんかにも使える。

