gpt4 book ai didi

multidimensional-array - VHDL:为什么二维向量像嵌套的一维向量一样初始化?

转载 作者:行者123 更新时间:2023-12-02 04:45:09 33 4
gpt4 key购买 nike

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

最佳答案

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

关于multidimensional-array - VHDL:为什么二维向量像嵌套的一维向量一样初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33684051/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com