2

VHDL中有没有一种方法可以声明一个std_logic_vector它的大小根据输入的大小而不断变化?

我想做的是,输入std_logic_vector8 位的 a,然后有一个动态std_logic_vector信号来存储输入值。然后,下次再次接收到输入值时,我将值连接到动态信号的末尾,依此类推。

4

1 回答 1

3

您正在寻找的行为是不可能的。的大小std_logic_vector必须在编译时知道。因为 VHDL 用于描述硬件,所以std_logic_vector具有动态大小的 a 将对应于动态硬件(例如,在运行时实例化更多的寄存器)。这是不可能的。

你所描述的听起来像一个移位寄存器。您可以定义 astd_logic_vector(MAX_LEN-1 downto 0)然后在收到新值时将每个字节移动到更高阶的字节位置。

于 2013-04-12T11:16:56.053 回答