
GT-96100A Advanced Communication Controller
Revision 1.0
159
Figure 28: PCI Target Interface FIFOs Operational Example
7.3.2
Controlling Burst Length
The GT-96100A’s memory interface is capable of maximum burst of eight data bursts to SDRAM or devices,
regardless of the device width. This implies that if the device is 64-bits wide, it can burst up to 64 bytes in a sin-
gle transaction. If the device is 32-bits wide it can burst up to 32 bytes per transaction and so on.
The PCI target is limited to requesting burst reads/writes from the memory interface that are not greater than the
bursts supported by the controller. Each PCI target FIFO corresponds to a single memory interface transaction.
The PCI target has a programmable FIFO depth. The MaxBurst register (offset 0xc40) defines the FIFO depth
per each Base Address Register. If the FIFO depth is set to 16 (MaxBurst = 1) then the maximum burst is 64
bytes to/from the memory interface. If the FIFO depth is eight (MaxBurst = 0) then a maximum burst of 32 bytes
is supported on the memory interface.
The system’s software must program the MaxBurst register properly.
NOTE: In order to support PCI bursts to a 32-bit SDRAM or device, MaxBurst must be set to 0. This is also true
for a 64-bit SDRAM programed to burst length of 4.
MaxBurst may be used for performance optimization in systems with 64-bit wide memory. In some cases, it is
sometimes preferred to keep the bursts short to allow CPU or DMA to get more memory interface bandwidth. In
this case, setting the MaxBurst value to 8 may be an appropriate strategy.
FIFO B (32-BYTES)
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DRAM/DEVICE UNIT
FIFO A (32-BYTES)
PCI BUS
FIFO B (32-BYTES)
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DRAM/DEVICE UNIT
FIFO A (32-BYTES)
PCI BUS
FIFO B (32-BYTES)
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
DRAM/DEVICE UNIT
FIFO A (32-BYTES)
PCI BUS
DATA FLOWING INTO FIFO A
FROM PCI. NO DATA FLOWING
INTO DRAM YET. 8 WORDS HAVE
BEEN POSTED FROM PCI.
FIFO A AND B "FLIP". FIFO B IS
NOW TAKING DATA FROM PCI
WHILE FIFO A DRAINS INTO
DRAM. 10 WORDS HAVEN BEEN
POSTED.
PCI BUS HAS COMPLETED
BURST AFTER 10 WORDS. FIFO
A HAS DRAINED AND NOW FIFO
B IS DRAINING INTO DRAM.
64 bits
32/64 bits
NOTE: Graphic shows only 8 of the 16 entries in the FIFOs (in 32-bit mode)