Virtex-5 RocketIO GTP Transceiver User Guide
189
UG196 (v1.3) May 25, 2007
Description
R
defines the CRC64 and CRC32 attributes.
Description
Using CRC for Error Checking
A cyclic redundancy check (CRC) is an error-checking mechanism for a block of data, such
as a frame of network traffic. The calculated CRC is used to detect errors after transmission
or storage and is calculated on a per clock cycle basis.
A CRC is computed for the contents of a frame and appended to the end of the frame
before transmission or storage. When the frame is received or retrieved, it is verified by
recalculating the CRC for the contents to confirm that no changes occurred.
CRCs are simple to implement in digital hardware, easy to analyze mathematically, and
good at detecting common errors caused by noise in transmission channels.
Table 8-2:
CRC 32-Bit I/O Ports
Port
Dir
Port
Size
Clock
Domain
Description
CRCCLK
In
1
N/A
CRC clock
CRCDATAVALID
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[31:0]
In
32
CRCCLK
CRC input data. The maximum datapath width is four 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:
CRCDATAVALID 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.
Table 8-3:
CRC64/CRC32 Attributes
Attribute
Description
CRC_INIT[31:0]
32-bit value for initial state of CRC internal registers in the
CRC32/CRC64 block. When CRCRESET is applied, the
CRC registers are synchronously initialized to this value.
The default value is
0xFFFFFFFF
.