首页 > 解决方案 > 在一行中分配一个 std_ulogic_vector 而不使用连接运算符 (&)

问题描述

我正在寻找一种分配 std_(u)logic_vectors 的好方法,而无需像下面的代码中那样手动添加零。示例代码:

signal test_32 : std_ulogic_vector(31 downto 0);
signal test_14 : std_ulogic_vector(13 downto 0);

test_32 <= "000000000000000000" & test_14; -- This works fine of course

我当然可以:

test_32(13 downto 0)   <= test_14;
test_32(31 downto 14)  <= (others => '0');

我想到了这样的事情(将所有内容放在一行中),但这不起作用:

test_32 <= (13 downto 0 => test_14, others => '0');

如果 14 个最低位也是恒定的,则上面的代码有效:

test_32 <= (13 downto 0 => '1', others => '0');

有人有建议吗?

标签: vhdl

解决方案


推荐阅读