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

 
 
 
Reply to this topicStart new topic
> Altera PCI Express Compiler, QuartusIIv10.0sp1, странный формат выходных данных
Kuzmi4
сообщение Dec 16 2011, 10:30
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Здравствуйте.

Имею такую систему:
с одной стороны CycloneII (EP2C35F672C6) + PX1011A-EL1 (PCIE x1)
с другой A8N-E (NVidia4) + WinXP SP3 32bit
Одиночные записи в девайсину по указанному адресу производятся через DeviceIoControl из приложения. В драйвере имею такое:
Код
#define WRITE_REGISTER_ULONG64(Register, Value)  (*(volatile ULONG64 *)(Register) = (Value))

В результате на сигналтабе вижу такую картину (пишу по адресу хDA002000 значение x0506070801020304):
Первый трансфер
Прикрепленное изображение

Втрой трансфер
Прикрепленное изображение


Как видно, первый трансфер вполне вписывается в общую картину, описанную в "ug_pci_express.pdf", а вот второй трансфер логически вроде бы правильный, но как то не согласуется с "ug_pci_express.pdf" (там где "A. Transaction Layer Packet (TLP) Header Formats") - в смысле в первом есть 1DW reserved (выше адреса - биты [63:32] для "iv_rx_st_data0"), согласно документа, а вот во втором этот самый 1DW reserved выброшен, и данные цепляются сразу (при чём и BE из корки выставляется специфически cool.gif ).

Так вот, имею вопрос - это багофича альтеровцев (аки любимых всеми нами индусоФФ), или же это я где то недочитал про то, что формат пакетов выходящих из PCIE корки альтеры может отличаться от описанного в "ug_pci_express.pdf", там где "A. Transaction Layer Packet (TLP) Header Formats"?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 19 2011, 07:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



В общем, в связи с тем что WinXP 32-bit не позволяет и писать и читать по 2DW за раз (максиумм чего добился - это запись 2DW, можно и больше было - WriteCombine, но мне не нужно было без чтения; сейчас имею запись/чтение из оси по 1DW), заделал обработку этих 2х случаев.
Однако всё же интересно - это я провтыкал, или это всё таки багофича?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Dec 23 2011, 12:07
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



В общем развязка была проста - это я провтыкал QWord/Non-QWord Alignment smile3046.gif
Цитата
..Qword alignment is a feature of the IP core that cannot be turned off..

(хилые в этом плане проще biggrin.gif )
Но что было интересно, мне никто про это в симуляции не сказал, более того - в ней всё работало прекрасно sm.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 01:28
Рейтинг@Mail.ru


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