188
Virtex-5 RocketIO GTP Transceiver User Guide
UG196 (v1.3) May 25, 2007
Chapter 8:
Cyclic Redundancy Check (CRC)
R
The CRC block only calculates the CRC for the input datastream using the standard
polynomial. The CRC blocks do not perform any data framing. The application is
responsible for appending CRC values to outgoing frames and validating the CRC on the
RX side.
Ports and Attributes
defines the CRC 64-bit I/O ports, and
defines the CRC 32-bit I/O ports.
Figure 8-2:
CRC Application
TX User
Data
RX User
Data
CRC Block
CRC Block
RX_CRC =
CRC Resid
u
e
CRC Pass/Fail
CRC Resid
u
e
Transmitter
I/F
Recei
v
er
I/F
UG196_c8_02_100506
Table 8-1:
CRC 64-Bit I/O Ports
Port
Dir
Port
Size
Clock
Domain
Description
CRCCLK
In
1
N/A
CRC clock
CRCDATAVALIDA
In
1
CRCCLK
Indicates valid data on the CRCIN inputs.
1'b1
: Data valid
1'b0
: Data invalid
Deasserting this signal causes the CRC value to be held for the
number of cycles that this signal is deasserted.
CRCDATAWIDTH[2:0]
In
3
CRCCLK
Indicates how many input data bytes are valid. Refer to
for input byte ordering for CRC32
and CRC64, respectively.
CRCIN[63:0]
In
64
CRCCLK
CRC input data. The maximum datapath width is eight bytes.
CRCOUT[31:0]
Out
32
CRCCLK
32-bit CRC output. CRCOUT is the byte-reversed, bit-inverted CRC
value corresponding to the CRC calculation on valid bytes from the
previous clock cycle and the previous CRC value.
Note:
CRCDATAVALIDA must be driven High.
CRCRESET
In
1
CRCCLK
Synchronous reset of CRC registers. When CRCRESET is asserted,
the CRC block is initialized to the CRC_INIT value.