Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MicroBlaze и светодиод
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Caruso
Всем привет.

Есть плата. На плате установлена FPGA Spartan 3AN. Хочу поморгать светодиодом, но ничего не получается. В голове путаница возникла...
Хочется сделать такой проект что бы в ПЛИС было ядро и что бы можно было использовать оставшуюся часть ресурсов плис под свои нужды. Вот что я делаю:

-Создаю проэкт в ISE Design Suite 14.4 выбираю в настройках свою плис.
-Добавляю в пустой проэкт ядро через Project < New Sourse <IpCore < UBC(это имя ядра).
-Открывается мастер настройки ядра, я выбираю нужную перефирию. Вот здесь возникает вопрос: Что указывать в Instance Hierarchical Design Name? Я там оставляю, то что мне мастер предложил mcs_0
-Генерирую ядро
-Создаю схемный файл верхнего уровня top.sch и добавляю туда свое ядро и еще периферию
-Создаю ucf файл с распиновкой
-Синтезирую проэкт. Ошибок вроде нет.
-Выполняю скрипт source ipcore_dir/microblaze_mcs_setup.tcl. Ошибок вроде нет.
-Делаю Implement и вот тут появляются ошибки

ERROR:NgdBuild:989 - Failed to process BMM information ipcore_dir/UBC.bmm
INTERNAL_ERROR::45 - Memory allocation leak of 112 bytes at 0x06F80A58 for a 'AddressMappingType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 47 bytes at 0x06EE2450 for a StrNew.
INTERNAL_ERROR::45 - Memory allocation leak of 88 bytes at 0x06FB1E38 for a 'AddressMapType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 40 bytes at 0x06E93BB8 for a 'symbol_context' record.
INTERNAL_ERROR::45 - Memory allocation leak of 27 bytes at 0x06F22A60 for a StrDup.
INTERNAL_ERROR::45 - Memory allocation leak of 16 bytes at 0x06EE2980 for a 'DataFileNameListType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 24 bytes at 0x06EE2E88 for a 'AddressSpaceLinkType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 96 bytes at 0x06FB1D60 for 'void *' data.

Что не так делаю?
dm.pogrebnoy
Что-то с памятью. Смотрите UBC.bmm, возможно нужно поправить пути к памяти с поправкой на иерархию в проекте.
Caruso
Сдается мне, что все дело в в параметре Instance Hierarchical Design Name, который указывается при генерации ядра. Порылся в сети и нашел описание:

Instance Hierarchical Design Name- Defines the unique instance name of the core in
the design hierarchy. The path should indicate the full hierarchy from the top level. If
the core is directly instantiated at the top level, this is just the instance name.
источник(LogiCORE IP MicroBlaze Micro Controller System v1.3 Product Guide PG048)

Пытался перевести, но так смысла и не уловил. Может кто - нибудь разъяснить чего там написано
vzelenuk
Цитата(Caruso @ Feb 18 2014, 20:40) *
Сдается мне, что все дело в в параметре Instance Hierarchical Design Name, который указывается при генерации ядра. Порылся в сети и нашел описание:

Instance Hierarchical Design Name- Defines the unique instance name of the core in
the design hierarchy. The path should indicate the full hierarchy from the top level. If
the core is directly instantiated at the top level, this is just the instance name.
источник(LogiCORE IP MicroBlaze Micro Controller System v1.3 Product Guide PG048)

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


Они говорят, что Instance Name это уникальное имя в иерархии дизайна, если дизайн состоит из нескольких уровней иерархии. Путь (который как я полагаю входит в имя данного Instance name) должен включать в себя названия всех уровней начиная от верхнего уровня и заканчивая данным Instance Name. Если в дизайне нет никакой иерархии, и весь дизайн состоит из процессора, то Instance Name это просто name то есть любой набор "букаф".
Golikov A.
я вижу одну главную ошибку!
Цитата
-Создаю проэкт в ISE Design Suite 14.4 выбираю в настройках свою плис


это в корне не правильно. Ну вернее не так категорично но не правильно.

Правильный workflow - рабочий процесс такой.
1. создаете ядро в Platform studio, там сразу будет сделано все верно, настроите все, соедините, выберите частоты, добавите уарты, и стандартную перифирию, отладку и так далее...
2. В ней же через Create or Import создадите шаблон для своего внешнего блока - если он вам понадобиться (сразу с проектом для ISE)
3. в ISE открываете и правите шаблон, проверяете, симулируете, и имплементируете
4. В platform studio через Create or Import импортируете только что имплементированый шаблон, подключаете его к процу, вешаете на шины и так далее...
5. Там же задаете все констрайны, и генерите ядро, после чего экспортируете все в SDK
6. В SDK вы к полученному железному проекту, добавляете свои софтварные проекты, выбираете библиотеки, операционки, файловые системы, езернет стэки, подключаете отладочную информацию (имеется возможность вывода сразу на UART). Там же размечаете память, и компилируете прошивку
7. Дальше имеется несколько возможностей запуска программы, от просто запустить, до создать прошивку плис и прошить ее через IMPACT или встроенные методы
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.