|
Готовые PCI ядра, Какое выбрать? |
|
|
|
Feb 10 2005, 08:37
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Проблема выбора, однако... Имеются три готовых PCI интерфейса: - свободно распространяемый OpenCores; - LogiCORE, купленный у Xilinx; - Альтеровские, которые лежат на здесь на ФТП... Пока есть время, пытаюсь разобраться с первыми двумя. (Собственно, только начал...)  Первое впечатление - оба они мне не нравятся. Во-первых, в спецификациях на них написано, что будучи реализованы на Spartan-2 с поддержкой мастера тянут только 33 МГц, а разрабатываемое устройство может быть воткнуто в 66 МГц шину. Во вторых - со стороны пользователя неизвестные мне шины, что там, что там... На OpenCores - это WishBone. У Xilinx - вообще что-то непонятное, такое ощущение, что они к PCI сигналам цепляют с полсотни своих и отдают пользователю. (Это я утрирую, конечно, но первое вречатление было примерно таким.) Ну и в третих - по мелочам...  Поэтому решил спросить у знатоков: кто какие корки использовал, и каковы ощущения от работы? На какие трудно обходимые ограничения, не видимые сразу, можно напороться? Пару слов о разрабатываемом устройств: PCI интерфейс - на Spartan-2, далее стоит Virtex-2Pro. На интерфейсе стоит DDR память. Интерфейс должен: - уметь быть мастером; - сливать/заливать по ДМА данные в память/из памяти; - точно так же переливать данные в/из второй ПЛИС; - обеспечивать доступ к PCI со стороны второй ПЛИС. В соответствии в последними двумя требованиями вылезает ещё вопрос: какой протокол (шину, интерфейс) взять за основу для организации связи между ПЛИС? (Только не PCI !!! Шутка...  ) Кто что скажет? Буду рад всем откликнувшимся.
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 10 2005, 08:54
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Цитата используй от PLDA Можно подробнее?
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 14 2005, 07:48
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Спасибо всем, кто ответил!  to gab: если позволите, пара вопросов...  - что, на Ваш взгляд, _плохого_ имеется в WishBone (какие ограничения, или может быть, откровенные косяки)? - какова вероятнось "дотянуть" его до 66 МГц?
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 15 2005, 14:10
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 30-06-04
Из: Moskow
Пользователь №: 218

|
2 Vitёk: Про WB: Плохого вроде пока не нашёл (может плохо искал?  ). Шина хорошо документирована, расширяема и съужаема  при необходимости. Мои проекты с использованием IP блоков под неё работают. Единственное, что мне не понравилось - это проект WB Interconnection Matrix. Я обычно свой вариант использую. Про PCI: вероятность велика. В рассылке OpenCores пробегала инфа о подобных проектах. Там всё упирается в оптимизацию под некоторый базис (например Xilinx). После окончания своего текущего проекта (примерно начало лета) займусь этим. PS: (немного саморекламы  ) Скоро на OpenCores выложу свой проект -- DDS Generator.
--------------------
serpents on the way to paradise - dying for love, fighting for ages.
|
|
|
|
|
Feb 16 2005, 07:17
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Спасибо!  Я почему спрашивал про недостатки: у нас в конторе почти все, кому я говорил про OpenCores PCI, начинали заводить песню типа ".. оно там всё сырое, ни фига не работает, тыры-пыры.." Когда я пытался у них выяснить, что конкретно там сырое и как оно не работает, то в ответ слышал, ".. что я лично не работал, но слышал, что Вася рассказывал Пете, что он от кого-то там слышал, что там проблемы..." (в переполненом автобусе, наверное, разговор был), и "..ты думаешь, зря Зайлинксы за своё СТОПУДОВО рабочее ядро просят 5 килобаксов?..". Меня это насторожило: OpenCores-овское ядро выставлено на всеобщее обозрение уже не один год, и у его авторов наверняка было время, что бы довести до ума. Теперь же, когда человек, лично его использовавший, утвержает, что проблем нет - то и у меня сомнений нет.  Ещё один плюс в пользу OpenCores PCI против Xilinx Coregen: а когда закончится зайлинковская лицензия (у нас почти закончилась - она выдаётся всего на год), и через пару лет выйдет очередная их ублюдочная САПР, идеологически не совместимая с этим б####им у####ым п####ым ISE - что тогда делать? ... Вот и я о том же... > Скоро на OpenCores выложу свой проект -- DDS Generator. Успехов.
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 16 2005, 08:19
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326

|
VitёkXilinx PCI Core - это проверенный рабочий проект с максимальным быстродействие. OpenCores - это общий проект, разработанный в неоптимизированном стиле. Поэтому - если есть деньги и нет времени - Xilinx PCI Core. Если нет лишних денег и есть время - OpenCores. З.Ы. Я сейчас "ковыряю" OpenCores для собственного развития. Хотя в проектах некоторые открытые корки использовал  .
|
|
|
|
|
Feb 17 2005, 11:23
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 9-02-05
Пользователь №: 2 515

|
Зашел на opencores загрузить PCI ядро, попал на страницу регистрации, заполнил, далее - download и уж минут 5 как никакой реакции((( Сайт медленный/загруженный или какие другие проблемы?
|
|
|
|
|
Feb 17 2005, 18:49
|
Участник

Группа: Свой
Сообщений: 36
Регистрация: 21-07-04
Пользователь №: 349

|
У когонибудь есть PCI ядро LogiCORE Xilinx, если не трудно положите на FTP, хочу попробовать. Сам работал с ядром OpenCores, на частоте 33 МГц, получил скорости на мастере (относительно компа) запись - 56 МБ/с, чтение - 84 МБ/с .
|
|
|
|
|
Feb 18 2005, 06:38
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Цитата получил скорости на мастере (относительно компа) запись - 56 МБ/с, чтение - 84 МБ/с . Что-то скорость в 1/3 и 2/3 от максимальной меня настораживает  . На мосту PLX-9060 скорости получались поболее. Правда, ненамного... Если не трудно, парочка наводящих вопросов. Спрашиваю не из праздного любопытсва, ибо сам намереваюсь это (OpenCores) использовать. - какая была тактовая со стороны пользователя (то есть Wishbone) ? - Target'ом на материнке, так понимаю, была память? - какие ядра ДМА использовались? Каковы размеры одного блока данных? ЗЫ: насчет этого бл№:%?го LogiCORE смотрите в ЛС.
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 18 2005, 07:54
|
Группа: Свой
Сообщений: 2
Регистрация: 4-10-04
Пользователь №: 773

|
Цитата(Vitёk @ Feb 18 2005, 09:38) Цитата получил скорости на мастере (относительно компа) запись - 56 МБ/с, чтение - 84 МБ/с . Что-то скорость в 1/3 и 2/3 от максимальной меня настораживает  . На мосту PLX-9060 скорости получались поболее. Правда, ненамного... Если не трудно, парочка наводящих вопросов. Спрашиваю не из праздного любопытсва, ибо сам намереваюсь это (OpenCores) использовать. - какая была тактовая со стороны пользователя (то есть Wishbone) ? - Target'ом на материнке, так понимаю, была память? - какие ядра ДМА использовались? Каковы размеры одного блока данных? ЗЫ: насчет этого бл№:%?го LogiCORE смотрите в ЛС.  opencore корка при записи с local bus вставляет два wait state т.е. чтобы загрузить pci по полной частота на wishbone должна быть как минимум 33*3=100Мгц )) з.ы. на read wait state'ов нет
|
|
|
|
|
Feb 18 2005, 08:49
|
Участник

Группа: Свой
Сообщений: 36
Регистрация: 21-07-04
Пользователь №: 349

|
Я поначалу пытался исправить эту фичу, но залез в такие дебри что забил на это на все (тем более что я не люблю верилог, пишу на VHDL).
|
|
|
|
|
Feb 18 2005, 09:04
|
Группа: Свой
Сообщений: 2
Регистрация: 4-10-04
Пользователь №: 773

|
Цитата(Vitёk @ Feb 18 2005, 11:32) 2 DimaV, keyru - спасибо, туман начинает потихоньку рассеиваться.  Эти лишние 2 wait state - связаны с особенностями Wishbone или необходимостью реклока с тактовой пользователя на тактовую PCI? Вроде в спецификации самой Вилки временные диаграмы без задержек... вилка точно ни причем,синхронизация думаю тоже(ведь читать можно нормально) просто в корке WB rev3 сделана враппером для более ранней версии в которой регистровый фидбэк не был ещё специфицирован и разработчикам пришлось модифицировать протокол для того чтобы получить берстовый доступ(добавлен сигнал CAB_I) плюс как то мутно,c потерей лишнего такта, сделана запись в FIFo. а если кратко- просто так написана корка))
|
|
|
|
|
Feb 18 2005, 09:42
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
Однако, какие забавные подробности выплывают.  Цитата как то мутно,c потерей лишнего такта, сделана запись в FIFo Это надо было постараться. Зачем? Я понимаю на чтение, где задержки неизбежны... Но на запись!? Даже контроль переполнения если делать, всё равно можно обойтись без них... Может фифо на запись у них хватило терпения вылизать, а на чтение просто положили? Типа работает и фиг с ним. Цитата просто так написана корка Сейчас скармливаю её в ActiveHDL, и буду пытаться симулить. Время пока есть, и рискнуть можно. У меня пока что впечатление, что вещь хорошая, только непричёсанная. Если разобраться и довести до ума - то всем будет хорошо. (ключевое слово в этой фразе - "если":)  ) Спасибо! Где можно достать готовые тестбенчи для PCI?
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 18 2005, 11:47
|
Участник

Группа: Свой
Сообщений: 36
Регистрация: 21-07-04
Пользователь №: 349

|
Я использовал тестбенч который прилагался к XILINX LogiCore. Дописал функции RD/WR-burst. ядро LogiCore так и не удалось протестить на практике, тестил только модель (жду почту).
|
|
|
|
|
Feb 28 2005, 07:56
|

Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018

|
К вопросу о тестбенчах. Сначала собрал вместе OpenCore'вский PCI-мост и Xilinx`овый тестбенч. Сразу насторожило то, что не выполняются команды чтения конфигурации, хотя все необходимые сигналы присутствуют. (Присутствуют на мой взгляд, ибо в тот момент моё понимание работы PCI было мягко говоря неполным). То же самое произошло, когда были собраны вместе Xilinx PCI core и его же тестбенч. Меня это озадачивает до сих пор... Ну да и фиг с ними. Благо что OpenCore вместе с исходниками своего моста предлагает и свой навороченный тестбенч, и это всё превосходно симулится. А что касается вопроса, вынесенного в заголовок темы - то буду делать сам  . При ближайшем рассмотрении оказалось, что не так страшен чёрт, как его малюют. Правил, определяющих поведение устройств на шине очень мало, на пальцах можно пересчтитать. А спецификации раздуты до страшных размеров потому, что там всё размусолено, и каждый нюанс обсасывается в 50 разных местах, вперемешку с другими. (ИМХО если всё лишнее повыкидывать, то весь PCI уместится на 3 страницах.) Так что пока есть время - буду разбираться, и к моменту выхода устройства в свет большая часть прошивки будет готова. И, ессно, сразу буду закладываться на 66 МГц.
--------------------
/* Всё хорошо в меру. */
|
|
|
|
|
Feb 28 2005, 09:42
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765

|
Вопрос в тему: у Альтеры было немало ядер. Последние, насколько я понимаю, оптимизированы под Quartus, скажите, пожалуйста, где можно добыть ядра, оптимизированные под Max+Plus, и, желательно, для серии 1K. На FTP пожалуйста не ссылайтесь, рылом еще не вышел.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|