0

大きなサイズの C プログラムを書きました。ただし、Microblaze はデフォルトで 64KB しか使用しないことがわかっています。そのため、EDK の BRAM の量を 512K に変更しましたが、ビットストリームを生成すると次のエラーが発生しました。

- 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!
4

1 に答える 1

0

Spartan-6 では、EDK のブロック RAM メモリ ブロックは、32 ビットの場合は 64kB、64 ビットの場合は 128kB、128 ビットの場合は 256kB に制限されます。さらに、spartan-6 LX45 では 238kB の BlockRAM メモリしか使用できないため、これはプラットフォームでは完全に不可能です。

私の知る限り、microblaze がプログラムを保存するために使用するメモリは 32​​ ビットに制限されています。より大きなメモリを使用するには、AXI ポートに接続する必要があります。それ以外の場合、ザイリンクスには、 2 つの異なる 64kB メモリを使用して 128kB を microblaze に提供する方法に関するアンサー レコードがあります。

本当にそんなにメモリが必要ですか?答えが「はい」の場合は、代わりに外部メモリを備えたマイクロブレイズを使用する必要があります。十分なキャッシュがあれば、パフォーマンスへの影響を最小限に抑えながら、より多くのメモリを利用できます (ボードには 128MB DDR が用意されています)。

于 2015-04-27T19:18:00.730 に答える