VHDL では、配列 (ベクトル) は を使用して初期化できます(others => <element>)
。
1 次元の例:
signal mySignal1 : std_logic_vector(7 downto 0) := (others => '0');
ネストされた 2 つの 1 次元ベクトルを使用している場合、次の例のようになります。
type myVector is array(natural range <>) of std_logic_vector(7 downto 0);
signal mySignal2 : myVector(3 downto 0) := (others => (others => '0'));
OK、これが真の 2 次元の例です。
type myMatrix is array(natural range <>, natural range <>) of std_logic;
signal mySignal3 : myMatrix(3 downto 0, 7 downto 0) := (others => (others => '0'));
ご覧のとおり、信号の構造は前のものとは異なりますが、初期化は同じです。
この構文が(others, others => '0')
使用されている/使用されていないのはなぜですか?