我写了一个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!
答案 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),如果您有足够的缓存,则对性能影响最小。