Description; Using Crc For Error Checking - Xilinx Virtex-5 RocketIO GTP User Manual

Table of Contents

Advertisement

R
Table 8-2: CRC 32-Bit I/O Ports
Port
CRCCLK
CRCDATAVALID
CRCDATAWIDTH[2:0]
CRCIN[31:0]
CRCOUT[31:0]
CRCRESET
Table 8-3
Table 8-3: CRC64/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.
Virtex-5 RocketIO GTP Transceiver User Guide
UG196 (v1.3) May 25, 2007
Port
Clock
Dir
Size
Domain
In
1
N/A
CRC clock
Indicates valid data on the CRCIN inputs.
In
1
CRCCLK
Deasserting this signal causes the CRC value to be held for the
number of cycles that this signal is deasserted.
Indicates how many input data bytes are valid. Refer to
In
3
CRCCLK
page 190
and CRC64, respectively.
In
32
CRCCLK
CRC input data. The maximum datapath width is four bytes.
32-bit CRC output. CRCOUT is the byte-reversed, bit inverted CRC
value corresponding to the CRC calculation on valid bytes from the
Out
32
CRCCLK
previous clock cycle and the previous CRC value. Note:
CRCDATAVALID must be driven High.
Synchronous reset of CRC registers. When CRCRESET is asserted,
In
1
CRCCLK
the CRC block is initialized to the CRC_INIT value.
defines the CRC64 and CRC32 attributes.
Attribute
CRC_INIT[31:0]
www.xilinx.com
Description
1'b1: Data valid
1'b0: Data invalid
and
Table 8-5, page 190
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.
Description
Table 8-4,
for input byte ordering for CRC32
Description
189

Advertisement

Table of Contents
loading

Table of Contents