如何实例化具有嵌入信号的通用实体

  • 本文关键字:信号 实体 实例化 vhdl
  • 更新时间 :
  • 英文 :


>我正在使用一个包来state_values:

library IEEE;
use IEEE.STD_LOGIC_1164.all;
package States is
   type state_values is (ST0,ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,ST16);
   signal pres_state, next_state: state_values;

end States;

这是我的组件,带有一个通用实体:

component NextStateLogic
    generic (
                BLRH       : STD_LOGIC_VECTOR (3 downto 0); 
                pres_state : state_values := ST0;
                next_state : state_values := ST0);
        end component;

在代码中,有几个嵌入式信号用于组件之间的通信:

    signal LRH_int        : STD_LOGIC_VECTOR (3 downto 0);
    signal next_state_int : state_values := ST0;
    signal pres_state_int : state_values := ST0;
    signal Clk1Hz_int     : STD_LOGIC;

在实例上向我显示下一个错误:

The actual value (Signal 'LRH_int') associated with a generic must be a globally static expression.
调查,我

无法将信号连接到泛型,我可以使用 const,但这个对代码的支撑没有用。有没有办法用另一种类型的嵌入式信号来实例化通用组件?

泛型用于在合成代码之前配置组件的所有内容。 例如,您可以有一个通用来配置输入和输出信号的宽度。

端口用于在运行时动态变化的所有内容,例如数据信号时钟等。

因此,让实体(或组件)只有一个通用映射是不明智的,因为它永远不会在硬件中做任何事情。使用端口定义。

最新更新