Перейти к содержанию
    

Проблема выбора, однако...

Имеются три готовых PCI интерфейса:

- свободно распространяемый OpenCores;

- LogiCORE, купленный у Xilinx;

- Альтеровские, которые лежат на здесь на ФТП...

 

Пока есть время, пытаюсь разобраться с первыми двумя. (Собственно, только начал...) :) Первое впечатление - оба они мне не нравятся. Во-первых, в спецификациях на них написано, что будучи реализованы на Spartan-2 с поддержкой мастера тянут только 33 МГц, а разрабатываемое устройство может быть воткнуто в 66 МГц шину. Во вторых - со стороны пользователя неизвестные мне шины, что там, что там... На OpenCores - это WishBone. У Xilinx - вообще что-то непонятное, такое ощущение, что они к PCI сигналам цепляют с полсотни своих и отдают пользователю. (Это я утрирую, конечно, но первое вречатление было примерно таким.) Ну и в третих - по мелочам... :)

Поэтому решил спросить у знатоков: кто какие корки использовал, и каковы ощущения от работы? На какие трудно обходимые ограничения, не видимые сразу, можно напороться?

Пару слов о разрабатываемом устройств: PCI интерфейс - на Spartan-2, далее стоит Virtex-2Pro. На интерфейсе стоит DDR память. Интерфейс должен:

- уметь быть мастером;

- сливать/заливать по ДМА данные в память/из памяти;

- точно так же переливать данные в/из второй ПЛИС;

- обеспечивать доступ к PCI со стороны второй ПЛИС.

В соответствии в последними двумя требованиями вылезает ещё вопрос: какой протокол (шину, интерфейс) взять за основу для организации связи между ПЛИС? (Только не PCI !!! Шутка... :) :biggrin: )

Кто что скажет? Буду рад всем откликнувшимся. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я остановился на OpenCores. К тому же wishbone очень простая шина ala ISA.

Насчёт 66 мегагерц - я сейчас кручю его в этом направлении (но мееедленно, т. к. мне оно _пока_ не нужно).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас как раз делаю проект с PCI, использую корку от Альтеры, работает хорошо, удобная настройка и использование в своих проектах.

Другие не пробовал, но стоит дополнительно корка от PLDA, там есть удобные програмки с исходниками, рекомендую посмотреть, сильно облегчит разработку ПО. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем, кто ответил! :)

to gab: если позволите, пара вопросов... :)

- что, на Ваш взгляд, _плохого_ имеется в WishBone (какие ограничения, или может быть, откровенные косяки)?

- какова вероятнось "дотянуть" его до 66 МГц?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Vitёk:

Про WB: Плохого вроде пока не нашёл (может плохо искал? :)). Шина хорошо документирована, расширяема и съужаема :) при необходимости. Мои проекты с использованием IP блоков под неё работают. Единственное, что мне не понравилось - это проект WB Interconnection Matrix. Я обычно свой вариант использую.

 

Про PCI: вероятность велика. В рассылке OpenCores пробегала инфа о подобных проектах. Там всё упирается в оптимизацию под некоторый базис (например Xilinx). После окончания своего текущего проекта (примерно начало лета) займусь этим.

 

PS: (немного саморекламы :)) Скоро на OpenCores выложу свой проект -- DDS Generator.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! :) Я почему спрашивал про недостатки: у нас в конторе почти все, кому я говорил про OpenCores PCI, начинали заводить песню типа ".. оно там всё сырое, ни фига не работает, тыры-пыры.." Когда я пытался у них выяснить, что конкретно там сырое и как оно не работает, то в ответ слышал, ".. что я лично не работал, но слышал, что Вася рассказывал Пете, что он от кого-то там слышал, что там проблемы..." (в переполненом автобусе, наверное, разговор был), и "..ты думаешь, зря Зайлинксы за своё СТОПУДОВО рабочее ядро просят 5 килобаксов?..". Меня это насторожило: OpenCores-овское ядро выставлено на всеобщее обозрение уже не один год, и у его авторов наверняка было время, что бы довести до ума.

Теперь же, когда человек, лично его использовавший, утвержает, что проблем нет - то и у меня сомнений нет. :)

Ещё один плюс в пользу OpenCores PCI против Xilinx Coregen: а когда закончится зайлинковская лицензия (у нас почти закончилась - она выдаётся всего на год), и через пару лет выйдет очередная их ублюдочная САПР, идеологически не совместимая с этим б####им у####ым п####ым ISE - что тогда делать? ... Вот и я о том же...

 

> Скоро на OpenCores выложу свой проект -- DDS Generator.

Успехов. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Vitёk

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

OpenCores - это общий проект, разработанный в неоптимизированном стиле.

Поэтому - если есть деньги и нет времени - Xilinx PCI Core.

Если нет лишних денег и есть время - OpenCores.

З.Ы. Я сейчас "ковыряю" OpenCores для собственного развития. Хотя в проектах некоторые открытые корки использовал :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зашел на opencores загрузить PCI ядро, попал на страницу регистрации, заполнил, далее - download и уж минут 5 как никакой реакции(((

Сайт медленный/загруженный или какие другие проблемы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У когонибудь есть PCI ядро LogiCORE Xilinx, если не трудно положите на FTP, хочу попробовать. Сам работал с ядром OpenCores,

на частоте 33 МГц, получил скорости на мастере (относительно компа) запись - 56 МБ/с, чтение - 84 МБ/с .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

получил скорости на мастере (относительно компа) запись - 56 МБ/с, чтение - 84 МБ/с .
Что-то скорость

в 1/3 и 2/3 от максимальной меня настораживает :(. На мосту PLX-9060 скорости получались поболее. Правда, ненамного...

Если не трудно, парочка наводящих вопросов. Спрашиваю не из праздного любопытсва, ибо сам намереваюсь это (OpenCores) использовать.

- какая была тактовая со стороны пользователя (то есть Wishbone) ?

- Target'ом на материнке, так понимаю, была память?

- какие ядра ДМА использовались? Каковы размеры одного блока данных?

 

ЗЫ: насчет этого бл№:%?го LogiCORE смотрите в ЛС. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тактовая частота со стороны WB была 66 МГц, тестил в LINUX, выделялась память 1 МБ , длина burst - 128 слов (512 КБ). Вообще действительно это ядро не оптимизированно под скорость, это WB-Core (много в принципе ненужного кода), я вот подумал если нужа скорость надо писать самому, для конкретной задачи, вроде это не сложно. Скорости можно получить больше если разогнать WB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

получил скорости на мастере (относительно компа) запись - 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'ов нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 DimaV, keyru - спасибо, туман начинает потихоньку рассеиваться. :)

Эти лишние 2 wait state - связаны с особенностями Wishbone или необходимостью реклока с тактовой пользователя на тактовую PCI? Вроде в спецификации самой Вилки временные диаграмы без задержек...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...