Dmitrij68 0 14 июля, 2010 Опубликовано 14 июля, 2010 (изменено) · Жалоба Я проект как есть не компилировала - сразу вставляла кусок кода в свой. Взяла модуль Lambo и App_csr, подключила с одной стороны к ногам, с другой к фифо интерфейсу и регистрам управления. Давайте адрес, вышлю :) [email protected] Ихний проект lambo после "очистки" не работает. Но если создать свой и подсунуть ихнее ядро, все нормально. И даже разводиться чуть быстрее. А вот pinto никак. А не поскажите где ошибка с StreamID. И зачем убрали DCM, что это дало? И еще, как я понял, Вы не использовали ихний DDR контроллер? Кстати на какой ISE работаете? Изменено 14 июля, 2010 пользователем Dmitrij68 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 27 июня, 2011 Опубликовано 27 июня, 2011 · Жалоба Плата у нас своя, но Gennum'овское ядро впихнуть туда все-таки получилось. Поковыряться пришлось основательно, но в итоге все получилось. Если кому интересно, могу рассказать о найденных интересных местах в версии для Xilinx. Расскажите пожалуйста. Особенно интересно узнать, есть ли баги в проекте Pinto и работают ли их драйвера под WIN7? Недавно решал подобную проблему. Windriver кроме официального сайта можно найти и в местных "закромах". Там же вроде и лицензия к нему валялась. У Вас впереди будет много проблем. Без отличного понимания как работает FPGA core (они называют это "DMA sequencer") будет Вам очень тяжко. Если же плата не от Gennum, то соответственно и ДМА машинка у Вас будет своя. А сделать и отладить такую машинку даже малость потруднее будет, чем софт написать. Но всё проходимо, проверено. Я сейчас заканчиваю возню с GN4121 - это "младший брат" GN4124. В общем всё победимо, но впереди - много трудностей... В чём основные проблемы и трудности? Удалось ли в проекте Pinto реализовать одновременно capture и playback? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bad0512 2 26 июля, 2011 Опубликовано 26 июля, 2011 · Жалоба В чём основные проблемы и трудности? Удалось ли в проекте 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 0 28 июля, 2011 Опубликовано 28 июля, 2011 · Жалоба 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 2 28 июля, 2011 Опубликовано 28 июля, 2011 · Жалоба Bad0512,благодарю за столь обстоятельный рассказ. Скажите, а насколько проект pinto в исходном виде, если не вносить в него никакие изменения, решает свою задачу по риал-тайм капчуру и плейбеку для HD-video? В принципе решает, но насколько я помню (давно это было...) полный дуплекс в этом проекте не реализован. То есть невозможно одновременно капчурить и плейбечить HD. Что-то там надо допиливать вручную. А вообще pinto - это демонстрационный проект, поэтому в нём немало глюков, и он ограничен в функциональности. Не стОит ждать от него высокой надёжности и широкой функциональности. Цель этого проекта - показать, что в принципе капчурить и плейбечить HD на дешёвом спартанчике возможно. Всё остальное - как раз и задача разработчика, допилить этот дизайн до продажного состояния. Ещё, насколько я помню, там нет поддержки 3G форматов. Сам код тоже местами вызывает у меня рвотные рефлексы, но это у всех по-разному. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 29 июля, 2011 Опубликовано 29 июля, 2011 · Жалоба Bad0512, а Вы не пробовали вообще без DDR обойтись для капчура и плейбека? А что полезного вообще есть в pinto если Вы столько оттуда повыбрасывали? Какие впечатления от самой GN4124, так ли всё работает как в доках описано, нет ли каких явных багов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bad0512 2 29 июля, 2011 Опубликовано 29 июля, 2011 · Жалоба Bad0512, а Вы не пробовали вообще без DDR обойтись для капчура и плейбека? А что полезного вообще есть в pinto если Вы столько оттуда повыбрасывали? Какие впечатления от самой GN4124, так ли всё работает как в доках описано, нет ли каких явных багов? Без ДДР - невозможно. Внутренней памяти мало, в реальной жизни необходимо буферировать минмум 1 секунду потока для того, чтобы всё работало без дропов. Полезного в дизайне от геннума - сама концепция полностью дуплексной системы, когда все три задачи (запись в ДДР, чтение из ДДР и работа с регистрами target) пашут одновременно и независисмо. Сама структура всего дизайна весьма правильная у них. Ну а реализация конечно индусская... Багов явных в GN4124 я не нашёл, вроде всё пашет как заявлено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 1 августа, 2011 Опубликовано 1 августа, 2011 · Жалоба Без ДДР - невозможно. Внутренней памяти мало, в реальной жизни необходимо буферировать минмум 1 секунду потока для того, чтобы всё работало без дропов. Буферировать минмум 1 секунду потока - это Вы имели в виду для какого видео, SD или 3G-HD? Буфер на секунду для капчура+ буфер на секунду для плейбека = транспортная задержка между вх. и вых. видео получется 2 секунды. Не многовато ли? 6. В дальнейшем перетащил дизайн под архиетктуру Спартана6, но это уже отдельная история. Вы имеете в виду, что на Спартане-6 всё проще получается и без GN4124? Хотя , конечно не надо забывать, что в Спартане-6 только PCIe x1, а в GN4124 - PCIe x4 и поэтому 3G-HD через Спартан уже не пролезет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FLTI 0 22 августа, 2011 Опубликовано 22 августа, 2011 · Жалоба В документах от Gennum ( в отличии от Xilinx и Altera, которые приводят результаты даже для конкретных материнских плат ) нигде не указаны достижимые скорости передачи данных для GN4121/GN4124. Если Вы имели дело с GN4121/GN4124, то что можете сказать по поводу достижимых скоростей? Или же я всё же не заметил, и есть документ , где эти скорости приведены? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться