Jump to content

    

Разработка PCIe

спасибо. Более-менее прояснили ситуацию

Share this post


Link to post
Share on other sites
3 hours ago, RobFPGA said:

Приветствую!

Чистый аппаратный блок имеет интерфейс TLP layer.  Соответственно вам придется делать обвязку которая будет формировать/парсить правильные пакеты TLP в соответствии с протоколом PCIe. И если передача данных в направлении из FPGA в PC еще не столь сложна то в обратном направлении  придется попотеть чтобы правильно  выстроить цепочку запрос/ответ.  

Делать свою обвязку для PCIe IP  есть смысл если вам скучно на работе и ближайшие пол-года  вам нечем более заняться :whistle3: Тогда есть смысл потратить это время на изучение потрохов PCIe. 

Удачи! Rob.

А кто какие скорости получал с xdma xilinx? У меня почему-то в режиме axi-stream в устройство скорость в 10 раз больше, чем в PC. 

Share this post


Link to post
Share on other sites
15 minutes ago, dmitry-tomsk said:

А кто какие скорости получал с xdma xilinx?

Так по этому поводу есть даже QuickTake отдельный. Linux - в районе теоретического предела, Windows - в районе 5.5GB/s, сейчас вот работаю над тем, чтобы догнать до теоретического предела.

Share this post


Link to post
Share on other sites

Приветствую!

19 minutes ago, dmitry-tomsk said:

А кто какие скорости получал с xdma xilinx? У меня почему-то в режиме axi-stream в устройство скорость в 10 раз больше, чем в PC.

Большие скорости получали, в обе стороны :wink2:  как минимум %80 от теоретической для PCIe соответствующей конфигурации. 

Удачи! Rob. 

Share this post


Link to post
Share on other sites
1 hour ago, gosha-z said:

Так по этому поводу есть даже QuickTake отдельный. Linux - в районе теоретического предела, Windows - в районе 5.5GB/s, сейчас вот работаю над тем, чтобы догнать до теоретического предела.

 

1 hour ago, gosha-z said:

Так по этому поводу есть даже QuickTake отдельный. Linux - в районе теоретического предела, Windows - в районе 5.5GB/s, сейчас вот работаю над тем, чтобы догнать до теоретического предела.

Спасибо. А как насчёт цифровой подписи драйвера от xilinx? Сколько это стоит, если самому заняться? 

Второй вариант - написать дма самому и jungo windriver, но он стоит 4k$, может такой вариант и хуже будет.

Share this post


Link to post
Share on other sites

WinDriver будет явно хуже. У майкрософта есть пара примеров драйверов с DMA

Share this post


Link to post
Share on other sites
Just now, gosha-z said:

WinDriver будет явно хуже. У майкрософта есть пара примеров драйверов с DMA

Я так думаю от драйвера мало что может зависеть - нужно только залочить буфер пользователя, получить дескрипторы страницы и передать их в дма. На скорость влиять не может. Вопрос сколько стоит подписать свой драйвер или xilinx драйвер для официальной продажи софта.

Share this post


Link to post
Share on other sites
1 minute ago, dmitry-tomsk said:

Вопрос сколько стоит подписать свой драйвер или xilinx драйвер для официальной продажи софта.

Гугляндекс Code Signing Certificate.

Share this post


Link to post
Share on other sites
4 minutes ago, gosha-z said:

Гугляндекс Code Signing Certificate.

 

Мне кажется это не то. Одно дело обычный софт для скачивания с интернета, другое дело драйвер. Обычное по можно запустить и так, а драйвер в win10 без подписи не установить просто так.

1 hour ago, RobFPGA said:

Приветствую!

Большие скорости получали, в обе стороны :wink2:  как минимум %80 от теоретической для PCIe соответствующей конфигурации. 

Удачи! Rob. 

Именно с axi-stream или через MM и буфер в ddr?

Share this post


Link to post
Share on other sites

Приветствую!

2 minutes ago, dmitry-tomsk said:

Именно с axi-stream или через MM и буфер в ddr?

Именно axi-stream. Под Linux

Удачи! Rob.

Share this post


Link to post
Share on other sites
4 minutes ago, RobFPGA said:

Приветствую!

Именно axi-stream. Под Linux

Удачи! Rob.

Спасибо, похоже дело именно в драйвере под windows. В самой корке настраивать нечего и ошибиться негде. Похоже лучше самому контроллер написать.

Share this post


Link to post
Share on other sites

На сайте jungo написано, что в версии 12.3 есть пример для xdma. Кто-нибудь знает работает ли он с axi-stream режимом?

Share this post


Link to post
Share on other sites

Приветствую!

13 minutes ago, dmitry-tomsk said:

На сайте jungo написано, что в версии 12.3 есть пример для xdma. Кто-нибудь знает работает ли он с axi-stream режимом?

Вообще то  режим работы драйвера определяется от того как вы корку сконфигурируете - при этом физически  работа с DMA со стороны драйвера хоста одинакова, разве что физ-адрес в FPGA задавать не нужно. Поэтому странно что у вас разница скоростей такая большая.

Удачи! Rob.

Share this post


Link to post
Share on other sites
4 minutes ago, RobFPGA said:

Приветствую!

Вообще то  режим работы драйвера определяется от того как вы корку сконфигурируете - при этом физически  работа с DMA со стороны драйвера хоста одинакова, разве что физ-адрес в FPGA задавать не нужно. Поэтому странно что у вас разница скоростей такая большая.

Удачи! Rob.

На форуме xilinx тоже у кого-то такая же проблема. Ссылаются на то, что код драйвера для стрима и памяти разный. Как исправить не ответа.

Share this post


Link to post
Share on other sites
17 hours ago, dmitry-tomsk said:

Я так думаю от драйвера мало что может зависеть - нужно только залочить буфер пользователя, получить дескрипторы страницы и передать их в дма. На скорость влиять не может

на скорость корки не влияет, но драйвер уже как принимающая сторона, от него уже весь цикл передачи данных сильно зависит. От того как его напишешь. Как с памятью работает и тд. Если большой поток принимать, чуть запнулся драйвер и уже задропал пакеты.

Edited by new123

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this