Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Я вставлял MicroBlaze в ISE проект.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
icyrock
Для отладочной платы ML402 сгенрировал в EDK простенький проект: только мигает лампочками и шлет отчеты по UART. Полностью развел не выходя из среды Platform Studio. Результат - все работает(лампочки мигают).

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

Кто нибудь что-нибудь похожее видел?
CodeWarrior1241
Цитата(icyrock @ Apr 27 2007, 07:03) *
Для отладочной платы ML402 сгенрировал в EDK простенький проект: только мигает лампочками и шлет отчеты по UART. Полностью развел не выходя из среды Platform Studio. Результат - все работает(лампочки мигают).

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

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

Вы пробовали делать behavioral simulation через ModelSim? Посмотрите на ISE/EDK 8.1 Tutorial стр. 29, соберите testbench, и посмотрите что будет.
icyrock
Очень просто решилась проблема.
В ISE 9.1 надо заливать не файл xxx.bit, а xxx_download.bit.
Их там генерится 2.
Alexandr
Оказывается есть тема с нужным названием rolleyes.gif
Только только приступил к изучению Microblaze. Сделал проект как у автора топика - светодиодиками мигает. Когда гружу ПЛИС файликом download.bit через IMPACT - все работает. Теперь нужно чтобы процессор стал одним из компонентов уже созданного в ISE проекта. Расскажите как правильно это сделать!

Как делал я. Для проверки создал новый ISE проект. Туда добавил корневой vhdl файл процесора (у меня он по умолчанию system.vhd называется). Затем добавил ngc файлы всех блоков из которых состоит процессор. Создал ucf файл и подключил выводы проца к выводам ПЛИС через буферы. Откомпилировал. Зашил в ПЛИС - не работает. Где ошибка?
Mad_max
Цитата(Alexandr @ Sep 2 2010, 14:24) *
Оказывается есть тема с нужным названием rolleyes.gif
Только только приступил к изучению Microblaze. Сделал проект как у автора топика - светодиодиками мигает. Когда гружу ПЛИС файликом download.bit через IMPACT - все работает. Теперь нужно чтобы процессор стал одним из компонентов уже созданного в ISE проекта. Расскажите как правильно это сделать!

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

Ну модератору надо ответить smile.gif А так можно было бы послать пользоваться поиском.
Если аппаратно вы сделали все правильно, я имею ввиду подтянули 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 расположил все
ячейки брам согласно этому файлу.
Koluchiy
К проекту надо добавлять system.xmp, больше ничего добавлять не надо.
Alex_VI
А с другой стороны пойти не проще?
В ISE, в New Source выбрать Embedded Processor, запустится XPS, мастером собираем процессор, потом добавляем нужные модули, если не хватает их в мастере.
В ISE подцепляем процессор, компилируем.
Пишем тестовую программу в XPS, компилируем, правой кнопкой щелкаем по нашему проекту софта, выбираем Make to Initialize BRAMs и в Device Configuration выбираем Update bitstream. Объединенный с софтом bit файл сформируется.
POMbI4
Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE.
1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)?
2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE?

mdmitry
Цитата(POMbI4 @ Mar 4 2011, 13:13) *
Создал проект в EDK с процессором Microblaze. В этом проекте присутствуют External Ports (RESET, CLK + еще несколько других). Добавил этот проект (*.xmp) в качестве модуля в проект ISE.
1. Обязательно ли все эти ExternalPorts должны быть выведены наружу ПЛИС (top модуля проекта ISE)?
2. Можно ли ExternalPorts модуля Microblaze использовать внутри ПЛИС для соединения со своими модулями в проекте ISE?

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

Не стесняйтесь пользоваться поиском. Удачи. rolleyes.gif
Дварфик
Офф-топик, НО: авторы помните в форуме есть функция редактирования своих постов. Если вам правильно ответили, сразу же редактируете свой же первый пост!!
А то ДОБРЫЕ ЛЮДИ прочитав ваш вопрос и зная ответ, не читают двух-трех листов топика. А сразу же пишут ответ. И это при том, что их тут уже несколько.
Вот такое вот рационализаторское предложение сохдателям постов.
andrew_b
Время, в течение которого пост можно отредактировать, ограничено. Это во-первых. Пост, после которого есть другие посты, отредактировать нельзя. Это во-вторых.
slkhome
"Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память."
- так как это сделать всетаки?

Alex77
Цитата(slkhome @ Aug 11 2011, 03:35) *
"Для более тяжеловесных программ, в брам помещают загрузчик (bootloader), который вытягивает из флеэшки штатную программу и переписывает в оперативную память."
- так как это сделать всетаки?

Прочитать xapp482
slkhome
Цитата(Alex77 @ Aug 11 2011, 10:55) *
Прочитать xapp482


Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает.
Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется.
Alex77
Цитата(slkhome @ Aug 19 2011, 14:47) *
Ну прочитал, а попутно еще узнал что это можно делать, как бы, в iMpact е, хотя на самом деле почему-то не делает.
Согласно xapp482 надое еще xapp482.exe! гдеж его взять? На официальном сайте не нашел, просто так тоже не валяется.

Рядом с pdf есть xapp482.zip
http://www.xilinx.com/support/documentatio...gn_configur.htm
slkhome
Цитата(Alex77 @ Aug 19 2011, 15:38) *


Благодарствую, чет тупанул ))
slkhome
Всем огромное спасиба! Все заработало.
Скачал, все получилось, только в конце концов нашел еще другой вариант.
Можно Все это сделать и в иМпакте, но надо подкидывать ему не .elf файл, а например .srec, который можно сделать с помощью data2mem. Если иМпакту подкидывать .srec то он не вылетате и спокойно его добавляет к .bit и генерит .mcs файл. В этом случае можно спокойно использовать стандартный бутлоадер с небольшими поправками. А для пущей простоты исходники можно скачать на Авнете для платки ЛиКс9.
TABKP
Коллеги, прошу помощи. Создал несколько проектов в XPS, а небольшие модули из ISE цеплял как периферию. И хорошо все работало. А теперь встала необходимость сделать ISE проект головным, а в него уже добавить проц. Есть готовый проект в ISE. Создаю новый компонент Embedded Processor. Запускается XPS. Как обычно собираю процессор. Запускаю Generate Netlist. И он вываливается мне с ошибкой:
"Error: NgdBuild:25 - Cannot both read and write file. Далее путь к Ngc файлу проца в папке implementation. Please specify a file other than the destanation NGD file as the top level input design file."
Ну думаю ладно - ISE сам наверно скомпилит проц. Запускаю Export Hardware Design to SDK. Создаю пустой c++ проект. И в процессе формирования своих рабочих папок и файлов выдаются сообщения вида: unable to rename '../../../lib/libxil.a' reason: Device or resource busy. И действительно файл libxil.a НЕ создается, а без него в процессе компиляции проекта выдаются ошибки на все функции описанные в стандартных библиотеках, хоть все эти библиотеки и подключены.
Прям засада какая-то. Что я не правильно делаю? Что упустил?
Alex77
Цитата(TABKP @ May 15 2012, 16:21) *
Коллеги, прошу помощи. Создал несколько проектов в XPS, а небольшие модули из ISE цеплял как периферию. И хорошо все работало. А теперь встала необходимость сделать ISE проект головным, а в него уже добавить проц. Есть готовый проект в ISE. Создаю новый компонент Embedded Processor. Запускается XPS. Как обычно собираю процессор. Запускаю Generate Netlist. И он вываливается мне с ошибкой:
"Error: NgdBuild:25 - Cannot both read and write file. Далее путь к Ngc файлу проца в папке implementation. Please specify a file other than the destanation NGD file as the top level input design file."
Ну думаю ладно - ISE сам наверно скомпилит проц. Запускаю Export Hardware Design to SDK. Создаю пустой c++ проект. И в процессе формирования своих рабочих папок и файлов выдаются сообщения вида: unable to rename '../../../lib/libxil.a' reason: Device or resource busy. И действительно файл libxil.a НЕ создается, а без него в процессе компиляции проекта выдаются ошибки на все функции описанные в стандартных библиотеках, хоть все эти библиотеки и подключены.
Прям засада какая-то. Что я не правильно делаю? Что упустил?

НАчать с простого:
1)Создать проект в ISE на базе плисы, которая стоит в демо плате (любая).
Добавить компонент Embedded Processor.
С помощью визарда создать "процессор" (для выбранной демо платы)
Создать топ модуль в ise из "компонент Embedded Processor".
Собрать проект в ise.
Потом делать Export Hardware Design to SDK
итд.
2) Взять готовый пример для демо платы.

И только потом тренироваться добавлять "свои" "небольшие модули из ISE" в ISE или EDK.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.