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

Все добрый день.

Понимаю, что тема не нова, но тем неменее.

Есть желание сделать устройство управляемое по PCIExpress. А отсуда возникает ряд вопросов:

Что использовать ПЛИС или готовый контроллер?

Если ПЛИС, то нужны ли какие либо покупные ядра? Насколько сделать на плис трудоемко и гемморойно?

Если микросхему контроллера, то посоветуйте какую (название) желательно чтобы были стандартные драйвера.

Заранее спасибо за ответы.

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


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

Что использовать ПЛИС или готовый контроллер?

Если ПЛИС, то нужны ли какие либо покупные ядра?

Делал на ПЛИС, ml605 board. Использовал стандартное ядро. На ПК работал с крякнутым windrive.

 

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


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

Делал на ПЛИС, ml605 board. Использовал стандартное ядро. На ПК работал с крякнутым windrive.

 

что за стандартное ядро? В ИСЕ вроде ядра конечных точек платные? или к данной плате было бесплатным?

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


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

что за стандартное ядро? В ИСЕ вроде ядра конечных точек платные? или к данной плате было бесплатным?

Собирал в XPS. А потом добавлял в PLAN ahead. У меня задача была обмен данными плата-пк

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


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

Собирал в XPS. А потом добавлял в PLAN ahead. У меня задача была обмен данными плата-пк

Впринципе у меня та же задача. Записать в регистр, прочитать из регистра.

Как по Вашему? Было геморойно разобраться? Может стоит сделать на какой либо микросхеме контроллере?

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


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

Впринципе у меня та же задача. Записать в регистр, прочитать из регистра.

Как по Вашему? Было геморойно разобраться? Может стоит сделать на какой либо микросхеме контроллере?

В XPS все довольно просто: собирается проект где мастер pcie, слейв например leds. Мапировал leds на bar pcie. На ПК запускал программу pcie tree , с её помощью зажигал диоды на плате.

Посмотрите форум, я выкладывал даже скриншот проекта

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


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

Есть желание сделать устройство управляемое по PCIExpress. А отсуда возникает ряд вопросов:

Что использовать ПЛИС или готовый контроллер?

Посмотрите в сторону мостов с PCIe на что-либо более "удобоваримое" (PCIe bridge), на PCI или Local Bus.

А уж PCI Target много проще поднять, да и ПЛИС для PCI нужна куда более дешевая, чем для PCIe, какой-нибудь Spartan-2 вполне потянет.

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


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

Посмотрите в сторону мостов с PCIe на что-либо более "удобоваримое" (PCIe bridge), на PCI или Local Bus.

А уж PCI Target много проще поднять, да и ПЛИС для PCI нужна куда более дешевая, чем для PCIe, какой-нибудь Spartan-2 вполне потянет.

 

PCI не нужен. Именно PCIe. Кстати какой мост порекомендуете? (название микросхемы, чтобы было от чего отталкиваться).

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


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

PCI не нужен. Именно PCIe. Кстати какой мост порекомендуете? (название микросхемы, чтобы было от чего отталкиваться).

Всё от плис зависит, какая плис то?

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


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

PCI не нужен. Именно PCIe. Кстати какой мост порекомендуете? (название микросхемы, чтобы было от чего отталкиваться).

Я использовал XIO2001 от Texas Instruments, это PCIe-PCI мост, далее ставил Spartan-2 с простейшим PCI Target, и через регистры PCI уже можно делать, что нужно. Если нет огромных потоков данных в PC, требующих мастер-режима от PCI устройства, то достаточно более чем.

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


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

Всё от плис зависит, какая плис то?

 

Впринципе любая от xilinx. Ориентировочно виртекс7. Только я непонял причем здесь плис если рассматривается вариант внешней микоросхемы моста. Или вы рекомендуете сделать контроллер на плис?

 

Я использовал XIO2001 от Texas Instruments, это PCIe-PCI мост, далее ставил Spartan-2 с простейшим PCI Target, и через регистры PCI уже можно делать, что нужно. Если нет огромных потоков данных в PC, требующих мастер-режима от PCI устройства, то достаточно более чем.

 

А с драйвером как дела особенно под win? Имеются?

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


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

На Xilinx 7-й серии всё просто, ip-ядро моста + axi central dma controller. Есть xapp по этому поводу. Там только драйвер писать надо. Зато скорость любая.

Внешний мост такую скорость не даст.

Если есть деньги, покупаете ip-ядро от plda и вообще никаких проблем не имеете.

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


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

А с драйвером как дела особенно под win? Имеются?

Для моста особый драйвер не нужен, его регистры стандартизованы спецификацией и поэтому типовой драйвер подходит.

А для своего устройства за мостом, безусловно, драйверок написать придется.

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


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

В XPS все довольно просто: собирается проект где мастер pcie, слейв например leds. Мапировал leds на bar pcie. На ПК запускал программу pcie tree , с её помощью зажигал диоды на плате.

А pcie tree будет работать только под 32-х разрядной системой?

 

На Xilinx 7-й серии всё просто, ip-ядро моста + axi central dma controller. Есть xapp по этому поводу. Там только драйвер писать надо. Зато скорость любая.

Есть задача, данные приходят по 10G Ethernet (используется Virtex 7) и надо их запихнуть в ПК (скорее всего под управлением Linux). Для ядра 10G Ethernet user-интерфейс - это AXI4 Stream. Что лучше в данном случае использовать: ядро AXI4 to PCIe bridge или "голое" ядро Gen3 Integrated Block for PCI Express, где интерфейсы AXI4 Stream? Пока только начинаю разбираться, буду рад совету.

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


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

А pcie tree будет работать только под 32-х разрядной системой?

pcie tree только для 32-х разрядной системы. Данную программу использовал исключительно для отладки PCIe моста на ПЛИС, чтобы программист мог начать работать с winDrive.

 

Есть задача, данные приходят по 10G Ethernet (используется Virtex 7) и надо их запихнуть в ПК (скорее всего под управлением Linux). Для ядра 10G Ethernet user-интерфейс - это AXI4 Stream. Что лучше в данном случае использовать: ядро AXI4 to PCIe bridge или "голое" ядро Gen3 Integrated Block for PCI Express, где интерфейсы AXI4 Stream?

 

Для bridge PCIe вам необходимо будет делать переход из stream в memory mapped. Data mover вам в помощь. По поводу Gen3 Integrated Block for PCI Express сказать ничего не могу.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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