如何在Microblaze中扩大软件应用程序的内存?

时间:2015-04-27 17:49:23

标签: fpga xilinx-edk

我写了一个C程序,它的大小很大。但是,众所周知,Microblaze默认只使用64KB。所以我将EDK中的BRAM数量更改为512K,但是当我生成bitsream时,我得到了这个错误:

- C:\Users\slim\Desktop\hs\system.mhs line 74 
IPNAME: plb_v46, INSTANCE: mb_plb - 2 master(s) : 1 slave(s) 
IPNAME: lmb_v10, INSTANCE: ilmb - 1 master(s) : 1 slave(s) 
IPNAME: lmb_v10, INSTANCE: dlmb - 1 master(s) : 1 slave(s) 
ERROR:EDK:440 - platgen failed with errors!
Done!

1 个答案:

答案 0 :(得分:0)

在Spartan-6上,如果它们是32位大,则EDK的blockRAM存储器块限制为64kB,如果它们是64位大则限制为128kB,如果它们是128位大则限制为256kB。此外,spartan-6 LX45只有238kB的BlockRAM内存,所以在你的平台上完全不可能。

据我所知,微博用于存储程序的内存限制为32位。要使用更大的存储器,您需要将其连接到AXI端口。否则,Xilinx has an answer record关于如何使用2个不同的64kB内存向微型光纤提供128kB。

你真的需要那么多记忆吗?如果答案是“是”,则应使用带外部存储器的微型光纤。您将拥有更多可用内存(您的主板可以使用128MB DDR),如果您有足够的缓存,则对性能影响最小。