09-23-2010 03:20 AM - edited 09-23-2010 03:43 AM
I use the Windows API functions (WRITE_REGISTER_BUFFER_ULONG，READ_REGISTER_BUFFER_ULONG) to write DMA registers of SG-DMA lists, in my windows PCIE Driver. When I use chipscope to see the interface of PCIE, I found there is about 400ns time wasted between every posted packets from CPU to PCIE DMA registers. And the length of packet sended from CPU, can only be 1DW. This time wasted lead a high CPU utilization and limits the bandwidth of SG-DMA. Can anyone tell me how to solve this problem? Thanks.
32bit Windows XP SP2
V5 110T -1
09-24-2010 04:55 AM
03-09-2011 01:17 AM
I would sugest that you have to set Acceptable L0 Latency to less than <64ns when you generate the core. For V5 it is set to unlimited by default. It looks like this allows the Root complex to relax the timming between write TLPs. (adds 400 ns between write (posted) packets).