Le estoy dando una matriz 2d a un módulo VHDL. Esta matriz 2d se valora en un módulo verilog. El error que está dando ISE es que la matriz 2d se asume una memoria y no se puede acceder. He buscado en Google el error pero no hubo respuestas para este caso específico. Por favor ayúdame con esto. Aquí está la definición de la matriz 2d.
wire [IN_FIFO_DEPTH_BIT:0] depth_of_fifo[NUM_QUEUES-1:0];//storing the depth of all FIFOs
wire [IN_FIFO_DEPTH_BIT - 1:0] packet_size_temp[NUM_QUEUES-1:0];
Aquí está la parte de mi código de verilog que es la fuente del error.
Deficit_Round_Robbin_algorithem
#(
.Quantom(),
.Num_queues(NUM_QUEUES),
.IN_FIFO_DEPTH_BIT(IN_FIFO_DEPTH_BIT)
)
algorithem_module(
.clk(axi_aclk),
.axi_resetn(axi_resetn),
.m_axis_tready(m_axis_tready),
.packet_size(packet_size_temp), //Line 247
.fifo_out_tlast(fifo_out_tlast),
.empty(empty),
.rd_en(rd_en),
.pkt_fwd(pkt_fwd)
);
Y aquí está el mensaje de error
ERROR:HDLCompiler:251 - "K:/final project/codes/v3/input_arbiter.v" Line 247: Cannot access memory packet_size_temp directly
ERROR:HDLCompiler:598 - "K:/final project/codes/v3/input_arbiter.v" Line 46: Module <input_arbiter> ignored due to previous errors.