当然还有VHDL中的等效语法?
较低的索引是索引的最小界限吗?在具有不同边界但宽度相同的信号之间的分配中会发生什么?
答案 0 :(得分:4)
假设你的意思是宽度相同......
...所以,在Verilog中我们假设你的意思是
logic [19:4] v19_4;
logic [15:0] v15_0;
在Verilog 模拟中,除非尝试索引位,否则不会有任何差异。
如果您对这些位编制索引,您会发现
在第一种情况下,左手位是位19(即v19_4[19]
),而在第二种情况下,左手位是位15(即v15_0[15]
); < / p>
在第一种情况下,右手位是位4(即v19_4[4]
),而在第二种情况下,右手位是位0(即v15_0[0]
)。< / p>
在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)
); < / p>
在第一种情况下,右手位是位4(即v19_4(4)
),而在第二种情况下,右手位是位0(即v15_0(0)
)。< / p>
使用综合,您可能会发现不同之处。 通常建议将0中的向量索引用于合成,以消除合成比您需要的更多位的可能性。但是,我认为大多数合成器会优化掉多余的逻辑。