
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
11-12
S5933
PCI CONTROLLER
DEVICE SPECIFICATION
When the last location in the PCI to Add-On FIFO is
read by the Add-On, the FIFO pointer does not
change. If another read is performed before more
data enters the FIFO, the previous data is driven.
When a write to a full Add-On to PCI FIFO is at-
tempted, nothing happens. No FIFO data is overwrit-
ten and the FIFO pointers are not changed. This
behavior is the same whether the FIFO is accessed
using the direct access inputs or normal Operation
Register accesses.
Figure 11-8 shows a synchronous FIFO register burst
access. SELECT# must meet setup and hold times
relative to the rising edge of BPCLK. RD# and
SELECT# both asserted enables the DQ outputs, and
the first data location (data 0) in the FIFO is driven on
to the bus. The FIFO address and the byte enables
must be valid before valid data is driven onto the DQ
bus. Data 0 remains valid until the next rising edge of
BPCLK. The rising edge of BPCLK causes the FIFO
pointer to advance to the next location (data 1). The
next rising edge of BPCLK also advances the FIFO
pointer to the next location (data 2). The status outputs
reflect the FIFO condition after it advances, and are
updated off of the rising edge of BPCLK. When RD# or
SELECT# is deasserted, the DQ bus floats. The next
time a valid FIFO access occurs and RD# and SELECT#
are asserted, data 2 is presented on the DQ bus (as
there was no BPCLK edge to advance the FIFO).
11.2.3.2 Add-On FIFO Direct Access Mode
Instead of generating an address, byte enables, SELECT#
and a RD# or WR# strobe for every FIFO access, the
S5933 allows a simple, direct access mode. Using
RDFIFO# and WRFIFO# is functionally identical to per-
forming a standard AFIFO Port Register access, but re-
quires less logic to implement. Accesses to the FIFO
register using the direct access signals are always 32-
bits wide. The only exception to this is when the
MODE pin is configured for 16-bit operation. In this
situation, all accesses are 16-bits wide (see Section
11.2.3.5). The RD# and WR# inputs must be inactive
when RDFIFO# or WRFIFO# is active. The ADR[6:2]
and BE[3:0]# inputs are ignored.
Depending on the device configuration, RDFIFO#
and WRFIFO# can act as clocks for data or enables
with BPCLK acting as the clock. A Synchronous in-
terface allows higher data rates, and an asynchro-
nous interface is better for slow Add-On logic which
may require wait states. The major difference be-
tween the synchronous and asynchronous modes is
when the FIFO advances.
Figure 11-9 shows an asynchronous FIFO register
direct access using RDFIFO#. The first location in the
FIFO is driven onto the bus when RDFIFO# is as-
serted. Data remains valid as long as RDFIFO# is
asserted. The rising edge of RDFIFO# causes the
data bus to float and acts as the clock causing the
FIFO pointer to advance. The status outputs reflect
the FIFO condition after it advances.
Figure 11-10 shows a synchronous FIFO register di-
rect burst access using RDFIFO#. RDFIFO# acts as
an enable and the first data location (data 0) in the
FIFO is driven on to the bus when RDFIFO# is as-
serted. Data 0 remains valid until the next rising edge
of BPCLK. The rising edge of BPCLK causes the
FIFO pointer to advance to the next location (data 1).
The next rising edge of BPCLK advances the FIFO
pointer to the next location (data 2). The status out-
puts reflect the FIFO condition after it advances, and
are updated off of the rising edge of BPCLK. When
RDFIFO# is deasserted, the DQ bus floats. The next
time RDFIFO# is asserted, data 2 is presented on the
DQ bus (as there was no BPCLK edge to advance
the FIFO).
A synchronous FIFO interface has the advantage of
allowing data to be accessed more quickly (in bursts)
by the Add-On. As a target, if a full S5933 FIFO is
Figure 11-8. Synchronous FIFO Register Burst Read Access Example
BE[3:0]#
BPCLK
ADR[6:2]
DQ[31:0]
SELECT#
RD#
RDEMPTY
Valid Byte Enables
FIFO Pointer Advances
Valid Address
Data 1
Data 2
Data 0
New Status
Status Before Read