Hi all !
thank you for reading this post. I'm experiencing some problems to get good data transfer performance using a PCI core in an FPGA directly linked to a PCI connector in a PC (PCI 32bit-33MHz).
The PCI core and the FPGA seem to not be the reason of the problem.
The FPGA is most of the time acting on the bus as Master, accessing directly in the system SDRAM.
Write accesses to SDRAM are very fast, since I can burst as many words as I want (in my case, 48 words), resulting in a 130MB/s bandwith.
However, read accesses bursts are limited by the target (SDRAM controller or just the PCI arbiter, I don't know) to eight word transfers, resulting in a very poor 50MB/s bandwidth. The target always asserts the STOP# pin after the 8th word transfer resulting in a "disconnect without data transfer".
All my memory accesses (read and writes) are linearly addressed.
Does anyone has an idea of how I can setup my system so I can achieve to have 64-word bursts for Read accesses instead of 8-words ?
My system is an Intel Pentium III 600MHz running under Linux
Best Regards, Uxello
lspci gives me this:
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) 00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02) 00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01) 00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01) 00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02) 00:11.0 VGA compatible controller: Silicon Integrated Systems [SiS] 86C326 (rev 0b) 00:14.0 Network and computing encryption device: Xilinx, Inc.: Unknown device cafe (rev 01)I setup the FPGA config regs as follows (lspci -vv):
00:14.0 Network and computing encryption device: Xilinx, Inc.: Unknown device cafe (rev 01) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-