реклама на сайте
подробности

 
 
> Короткие TLP
otv116
сообщение Jan 22 2015, 14:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 25-04-05
Пользователь №: 4 466



Изучаю PCIe на ките альтеры с Cyclone-IV. В качестве основы для прошивки использую то, что генерит бесплатный IP compiler for PCI Express.
Написал простейший драйвер под WinXP, который мапит бары в user space и отдает эти виртуальные адреса приложению Win32 (вернее, приложение у драйвера их запрашивает). DMA не использую.
В приложении я просто делаю записи по этим адресам. Указатели объявил типа __int64 *.
В ПЛИСине с помощью SignalTap смотрю, что из корки сыпется в обработчик TLP.
Вот что мне не понятно:
Если я делаю запись по виртуальному адресу, например : *pBuffer = 0xBEEFCAFEDEADFACE, то вижу, что из корки летит 2 TLP. Один со старшей частью, а второй с младшей.
Если в указатель буду пихать больше данных, например с помощью memcpy, то из корки прилетит столько TLP, сколько 32-битных слов я запишу в указатель.
Я расчитывал, что все данные будут в одном единственном TLP.
Подскажите, в какую сторону копать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
novartis
сообщение Jan 23 2015, 15:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Я вам не в укор сказал, что это много раз обсуждалось, а в том смысле, что многие с этим сталкиваются, я тоже никак не мог понять, как пк заставить гнать большие блоки данных. Вот нашел тему с таким же вопросом как у вас http://electronix.ru/forum/index.php?showtopic=44551

Вы написали про "бесплатный IP compiler for PCI Express". А в Qsys вы можете pcie ядро сгенерить? Я вот сейчас как раз занимаюсь переводом нашего проекта PCIE+DMA+DDR3+(еще всякая логика) под Qsys. Раньше все генерил мегавизардом, потом руками состыковывал на vhdl, если что-то менялось, добавлялся новый блок - столько кода приходилось перелопачивать. А qsys позволяет всё кубиками соединить, потом квартус интерконнекты сам вставляет. Есть небольшие заморочки, но они решаются. Так что если вы только начали работать с PCIE и в последствии придется добавить другие ядра/блоки, посмотрите в сторону Qsys.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016