Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
VHDL中有没有一种方法可以声明一个std_logic_vector它的大小根据输入的大小而不断变化?
std_logic_vector
我想做的是,输入std_logic_vector8 位的 a,然后有一个动态std_logic_vector信号来存储输入值。然后,下次再次接收到输入值时,我将值连接到动态信号的末尾,依此类推。
您正在寻找的行为是不可能的。的大小std_logic_vector必须在编译时知道。因为 VHDL 用于描述硬件,所以std_logic_vector具有动态大小的 a 将对应于动态硬件(例如,在运行时实例化更多的寄存器)。这是不可能的。
你所描述的听起来像一个移位寄存器。您可以定义 astd_logic_vector(MAX_LEN-1 downto 0)然后在收到新值时将每个字节移动到更高阶的字节位置。
std_logic_vector(MAX_LEN-1 downto 0)