// Equations for 32 bit CRC taking in 32 databits per clock.
// See
Polynomial_representations_of_cyclic_redundancy_checks for standard CRC polynomials.
// Generator Polynomial 0x4820009: X^32 + X^26 + X^23 + X^17 + X^3 + 1
// x[31:0] are the state bits. d[31:0] are the input data bits
x[0] <= x[0] ^ x[6] ^ x[9] ^ x[12] ^ x[15] ^ x[21] ^ x[29] ^ d[2] ^ d[16] ^ d[22] ^ d[25];
x[1] <= x[1] ^ x[7] ^ x[10] ^ x[13] ^ x[16] ^ x[22] ^ x[30] ^ d[1] ^ d[15] ^ d[21] ^ d[24];
x[2] <= x[2] ^ x[8] ^ x[11] ^ x[14] ^ x[17] ^ x[23] ^ x[31] ^ d[0] ^ d[14] ^ d[20] ^ d[23];
x[3] <= x[0] ^ x[3] ^ x[6] ^ x[18] ^ x[21] ^ x[24] ^ x[29] ^ d[13] ^ d[19] ^ d[22] ^ d[31];
x[4] <= x[1] ^ x[4] ^ x[7] ^ x[19] ^ x[22] ^ x[25] ^ x[30] ^ d[12] ^ d[18] ^ d[21] ^ d[30];
x[5] <= x[2] ^ x[5] ^ x[8] ^ x[20] ^ x[23] ^ x[26] ^ x[31] ^ d[11] ^ d[17] ^ d[20] ^ d[29];
x[6] <= x[3] ^ x[6] ^ x[9] ^ x[21] ^ x[24] ^ x[27] ^ d[10] ^ d[16] ^ d[19] ^ d[28];
x[7] <= x[4] ^ x[7] ^ x[10] ^ x[22] ^ x[25] ^ x[28] ^ d[9] ^ d[15] ^ d[18] ^ d[27];
x[8] <= x[5] ^ x[8] ^ x[11] ^ x[23] ^ x[26] ^ x[29] ^ d[8] ^ d[14] ^ d[17] ^ d[26];
x[9] <= x[6] ^ x[9] ^ x[12] ^ x[24] ^ x[27] ^ x[30] ^ d[7] ^ d[13] ^ d[16] ^ d[25];
x[10] <= x[7] ^ x[10] ^ x[13] ^ x[25] ^ x[28] ^ x[31] ^ d[6] ^ d[12] ^ d[15] ^ d[24];
x[11] <= x[8] ^ x[11] ^ x[14] ^ x[26] ^ x[29] ^ d[5] ^ d[11] ^ d[14] ^ d[23];
x[12] <= x[9] ^ x[12] ^ x[15] ^ x[27] ^ x[30] ^ d[4] ^ d[10] ^ d[13] ^ d[22];
x[13] <= x[10] ^ x[13] ^ x[16] ^ x[28] ^ x[31] ^ d[3] ^ d[9] ^ d[12] ^ d[21];
x[14] <= x[11] ^ x[14] ^ x[17] ^ x[29] ^ d[2] ^ d[8] ^ d[11] ^ d[20];
x[15] <= x[12] ^ x[15] ^ x[18] ^ x[30] ^ d[1] ^ d[7] ^ d[10] ^ d[19];
x[16] <= x[13] ^ x[16] ^ x[19] ^ x[31] ^ d[0] ^ d[6] ^ d[9] ^ d[18];
x[17] <= x[0] ^ x[6] ^ x[9] ^ x[12] ^ x[14] ^ x[15] ^ x[17] ^ x[20] ^ x[21] ^ x[29] ^ d[5] ^ d[8] ^ d[17] ^ d[31];
x[18] <= x[1] ^ x[7] ^ x[10] ^ x[13] ^ x[15] ^ x[16] ^ x[18] ^ x[21] ^ x[22] ^ x[30] ^ d[4] ^ d[7] ^ d[16] ^ d[30];
x[19] <= x[2] ^ x[8] ^ x[11] ^ x[14] ^ x[16] ^ x[17] ^ x[19] ^ x[22] ^ x[23] ^ x[31] ^ d[3] ^ d[6] ^ d[15] ^ d[29];
x[20] <= x[3] ^ x[9] ^ x[12] ^ x[15] ^ x[17] ^ x[18] ^ x[20] ^ x[23] ^ x[24] ^ d[2] ^ d[5] ^ d[14] ^ d[28];
x[21] <= x[4] ^ x[10] ^ x[13] ^ x[16] ^ x[18] ^ x[19] ^ x[21] ^ x[24] ^ x[25] ^ d[1] ^ d[4] ^ d[13] ^ d[27];
x[22] <= x[5] ^ x[11] ^ x[14] ^ x[17] ^ x[19] ^ x[20] ^ x[22] ^ x[25] ^ x[26] ^ d[0] ^ d[3] ^ d[12] ^ d[26];
x[23] <= x[0] ^ x[9] ^ x[18] ^ x[20] ^ x[23] ^ x[26] ^ x[27] ^ x[29] ^ d[2] ^ d[11] ^ d[25] ^ d[31];
x[24] <= x[1] ^ x[10] ^ x[19] ^ x[21] ^ x[24] ^ x[27] ^ x[28] ^ x[30] ^ d[1] ^ d[10] ^ d[24] ^ d[30];
x[25] <= x[2] ^ x[11] ^ x[20] ^ x[22] ^ x[25] ^ x[28] ^ x[29] ^ x[31] ^ d[0] ^ d[9] ^ d[23] ^ d[29];
x[26] <= x[0] ^ x[3] ^ x[6] ^ x[9] ^ x[15] ^ x[23] ^ x[26] ^ x[30] ^ d[8] ^ d[22] ^ d[28] ^ d[31];
x[27] <= x[1] ^ x[4] ^ x[7] ^ x[10] ^ x[16] ^ x[24] ^ x[27] ^ x[31] ^ d[7] ^ d[21] ^ d[27] ^ d[30];
x[28] <= x[2] ^ x[5] ^ x[8] ^ x[11] ^ x[17] ^ x[25] ^ x[28] ^ d[6] ^ d[20] ^ d[26] ^ d[29];
x[29] <= x[3] ^ x[6] ^ x[9] ^ x[12] ^ x[18] ^ x[26] ^ x[29] ^ d[5] ^ d[19] ^ d[25] ^ d[28];
x[30] <= x[4] ^ x[7] ^ x[10] ^ x[13] ^ x[19] ^ x[27] ^ x[30] ^ d[4] ^ d[18] ^ d[24] ^ d[27];
x[31] <= x[5] ^ x[8] ^ x[11] ^ x[14] ^ x[20] ^ x[28] ^ x[31] ^ d[3] ^ d[17] ^ d[23] ^ d[26];