2017-01-10 50 views
0

为了在FPGA中实现算法,我需要存储一个非常大的恒定矩阵。我已经计算出我需要一个大小在30M左右的ROM存储器,所以FPGA的存储器是不够的。我正在考虑使用连接到FPGA的任何外部设备。是否有可能同时操纵如此大量的数据?在FPGA中需要大量存储器

谢谢!

+0

如果你需要操纵这么多的数据,你可能会更好运用DSP。 – user3528438

+0

问题是,虽然矩阵很大,但同时只需要几个元素,所以对这些元素的操作数量不会太高......我只需要一些方法来存储这些元素数据。 –

+0

矩阵稀疏是否意外? https://en.wikipedia.org/wiki/Sparse_matrix –

回答

0

你走在正确的道路上。将30Mbit存储在外部非易失性存储器(闪存)中。通常情况下,您可以在用于配置FPGA的同一闪存芯片中使用额外的容量(假设有足够的额外空间)。将一次所需的少量元素读入FPGA内部存储器中。如果闪存读取接口的带宽不足以跟上您的计算,则从外部闪存执行一次传输到外部RAM,并连续读取到FPGA内部缓冲区。

0

30Mbit对外部存储器没有那么大。

您需要首先使用非易失性存储器(闪存)。但不需要始终从闪存中读取这些内容。这取决于您的带宽。

如果您的带宽太大而不能闪存,可以使用更快的内存,如ASRAM或SSRAM或HyperRam或DDR SDRAM。上电后,您的FPGA可以从闪存中读取数据并将这些数据写入外部RAM。然后您可以从RAM中读取这些数据。

在这些情况下,您必须考虑带宽,封装和功耗以及成本和r/w功能模式。例如,当您按顺序读取数据时,DDR SDRAM可以实现高带宽。如果您访问随机地址或滑行地址,您将获得更低的带宽。

毕竟我建议你在做硬件工作之前首先全面地模拟你的功能。