Jump to content

    

Я вставлял MicroBlaze в ISE проект.

Для отладочной платы ML402 сгенрировал в EDK простенький проект: только мигает лампочками и шлет отчеты по UART. Полностью развел не выходя из среды Platform Studio. Результат - все работает(лампочки мигают).

 

А потом попробовал создать точной такой же проект из среды ISE и встроить его. Ничего не вышло, глухо. В ISE, просто соединил выходы из MicroBlaze`а c выходами топового файла. UCF-файл скопировал. Все развелось, место на кристалле заняло, а не работает (лампочки не моргают).

 

Кто нибудь что-нибудь похожее видел?

Share this post


Link to post
Share on other sites
Для отладочной платы ML402 сгенрировал в EDK простенький проект: только мигает лампочками и шлет отчеты по UART. Полностью развел не выходя из среды Platform Studio. Результат - все работает(лампочки мигают).

 

А потом попробовал создать точной такой же проект из среды ISE и встроить его. Ничего не вышло, глухо. В ISE, просто соединил выходы из MicroBlaze`а c выходами топового файла. UCF-файл скопировал. Все развелось, место на кристалле заняло, а не работает (лампочки не моргают).

 

Кто нибудь что-нибудь похожее видел?

Вы пробовали делать behavioral simulation через ModelSim? Посмотрите на ISE/EDK 8.1 Tutorial стр. 29, соберите testbench, и посмотрите что будет.

Share this post


Link to post
Share on other sites

Очень просто решилась проблема.

В ISE 9.1 надо заливать не файл xxx.bit, а xxx_download.bit.

Их там генерится 2.

Share this post


Link to post
Share on other sites

Оказывается есть тема с нужным названием :rolleyes:

Только только приступил к изучению Microblaze. Сделал проект как у автора топика - светодиодиками мигает. Когда гружу ПЛИС файликом download.bit через IMPACT - все работает. Теперь нужно чтобы процессор стал одним из компонентов уже созданного в ISE проекта. Расскажите как правильно это сделать!

 

Как делал я. Для проверки создал новый ISE проект. Туда добавил корневой vhdl файл процесора (у меня он по умолчанию system.vhd называется). Затем добавил ngc файлы всех блоков из которых состоит процессор. Создал ucf файл и подключил выводы проца к выводам ПЛИС через буферы. Откомпилировал. Зашил в ПЛИС - не работает. Где ошибка?

Share this post


Link to post
Share on other sites
Оказывается есть тема с нужным названием :rolleyes:

Только только приступил к изучению Microblaze. Сделал проект как у автора топика - светодиодиками мигает. Когда гружу ПЛИС файликом download.bit через IMPACT - все работает. Теперь нужно чтобы процессор стал одним из компонентов уже созданного в ISE проекта. Расскажите как правильно это сделать!

 

Как делал я. Для проверки создал новый ISE проект. Туда добавил корневой vhdl файл процесора (у меня он по умолчанию system.vhd называется). Затем добавил ngc файлы всех блоков из которых состоит процессор. Создал ucf файл и подключил выводы проца к выводам ПЛИС через буферы. Откомпилировал. Зашил в ПЛИС - не работает. Где ошибка?

Ну модератору надо ответить :) А так можно было бы послать пользоваться поиском.

Если аппаратно вы сделали все правильно, я имею ввиду подтянули ngc части к hdl сорцам, то скорее всего проблема в то, что Ваша программа просто не запускается.

Я так понимаю программка у Вас не большая и вы хотите ее разместить в БРАМ плис. Если так, то после того как Вы развели Ваш проект и получили top_level.bit, Вам

необходимо записать в блочную память Вашу программу. Когда проект содержит только процессорную часть, делается в XPS, то все как у обезьян, кнопку нажал и вот

тебе операция top_level.bit + executable.elf = download.bit.

Вам же надо будет все сделать ручками.

Для этого есть утилита data2mem, про которую все написано в UG642. Утилите на вход даете top_level.bit, executable.elf, system_bd.bmm на выходе получаете файл вашей прошивки с

брам в которых содержится Ваша программа (аля download.bit, имя сами задаете). После ресета процессор обращается в брам и начинает, соответственно, выполнять инструкции.

Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память.

Обращаю Ваше внимание на файл system_bd.bmm, в этом файле описывается физическое расположение элементов брам на кристалле. Проследите, чтобы ISE расположил все

ячейки брам согласно этому файлу.

Share this post


Link to post
Share on other sites

К проекту надо добавлять system.xmp, больше ничего добавлять не надо.

Share this post


Link to post
Share on other sites

А с другой стороны пойти не проще?

В ISE, в New Source выбрать Embedded Processor, запустится XPS, мастером собираем процессор, потом добавляем нужные модули, если не хватает их в мастере.

В ISE подцепляем процессор, компилируем.

Пишем тестовую программу в XPS, компилируем, правой кнопкой щелкаем по нашему проекту софта, выбираем Make to Initialize BRAMs и в Device Configuration выбираем Update bitstream. Объединенный с софтом bit файл сформируется.

Share this post


Link to post
Share on other sites

Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE.

1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)?

2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE?

 

 

Share this post


Link to post
Share on other sites
Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE.

1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)?

2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE?

Посмотрите соседние топики для размышления. Например, чтение и запись, о процессорах.

 

Не стесняйтесь пользоваться поиском. Удачи. :rolleyes:

Share this post


Link to post
Share on other sites

Офф-топик, НО: авторы помните в форуме есть функция редактирования своих постов. Если вам правильно ответили, сразу же редактируете свой же первый пост!!

А то ДОБРЫЕ ЛЮДИ прочитав ваш вопрос и зная ответ, не читают двух-трех листов топика. А сразу же пишут ответ. И это при том, что их тут уже несколько.

Вот такое вот рационализаторское предложение сохдателям постов.

Share this post


Link to post
Share on other sites

Время, в течение которого пост можно отредактировать, ограничено. Это во-первых. Пост, после которого есть другие посты, отредактировать нельзя. Это во-вторых.

Share this post


Link to post
Share on other sites

"Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память."

- так как это сделать всетаки?

 

 

Share this post


Link to post
Share on other sites
"Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память."

- так как это сделать всетаки?

Прочитать xapp482

Share this post


Link to post
Share on other sites
Прочитать xapp482

 

Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает.

Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется.

Share this post


Link to post
Share on other sites
Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает.

Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется.

Рядом с pdf есть xapp482.zip

http://www.xilinx.com/support/documentatio...gn_configur.htm

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this