GT-96100A Advanced Communication Controller
Revision 1.0
147
6.2
PCI Parity Support
The GT-96100A implements all parity features required by PCI spec, including PAR, PERR*, and SERR* gener-
ation and checking (also PAR64 in case of 64-bit PCI configuration).
As an initiator, the GT-96100A generates even parity on PAR signals for address phase and data phase of write
transaction. It samples PAR on data phase of read transactions. If the GT-96100A detects bad parity and PErrEn
bit in Status and Command Configuration register is set, it asserts PERR*.
As a target, the GT-96100A generates even parity on PAR signal for data phase of a read transaction. It samples
PAR on address phase and data phase of write transactions. If the GT-96100A detects bad parity and PErrEn bit
in Status and Command Configuration register is set, it asserts PERR*.
The GT-96100A asserts SERR* if any of the following occur:
Detects a bad address parity as a target.
Detects a bad data parity on a write transaction as a master (detects PERR* asserted).
Detects a bad data parity on a read transaction as a master.
Detects ECC error on read from SDRAM or Device.
Performs master abort.
Detects target abort.
SERR* is asserted if SErrEn bit in Status and Command configuration register is set to 1 and if SERR* is not
masked through SERR Mask register.
6.3
Parity Support for Devices
There is no dedicated logic in the GT-96100A to support devices parity. If Devices parity checking is required, it
can be implemented externally using ‘511 devices and some logic for interrupt generation.
Still, the GT-96100A generates EVEN parity on CPU SysADC lines during CPU read transaction from devices.
6.4
CPU Parity Support
CPU parity is supported through SysADC lines.
On write transactions, CPU drives even parity on SysADC. The GT-96100A samples the incoming data driven
on SysAD and the parity driven on SysADC. In case of parity error, the GT-96100A latches:
The address in CPU Error address register.
The data in CPU Error Data register.
The parity in CPU Error Parity register.
On read transactions, CPU drives even parity on SysADC, in parallel to the data it drives on SysAD.
CPU parity errors are reported through CPUOut interrupt bit in the interrupt cause register, and through
SysCmd[5] in case of read transaction.