4

在 VHDL 中,数组(向量)可以使用(others => <element>).

一维示例:

signal mySignal1 : std_logic_vector(7 downto 0) := (others => '0'); 

如果我使用两个嵌套的一维向量,它看起来像这个例子:

type myVector is array(natural range <>) of std_logic_vector(7 downto 0);
signal mySignal2 : myVector(3 downto 0) := (others => (others => '0'));

好的,这是真正的二维示例:

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')使用/选择?

4

1 回答 1

0

因为构造中的逗号“,”(其他,其他 => '0')意味着这两个项是向量的标量元素。他们不是。(others => (others => '0')) 是唯一完全不受约束的嵌套向量构造 VHDL。

于 2016-09-22T17:31:25.823 回答