Kuzmi4 0 16 декабря, 2011 Опубликовано 16 декабря, 2011 · Жалоба Здравствуйте. Имею такую систему: с одной стороны 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 из корки выставляется специфически B) ). Так вот, имею вопрос - это багофича альтеровцев (аки любимых всеми нами индусоФФ), или же это я где то недочитал про то, что формат пакетов выходящих из PCIE корки альтеры может отличаться от описанного в "ug_pci_express.pdf", там где "A. Transaction Layer Packet (TLP) Header Formats"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 19 декабря, 2011 Опубликовано 19 декабря, 2011 · Жалоба В общем, в связи с тем что WinXP 32-bit не позволяет и писать и читать по 2DW за раз (максиумм чего добился - это запись 2DW, можно и больше было - WriteCombine, но мне не нужно было без чтения; сейчас имею запись/чтение из оси по 1DW), заделал обработку этих 2х случаев. Однако всё же интересно - это я провтыкал, или это всё таки багофича? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба В общем развязка была проста - это я провтыкал QWord/Non-QWord Alignment :smile3046: ..Qword alignment is a feature of the IP core that cannot be turned off.. (хилые в этом плане проще ) Но что было интересно, мне никто про это в симуляции не сказал, более того - в ней всё работало прекрасно :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться