
Digital Blocks
CY8C24xxx Preliminary Data Sheet
204
Document No. 38-12011 Rev. *E
December 22, 2003
17.1.7.1
Usability Exceptions
The following are usability exceptions for the Dead Band
function.
1.
Programming a dead band period value of 00h is not
supported. The block output is undefined under this con-
dition.
2.
If the period, of either the high time or the low time of the
reference input, is less than the programmed dead time
that associated output phase will be held low.
3.
DR0 may only be read (to transfer DR0 data to DR2)
when the block is disabled.
17.1.7.2
Block Interrupt
The Dead Band has one fixed interrupt source, which is the
Phase 1 primary output clock. When the KILL signal is
asserted, the interrupt follows the same behavior of the
Phase 1 output with respect to the various KILL modes.
17.1.8
CRCPRS Function
A Cyclic Redundancy Check/Pseudo Random Sequence
(CRCPRS) function consists of a polynomial register, a Lin-
ear Feedback Shift register (LFSR), and a seed register.
When the CRCPRS block is disabled and a Seed value is
written into DR2, the Seed value is also loaded into DR0.
When the CRCPRS is enabled, and synchronous clock and
data are applied to the inputs, a CRC is computed on the
serial data input stream. When the data input is forced to '0',
then the block functions as a PRS generator with the output
data generated at the clock rate. The most significant bit
(MSB) of the CRCPRS function is the primary output.
The CRCPRS has a selection of compare modes between
DR0 and DR2. The default behavior of the compare is
DR0==DR2. When the PRS function cycles through the
Seed value as one of the valid counts, the compare output is
asserted high for one clock cycle. This is regarded as the
Epoch of the pseudo random sequence. The mode bits can
be used to set other compare types. Setting Mode bit 0 to '1'
causes the compare behavior to revert to DR0 <= DR2 or
DR0 < DR2, depending upon Mode bit 1. The compare
value is the auxiliary output and the interrupt.
CRCPRS mode offers an optional Pass function. By setting
the Pass Mode bit in the CR0 register (bit 1), the CRCPRS
function is overridden. In this mode, the Data input is passed
transparently to the primary output and interrupt output.
Similarly, the CLK input is passed transparently to the auxil-
iary output.
Figure 17-4. CRCPRS LFSR Structure
LSFR Structure
The LSFR (Linear Feedback Shift register) structure, as
shown in
Figure 17-4
, is implemented as a modular shift
register generator. The least significant block in the chain
inputs the MSB and XORs it with the DATA input, in the case
of CRC computation. For PRS computation, the DATA input
is forced to logic '0' (by input selection) and therefore, the
MSB bus is directly connected to the FB bus. In the case of
a chained block, the data input (DIN) comes directly from
the data output (DO) of the LFSR in the previous block. The
MSB selection, derived from the priority decode of the poly-
nomial, enables one of the tri-state drivers to drive the MSB
bus.
Determining the CRC Polynomial
Computation of an n-bit result is generally specified by a
polynomial with n+1 terms, the last of which is X
16
, where
Equation 1
As an example, the CRC-CCIT 16-bit polynomial is:
Equation 2
The CRCPRS hardware assumes the presence of the X
0
term and therefore, this polynomial can be expressed in 16-
bits as 1000100000010000 or 8810h. Two consecutive digi-
tal blocks may be allocated to perform this function, with 88h
DO
0
1
2
7
6
FB Tri-state Bus
DATA
MSB Tri-state Bus
P
P
P
P
2:1
DIN
(From previous block
DO, if chained.)
(Data input for CRC, if
PRS, force to logic ‘0’.)
(To next block,
if chained.)
MSB
SEL
MSB SEL is determined by a
priority decode of the MSB, of
the polynomial across all blocks
of a CRCPRS function.
X
0
1
=
CRC
CCIT
–
X
16
X
12
X
5
1
+
+
+
=