我有一个VHDL实体,它将块RAM定义为数组:
type BYTE_RAM_TYPE is array (0 to 255) of std_logic_vector(0 to 7);
signal ram : BYTE_RAM_TYPE;
我有另一个由Vivado HLS工具生成的VHDL实体。它使用原型转换C函数:
void dividedBy2(int array0Input[10], const int numElements);
到VDHL实体:
entity dividedBy2 is
port (
ap_clk : IN STD_LOGIC;
ap_rst : IN STD_LOGIC;
ap_start : IN STD_LOGIC;
ap_done : OUT STD_LOGIC;
ap_idle : OUT STD_LOGIC;
ap_ready : OUT STD_LOGIC;
array0Input_address0 : OUT STD_LOGIC_VECTOR (3 downto 0);
array0Input_ce0 : OUT STD_LOGIC;
array0Input_we0 : OUT STD_LOGIC;
array0Input_d0 : OUT STD_LOGIC_VECTOR (31 downto 0);
array0Input_q0 : IN STD_LOGIC_VECTOR (31 downto 0);
numElements : IN STD_LOGIC_VECTOR (31 downto 0) );
end;
我不知道如何连接array0Input_q0以便它使用“signal ram”的地址。
我在某处读到了我可以使用“访问类型”,即:
type BYTE_RAM_TYPE_ACCESS is access BYTE_RAM_TYPE
但是,我需要使用“new”来动态分配BYTE_RAM_TYPE。还有另一种方法吗?
非常感谢你的任何帮助..