当然还有 VHDL 中的等效语法?
较低的索引是索引的最小界限吗?具有不同边界但相同宽度的信号之间的分配会发生什么?
假设您的意思是宽度相同......
...所以,在 Verilog 中,让我们假设您的意思是
logic [19:4] v19_4;
logic [15:0] v15_0;
在 Verilog模拟中,除非尝试索引位,否则您不会遇到任何差异。
如果你索引这些位,你会发现
在第一种情况下,左手位是第 19 位(即v19_4[19]
),而在第二种情况下,左手位是第 15 位(即v15_0[15]
);
在第一种情况下,右侧位是位 4(即v19_4[4]
),而在第二种情况下,右侧位是位 0(即v15_0[0]
)。
在 Verilog 中,将左侧位称为“MSB”和右侧位称为“LSB”是有效的。
您将在 VHDL 中体验完全相同的行为。在 VHDL 中,假设您的意思是
signal v19_4 : std_logic_vector(19 downto 4);
signal v15_0 : std_logic_vector(15 downto 0);
同样,在 VHDL 模拟中,除非尝试索引位,否则您不会遇到任何差异。如果你索引这些位,你会发现
在第一种情况下,左手位是第 19 位(即v19_4(19)
),而在第二种情况下,左手位是第 15 位(即v15_0(15)
);
在第一种情况下,右侧位是位 4(即v19_4(4)
),而在第二种情况下,右侧位是位 0(即v15_0(0)
)。
通过综合,您可能会看到不同之处。通常建议从 0 开始索引向量以进行合成,以消除合成比您需要的更多位的可能性。但是,我认为大多数合成器会优化掉多余的逻辑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句