User`s guide

DWMBB Adapter
3.14.3 Forcing Bad Parity
Forcing bad parity is used by diagnostic software to check the integrity
of the data paths by verifying the proper operation of the DWMBB parity
logic.
All data paths in the DWMBB use odd parity except for the XMI, which
uses even parity, and the PMR data path, which has ECC protection.
Parity is propagated on all data cyles and on all C/A cycles except DMA
C/A cycles during address translation, where parity is checked and then
regenerated.
3.14.3.1 Forcing Bad Parity on the IBUS
Forcing bad parity on the IBUS, by using Force Bad IBUS Receive Parity
(ADG1<3>) and Force Bad IBUS Transmit Parity (ADG1<2>), allows
diagnostics to verify the data path between the DWMBB/A module and the
DWMBB/B module.
Force Bad IBUS Receive Parity, when set, causes the IBUS parity bit in
the DWMBB/A module gate array to a one, regardless of the data passing
through the gate array. Bad parity is detected when the DWMBB/B
module loads IBUS bit patterns with an odd number of ones into the gate
array, verifying the parity checker on the IBUS side of the DWMBB/A
module gate array.
Force Bad IBUS Transmit Parity, when set, causes the IBUS parity bit
that is sent to the DWMBB/B module gate array to always be a one,
regardless of the data in the receive registers of the DWMBB/A module
gate array. Bad parity is detected when the DWMBB/B module fetches
either the contents of the receive registers in the DWMBB/A module
gate array or the contents of the I/O buffers in the same gate array and
the IBUS bit patterns have an odd number of ones, verifying the parity
checker on the IBUS side of the DWMBB/B module gate array.
The length field codes that the DWMBB/A module drives on the IBUS
are chosen to reduce the DWMBB/B module’s work. Since the DWMBB/A
has to decode the XMI address and it knows where an I/O is targeted
(PMR, DWMBB/A module CSR, DWMBB/B module CSR, or VAXBI node
CSR), it uses the length code to give this information to the DWMBB/B
module. The DWMBB/B module does not have to do address decoding on
an incoming I/O command from the DWMBB/A module.
An I/O command that gets driven onto the IBUS goes to either a VAXBI
node CSR or a DWMBB/B CSR. An I/O command that is targeted for a
DWMBB/B module CSR has an IBUS length field code of 00 (binary). An
I/O command targeted for a VAXBI node has an IBUS length field code
of 01 (binary), the normal VAXBI or XMI length field code for a longword
command.
3–145