crc

virtual class crc #(type T =  bit)

virtual Provides functions to calculate a variety of CRC (cyclic redundancy check) values from a bit stream.

Parameters

Toptional The type of the bit stream to calculate the CRC.  The type T must be bit, logic, or reg.  The default type is bit.
Summary
crcvirtual Provides functions to calculate a variety of CRC (cyclic redundancy check) values from a bit stream.
Types
bs_typeThe bit stream type.
Functions
crcstatic Returns a CRC value using the specified taps.
crc1static Returns a CRC-1 value; also known as a parity bit.
crc4_itustatic Returns a CRC-4-ITU value.
crc5_epcstatic Returns a CRC-5-EPC value.
crc5_itustatic Returns a CRC-5-ITU value.
crc5_usbstatic Returns a CRC-5-USB value.
crc6_cdma2000_astatic Returns a CRC-6-CDMA2000-A value.
crc6_cdma2000_bstatic Returns a CRC-6-CDMA2000-B value.
crc6_itustatic Returns a CRC-6-ITU value.
crc7static Returns a CRC-7 value.
crc7_mvbstatic Returns a CRC-7-MVB value.
crc8static Returns a CRC-8 value.
crc8_ccittstatic Returns a CRC-8-CCITT value.
crc8_dallas_maximstatic Returns a CRC-8-Dallas/Maxim value.
crc8_sae_j1850static Returns a CRC-8-SAE-J1850 value.
crc8_wcdmastatic Returns a CRC-8-WCDMA value.
crc10static Returns a CRC-10 value.
crc10_cdma2000static Returns a CRC-10-CDMA2000 value.
crc11static Returns a CRC-11 value.
crc12static Returns a CRC-12 value.
crc12_cdma2000static Returns a CRC-12-CDMA2000 value.
crc13_bbcstatic Returns a CRC-13-BBC value.
crc15_canstatic Returns a CRC-15-CAN value.
crc15_mpt1327static Returns a CRC-15-MPT1327 value.
crc16_arincstatic Returns a CRC-16-ARINC value.
crc16_ccittstatic Returns a CRC-16-CCITT value.
crc16_cdma2000static Returns a CRC-16-CDMA2000 value.
crc16_dectstatic Returns a CRC-16-CECT value.
crc16_t10_difstatic Returns a CRC-16-T10-DIF value.
crc16_dnpstatic Returns a CRC-16-DNP value.
crc16_ibmstatic Returns a CRC-16-IBM value.
crc17_canstatic Returns a CRC-17-CAN value.
crc21_canstatic Returns a CRC-21-CAN value.
crc24static Returns a CRC-24 value.
crc24_radix_64static Returns a CRC-24-Radix-64 value.
crc30static Returns a CRC-30 value.
crc32static Returns a CRC-32 value.
crc32cstatic Returns a CRC-32C (Castagnoli) value.
crc32kstatic Returns a CRC-32K (Koopman) value.
crc32qstatic Returns a CRC-32Q value.
crc40_gsmstatic Returns a CRC-40-GSM value.
crc64_ecmastatic Returns a CRC-64-ECMA value.
crc64_isostatic Returns a CRC-64-ISO value.

Types

bs_type

typedef T bs_type[]

The bit stream type.  The shorthand of the dynamic array of type T.

Functions

crc

static function T[63:0] crc(bs_type bs,
T[63:0] tap,
int degree)

static Returns a CRC value using the specified taps.  The function supports up to 64-bit tap.  See this site for how this function calculates the CRC.

Argument

bsAn input bit stream.
tapThe bit vector representaion of a CRC polynomial.
degreeThe degree of a CRC polynomial.

Returns

A calculated CRC value.

Example

bit[15:0] crc16_ccitt_tap = 16'h1021;
bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc( bs, crc16_ccitt_tap, .degree( 16 ) ) == 16'hFEC5 );

crc1

static function T crc1(bs_type bs)

static Returns a CRC-1 value; also known as a parity bit.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-1 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc1( bs ) == 1'h1 );

crc4_itu

static function T[3:0] crc4_itu(bs_type bs)

static Returns a CRC-4-ITU value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-4-ITU value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc4_itu( bs ) == 4'h7 );

crc5_epc

static function T[4:0] crc5_epc(bs_type bs)

static Returns a CRC-5-EPC value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-5-EPC value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc5_epc( bs ) == 5'h0 );

crc5_itu

static function T[4:0] crc5_itu(bs_type bs)

static Returns a CRC-5-ITU value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-5-ITU value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc5_itu( bs ) == 5'hE );

crc5_usb

static function T[4:0] crc5_usb(bs_type bs)

static Returns a CRC-5-USB value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-5-USB value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc5_usb( bs ) == 5'hF );

crc6_cdma2000_a

static function T[5:0] crc6_cdma2000_a(bs_type bs)

static Returns a CRC-6-CDMA2000-A value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-6-CDMA2000-A value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc6_cdma2000_a( bs ) == 6'h24 );

crc6_cdma2000_b

static function T[5:0] crc6_cdma2000_b(bs_type bs)

static Returns a CRC-6-CDMA2000-B value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-6-CDMA2000-B value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc6_cdma2000_b( bs ) == 6'h20 );

crc6_itu

static function T[5:0] crc6_itu(bs_type bs)

static Returns a CRC-6-ITU value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-6-ITU value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc6_itu( bs ) == 6'h9 );

crc7

static function T[6:0] crc7(bs_type bs)

static Returns a CRC-7 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-7 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc7( bs ) == 7'h3F );

crc7_mvb

static function T[6:0] crc7_mvb(bs_type bs)

static Returns a CRC-7-MVB value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-7-MVB value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc7_mvb( bs ) == 7'h4C );

crc8

static function T[7:0] crc8(bs_type bs)

static Returns a CRC-8 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-8 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc8( bs ) == 8'hC7 );

crc8_ccitt

static function T[7:0] crc8_ccitt(bs_type bs)

static Returns a CRC-8-CCITT value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-8-CCITT value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc8_ccitt( bs ) == 8'hF8 );

crc8_dallas_maxim

static function T[7:0] crc8_dallas_maxim(bs_type bs)

static Returns a CRC-8-Dallas/Maxim value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-8-Dallas/Maxim value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc8_dallas_maxim( bs ) == 8'h85 );

crc8_sae_j1850

static function T[7:0] crc8_sae_j1850(bs_type bs)

static Returns a CRC-8-SAE-J1850 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-8-SAE-J1850 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc8_sae_j1850( bs ) == 8'h7F );

crc8_wcdma

static function T[7:0] crc8_wcdma(bs_type bs)

static Returns a CRC-8-WCDMA value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-8-WCDMA value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc8_wcdma( bs ) == 8'hF7 );

crc10

static function T[9:0] crc10(bs_type bs)

static Returns a CRC-10 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-10 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc10( bs ) == 10'hB3 );

crc10_cdma2000

static function T[9:0] crc10_cdma2000(bs_type bs)

static Returns a CRC-10-CDMA2000 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-10-CDMA2000 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc10_cdma2000( bs ) == 10'h2A );

crc11

static function T[10:0] crc11(bs_type bs)

static Returns a CRC-11 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-11 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc11( bs ) == 11'h43A );

crc12

static function T[11:0] crc12(bs_type bs)

static Returns a CRC-12 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-12 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc12( bs ) == 12'hBF9 );

crc12_cdma2000

static function T[11:0] crc12_cdma2000(bs_type bs)

static Returns a CRC-12-CDMA2000 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-12-CDMA2000 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc12_cdma2000( bs ) == 12'h7C3 );

crc13_bbc

static function T[12:0] crc13_bbc(bs_type bs)

static Returns a CRC-13-BBC value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-13-BBC value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc13_bbc( bs ) == 13'hAEA );

crc15_can

static function T[14:0] crc15_can(bs_type bs)

static Returns a CRC-15-CAN value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-15-CAN value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc15_can( bs ) == 15'h6DDE );

crc15_mpt1327

static function T[14:0] crc15_mpt1327(bs_type bs)

static Returns a CRC-15-MPT1327 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-15-MPT1327 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc15_mpt1327( bs ) == 15'h7E4E );

crc16_arinc

static function T[15:0] crc16_arinc(bs_type bs)

static Returns a CRC-16-ARINC value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-ARINC value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_arinc( bs ) == 16'h18FB );

crc16_ccitt

static function T[15:0] crc16_ccitt(bs_type bs)

static Returns a CRC-16-CCITT value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-CCITT value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_ccitt( bs ) == 16'hFEC5 );

crc16_cdma2000

static function T[15:0] crc16_cdma2000(bs_type bs)

static Returns a CRC-16-CDMA2000 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-CDMA2000 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_cdma2000( bs ) == 16'hCEEA );

crc16_dect

static function T[15:0] crc16_dect(bs_type bs)

static Returns a CRC-16-CECT value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-DECT value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_dect( bs ) == 16'h7511 );

crc16_t10_dif

static function T[15:0] crc16_t10_dif(bs_type bs)

static Returns a CRC-16-T10-DIF value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-T10-DIF value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_t10_dif( bs ) == 16'h5213 );

crc16_dnp

static function T[15:0] crc16_dnp(bs_type bs)

static Returns a CRC-16-DNP value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-DNP value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_dnp( bs ) == 16'hF0AD );

crc16_ibm

static function T[15:0] crc16_ibm(bs_type bs)

static Returns a CRC-16-IBM value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-16-IBM value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc16_ibm( bs ) == 16'hB17F );

crc17_can

static function T[16:0] crc17_can(bs_type bs)

static Returns a CRC-17-CAN value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-17-CAN value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc17_can( bs ) == 17'h42B0 );

crc21_can

static function T[20:0] crc21_can(bs_type bs)

static Returns a CRC-21-CAN value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-21-CAN value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc21_can( bs ) == 21'h1A3C3F );

crc24

static function T[23:0] crc24(bs_type bs)

static Returns a CRC-24 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-24 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc24( bs ) == 24'h4FAC88 );

crc24_radix_64

static function T[23:0] crc24_radix_64(bs_type bs)

static Returns a CRC-24-Radix-64 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-24-Radix-64 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc24_radix_64( bs ) == 24'h5EFC5F );

crc30

static function T[29:0] crc30(bs_type bs)

static Returns a CRC-30 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-30 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc30( bs ) == 30'h3FA4F577 );

crc32

static function T[31:0] crc32(bs_type bs)

static Returns a CRC-32 value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-32 value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc32( bs ) == 32'h257491D0 );

crc32c

static function T[31:0] crc32c(bs_type bs)

static Returns a CRC-32C (Castagnoli) value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-32C (Castagnoli) value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc32c( bs ) == 32'hC68BEAB1 );

crc32k

static function T[31:0] crc32k(bs_type bs)

static Returns a CRC-32K (Koopman) value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-32K (Koopman) value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc32k( bs ) == 32'hE9D7E7E8 );

crc32q

static function T[31:0] crc32q(bs_type bs)

static Returns a CRC-32Q value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-32Q value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc32q( bs ) == 32'hC604B994 );

crc40_gsm

static function T[39:0] crc40_gsm(bs_type bs)

static Returns a CRC-40-GSM value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-40-GSM value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc40_gsm( bs ) == 40'hAF3E6E680C );

crc64_ecma

static function T[63:0] crc64_ecma(bs_type bs)

static Returns a CRC-64-ECMA value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-64-ECMA value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc64_ecma( bs ) == 64'h1AD51F768A8B4D1D );

crc64_iso

static function T[63:0] crc64_iso(bs_type bs)

static Returns a CRC-64-ISO value.  The CRC polynomial is:

Argument

bsAn input bit stream.

Returns

A CRC-64-ISO value.

Example

bit bs[];     // input order --------------------------------->
bs = new[80]( '{ 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0,
                 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0 } );
assert( crc#(bit)::crc64_iso( bs ) == 64'h41982B4D80015DEB );
virtual class crc #(type T =  bit)
virtual Provides functions to calculate a variety of CRC (cyclic redundancy check) values from a bit stream.
typedef T bs_type[]
The bit stream type.
static function T[63:0] crc(bs_type bs,
T[63:0] tap,
int degree)
static Returns a CRC value using the specified taps.
static function T crc1(bs_type bs)
static Returns a CRC-1 value; also known as a parity bit.
static function T[3:0] crc4_itu(bs_type bs)
static Returns a CRC-4-ITU value.
static function T[4:0] crc5_epc(bs_type bs)
static Returns a CRC-5-EPC value.
static function T[4:0] crc5_itu(bs_type bs)
static Returns a CRC-5-ITU value.
static function T[4:0] crc5_usb(bs_type bs)
static Returns a CRC-5-USB value.
static function T[5:0] crc6_cdma2000_a(bs_type bs)
static Returns a CRC-6-CDMA2000-A value.
static function T[5:0] crc6_cdma2000_b(bs_type bs)
static Returns a CRC-6-CDMA2000-B value.
static function T[5:0] crc6_itu(bs_type bs)
static Returns a CRC-6-ITU value.
static function T[6:0] crc7(bs_type bs)
static Returns a CRC-7 value.
static function T[6:0] crc7_mvb(bs_type bs)
static Returns a CRC-7-MVB value.
static function T[7:0] crc8(bs_type bs)
static Returns a CRC-8 value.
static function T[7:0] crc8_ccitt(bs_type bs)
static Returns a CRC-8-CCITT value.
static function T[7:0] crc8_dallas_maxim(bs_type bs)
static Returns a CRC-8-Dallas/Maxim value.
static function T[7:0] crc8_sae_j1850(bs_type bs)
static Returns a CRC-8-SAE-J1850 value.
static function T[7:0] crc8_wcdma(bs_type bs)
static Returns a CRC-8-WCDMA value.
static function T[9:0] crc10(bs_type bs)
static Returns a CRC-10 value.
static function T[9:0] crc10_cdma2000(bs_type bs)
static Returns a CRC-10-CDMA2000 value.
static function T[10:0] crc11(bs_type bs)
static Returns a CRC-11 value.
static function T[11:0] crc12(bs_type bs)
static Returns a CRC-12 value.
static function T[11:0] crc12_cdma2000(bs_type bs)
static Returns a CRC-12-CDMA2000 value.
static function T[12:0] crc13_bbc(bs_type bs)
static Returns a CRC-13-BBC value.
static function T[14:0] crc15_can(bs_type bs)
static Returns a CRC-15-CAN value.
static function T[14:0] crc15_mpt1327(bs_type bs)
static Returns a CRC-15-MPT1327 value.
static function T[15:0] crc16_arinc(bs_type bs)
static Returns a CRC-16-ARINC value.
static function T[15:0] crc16_ccitt(bs_type bs)
static Returns a CRC-16-CCITT value.
static function T[15:0] crc16_cdma2000(bs_type bs)
static Returns a CRC-16-CDMA2000 value.
static function T[15:0] crc16_dect(bs_type bs)
static Returns a CRC-16-CECT value.
static function T[15:0] crc16_t10_dif(bs_type bs)
static Returns a CRC-16-T10-DIF value.
static function T[15:0] crc16_dnp(bs_type bs)
static Returns a CRC-16-DNP value.
static function T[15:0] crc16_ibm(bs_type bs)
static Returns a CRC-16-IBM value.
static function T[16:0] crc17_can(bs_type bs)
static Returns a CRC-17-CAN value.
static function T[20:0] crc21_can(bs_type bs)
static Returns a CRC-21-CAN value.
static function T[23:0] crc24(bs_type bs)
static Returns a CRC-24 value.
static function T[23:0] crc24_radix_64(bs_type bs)
static Returns a CRC-24-Radix-64 value.
static function T[29:0] crc30(bs_type bs)
static Returns a CRC-30 value.
static function T[31:0] crc32(bs_type bs)
static Returns a CRC-32 value.
static function T[31:0] crc32c(bs_type bs)
static Returns a CRC-32C (Castagnoli) value.
static function T[31:0] crc32k(bs_type bs)
static Returns a CRC-32K (Koopman) value.
static function T[31:0] crc32q(bs_type bs)
static Returns a CRC-32Q value.
static function T[39:0] crc40_gsm(bs_type bs)
static Returns a CRC-40-GSM value.
static function T[63:0] crc64_ecma(bs_type bs)
static Returns a CRC-64-ECMA value.
static function T[63:0] crc64_iso(bs_type bs)
static Returns a CRC-64-ISO value.