**** Results from running wupper tools: **** root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# ls CMakeCache.txt cmake_install.cmake Makefile wupper-config wupper-dma-transfer wupper-irq-test wupper-throughput CMakeFiles libwupper.a wupper-chaintest wupper-dma-test wupper-info wupper-reset wupper-write root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# ./wupper-reset all root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# ./wupper-info General information ------------------- Board ID: fe71ce Card ID: VC-709 FW version date: fe/0/0 71:ce SVN version: 0 Interrupts & descriptors ---------------------------------- Number of interrupts: 8 Number of descriptors: 8 Internal PLL Lock : Yes root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# ./wupper-chaintest Reading data from buffer 1... waited >2s for dma to complete *Current address: 0x7B3CE0E00 DONE! Buffer 2 addresses: 0: E9A154133B857A14 1: 15E089BACA4BD6DD 2: 4E5DFB44F1CA26A5 3: A2E6807EACABC90C 4: ED2C41140FA96E3A 5: 1FEAE090A3CEE852 6: A19284B0A173DB7B 7: EB543A3357A75B56 8: 14AD064CA44E6369 9: 153417352191B362 7B3C00080 (C69CAF887C4EFCA6 * 734F04FC2FCDFC12) = 5975B1129507576C F5DA0901492F2BAC != 2F8E8BB24B389CC7 8838A7F15BAB5E4A 7B3C00090 (3EF555469EB5BCC1 * C15FE9418809EECA) = 2F8E8BB24B389CC7 8838A7F15BAB5E4A != 48049826C4559504 BD768240524BCAEB 7B3C000A0 (634E57C43E277E53 * B9A7827E17E6FE09) = 48049826C4559504 BD768240524BCAEB != BE3A2EC92CE2731 B1B62FABF4E85BE0 7B3C000B0 (1F7AAAA34F5ADE60 * 60AFF4A0C404F765) = BE3A2EC92CE2731 B1B62FABF4E85BE0 != 1810483 800180000000000 7B3C000C0 (B1A72BE21F13BF29 * 5CD3C13F0BF37F04) = 406B06A9370F24C2 E82029FF7F0F53A4 != E30312460B3A90F B14399875E18C10 7B3C000D0 (8FBD5551A7AD6F30 * 9477FA5062027BB2) = 535CD2E1E5697CC2 A8EE14229635F60 != 6D4C26C96C29DD3C 90C6115483D090C8 7B3C000E0 (58D395F10F89DF94 * 2E69E09F85F9BF82) = 101AC1AA4DC3C930 A2D31A301CC6F528 != 38C0C49182CEA43 C2C50E661D786304 7B3C000F0 (47DEAAA8D3D6B798 * EE1BFD2831013DD9) = 42D8DE374BF571F6 EFA3B8508A58D7D8 != 1B5309B25B0A774F 2431845520F42432 7B3C00100 (2C69CAF887C4EFCA * 1734F04FC2FCDFC1) = 406B06A9370F24C 28B4C68C0731BD4A != 40C080C5 84000C0000000000 7B3C00110 (A3EF555469EB5BCC * 770DFE9418809EEC) = 4C3D36D7DF3DABF3 A9F14369EDA08810 != 406B06A9370F24C2 E82029FF7F0F53A4 65528 errors out of 65536 root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# ./wupper-write 618C227F6B13A9B1 DEADBEEFABCD0123 done cmem alloc Clear buffer: 0: 0 1: 1 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8 9: 9 done dma write waited >2s for dma to complete *Current address: 0x7B3C00000 done waiting 0: 0 1: 1 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8 9: 9 root@ubuntu:/media/ubuntu/casper-rw/V7_DMA/virtex7_pcie_dma/trunk/hostSoftware/wupper_tools/build# **** Results from my Windows application: **** E:\CSP\sw\virtex7_pcie_dma_driver_64bit\amd64\msdev_2012\Debug>virtex7_pcie_dma_driver_diag.exe VIRTEX7_PCIE_DMA_DRIVER diagnostic utility. Application accesses hardware using WinDriver. Found 1 matching device [ Vendor ID 0x10EE, Device ID 0x7038 ]: 1. Vendor ID: 0x10EE, Device ID: 0x7038 Location: Bus [0x2], Slot [0x0], Function [0x0] Interrupt: IRQ 0 Interrupt Options (supported interrupts): Extended Message-Signaled Interrupt (MSI-X) Memory range [BAR 0]: base 0xF7300000, size 0x100000 Memory range [BAR 1]: base 0xF7200000, size 0x100000 Memory range [BAR 2]: base 0xF7100000, size 0x100000 dmaTX_buffer: Base address physical=de22e000, virtual=2020000, size=1048576 dmaRX_buffer: Base address physical=ddbda000, virtual=2120000, size=1048576 TX buffer[0] = 00000000 TX buffer[1] = 00000001 TX buffer[2] = 00000002 TX buffer[3] = 00000003 TX buffer[4] = 00000004 TX buffer[5] = 00000005 TX buffer[6] = 00000006 TX buffer[7] = 00000007 REGISTER_RESET DMA_RESET SOFT_RESET FIFO_FLUSH D0 Status = 0000000000000000-0000000000000000 - DescriptorEnable = 00000000 - read_ptr = 0000000000000000 D1 Status = 0000000000000000-0000000000000000 - DescriptorEnable = 00000000 - read_ptr = 0000000000000000 CARD_TYPE: 709 Board ID: fe71ce Core temperature: 2572 APP_MUX = 0 APP_ENABLE = 0 DescriptorEnable = 00000000 DescriptorEnable = 00000000 ===================================================================================== Application to PC ===================================================================================== Reset LFSR with seed value (1) Reset LFSR with seed value (0) LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004 APP_MUX = 0 APP_ENABLE = 1 D0_Start = 00000000ddbda000 D0_End = 00000000ddcda000 D0_TLP_READ_WRAP = 0000000000001040(write,wrap) D0_Read_Ptr = 00000000ddcda000 DescriptorEnable = 00000001 D0 Status = 00000000ddbda800 - DescriptorEnable = 00000001 FIFO_FLUSH D0 Status = 00000000ddbda800-0000000000000000 - DescriptorEnable = 00000001 - read_ptr = 00000000ddcda000 D0 Status = 00000000ddbda800-0000000000000000 - DescriptorEnable = 00000001 - read_ptr = 00000000ddcda000 Wait 4 seconds: .... D0 Status = 00000000ddbda800-0000000000000000 - DescriptorEnable = 00000001 - read_ptr = 00000000ddcda000 D0 Status = 00000000ddbda800-0000000000000000 - DescriptorEnable = 00000001 - read_ptr = 00000000ddcda000 TX buffer[0] = 00000000 - RX buffer[0] = 00000000 TX buffer[1] = 00000001 - RX buffer[1] = 00000000 TX buffer[2] = 00000002 - RX buffer[2] = 00000000 TX buffer[3] = 00000003 - RX buffer[3] = 00000000 TX buffer[4] = 00000004 - RX buffer[4] = 00000000 TX buffer[5] = 00000005 - RX buffer[5] = 00000000 TX buffer[6] = 00000006 - RX buffer[6] = 00000000 TX buffer[7] = 00000007 - RX buffer[7] = 00000000 ===================================================================================== Application to PCIe ===================================================================================== Reset LFSR with seed value (1) Reset LFSR with seed value (0) LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004 APP_MUX = 1 D0_Start = 00000000de22e000 D0_End = 00000000de32e000 D0_TLP_READ_WRAP = 0000000000001840(read,wrap) D0_Read_Ptr = 00000000de22e000 D1_Start = 00000000ddbda000 D1_End = 00000000ddcda000 D1_TLP_READ_WRAP = 0000000000001040(write,wrap) D1_Read_Ptr = 00000000ddcda000 APP_ENABLE = 1 DescriptorEnable : 00000003 D0 Status = 00000000de22e000-0000000000000002 - DescriptorEnable = 00000003 - read_ptr = 00000000de22e000 D0 Status = 00000000de22e000-0000000000000002 - DescriptorEnable = 00000003 - read_ptr = 00000000de22e000 D1 Status = 00000000ddbda000-0000000000000000 - DescriptorEnable = 00000003 - read_ptr = 00000000ddcda000 D1 Status = 00000000ddbda000-0000000000000000 - DescriptorEnable = 00000003 - read_ptr = 00000000ddcda000 Wait 4 seconds: .... D0 Status = 00000000de22e000-0000000000000002 - DescriptorEnable = 00000003 - read_ptr = 00000000de22e000 D0 Status = 00000000de22e000-0000000000000002 - DescriptorEnable = 00000003 - read_ptr = 00000000de22e000 D1 Status = 00000000ddbda000-0000000000000000 - DescriptorEnable = 00000003 - read_ptr = 00000000ddcda000 D1 Status = 00000000ddbda000-0000000000000000 - DescriptorEnable = 00000003 - read_ptr = 00000000ddcda000 TX buffer[0] = 00000000 - RX buffer[0] = 00000000 TX buffer[1] = 00000001 - RX buffer[1] = 00000000 TX buffer[2] = 00000002 - RX buffer[2] = 00000000 TX buffer[3] = 00000003 - RX buffer[3] = 00000000 TX buffer[4] = 00000004 - RX buffer[4] = 00000000 TX buffer[5] = 00000005 - RX buffer[5] = 00000000 TX buffer[6] = 00000006 - RX buffer[6] = 00000000 TX buffer[7] = 00000007 - RX buffer[7] = 00000000 LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004 E:\CSP\sw\virtex7_pcie_dma_driver_64bit\amd64\msdev_2012\Debug>virtex7_pcie_dma_driver_diag.exe VIRTEX7_PCIE_DMA_DRIVER diagnostic utility. Application accesses hardware using WinDriver. Found 1 matching device [ Vendor ID 0x10EE, Device ID 0x7038 ]: 1. Vendor ID: 0x10EE, Device ID: 0x7038 Location: Bus [0x2], Slot [0x0], Function [0x0] Interrupt: IRQ 0 Interrupt Options (supported interrupts): Extended Message-Signaled Interrupt (MSI-X) Memory range [BAR 0]: base 0xF7300000, size 0x100000 Memory range [BAR 1]: base 0xF7200000, size 0x100000 Memory range [BAR 2]: base 0xF7100000, size 0x100000 dmaTX_buffer: Base address physical=ddbda000, virtual=20c0000, size=1048576 dmaRX_buffer: Base address physical=ddada000, virtual=21c0000, size=1048576 TX buffer[0] = 00000000 TX buffer[1] = 00000001 TX buffer[2] = 00000002 TX buffer[3] = 00000003 TX buffer[4] = 00000004 TX buffer[5] = 00000005 TX buffer[6] = 00000006 TX buffer[7] = 00000007 REGISTER_RESET DMA_RESET SOFT_RESET FIFO_FLUSH D0 Status = 00000000de22e000-0000000000000006 - DescriptorEnable = 00000003 - read_ptr = 0000000000000000 D1 Status = 00000000ddbda000-0000000000000004 - DescriptorEnable = 00000003 - read_ptr = 0000000000000000 CARD_TYPE: 709 Board ID: fe71ce Core temperature: 2584 APP_MUX = 0 APP_ENABLE = 0 DescriptorEnable = 00000003 DescriptorEnable = 00000000 ===================================================================================== Application to PC ===================================================================================== Reset LFSR with seed value (1) Reset LFSR with seed value (0) LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004 APP_MUX = 0 APP_ENABLE = 1 D0_Start = 00000000ddada000 D0_End = 00000000ddbda000 D0_TLP_READ_WRAP = 0000000000001040(write,wrap) D0_Read_Ptr = 00000000ddbda000 DescriptorEnable = 00000001 D0 Status = 00000000ddada000 - DescriptorEnable = 00000001 FIFO_FLUSH D0 Status = 00000000ddada000-0000000000000004 - DescriptorEnable = 00000001 - read_ptr = 00000000ddbda000 D0 Status = 00000000ddada000-0000000000000004 - DescriptorEnable = 00000001 - read_ptr = 00000000ddbda000 Wait 4 seconds: .... D0 Status = 00000000ddada000-0000000000000004 - DescriptorEnable = 00000001 - read_ptr = 00000000ddbda000 D0 Status = 00000000ddada000-0000000000000004 - DescriptorEnable = 00000001 - read_ptr = 00000000ddbda000 TX buffer[0] = 00000000 - RX buffer[0] = 00000000 TX buffer[1] = 00000001 - RX buffer[1] = 00000000 TX buffer[2] = 00000002 - RX buffer[2] = 00000000 TX buffer[3] = 00000003 - RX buffer[3] = 00000000 TX buffer[4] = 00000004 - RX buffer[4] = 00000000 TX buffer[5] = 00000005 - RX buffer[5] = 00000000 TX buffer[6] = 00000006 - RX buffer[6] = 00000000 TX buffer[7] = 00000007 - RX buffer[7] = 00000000 ===================================================================================== Application to PCIe ===================================================================================== Reset LFSR with seed value (1) Reset LFSR with seed value (0) LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004 APP_MUX = 1 D0_Start = 00000000ddbda000 D0_End = 00000000ddcda000 D0_TLP_READ_WRAP = 0000000000001840(read,wrap) D0_Read_Ptr = 00000000ddbda000 D1_Start = 00000000ddada000 D1_End = 00000000ddbda000 D1_TLP_READ_WRAP = 0000000000001040(write,wrap) D1_Read_Ptr = 00000000ddbda000 APP_ENABLE = 1 DescriptorEnable : 00000003 D0 Status = 00000000ddbda000-0000000000000004 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D0 Status = 00000000ddbda000-0000000000000004 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D1 Status = 00000000ddada000-0000000000000006 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D1 Status = 00000000ddada000-0000000000000006 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 Wait 4 seconds: .... D0 Status = 00000000ddbda000-0000000000000004 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D0 Status = 00000000ddbda000-0000000000000004 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D1 Status = 00000000ddada000-0000000000000006 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 D1 Status = 00000000ddada000-0000000000000006 - DescriptorEnable = 00000003 - read_ptr = 00000000ddbda000 TX buffer[0] = 00000000 - RX buffer[0] = 00000000 TX buffer[1] = 00000001 - RX buffer[1] = 00000000 TX buffer[2] = 00000002 - RX buffer[2] = 00000000 TX buffer[3] = 00000003 - RX buffer[3] = 00000000 TX buffer[4] = 00000004 - RX buffer[4] = 00000000 TX buffer[5] = 00000005 - RX buffer[5] = 00000000 TX buffer[6] = 00000006 - RX buffer[6] = 00000000 TX buffer[7] = 00000007 - RX buffer[7] = 00000000 LFSR_SEED_0A = 0000000000000001 LFSR_SEED_0B = 0000000000000002 LFSR_SEED_1A = 0000000000000003 LFSR_SEED_1B = 0000000000000004