SN54ABT3614
64 × 36 × 2 CLOCKED BIDIRECTIONAL FIRST-IN, FIRST-OUT MEMORY
WITH BUS MATCHING AND BYTE SWAPPING
SGBS308F – AUGUST 1995 – REVISED MAY 2000
15
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
parity checking
The port-A data inputs (A0–A35) and port-B data inputs (B0–B35) each have four parity trees to check the parity
of incoming (or outgoing) data. A parity failure on one or more bytes of the port-A data bus is reported by a low
level on the port-A parity-error flag (PEFA). A parity failure on one or more bytes of the port-B data inputs that
are valid for the bus-size implementation is reported by a low level on the port-B parity-error flag (PEFB). Odd-
or even-parity checking can be selected, and the parity-error flags can be ignored if this feature is not desired.
Parity status is checked on each input bus according to the level of the odd/even parity (ODD/EVEN) select
input. A parity error on one or more valid bytes of a port is reported by a low level on the corresponding port
parity-error flag (PEF A, PEFB) output. Port-A bytes are arranged as A0–A8, A9–A17, A18–A26, and A27–A35.
Port-B bytes are arranged as B0–B8, B9–B17, B18–B26, and B27–B35, and its valid bytes are those used in
a port-B bus-size implementation. When odd/even parity is selected, a port parity-error flag (PEFA, PEFB) is
low if any valid byte on the port has an odd/even number of low levels applied to the bits.
The four parity trees used to check the A0–A35 inputs are shared by the mail2 register when parity generation
is selected for port-A reads (PGA = high). When a port-A read from the mail2 register with parity generation is
selected with CSA low, ENA high, W/RA low, MBA high, and PGA high, the port-A parity-error flag (PEFA) is
held high regardless of the levels applied to the A0–A35 inputs. Likewise, the parity trees used to check the
B0–B35 inputs are shared by the mail1 register when parity generation is selected for port-B reads (PGB = high).
When a port-B read from the mail1 register with parity generation is selected with CSB low, ENB high, and W/RB
low , both SIZ0 and SIZ1 high, and PGB high, the port-B parity-error flag (PEFB) is held high, regardless of the
levels applied to the B0–B35 inputs.
parity generation
A high level on the port-A parity-generate select (PGA) or port-B parity-generate select (PGB) enables the
SN54ABT3614 to generate parity bits for port reads from a FIFO or mailbox register . Port-A bytes are arranged
as A0–A8, A9–A17, A18–A26, and A27–A35, with the most-significant bit of each byte used as the parity bit.
Port-B bytes are arranged as B0–B8, B9–B17, B18–B26, and B27–B35, with the most-significant bit of each
byte used as the parity bit. A write to a FIFO or mail register stores the levels applied to all nine inputs of a byte,
regardless of the state of the parity-generate select (PGA, PGB) inputs. When data is read from a port with parity
generation selected, the lower eight bits of each byte are used to generate a parity bit according to the level on
the ODD/EVEN select. The generated parity bits are substituted for the levels originally written to the
most-significant bits of each byte as the word is read to the data outputs.
Parity bits for FIFO data are generated after the data is read from SRAM and before the data is written to the
output register; therefore, the port-A parity-generate select (PGA) and odd/even parity select (ODD/EVEN)
have setup- and hold-time constraints to the port-A clock (CLKA) and the port-B parity generate select (PGB)
and ODD/EVEN have setup and hold-time constraints to the port-B clock (CLKB). These timing constraints only
apply for a rising clock edge used to read a new long word to the FIFO output register.
The circuit used to generate parity for the mail1 data is shared by the port-B bus (B0–B35) to check parity and
the circuit used to generate parity for the mail2 data is shared by the port-A bus (A0–A35) to check parity. The
shared parity trees of a port are used to generate parity bits for the data in a mail register when the port chip
select (CSA, CSB) is low, enable (ENA, ENB) is high, write/read select (W/RA, W/RB) input is low, the mail
register is selected (MBA is high for port A; both SIZ0 and SIZ1 are high for port B), and port parity-generate
select (PGA, PGB) is high. Generating parity for mail-register data does not change the contents of the register.