Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с PCIe мостом GN4124
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
Airy_brn
Здравствуйте.
Поставила на PCIe плату мост GN4124. Установила стандартный драйвер под Windows, плата определилась в системе. Утилита для проверки работоспособности, предоставляемая производителем микросхемы, заточена под их отладочную плату и выдает ошибку на этапе загрузки ПЛИС (у меня ПЛИС грузится не через мост, а с флэшки). Я решила попробовать порезать эту прогрммку, чтобы обойти ошибку, но при компиляции оказалось, что не хватает файла (wdc_lib.h).
Теперь думаю - то ли я что-то делаю не так, то ли этот путь вообще ошибочный. Подскажите, если у кого-то есть опыт, с чего начинать работу с этим мостом?
Victor®
Цитата(Airy_brn @ Jan 14 2010, 11:05) *
Здравствуйте.
Поставила на PCIe плату мост GN4124. Установила стандартный драйвер под Windows, плата определилась в системе. Утилита для проверки работоспособности, предоставляемая производителем микросхемы, заточена под их отладочную плату и выдает ошибку на этапе загрузки ПЛИС (у меня ПЛИС грузится не через мост, а с флэшки). Я решила попробовать порезать эту прогрммку, чтобы обойти ошибку, но при компиляции оказалось, что не хватает файла (wdc_lib.h).
Теперь думаю - то ли я что-то делаю не так, то ли этот путь вообще ошибочный. Подскажите, если у кого-то есть опыт, с чего начинать работу с этим мостом?


Здравствуйте!
С этим мостом не работал, но возможно придется.
Тут вопрос политический :-)
Утилита предназначена для проверки ИМЕННО их платы. Зачем-же ее пускать для своей?

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

-- Успехов
jojo
Видимо, файл wdc_lib.h - из комплекта Jungo Windriver. Файла нет, сборка программы не выполняется.
Для сборки нужно скачать и установить Windriver, исправить файл проекта с примером или makefile.

Вроде GN4124 - мост между PCI Express и локальной шиной. Тогда обмен между локальной шиной и CPU может происходить через API Windriver, примеры можно выдрать из обсуждаемой утилиты.
Airy_brn
Цитата(jojo @ Jan 14 2010, 15:44) *
Видимо, файл wdc_lib.h - из комплекта Jungo Windriver. Файла нет, сборка программы не выполняется.
Для сборки нужно скачать и установить Windriver, исправить файл проекта с примером или makefile.


Спасибо! Файл действительно оказался из Windriver. Правда теперь возникла проблема с конфликтом версий (кажется), но процесс пошел и это главное! smile.gif
Dmitrij68
Цитата(Airy_brn @ Jan 14 2010, 11:05) *
Здравствуйте.
Поставила на PCIe плату мост GN4124.


А не поделитесь Даташитом и инфой где и за сколько покупали?
Bad0512
Цитата(Airy_brn @ Jan 14 2010, 16:49) *
Спасибо! Файл действительно оказался из Windriver. Правда теперь возникла проблема с конфликтом версий (кажется), но процесс пошел и это главное! smile.gif

Недавно решал подобную проблему. Windriver кроме официального сайта можно найти и в местных "закромах". Там же вроде и лицензия к нему валялась. У Вас впереди будет много проблем. Без отличного понимания как работает FPGA core (они называют это "DMA sequencer") будет Вам очень тяжко. Если же плата не от Gennum, то соответственно и ДМА машинка у Вас будет своя. А сделать и отладить такую машинку даже малость потруднее будет, чем софт написать. Но всё проходимо, проверено. Я сейчас заканчиваю возню с GN4121 - это "младший брат" GN4124. В общем всё победимо, но впереди - много трудностей...
Airy_brn
Цитата(Бэд @ Feb 7 2010, 01:14) *
Недавно решал подобную проблему. Windriver кроме официального сайта можно найти и в местных "закромах". Там же вроде и лицензия к нему валялась. У Вас впереди будет много проблем. Без отличного понимания как работает FPGA core (они называют это "DMA sequencer") будет Вам очень тяжко. Если же плата не от Gennum, то соответственно и ДМА машинка у Вас будет своя. А сделать и отладить такую машинку даже малость потруднее будет, чем софт написать. Но всё проходимо, проверено. Я сейчас заканчиваю возню с GN4121 - это "младший брат" GN4124. В общем всё победимо, но впереди - много трудностей...

Плата у нас своя, но Gennum'овское ядро впихнуть туда все-таки получилось. Поковыряться пришлось основательно, но в итоге все получилось. Если кому интересно, могу рассказать о найденных интересных местах в версии для Xilinx.
Airy_brn
Цитата(Dmitrij68 @ Feb 3 2010, 21:37) *
А не поделитесь Даташитом и инфой где и за сколько покупали?

Всю документацию можно получить у Gennum на сайте (gennum.com). Там надо зарегистрироваться и дня через 2 Вас активируют. Это лучше, т.к. кроме документации может еще понадобиться ядро, отладочная программка...
Покупали микросхемку мы в ООО "Регион-Вирта" примерно за 2900 р/шт
Bad0512
Цитата(Airy_brn @ Feb 17 2010, 09:24) *
Покупали микросхемку мы в ООО "Регион-Вирта" примерно за 2900 р/шт

Мне Геннумы сэмплы прислали бесплатно (4 шт. 4124 + 4 шт. 4121).
Заявленная цена на 4124 - $20. Я фигею с наших торгашей...
Dmitrij68
Цитата(Airy_brn @ Feb 16 2010, 21:51) *
Плата у нас своя, но Gennum'овское ядро впихнуть туда все-таки получилось. Поковыряться пришлось основательно, но в итоге все получилось. Если кому интересно, могу рассказать о найденных интересных местах в версии для Xilinx.


Так получилось или нет? Использовали ли исходники от Gennum?
призрак
Может выложите datasheet?
Просто регистрация прошла но пишет что у вас нет прав на чтение этой документации..
И где заказывали если в Москве?
_Vladimir_
Цитата(призрак @ Jun 30 2010, 20:26) *
Может выложите datasheet?
Просто регистрация прошла но пишет что у вас нет прав на чтение этой документации..
И где заказывали если в Москве?

Аналогичная просьба.
Запрос неделю как прошел и тишина.
Airy_brn
Цитата(Dmitrij68 @ May 27 2010, 23:18) *
Так получилось или нет? Использовали ли исходники от Gennum?


В итоге все заработало так, как нам хотелось. Исходники от Геннума пришлось править под используемую микросхему (у них сделано под Spartan-3, у меня был Virtex-5): переподключать DCM (и в одном варианте его вообще убирать, т.к. p2lclk была заведена на cc-вход), менять DDR-регистры.
В одном из модулей у них явная ошибка - проходят только те пакеты, у которых младший бит StreamID равен 0.

Цитата(призрак @ Jul 1 2010, 00:26) *
Может выложите datasheet?
Просто регистрация прошла но пишет что у вас нет прав на чтение этой документации..


Я, чтобы получить доступ, им еще напрямую в саппорт написала. Информации у них на сайте давольно много, но если очень надо, то могу выслать на почту.
Dmitrij68
Цитата(Airy_brn @ Jul 7 2010, 13:01) *
В итоге все заработало так, как нам хотелось. Исходники от Геннума пришлось править под используемую микросхему (у них сделано под Spartan-3, у меня был Virtex-5): переподключать DCM (и в одном варианте его вообще убирать, т.к. p2lclk была заведена на cc-вход), менять DDR-регистры.
В одном из модулей у них явная ошибка - проходят только те пакеты, у которых младший бит StreamID равен 0.


а память DDR2 в проекте pinto заработала? Проект развелся? А то у меня 5 констрейнов не выполняется. И после Очистки проекта в ISE10.1 (с копированием fifo*.ngc в корень проекта) разводится, но не работает.
У меня тоже будет Virtex5. Не моглибы выслать последние версии IP cores на почтовый ящик? И поделиться опытом.
Airy_brn
Я проект как есть не компилировала - сразу вставляла кусок кода в свой. Взяла модуль Lambo и App_csr, подключила с одной стороны к ногам, с другой к фифо интерфейсу и регистрам управления.

Цитата(Dmitrij68 @ Jul 9 2010, 22:18) *
Не моглибы выслать последние версии IP cores на почтовый ящик?

Давайте адрес, вышлю smile.gif
Dmitrij68
Цитата(Airy_brn @ Jul 13 2010, 02:05) *
Я проект как есть не компилировала - сразу вставляла кусок кода в свой. Взяла модуль Lambo и App_csr, подключила с одной стороны к ногам, с другой к фифо интерфейсу и регистрам управления.


Давайте адрес, вышлю smile.gif


Dmitrij68@mail.ru

Ихний проект lambo после "очистки" не работает. Но если создать свой и подсунуть ихнее ядро, все нормально. И даже разводиться чуть быстрее. А вот pinto никак. А не поскажите где ошибка с StreamID. И зачем убрали DCM, что это дало? И еще, как я понял, Вы не использовали ихний DDR контроллер?
Кстати на какой ISE работаете?
FLTI
Цитата(Airy_brn @ Feb 16 2010, 21:51) *
Плата у нас своя, но Gennum'овское ядро впихнуть туда все-таки получилось. Поковыряться пришлось основательно, но в итоге все получилось. Если кому интересно, могу рассказать о найденных интересных местах в версии для Xilinx.

Расскажите пожалуйста.
Особенно интересно узнать, есть ли баги в проекте Pinto и работают ли их драйвера под WIN7?

Цитата(Бэд @ Feb 6 2010, 23:14) *
Недавно решал подобную проблему. Windriver кроме официального сайта можно найти и в местных "закромах". Там же вроде и лицензия к нему валялась. У Вас впереди будет много проблем. Без отличного понимания как работает FPGA core (они называют это "DMA sequencer") будет Вам очень тяжко. Если же плата не от Gennum, то соответственно и ДМА машинка у Вас будет своя. А сделать и отладить такую машинку даже малость потруднее будет, чем софт написать. Но всё проходимо, проверено. Я сейчас заканчиваю возню с GN4121 - это "младший брат" GN4124. В общем всё победимо, но впереди - много трудностей...

В чём основные проблемы и трудности?
Удалось ли в проекте Pinto реализовать одновременно capture и playback?
Bad0512
Цитата(FLTI @ Jun 27 2011, 14:44) *
В чём основные проблемы и трудности?
Удалось ли в проекте Pinto реализовать одновременно capture и playback?

1. Их машинка для работы с памятью была заточена на работу с фифошками, то есть адрес "протянуть" на память было невероятно сложно.
В моём приложении (туча разных буферов для видео и аудио) адрес был необходим как воздух, пришлось вникнуть и всё переписать.
Добавил механизм так называемых "локальных дескрипторов", то есть небольшая табличка для каждого ДМА движка (на запись и на чтение), которая описывает начальный адрес ДМА и размер ДМА в страничках со стороны локальной памяти ДДР.
2. Крайне неэффективно использовалась память для SG таблиц внутри FPGA (3*32 bit на каждую SG страничку, переделал - у меня всего 32 бита на каждую страничку таблички, при этом всё пашет под 64 битными системами). Память BRAM в моём проекте была в большом дефиците (специфика многочисленных переходов из домена в домен и большое число фифошек).
3. Механизм перехода из 32bit * 200MHz в 64bit * 100MHz мне очень не понравился, исключил все DCMки и сделал всё на 32bit 200 МГц. После некоторой оптимизации по скорости всё разводится на ура, все констрейны выполняются.
4. Всю работу с видео выкинул, вставил свои куски (так было нужно для моей задачи).
5. Для улучшения производительности между памятью DDR и DMA движком вставил фифошки (они там в любом случае были необходимы, ибо клоки - разные). Возложил на этот кусок функции кэширования - сильно помогает поднять производительность системы в целом.
6. В дальнейшем перетащил дизайн под архиетктуру Спартана6, но это уже отдельная история.
7. Да, капчур с плейбеком в моём дизайне естественно живут независимо и одновременно. Нельзя сказать что они друг на друга не влияют, так как обращаются они в итоге к одной и той же ДДР памяти. Но если скорости записи и чтения далеки от предельных это влияние минимально.
FLTI
Цитата(Bad0512 @ Jul 26 2011, 14:23) *
1. Их машинка для работы с памятью была заточена на работу с фифошками, то есть адрес "протянуть" на память было невероятно сложно.
В моём приложении (туча разных буферов для видео и аудио) адрес был необходим как воздух, пришлось вникнуть и всё переписать.
Добавил механизм так называемых "локальных дескрипторов", то есть небольшая табличка для каждого ДМА движка (на запись и на чтение), которая описывает начальный адрес ДМА и размер ДМА в страничках со стороны локальной памяти ДДР.
2. Крайне неэффективно использовалась память для SG таблиц внутри FPGA (3*32 bit на каждую SG страничку, переделал - у меня всего 32 бита на каждую страничку таблички, при этом всё пашет под 64 битными системами). Память BRAM в моём проекте была в большом дефиците (специфика многочисленных переходов из домена в домен и большое число фифошек).
3. Механизм перехода из 32bit * 200MHz в 64bit * 100MHz мне очень не понравился, исключил все DCMки и сделал всё на 32bit 200 МГц. После некоторой оптимизации по скорости всё разводится на ура, все констрейны выполняются.
4. Всю работу с видео выкинул, вставил свои куски (так было нужно для моей задачи).
5. Для улучшения производительности между памятью DDR и DMA движком вставил фифошки (они там в любом случае были необходимы, ибо клоки - разные). Возложил на этот кусок функции кэширования - сильно помогает поднять производительность системы в целом.
6. В дальнейшем перетащил дизайн под архиетктуру Спартана6, но это уже отдельная история.
7. Да, капчур с плейбеком в моём дизайне естественно живут независимо и одновременно. Нельзя сказать что они друг на друга не влияют, так как обращаются они в итоге к одной и той же ДДР памяти. Но если скорости записи и чтения далеки от предельных это влияние минимально.

Bad0512,благодарю за столь обстоятельный рассказ.
Скажите, а насколько проект pinto в исходном виде, если не вносить в него никакие изменения, решает свою задачу по риал-тайм капчуру и плейбеку для HD-video?
Bad0512
Цитата(FLTI @ Jul 28 2011, 15:02) *
Bad0512,благодарю за столь обстоятельный рассказ.
Скажите, а насколько проект pinto в исходном виде, если не вносить в него никакие изменения, решает свою задачу по риал-тайм капчуру и плейбеку для HD-video?

В принципе решает, но насколько я помню (давно это было...) полный дуплекс в этом проекте не реализован. То есть невозможно одновременно капчурить и плейбечить HD. Что-то там надо допиливать вручную. А вообще pinto - это демонстрационный проект, поэтому в нём немало глюков, и он ограничен в функциональности. Не стОит ждать от него высокой надёжности и широкой функциональности. Цель этого проекта - показать, что в принципе капчурить и плейбечить HD на дешёвом спартанчике возможно. Всё остальное - как раз и задача разработчика, допилить этот дизайн до продажного состояния.
Ещё, насколько я помню, там нет поддержки 3G форматов. Сам код тоже местами вызывает у меня рвотные рефлексы, но это у всех по-разному.
FLTI
Bad0512, а Вы не пробовали вообще без DDR обойтись для капчура и плейбека?
А что полезного вообще есть в pinto если Вы столько оттуда повыбрасывали?
Какие впечатления от самой GN4124, так ли всё работает как в доках описано, нет ли каких явных багов?

Bad0512
Цитата(FLTI @ Jul 29 2011, 16:45) *
Bad0512, а Вы не пробовали вообще без DDR обойтись для капчура и плейбека?
А что полезного вообще есть в pinto если Вы столько оттуда повыбрасывали?
Какие впечатления от самой GN4124, так ли всё работает как в доках описано, нет ли каких явных багов?

Без ДДР - невозможно. Внутренней памяти мало, в реальной жизни необходимо буферировать минмум 1 секунду потока
для того, чтобы всё работало без дропов.
Полезного в дизайне от геннума - сама концепция полностью дуплексной системы, когда все три задачи (запись в ДДР,
чтение из ДДР и работа с регистрами target) пашут одновременно и независисмо. Сама структура всего дизайна весьма правильная
у них. Ну а реализация конечно индусская...
Багов явных в GN4124 я не нашёл, вроде всё пашет как заявлено.
FLTI
Цитата(Bad0512 @ Jul 28 2011, 12:44) *
Без ДДР - невозможно. Внутренней памяти мало, в реальной жизни необходимо буферировать минмум 1 секунду потока
для того, чтобы всё работало без дропов.

Буферировать минмум 1 секунду потока - это Вы имели в виду для какого видео, SD или 3G-HD?
Буфер на секунду для капчура+ буфер на секунду для плейбека = транспортная задержка между вх. и вых. видео получется 2 секунды.
Не многовато ли?


Цитата(Bad0512 @ Jul 26 2011, 14:23) *
6. В дальнейшем перетащил дизайн под архиетктуру Спартана6, но это уже отдельная история.

Вы имеете в виду, что на Спартане-6 всё проще получается и без GN4124?
Хотя , конечно не надо забывать, что в Спартане-6 только PCIe x1, а в GN4124 - PCIe x4 и поэтому 3G-HD через Спартан уже не пролезет.
FLTI
В документах от Gennum ( в отличии от Xilinx и Altera, которые приводят результаты даже для конкретных материнских плат ) нигде не указаны достижимые скорости передачи данных для GN4121/GN4124.
Если Вы имели дело с GN4121/GN4124, то что можете сказать по поводу достижимых скоростей?
Или же я всё же не заметил, и есть документ , где эти скорости приведены?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.