Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: хочу познакомиться с привлекательным процессором
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
koshaNIA
Здравствуйте!
О себе - плата ml505 с плисом Virtex-5. Отладочная плата начинена всем, чем надо и чем не очень.
Вот знакомлюсь с процессорами Picoblaze, MicroBlaze, PowerPC. Особенно выделил Microblaze т.к. в ISE легко создавать (ламерский параметр, но увы)
Из документаций http://www.xilinx.com/support/documentatio..._microblaze.htm не понял одного факта: так "схватывает" он периферию на плате или нет? Т.е. там есть возможность присоеденить память. Нужно ли для этого указывать, что "память так находится на выводах таких-то"? Попробую еще конкретней спросить: XPS работает с СОБСТВЕННО ПЛИСОМ или ПЛИСОМ, КАК СОСТАВЛЯЮЩЕГО ОТЛАДОЧНОЙ ПЛАТЫ?

Буду благодарен за помощь и снисходительность к моему ламерству!
tAmega
EDK работает с микросхемой ПЛИС. И как удобная опция, можно выбрать свою фирменную отладочную плату, к которой подцепится вся периферия.
Но если у Вас плата собственной разработки, однозначно можно сконфигурировать EDK для работы со своей оригинальной платой, и такой же оригинальной памятью, DDR, DDR2. Настройки внутри EDK, выбираете ipcore и конфигурируете. Я не спец, но "рядом стоял", видел как это делается. И на Youtube полно видео на эту тему, порядка 15 видеороликов как конфигурировать в EDK процессор.
koshaNIA
Цитата(tAmega @ Jan 14 2011, 19:52) *
EDK работает с микросхемой ПЛИС. И как удобная опция, можно выбрать свою фирменную отладочную плату, к которой подцепится вся периферия.
Но если у Вас плата собственной разработки, однозначно можно сконфигурировать EDK для работы со своей оригинальной платой, и такой же оригинальной памятью, DDR, DDR2. Настройки внутри EDK, выбираете ipcore и конфигурируете. Я не спец, но "рядом стоял", видел как это делается. И на Youtube полно видео на эту тему, порядка 15 видеороликов как конфигурировать в EDK процессор.


Плата фирменная, была бы своя - проблем было бы меньше (кажеться) - поставил аппаратный модуль взаимодействия и дело с концом.
А вот, опять же ламерские порывы, могли бы ли Вы сослаться на какие-то из этих роликов? Мастер-класс по этому делу мне явно не помешает.
mdmitry
Я запускал в такой последовательности для версии 12.2(3) (Полезно и для себя записать наконец-то rolleyes.gif )
1. Запуск ISE
2. Выбор соответствующего типа FPGA.
3. Выбор либо своего дизайна, либо платы (если поддерживается используемой версией ISE)
4. Далее использовал визард (BSB). В нем более-менее все понятно, включая выбор необходимой периферии. Будет запущен XPS.
5. В XPS проверить и при необходимости корректируются данные на вкладках Bus Interfaces и Ports.
6. На в вкладке Addesses делал Generate Addesses.
7. XPS: Project->Export Hardware Design to SDK выбор Export only
8. ISE: Project->Add Source выбор ../xxxx/data/xxxx.ucf xxxx - ваше название процессора в визарде. Этот файл для платы есть и редактировать не надо, для своей надо сделать в соответствие с железом.
9. ISE:Выделить в окне Hierarchy xxxx.xmp
10. ISE: В окне Processos Generate Programming File. Ждем сообщения о генерации. Если ошибки, у меня были из-за самодельного xxxx.ucf, то их надо исправить и добиться появления файлов.
11. Запуск SDK. Я устанавливал workplace в директорию проекта.
12. SDK: File->New->Xilinx Hardware Platform Specification В открывшемся окне ввести в Target Hardware Specification ../SDK/SDK_Export/hw/xxxx.xml
Далее ввести пути к
Bitstream: .../xxxx.bit (Находиться в корне директории проекта, получен на этапе 8)
BMM File: .../edkBmmFile_bd.bmm (Находиться в корне директории проекта, получен на этапе 8)
13. SDK: File->New->Board Support Package Выбирал standalone и все по умолчанию. В новом окне Support Package Settings <Ok>, то есть ничего не менял.
14. SDK: File->New->Xilinx C Project выбрал hello_world (по умолчанию), далее Next и Выбрать Target an existing Board Support Package.
15. Автоматически генерируется проект hello_world_0
16. SDK: Xilinx Tools-> Program FPGA В окне необходимо задать те же bit и bmm файлы, что и ранее (top level of project). Если все подключено (кабель JTAG), то загружаем. У меня не с первого раза загрузилось без ошибок.
17. Из SDK запускаем программу на выполнение (Run или Debug). При подключенном кабеле к RS-232 и запущенном терминале (9600 8 N) получим сообщение о мире.

Это проделывалось для одного ядра microblaze

Приветствуется конструктивная критика алгоритма, упрощение и т.д.
kreakozeablik
При создании проекта в EDK, при помощи "Base System Builder", на этапе "Board Selection" можно указать используемую отладочную плату. Для неё будет создан проект со всей переферией и соответствующим ucf файлом.
tAmega
Цитата(koshaNIA @ Jan 14 2011, 18:59) *
Плата фирменная, была бы своя - проблем было бы меньше (кажеться) - поставил аппаратный модуль взаимодействия и дело с концом.
А вот, опять же ламерские порывы, могли бы ли Вы сослаться на какие-то из этих роликов? Мастер-класс по этому делу мне явно не помешает.


Наберите в гугле "EDK Microblaze video". Там все просто, заходите на первое попавшееся видео по теме EDK, а справа и внизу ссылки на похожие видео, вот так и вытягиваете всех тараканов по EDK.
Можно начать отсюда http://www.youtube.com/watch?v=MC1amstP_8A
yes
Цитата(koshaNIA @ Jan 14 2011, 14:36) *
Здравствуйте!
О себе - плата ml505 с плисом Virtex-5. Отладочная плата начинена всем, чем надо и чем не очень.
Вот знакомлюсь с процессорами Picoblaze, MicroBlaze, PowerPC. Особенно выделил Microblaze т.к. в ISE легко создавать (ламерский параметр, но увы)
..................
для этого указывать, что "память так находится на выводах таких-то"? Попробую еще конкретней спросить: XPS работает с СОБСТВЕННО ПЛИСОМ или ПЛИСОМ, КАК СОСТАВЛЯЮЩЕГО ОТЛАДОЧНОЙ ПЛАТЫ?


ну с PowerPC познакомится не удастся - для этого надо быть минимум ml507
возьмите пример с MicroBlaze в комплекте для данной плате и разбирайте: Picoblaze скорее всего это не то что ожидается от процессора

ПЛИС стоящий на конкретной плате требует дополнительного описания - какая-ножка ПЛИС к чему на этой плате подключена и т.п. (для готовой платы ml505 такое описание сделано ксайлинксом (и плата сконструирована правильно) и взять его можно из примеров для этой конкретной платы). даже больше, если память мне не изменяет, то "визард" EDK "знает" про эту плату и может облегчить процедуру даже для собственного проекта.

если же плата самодельная - то возникает вопрос правильного подключения ножек и создания дополнительных описаний для средств проектирования ПЛИС

koshaNIA
Цитата(mdmitry @ Jan 14 2011, 19:28) *
Я запускал в такой последовательности для версии 12.2(3) (Полезно и для себя записать наконец-то rolleyes.gif )
...
3. Выбор либо своего дизайна, либо платы (если поддерживается используемой версией ISE)

А плату где выбирали? У меня в свойствах проекта был выбор устройства, а платы не нашел. Или может не в свойствах проекта это искать?
Цитата(mdmitry @ Jan 14 2011, 19:28) *
...
4. Далее использовал визард (BSB). В нем более-менее все понятно, включая выбор необходимой периферии. Будет запущен XPS.
...

А можно сразу выбрать "новый сорс" -> процессор, вместо отдельно создавать и добавлять (вопрос может и глупый, но иногда без бубна никак sm.gif)
mdmitry
Цитата(koshaNIA @ Jan 18 2011, 23:46) *
А плату где выбирали? У меня в свойствах проекта был выбор устройства, а платы не нашел. Или может не в свойствах проекта это искать?

А можно сразу выбрать "новый сорс" -> процессор, вместо отдельно создавать и добавлять (вопрос может и глупый, но иногда без бубна никак sm.gif)

там выбор либо платы, известной для среды из списка либо новый десайн. У меня была плата старая и в версии 12.x ее не было в списке.
Если будет актуально, то могу пошагово описать свои действия и с BSB.
koshaNIA
Цитата(mdmitry @ Jan 19 2011, 00:19) *
там выбор либо платы, известной для среды из списка либо новый десайн. У меня была плата старая и в версии 12.x ее не было в списке.
Если будет актуально, то могу пошагово описать свои действия и с BSB.


Все равно не понял wacko.gif В свойствах проекта есть пункты "Top-Level Source Type" / "Product Category" / "Family" / "Device" / "Package" / "Speed" / "Synthesis Tool" / "Simulator" / "Preferred Language" / "Property Specification" / "Manual Compile Order" / "VHDL Source Standart" / "Enable Message Filtering".
Вот в "Family" выбрал Virtex-5, из "Device" - какой-то там код (какой на плисе написан), "Package" - корпус (?) - тоже на плисе написан. Вот и все. А где выбрать плату (ml505 в моем случае) - не знаю (. Версия среды ISE 12.1
А насчет пошаговых действий - оче-е-ень актуально.
powerc
Цитата(koshaNIA @ Jan 19 2011, 00:34) *
Все равно не понял wacko.gif В свойствах проекта есть пункты "Top-Level Source Type" / "Product Category" / "Family" / "Device" / "Package" / "Speed" / "Synthesis Tool" / "Simulator" / "Preferred Language" / "Property Specification" / "Manual Compile Order" / "VHDL Source Standart" / "Enable Message Filtering".
Вот в "Family" выбрал Virtex-5, из "Device" - какой-то там код (какой на плисе написан), "Package" - корпус (?) - тоже на плисе написан. Вот и все. А где выбрать плату (ml505 в моем случае) - не знаю (. Версия среды ISE 12.1
А насчет пошаговых действий - оче-е-ень актуально.



Это не в устройствах выбирается, а в base system bilder визарде. Когда откроешь EDK, он по умолчанию предлагает воспользоваться уже готовыми настройками для ряда отладочных плат. Если в списке нету твоей платы, то можно поискать на сайте производителя платы файлики поддержки твоей платы.

Так например у меня digilent nexys2, в систем билдере не было ее в списке готовых настроек. Я пошел на сайт digilent, скачал там файлы, поместил в нужную папку (описание файлов и места куда их надо поместить, были в архиве). И - вуаля, халява подана.
Если таких файликов ты не найдешь, то нужно создавать проект с нуля, настраивать ручками, смотря в электрическую схему твоей платы.

Надеюсь моя писанина хоть чуток поможет.
mdmitry
Цитата(koshaNIA @ Jan 19 2011, 00:34) *
А насчет пошаговых действий - оче-е-ень актуально.

1. В ISE PN -> New Project... Задали путь и имя проекта.
2. Выбор FPGA включая корпус и скорость
3. Далее Ok и получили пустой проект в ISE PN.
4. ISE PN ->Project-> New source.
5. Выбор Embedded Processor и задали имя, Add to project установлено, Next
6. Finish.
7. Запускается XPS
8. Запрос на использование BSB. Используем.
9. Выбор шины. Я использую PLB System.
10. Welcome: BSB выбор new design или existing bsb settings. У меня плата старая и не поддерживается в 12.x Выбираю первое. Next
11. Board: Create system for custom board. Next.
12. System: Single-processor system, Next
13. Processor: настройка частот, типа процессора, объемов памяти. Next
14. Peripheral: добавляем необходимую периферию и тут же настраиваем ее. Next
15. Cache: Next
16. application: Next
17. Symmary: Finish.
18. Генерирование *.ucf. Ok
19. Проект в XPS создан.
пункт 4 выполнен. Далее как было описано.
Могут быть отличия при выборе разных типов FPGA.
многое можно потом перенастроить, только не забывать явно сохранять проект в XPS, и смотреть за обновлением его в ISE.
Думаю, что этот путь не самый короткий и удобный, но я его прошел и работает. Надеюсь, кому-то поможет. Может быть совместно какое-нибудь how-to сделаем.

До работы из командной строки и создания makefile для сборки всего проекта мне очень далеко. rolleyes.gif
koshaNIA
И все таки платы не нашел, ну может она для заданного плиса однозначно определенна sm.gif
А за пошаговые действия спасибо, сделал. Теперь нужно еще проверить работу. Кстати, в списке периферии на вкладке USB в контекстном меню выбрал "View API Documentation" и появилось окошко "Software Drivers". Так это драйвера для процессора или хоста, который будет общаться с устройством (интуитивно кажеться, что первое, но мало ли, тем более, что где то же должны существовать драйвера и для хоста 05.gif )?
Цитата(mdmitry @ Jan 19 2011, 15:20) *
До работы из командной строки и создания makefile для сборки всего проекта мне очень далеко. rolleyes.gif

Ну у меня ISE проинсталлилось только под виндой, там консоль - ИМХО, довольно убогое творение и связываться с ней все равно лишний раз не хочется

Нашел новые доки некоторые, чтоб лишних вопросов не задавать, сперва почитаю...sm.gif
mdmitry
Цитата(koshaNIA @ Jan 19 2011, 22:01) *
И все таки платы не нашел, ну может она для заданного плиса однозначно определенна sm.gif

Для кита FPGA задана полностью, включая тип, скорость и корпус. Только полное совпадение позволяет задать плату кита, если она есть в списке поддерживаемых для данной версии ISE.
koshaNIA
Цитата(mdmitry @ Jan 20 2011, 02:15) *
Для кита FPGA задана полностью, включая тип, скорость и корпус. Только полное совпадение позволяет задать плату кита, если она есть в списке поддерживаемых для данной версии ISE.

Уже пару дней разбираюсь с вот таким доком http://www.xilinx.com/support/documentatio...2_1/edk_ctt.pdf - справочник по EDK. Там есть даже полный пример хелловорлда что очень кстати. Но остались такие проблемы:
1) Моя плата не поддерживается. Скачаю более новую версию среды и там видней будет.
2) При тестировании софтверной части указывается такой порядок: подключите такой-то кабель туда-то и такой-вот сюда-то. А нельзя ли просимулировать процессор с программой на нем без наличия платы? По логике вещей должно же быть возможно. Но не нашел как (
3) Выдаются варнинги на некоторые пины типа "неизвестно, куда пин подключен посему будет заземлен". Что с таким делать или все нормально?
powerc
Посмотрите вот эту ссылочку, там есть готовые примеры проектов.


http://www.xilinx.com/products/boards/ml50...nce_designs.htm
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.