![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_304.png)
IDT PCI Bus Interface
PCI Target
79RC32438 User Reference Manual
10 - 36
November 4, 2002
Notes
The retry timer controls the number of PCI clock cycles the PCI interface will wait for the first data of an
access before issuing a retry. This is used during read operations (i.e., memory read, memory read
multiple, memory read line, and I/O read) to specify the number of PCI clock cycles the PCI bus interface is
allowed (delay supplying the first data quantity of a transaction) before the transaction must be retried.
During write operations (i.e., memory write, memory write and invalidate, and I/O write), this field specifies
the number of PCI clock cycles the PCI bus interface is allowed to wait for space to appear in the PCI target
input FIFO before a transaction must be retried.
The initial value for the retry timer is specified in the Retry Timer (RTIMER) field of the PCITC register.
PCI 2.2 specification sets the maximum to 16 PCI clock cycles, but the RC32438 allows this limit to be
extended to 255 clock cycles. The disconnect timer controls the number of PCI clock cycles the PCI inter-
face will wait for between data transfers. If the PCI bus interface is unable to accept data before the timer
expires, it issues a disconnect. PCI 2.2 specification sets the maximum to 8 PCI clock cycles, but the
RC32438 allows this limit to be extended to 255 clock cycles.
The PCI bus interface supports target delayed reads. The PCI bus interface supports only one pending
delayed read. If a read is attempted while a delayed read is pending, the transaction is retried and a
delayed read is not initiated for the transaction.
The PCI master that initiates a delayed read is expected to retry the transaction until the read
completes. The PCI bus interface contains a discard timer. If the master does not repeat a delayed read
request within 2
15
clock cycles, the discard timer will expire and discard the pending read. This is necessary
to ensure that a malfunctioning PCI master (e.g., one which has a pending delayed read) does not cause
the RC32438 to deadlock. If the discard timer expires and a pending read is discarded, the Pending Read
Discarded (PRD) bit is set in the PCIS register. The discard timer may be disabled by setting the Disable
Discard Timer (DDT) bit in the PCITC register.
The PCI transaction ordering constraints may be viewed as favoring target write operations since only a
single delayed read is allowed when there are posted writes. By contrast, multiple posted writes are allowed
when there is a delayed read. In an effort to provide some level of fairness, the PCI bus interface supports
a mode in which all transactions are retried when there is a delayed read. When the Retry when Delayed
Read (RDR) bit is set in the PCITC register, all PCI target transactions are retired as long as there is a
pending delayed read.
The PCI bus interface allows normal PCI target transaction ordering constraints to be overridden for
improved efficiency in some system scenarios. For more information, see the Transaction Ordering section
later in this chapter. The PCI bus interface supports target locking. Once a lock has been established, all
PCI target transactions to the RC32438 are retried until the lock has been released. The RC32438 does not
implement locked operations on the IPBus. Therefore, lock operations are only useful for creating atomic
sequences as seen by masters on the PCI bus.
The RC32438 does not support IPBus master accesses to PCI addresses that map to its PCI target
interface. An IPBus master access to a PCI address that maps to the RC32438’s PCI target interface
results in a master abort. Also, the RC32438 does not support PCI bus master accesses to the RC32438’s
local memory that maps to PCI space. These operations do not damage hardware, but their results are
undefined.
I/O Read
PCI I/O read transactions that map to a PCI Base Address (PBAx) register are converted to local IPBus
read operations. Data from an I/O read transaction is translated using the PBAxM register into a local IPBus
address. PCI I/O read transactions are not allowed to burst.
The PCI memory write maximum completion time limit of 10 microseconds (see section 3.5.3 in the PCI
2.2 Specification) is met under normal system conditions, but this limit may be violated in some system
configurations. For example, setting the RDR bit may violate this specification. Another example is when
PCI target bus requests are masked in the IPBus arbiter. It is the responsibility of the system designer
(hardware and software) to guarantee adherence to this requirement.