Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Altera PCI Express Compiler, QuartusIIv10.0sp1
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
Kuzmi4
Здравствуйте.

Имею такую систему:
с одной стороны 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"?
Kuzmi4
В общем, в связи с тем что WinXP 32-bit не позволяет и писать и читать по 2DW за раз (максиумм чего добился - это запись 2DW, можно и больше было - WriteCombine, но мне не нужно было без чтения; сейчас имею запись/чтение из оси по 1DW), заделал обработку этих 2х случаев.
Однако всё же интересно - это я провтыкал, или это всё таки багофича?
Kuzmi4
В общем развязка была проста - это я провтыкал QWord/Non-QWord Alignment smile3046.gif
Цитата
..Qword alignment is a feature of the IP core that cannot be turned off..

(хилые в этом плане проще biggrin.gif )
Но что было интересно, мне никто про это в симуляции не сказал, более того - в ней всё работало прекрасно sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.