Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: xilinx edk
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
rv3dll(lex)
ядро создано в едк через генератор ядер

появилась необходимость подключить свой компонент, представляющий собой обычный VHD модуль.
подключить именно через компонент а не через MPD- MHS

со стандартными компонентами из стандартных библиотек проблем нет.

и где хранятся сноски на него
avesat
На какую шину корку цепляете?
rv3dll(lex)
Цитата(avesat @ Sep 3 2008, 14:26) *
На какую шину корку цепляете?


на все
шина то причём?
вот что нужно есть файл user_logic.vhd
есть файл допустим filtr.vhd
этот файл надо вставить как компонент в юзер_логик.

более того есть по наследству доставшийся проект ядра где они состыкованы и работают.
ошибки в описании внутри этих файлов нет - при копировании их в рабочий проект всё работает.


вопрос где лежит описание связи этих файлов?
Kedin
Если правильно понял проблему, то подключать надо руками.
В модуле user_logic.vhd вставляете описание модуля filtr.vhd.
Если влом описывать порты модуля, то в ISE есть команда View HDL Instantiation Template, сделает
шаблон, который вставляете в модуль user_logic.vhd. Все модуль подключен, filtr.vhd надо поместить в ядро.
rv3dll(lex)
Цитата(Kedin @ Sep 3 2008, 16:51) *
Если правильно понял проблему, то подключать надо руками.
В модуле user_logic.vhd вставляете описание модуля filtr.vhd.
Если влом описывать порты модуля, то в ISE есть команда View HDL Instantiation Template, сделает
шаблон, который вставляете в модуль user_logic.vhd. Все модуль подключен, filtr.vhd надо поместить в ядро.


проблема в том что я не работаюне с ISE я работаю с EDK в ISE всё и так понятно
я после мытарств просто переместил файлы старого ядра с тем же именем с теми=-же параметрами в директорию нового ядра другого проекта с тем же именем и с темиже параметрами
и оно не стало работать

в конце концов если я переименую в старом проекте это ядро исправлю все связи и имена в фильтре оно также не подцепится

вопрос про едк проблема в подцеплении стыковки в едк

судя по всему напишу я компонент скорее всего в своём файле внутри и не буду .......
блин уже достало фиг с ним что там уже больше 56000 строк - сама разработка влёт а борьба с языком - скоро всех перекусаю!!!!
avesat
Цитата(rv3dll(lex) @ Sep 3 2008, 14:24) *
...
вот что нужно есть файл user_logic.vhd
есть файл допустим filtr.vhd
этот файл надо вставить как компонент в юзер_логик.

более того есть по наследству доставшийся проект ядра где они состыкованы и работают.
ошибки в описании внутри этих файлов нет - при копировании их в рабочий проект всё работает.
вопрос где лежит описание связи этих файлов?


Ну тогда вам нужно пересобрать корку.
1. Добавить filtr.vhd портмапом в user_logic.vhd
2. В EDK через create and import peripheral wizard пересобрать кору
3. Подключить к проекту
rv3dll(lex)
ага а ipif ы?
avesat
Нарисуйте как вы хотите подключить вашу кору, или покажите рисунок block diagram из EDK, сразу все прояснится.
rv3dll(lex)
Цитата(avesat @ Sep 4 2008, 13:49) *
Нарисуйте как вы хотите подключить вашу кору, или покажите рисунок block diagram из EDK, сразу все прояснится.


описываю по порядку.

в визарде периферии ЕДК создано едро j_proba

ядро при создании подключено в режиме слейв к ПЛБ шине. имеет связь через 5 32х байтных регистра.

оно добавилось в репозиторий проекта и лежит там.

потом это пустое ядро было добавлено в проект и подключено к шине ПЛБ назначен диапазон адресов,
написан код в файле user_logic.vhd и сделана стыковка через файл J_proba.vhd j_proba.mpd и всё через mhs файл состыковано с шинами и наружу к выводам плис.

после этого всё прекрасно работает

потом потребовалось часть кода вычленить в компонент - вопрос как это сделать.

у меня есть пример в котором это работает
я подставляю этот пример себе исправляю все файлы (содержимое) на свои оставляя его имена.

подключаю это ядро вместо своего и всё работает.

но в моём ядре не работает связь от user_logic к файлу компонента.

так понятно?
avesat
Так понятно.

У вас есть уже работающая кора с такой структурой

Core_plb_ipif.vhdl (верхний уровень, сигналы шины PLB)
. |
. |______> user_logic.vhdl (обработка протокола PLB)
. ..............|
. ..............|______> все остальные файлы проекта (проект пользователя)

так вот, вам нужны только vhdl файлы, после того как вы все добавите по новому и откомпилируете, нужно создать корку с помощью визарда, для этого запускаем import peripheral wizard, выбираем import existing peripheral и далее настраиваете ее, интерфейс, внешние порты, генерики, прерывания и т.п... после генерации, в папке pcores проекта появится новая кора с новыми mpd и pao файлами, дальше осталось подключить к шине и вывести порты наружу.
rv3dll(lex)
Цитата(avesat @ Sep 4 2008, 15:12) *
так вот, вам нужны только vhdl файлы, после того как вы все добавите по новому и откомпилируете, нужно создать корку с помощью визарда, для этого запускаем import peripheral wizard, выбираем import existing peripheral и далее настраиваете ее, интерфейс, внешние порты, генерики, прерывания и т.п... после генерации, в папке pcores проекта появится новая кора с новыми mpd и pao файлами, дальше осталось подключить к шине и вывести порты наружу.


так ведь ise выругается на кучу библиотек на ipifы шины плб с ними то что делать или достаточно связать в проекте указав пути а компиллировать ядро не обязательно??

Compiling vhdl file "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" in Library work.
ERROR:HDLParsers:3317 - "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" Line 9. Library proc_common_v2_00_a cannot be found.
ERROR:HDLParsers:3013 - "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" Line 10. Library proc_common_v2_00_a is not declared.

ну и так далее

и при импорте в едк тоже самое
tolik1
Цитата(rv3dll(lex) @ Sep 5 2008, 08:25) *
так ведь ise выругается на кучу библиотек на ipifы шины плб с ними то что делать или достаточно связать в проекте указав пути а компиллировать ядро не обязательно??

Compiling vhdl file "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" in Library work.
ERROR:HDLParsers:3317 - "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" Line 9. Library proc_common_v2_00_a cannot be found.
ERROR:HDLParsers:3013 - "D:/edk_proj/6udk_02_95_120/udk_02_muz_v2_00_a_gen/hdl/vhdl/udk_02_muz.vhd" Line 10. Library proc_common_v2_00_a is not declared.

ну и так далее

и при импорте в едк тоже самое

Если я правильно понял, то Ваш файл(который Вы хотите подключить к периферии) синтезатор не находит. Вам нужно посмотреть файл (имя Вашей коры).pao в папке data. Там прописан список файлов корки.
Kedin
Может я неправильно вас понял, но когда я генерил ядра через wizard, то делал так:
1 Генерится ядро с настройками и интерфейсом
J_proba.vhd (верхний уровень, в нем вызывается ipif и user_logic.vhd)
- user_logic.vhd (проект пользователя)
2 Пишу код в модуле my_kod.vhd
3 Подключаю модуль my_kod.vhd в user_logic.vhd, прописываю модуль my_kod.vhd в J_proba.pao
Помещаю модуль my_kod.vhd в папку ресурсов ядра.
Все ядро закончено. Mожно свой модуль подставить вместо user_logic.vhd.

А в ISE так просто собираться не будет нужно подключать библиотеки plb_ipif и proc_common, в общем все что подключено в ядре
rv3dll(lex)
Цитата(Kedin @ Sep 5 2008, 12:38) *
3 Подключаю модуль my_kod.vhd в user_logic.vhd, прописываю модуль my_kod.vhd в J_proba.pao


Вроде прошло СПАСИБО!!!!!!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.