2015-04-27 7 views
0

Я написал программу на C, которая имеет большой размер. Однако известно, что Microblaze по умолчанию использует только 64 КБ. Таким образом, изменить количество BRAM в EDK на 512К, но когда я генерировать битовый поток, я получил эту ошибку:Как увеличить память в Microblaze для приложений?

- 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

@JonathanDrolet Atlys spartan-6 xc6slx45 –

ответ

0

На спартанец-6, блок памяти blockRAM ЕДК в ограничены 64 кбайт, если они являются 32-битными большой , 128 КБ, если они 64 бита большие и 256 КБ, если они 128 бит большой. Кроме того, у спартанца-6 LX45 имеется только 238 КБ памяти BlockRAM, поэтому это совершенно невозможно на вашей платформе.

Память, которую использует microblaze для хранения ее программы, ограничена 32 битами, насколько я знаю. Чтобы использовать большие памяти, вам необходимо подключить их к порту AXI. В противном случае, Xilinx has an answer record о том, как использовать 2 разных 64 КБ памяти, чтобы представить 128 КБ для микроблаза.

Вам действительно нужна такая память? Если ответ «да», вместо этого вы должны использовать microblaze с внешней памятью. У вас будет гораздо больше доступной памяти (у вашей платы есть 128 МБ DDR, готовая к использованию) с минимальным воздействием на производительность, если у вас достаточно кешей.

+0

Я добавил еще один блок Bram, упомянутый в этом уроке, но отладчик все еще висит. –

+0

Отладчик даже работал на вас на этой доске? –

+0

Я получил это сообщение об ошибке: Target failed: (timeout) –

Смежные вопросы