在VHDL中传递数组指针

时间:2018-04-11 23:21:55

标签: vhdl fpga

我有一个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。还有另一种方法吗?

非常感谢你的任何帮助..

0 个答案:

没有答案