
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
11-11
PCI CONTROLLER
S5933
DEVICE SPECIFICATION
11.2.2.1 FIFO PCI Bus Master Reads
For PCI read transfers (filling the PCI to Add-On
FIFO), read cycles are performed until one of the
following occurs:
– Bus Master Read Transfer Count Register
(MRTC), if used, reaches zero
– The PCI to Add-On FIFO is full
– GNT# is removed by the PCI bus arbiter
– AMREN is deasserted (See section 11.1.4.1)
If the transfer count is not zero, GNT# remains as-
serted, and AMREN is asserted, the FIFO continues
to read data from the PCI bus until there are no
empty locations in the PCI to Add-On FIFO. If the
Add-On can empty the FIFO as quickly as it can be
filled from the PCI bus, very long bursts are possible.
The S5933 deasserts REQ# when it completes the
access to fill the last location in the FIFO. Once
REQ# is deasserted, it will not be reasserted until the
FIFO management condition is met.
11.2.2.2 FIFO PCI Bus Master Writes
For PCI write transfers (emptying the Add-On to PCI
FIFO), write cycles are performed until one of the
following occurs:
– Bus Master Write Transfer Count Register
(MWTC), if used, reaches zero
– The Add-On to PCI FIFO is empty
– GNT# is removed by the PCI bus arbiter
– AMWEN is deasserted (See section 11.1.4.1)
If the transfer count is not zero, GNT# remains as-
serted, and AMWEN is asserted, The FIFO continues
to write data to the PCI bus until there are is no data in
the Add-On to PCI FIFO. If the Add-On can fill the FIFO
as quickly as it can be emptied to the PCI bus, very
long bursts are possible. The S5933 deasserts REQ#
when it completes the access to transfer the last data in
the FIFO. Once REQ# is deasserted, it will not be reas-
serted until the FIFO management condition is met.
11.2.3 Add-On Bus Interface
The FIFO register may be accessed in two ways from
the Add-On interface. It can be accessed through
normal register accesses or directly with the
RDFIFO# and WRFIFO# inputs. In addition, the FIFO
register can be accessed with synchronous or asyn-
chronous to BPCLK, depending on the S5933 con-
figuration. The Add-On interface also supports
datapaths which are not 32-bits. The method used to
access the FIFO from the Add-On interface is inde-
pendent of whether the FIFO is a PCI PCI target or a
PCI initiator.
11.2.3.1 Add-On FIFO Register Accesses
The FIFO may be accessed from the Add-On interface
through the Add-On FIFO Port Register (AFIFO) read
or write. This is offset 20h in the Add-On Operation
Registers. Depending on the device configuration, this
register can be accessed either synchronous BPCLK
or asynchronous to BPCLK. To access the FIFO as a
normal Add-On Operation Register, ADR[6:2],
BE[3:0]#, SELECT#, and RD# or WR# are required.
The major differences between synchronous and
asynchronous modes are when the FIFO pointers ad-
vance and the ability to perform burst accesses. The
following examples are shown for Add-On FIFO reads.
FIFO write waveforms are shown in Chapter 13.
Figure 11-7 shows an asynchronous FIFO register
read. SELECT# must meet setup and hold times
relative to the rising edge of RD#. RD# and SE-
LECT# both asserted enables the DQ outputs, and
the first data location in the FIFO is driven onto the
bus. The FIFO address and the byte enables must be
valid before valid data is driven onto the DQ bus.
Data remains valid as long as the address, byte en-
ables, SELECT# and RD# are asserted. Deasserting
RD# or SELECT# causes the data bus to float. The
rising edge of RD# causes the FIFO pointer to ad-
vance. The status outputs are updated to reflect the
FIFO condition after it advances.
Figure 11-7. Asynchronous FIFO Register Read Access Example
BE[3:0]#
ADR[6:2]
DQ[31:0]
SELECT#
RD#
RDEMPTY
Valid Byte Enables
Valid Address
Valid Data
Status Before Read
New Status
FIFO Pointer Advances