1 |
2 |
cleberCAG |
//////////////////////////////////////////////////////////////////////
|
2 |
|
|
//// ////
|
3 |
|
|
//// This file is part of the "10GE LL MAC" project ////
|
4 |
|
|
//// http://www.opencores.org/cores/xge_ll_mac/ ////
|
5 |
|
|
//// ////
|
6 |
|
|
//// This project is derived from the "10GE MAC" project of ////
|
7 |
|
|
//// A. Tanguay (antanguay@opencores.org) by Andreas Peters ////
|
8 |
|
|
//// for his Diploma Thesis at the University of Heidelberg. ////
|
9 |
|
|
//// The Thesis was supervised by Christian Leber ////
|
10 |
|
|
//// ////
|
11 |
|
|
//// Author(s): ////
|
12 |
|
|
//// - Andreas Peters ////
|
13 |
|
|
//// ////
|
14 |
|
|
//////////////////////////////////////////////////////////////////////
|
15 |
|
|
//// ////
|
16 |
|
|
//// Copyright (C) 2008-2012 AUTHORS. All rights reserved. ////
|
17 |
|
|
//// ////
|
18 |
|
|
//// This source file may be used and distributed without ////
|
19 |
|
|
//// restriction provided that this copyright statement is not ////
|
20 |
|
|
//// removed from the file and that any derivative work contains ////
|
21 |
|
|
//// the original copyright notice and the associated disclaimer. ////
|
22 |
|
|
//// ////
|
23 |
|
|
//// This source file is free software; you can redistribute it ////
|
24 |
|
|
//// and/or modify it under the terms of the GNU Lesser General ////
|
25 |
|
|
//// Public License as published by the Free Software Foundation; ////
|
26 |
|
|
//// either version 2.1 of the License, or (at your option) any ////
|
27 |
|
|
//// later version. ////
|
28 |
|
|
//// ////
|
29 |
|
|
//// This source is distributed in the hope that it will be ////
|
30 |
|
|
//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
|
31 |
|
|
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
|
32 |
|
|
//// PURPOSE. See the GNU Lesser General Public License for more ////
|
33 |
|
|
//// details. ////
|
34 |
|
|
//// ////
|
35 |
|
|
//// You should have received a copy of the GNU Lesser General ////
|
36 |
|
|
//// Public License along with this source; if not, download it ////
|
37 |
|
|
//// from http://www.opencores.org/lgpl.shtml ////
|
38 |
|
|
//// ////
|
39 |
|
|
//////////////////////////////////////////////////////////////////////
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
`ifndef OC_MAC_CRC_FUNC
|
43 |
|
|
`define OC_MAC_CRC_FUNC
|
44 |
|
|
|
45 |
|
|
|
46 |
|
|
function [31:0] next_crc32_data64_be;
|
47 |
|
|
|
48 |
|
|
input [63:0] inp;
|
49 |
|
|
input [31:0] crc;
|
50 |
|
|
input [2:0] be; // 0 for all valid, 1 for data[31:8]
|
51 |
|
|
// (3 valid bytes).
|
52 |
|
|
case (be)
|
53 |
|
|
3'b000: begin
|
54 |
|
|
next_crc32_data64_be = nextCRC32_D64(inp, crc);
|
55 |
|
|
end
|
56 |
|
|
3'b001: begin
|
57 |
|
|
next_crc32_data64_be = nextCRC32_D8(inp[63:56], crc);
|
58 |
|
|
end
|
59 |
|
|
3'b010: begin
|
60 |
|
|
next_crc32_data64_be = nextCRC32_D16(inp[63:48], crc);
|
61 |
|
|
end
|
62 |
|
|
3'b011: begin
|
63 |
|
|
next_crc32_data64_be = nextCRC32_D24(inp[63:40], crc);
|
64 |
|
|
end
|
65 |
|
|
3'b100: begin
|
66 |
|
|
next_crc32_data64_be = nextCRC32_D32(inp[63:32], crc);
|
67 |
|
|
end
|
68 |
|
|
3'b101: begin
|
69 |
|
|
next_crc32_data64_be = nextCRC32_D40(inp[63:24], crc);
|
70 |
|
|
end
|
71 |
|
|
3'b110: begin
|
72 |
|
|
next_crc32_data64_be = nextCRC32_D48(inp[63:16], crc);
|
73 |
|
|
end
|
74 |
|
|
3'b111: begin
|
75 |
|
|
next_crc32_data64_be = nextCRC32_D56(inp[63:8], crc);
|
76 |
|
|
end
|
77 |
|
|
default: begin
|
78 |
|
|
next_crc32_data64_be = nextCRC32_D64(inp, crc);
|
79 |
|
|
end
|
80 |
|
|
endcase
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
endfunction
|
85 |
|
|
|
86 |
|
|
function [31:0] nextCRC32_D8;
|
87 |
|
|
|
88 |
|
|
input [7:0] Data;
|
89 |
|
|
input [31:0] CRC;
|
90 |
|
|
|
91 |
|
|
begin
|
92 |
|
|
|
93 |
|
|
nextCRC32_D8[0] = Data[6] ^ Data[0] ^ CRC[24] ^ CRC[30];
|
94 |
|
|
nextCRC32_D8[1] = Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ CRC[24] ^ CRC[25] ^ CRC[30] ^
|
95 |
|
|
CRC[31];
|
96 |
|
|
nextCRC32_D8[2] = Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ CRC[24] ^ CRC[25] ^
|
97 |
|
|
CRC[26] ^ CRC[30] ^ CRC[31];
|
98 |
|
|
nextCRC32_D8[3] = Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ CRC[25] ^ CRC[26] ^ CRC[27] ^
|
99 |
|
|
CRC[31];
|
100 |
|
|
nextCRC32_D8[4] = Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ CRC[24] ^ CRC[26] ^
|
101 |
|
|
CRC[27] ^ CRC[28] ^ CRC[30];
|
102 |
|
|
nextCRC32_D8[5] = Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ CRC[24] ^
|
103 |
|
|
CRC[25] ^ CRC[27] ^ CRC[28] ^ CRC[29] ^ CRC[30] ^ CRC[31];
|
104 |
|
|
nextCRC32_D8[6] = Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ CRC[25] ^ CRC[26] ^
|
105 |
|
|
CRC[28] ^ CRC[29] ^ CRC[30] ^ CRC[31];
|
106 |
|
|
nextCRC32_D8[7] = Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ CRC[24] ^ CRC[26] ^
|
107 |
|
|
CRC[27] ^ CRC[29] ^ CRC[31];
|
108 |
|
|
nextCRC32_D8[8] = Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ CRC[0] ^ CRC[24] ^ CRC[25] ^
|
109 |
|
|
CRC[27] ^ CRC[28];
|
110 |
|
|
nextCRC32_D8[9] = Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ CRC[1] ^ CRC[25] ^ CRC[26] ^
|
111 |
|
|
CRC[28] ^ CRC[29];
|
112 |
|
|
nextCRC32_D8[10] = Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ CRC[2] ^ CRC[24] ^ CRC[26] ^
|
113 |
|
|
CRC[27] ^ CRC[29];
|
114 |
|
|
nextCRC32_D8[11] = Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ CRC[3] ^ CRC[24] ^ CRC[25] ^
|
115 |
|
|
CRC[27] ^ CRC[28];
|
116 |
|
|
nextCRC32_D8[12] = Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ CRC[4] ^ CRC[24] ^
|
117 |
|
|
CRC[25] ^ CRC[26] ^ CRC[28] ^ CRC[29] ^ CRC[30];
|
118 |
|
|
nextCRC32_D8[13] = Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ CRC[5] ^ CRC[25] ^
|
119 |
|
|
CRC[26] ^ CRC[27] ^ CRC[29] ^ CRC[30] ^ CRC[31];
|
120 |
|
|
nextCRC32_D8[14] = Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ CRC[6] ^ CRC[26] ^ CRC[27] ^
|
121 |
|
|
CRC[28] ^ CRC[30] ^ CRC[31];
|
122 |
|
|
nextCRC32_D8[15] = Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ CRC[7] ^ CRC[27] ^ CRC[28] ^
|
123 |
|
|
CRC[29] ^ CRC[31];
|
124 |
|
|
nextCRC32_D8[16] = Data[5] ^ Data[4] ^ Data[0] ^ CRC[8] ^ CRC[24] ^ CRC[28] ^ CRC[29];
|
125 |
|
|
nextCRC32_D8[17] = Data[6] ^ Data[5] ^ Data[1] ^ CRC[9] ^ CRC[25] ^ CRC[29] ^ CRC[30];
|
126 |
|
|
nextCRC32_D8[18] = Data[7] ^ Data[6] ^ Data[2] ^ CRC[10] ^ CRC[26] ^ CRC[30] ^ CRC[31];
|
127 |
|
|
nextCRC32_D8[19] = Data[7] ^ Data[3] ^ CRC[11] ^ CRC[27] ^ CRC[31];
|
128 |
|
|
nextCRC32_D8[20] = Data[4] ^ CRC[12] ^ CRC[28];
|
129 |
|
|
nextCRC32_D8[21] = Data[5] ^ CRC[13] ^ CRC[29];
|
130 |
|
|
nextCRC32_D8[22] = Data[0] ^ CRC[14] ^ CRC[24];
|
131 |
|
|
nextCRC32_D8[23] = Data[6] ^ Data[1] ^ Data[0] ^ CRC[15] ^ CRC[24] ^ CRC[25] ^ CRC[30];
|
132 |
|
|
nextCRC32_D8[24] = Data[7] ^ Data[2] ^ Data[1] ^ CRC[16] ^ CRC[25] ^ CRC[26] ^ CRC[31];
|
133 |
|
|
nextCRC32_D8[25] = Data[3] ^ Data[2] ^ CRC[17] ^ CRC[26] ^ CRC[27];
|
134 |
|
|
nextCRC32_D8[26] = Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ CRC[18] ^ CRC[24] ^ CRC[27] ^
|
135 |
|
|
CRC[28] ^ CRC[30];
|
136 |
|
|
nextCRC32_D8[27] = Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ CRC[19] ^ CRC[25] ^ CRC[28] ^
|
137 |
|
|
CRC[29] ^ CRC[31];
|
138 |
|
|
nextCRC32_D8[28] = Data[6] ^ Data[5] ^ Data[2] ^ CRC[20] ^ CRC[26] ^ CRC[29] ^ CRC[30];
|
139 |
|
|
nextCRC32_D8[29] = Data[7] ^ Data[6] ^ Data[3] ^ CRC[21] ^ CRC[27] ^ CRC[30] ^ CRC[31];
|
140 |
|
|
nextCRC32_D8[30] = Data[7] ^ Data[4] ^ CRC[22] ^ CRC[28] ^ CRC[31];
|
141 |
|
|
nextCRC32_D8[31] = Data[5] ^ CRC[23] ^ CRC[29];
|
142 |
|
|
|
143 |
|
|
end
|
144 |
|
|
|
145 |
|
|
endfunction
|
146 |
|
|
|
147 |
|
|
function [31:0] nextCRC32_D16;
|
148 |
|
|
|
149 |
|
|
input [15:0] Data;
|
150 |
|
|
input [31:0] crc;
|
151 |
|
|
|
152 |
|
|
begin
|
153 |
|
|
nextCRC32_D16[0] = Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[16] ^ crc[22] ^ crc[25] ^ crc[26] ^ crc[28];
|
154 |
|
|
nextCRC32_D16[1] = Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29];
|
155 |
|
|
nextCRC32_D16[2] = Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[29] ^ crc[30];
|
156 |
|
|
nextCRC32_D16[3] = Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[30] ^ crc[31];
|
157 |
|
|
nextCRC32_D16[4] = Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[24] ^ crc[27] ^ crc[28] ^ crc[31];
|
158 |
|
|
nextCRC32_D16[5] = Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[26] ^ crc[29];
|
159 |
|
|
nextCRC32_D16[6] = Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[27] ^ crc[30];
|
160 |
|
|
nextCRC32_D16[7] = Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[31];
|
161 |
|
|
nextCRC32_D16[8] = Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[28];
|
162 |
|
|
nextCRC32_D16[9] = Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29];
|
163 |
|
|
nextCRC32_D16[10] = Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[25] ^ crc[29] ^ crc[30];
|
164 |
|
|
nextCRC32_D16[11] = Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[25] ^ crc[28] ^ crc[30] ^ crc[31];
|
165 |
|
|
nextCRC32_D16[12] = Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[25] ^ crc[28] ^ crc[29] ^ crc[31];
|
166 |
|
|
nextCRC32_D16[13] = Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[26] ^ crc[29] ^ crc[30];
|
167 |
|
|
nextCRC32_D16[14] = Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[27] ^ crc[30] ^ crc[31];
|
168 |
|
|
nextCRC32_D16[15] = Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28] ^ crc[31];
|
169 |
|
|
nextCRC32_D16[16] = Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[0] ^ crc[16] ^ crc[20] ^ crc[21] ^ crc[24] ^ crc[28] ^ crc[29];
|
170 |
|
|
nextCRC32_D16[17] = Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[1] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[25] ^ crc[29] ^ crc[30];
|
171 |
|
|
nextCRC32_D16[18] = Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[2] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[26] ^ crc[30] ^ crc[31];
|
172 |
|
|
nextCRC32_D16[19] = Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[3] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[27] ^ crc[31];
|
173 |
|
|
nextCRC32_D16[20] = Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[4] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[28];
|
174 |
|
|
nextCRC32_D16[21] = Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[5] ^ crc[21] ^ crc[25] ^ crc[26] ^ crc[29];
|
175 |
|
|
nextCRC32_D16[22] = Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[6] ^ crc[16] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[30];
|
176 |
|
|
nextCRC32_D16[23] = Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[7] ^ crc[16] ^ crc[17] ^ crc[22] ^ crc[25] ^ crc[29] ^ crc[31];
|
177 |
|
|
nextCRC32_D16[24] = Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[8] ^ crc[17] ^ crc[18] ^ crc[23] ^ crc[26] ^ crc[30];
|
178 |
|
|
nextCRC32_D16[25] = Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[9] ^ crc[18] ^ crc[19] ^ crc[24] ^ crc[27] ^ crc[31];
|
179 |
|
|
nextCRC32_D16[26] = Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[10] ^ crc[16] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[26];
|
180 |
|
|
nextCRC32_D16[27] = Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[11] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[27];
|
181 |
|
|
nextCRC32_D16[28] = Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[12] ^ crc[18] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[28];
|
182 |
|
|
nextCRC32_D16[29] = Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[13] ^ crc[19] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[29];
|
183 |
|
|
nextCRC32_D16[30] = Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[14] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[30];
|
184 |
|
|
nextCRC32_D16[31] = Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[15] ^ crc[21] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[31];
|
185 |
|
|
end
|
186 |
|
|
endfunction
|
187 |
|
|
|
188 |
|
|
function [31:0] nextCRC32_D24;
|
189 |
|
|
|
190 |
|
|
input [23:0] Data;
|
191 |
|
|
input [31:0] crc;
|
192 |
|
|
|
193 |
|
|
begin
|
194 |
|
|
|
195 |
|
|
|
196 |
|
|
nextCRC32_D24[0] = Data[16] ^ Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[8] ^ crc[14] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[24];
|
197 |
|
|
nextCRC32_D24[1] = Data[17] ^ Data[16] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[24] ^ crc[25];
|
198 |
|
|
nextCRC32_D24[2] = Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[26];
|
199 |
|
|
nextCRC32_D24[3] = Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27];
|
200 |
|
|
nextCRC32_D24[4] = Data[20] ^ Data[19] ^ Data[18] ^ Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[16] ^ crc[19] ^ crc[20] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28];
|
201 |
|
|
nextCRC32_D24[5] = Data[21] ^ Data[20] ^ Data[19] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[18] ^ crc[21] ^ crc[27] ^ crc[28] ^ crc[29];
|
202 |
|
|
nextCRC32_D24[6] = Data[22] ^ Data[21] ^ Data[20] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[19] ^ crc[22] ^ crc[28] ^ crc[29] ^ crc[30];
|
203 |
|
|
nextCRC32_D24[7] = Data[23] ^ Data[22] ^ Data[21] ^ Data[16] ^ Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[23] ^ crc[24] ^ crc[29] ^ crc[30] ^ crc[31];
|
204 |
|
|
nextCRC32_D24[8] = Data[23] ^ Data[22] ^ Data[17] ^ Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[25] ^ crc[30] ^ crc[31];
|
205 |
|
|
nextCRC32_D24[9] = Data[23] ^ Data[18] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[26] ^ crc[31];
|
206 |
|
|
nextCRC32_D24[10] = Data[19] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[27];
|
207 |
|
|
nextCRC32_D24[11] = Data[20] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[17] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28];
|
208 |
|
|
nextCRC32_D24[12] = Data[21] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[29];
|
209 |
|
|
nextCRC32_D24[13] = Data[22] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[18] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[30];
|
210 |
|
|
nextCRC32_D24[14] = Data[23] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[19] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[31];
|
211 |
|
|
nextCRC32_D24[15] = Data[21] ^ Data[20] ^ Data[18] ^ Data[16] ^ Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[28] ^ crc[29];
|
212 |
|
|
nextCRC32_D24[16] = Data[22] ^ Data[21] ^ Data[19] ^ Data[17] ^ Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[8] ^ crc[12] ^ crc[13] ^ crc[16] ^ crc[20] ^ crc[21] ^ crc[25] ^ crc[27] ^ crc[29] ^ crc[30];
|
213 |
|
|
nextCRC32_D24[17] = Data[23] ^ Data[22] ^ Data[20] ^ Data[18] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[26] ^ crc[28] ^ crc[30] ^ crc[31];
|
214 |
|
|
nextCRC32_D24[18] = Data[23] ^ Data[21] ^ Data[19] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[10] ^ crc[14] ^ crc[15] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[27] ^ crc[29] ^ crc[31];
|
215 |
|
|
nextCRC32_D24[19] = Data[22] ^ Data[20] ^ Data[16] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[11] ^ crc[15] ^ crc[16] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[28] ^ crc[30];
|
216 |
|
|
nextCRC32_D24[20] = Data[23] ^ Data[21] ^ Data[17] ^ Data[16] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[12] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[29] ^ crc[31];
|
217 |
|
|
nextCRC32_D24[21] = Data[22] ^ Data[18] ^ Data[17] ^ Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[13] ^ crc[17] ^ crc[18] ^ crc[21] ^ crc[25] ^ crc[26] ^ crc[30];
|
218 |
|
|
nextCRC32_D24[22] = Data[23] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[8] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[31];
|
219 |
|
|
nextCRC32_D24[23] = Data[20] ^ Data[19] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[8] ^ crc[9] ^ crc[14] ^ crc[17] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28];
|
220 |
|
|
nextCRC32_D24[24] = Data[21] ^ Data[20] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[9] ^ crc[10] ^ crc[15] ^ crc[18] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[29];
|
221 |
|
|
nextCRC32_D24[25] = Data[22] ^ Data[21] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[1] ^ crc[10] ^ crc[11] ^ crc[16] ^ crc[19] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30];
|
222 |
|
|
nextCRC32_D24[26] = Data[23] ^ Data[22] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[2] ^ crc[8] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[18] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
223 |
|
|
nextCRC32_D24[27] = Data[23] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[3] ^ crc[9] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[19] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
224 |
|
|
nextCRC32_D24[28] = Data[22] ^ Data[21] ^ Data[20] ^ Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[4] ^ crc[10] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[20] ^ crc[28] ^ crc[29] ^ crc[30];
|
225 |
|
|
nextCRC32_D24[29] = Data[23] ^ Data[22] ^ Data[21] ^ Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[5] ^ crc[11] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[21] ^ crc[29] ^ crc[30] ^ crc[31];
|
226 |
|
|
nextCRC32_D24[30] = Data[23] ^ Data[22] ^ Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[6] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[22] ^ crc[30] ^ crc[31];
|
227 |
|
|
nextCRC32_D24[31] = Data[23] ^ Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[7] ^ crc[13] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[23] ^ crc[31];
|
228 |
|
|
|
229 |
|
|
end
|
230 |
|
|
endfunction
|
231 |
|
|
|
232 |
|
|
function [31:0] nextCRC32_D32;
|
233 |
|
|
|
234 |
|
|
input [31:0] Data;
|
235 |
|
|
input [31:0] crc;
|
236 |
|
|
begin
|
237 |
|
|
|
238 |
|
|
nextCRC32_D32[0] = Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[16] ^ Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[0] ^ crc[6] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[16] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
239 |
|
|
nextCRC32_D32[1] = Data[28] ^ Data[27] ^ Data[24] ^ Data[17] ^ Data[16] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[16] ^ crc[17] ^ crc[24] ^ crc[27] ^ crc[28];
|
240 |
|
|
nextCRC32_D32[2] = Data[31] ^ Data[30] ^ Data[26] ^ Data[24] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[24] ^ crc[26] ^ crc[30] ^ crc[31];
|
241 |
|
|
nextCRC32_D32[3] = Data[31] ^ Data[27] ^ Data[25] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[25] ^ crc[27] ^ crc[31];
|
242 |
|
|
nextCRC32_D32[4] = Data[31] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[8] ^ crc[11] ^ crc[12] ^ crc[15] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[29] ^ crc[30] ^ crc[31];
|
243 |
|
|
nextCRC32_D32[5] = Data[29] ^ Data[28] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[10] ^ crc[13] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[24] ^ crc[28] ^ crc[29];
|
244 |
|
|
nextCRC32_D32[6] = Data[30] ^ Data[29] ^ Data[25] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[11] ^ crc[14] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[25] ^ crc[29] ^ crc[30];
|
245 |
|
|
nextCRC32_D32[7] = Data[29] ^ Data[28] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[16] ^ Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[15] ^ crc[16] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28] ^ crc[29];
|
246 |
|
|
nextCRC32_D32[8] = Data[31] ^ Data[28] ^ Data[23] ^ Data[22] ^ Data[17] ^ Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[17] ^ crc[22] ^ crc[23] ^ crc[28] ^ crc[31];
|
247 |
|
|
nextCRC32_D32[9] = Data[29] ^ Data[24] ^ Data[23] ^ Data[18] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[18] ^ crc[23] ^ crc[24] ^ crc[29];
|
248 |
|
|
nextCRC32_D32[10] = Data[31] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[19] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[19] ^ crc[26] ^ crc[28] ^ crc[29] ^ crc[31];
|
249 |
|
|
nextCRC32_D32[11] = Data[31] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[9] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[31];
|
250 |
|
|
nextCRC32_D32[12] = Data[31] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[9] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[21] ^ crc[24] ^ crc[27] ^ crc[30] ^ crc[31];
|
251 |
|
|
nextCRC32_D32[13] = Data[31] ^ Data[28] ^ Data[25] ^ Data[22] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[10] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[22] ^ crc[25] ^ crc[28] ^ crc[31];
|
252 |
|
|
nextCRC32_D32[14] = Data[29] ^ Data[26] ^ Data[23] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[11] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[23] ^ crc[26] ^ crc[29];
|
253 |
|
|
nextCRC32_D32[15] = Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[16] ^ Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[24] ^ crc[27] ^ crc[30];
|
254 |
|
|
nextCRC32_D32[16] = Data[30] ^ Data[29] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[17] ^ Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[0] ^ crc[4] ^ crc[5] ^ crc[8] ^ crc[12] ^ crc[13] ^ crc[17] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[26] ^ crc[29] ^ crc[30];
|
255 |
|
|
nextCRC32_D32[17] = Data[31] ^ Data[30] ^ Data[27] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[18] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[18] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[27] ^ crc[30] ^ crc[31];
|
256 |
|
|
nextCRC32_D32[18] = Data[31] ^ Data[28] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[19] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[2] ^ crc[6] ^ crc[7] ^ crc[10] ^ crc[14] ^ crc[15] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[28] ^ crc[31];
|
257 |
|
|
nextCRC32_D32[19] = Data[29] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[20] ^ Data[16] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[3] ^ crc[7] ^ crc[8] ^ crc[11] ^ crc[15] ^ crc[16] ^ crc[20] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[29];
|
258 |
|
|
nextCRC32_D32[20] = Data[30] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[21] ^ Data[17] ^ Data[16] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[4] ^ crc[8] ^ crc[9] ^ crc[12] ^ crc[16] ^ crc[17] ^ crc[21] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[30];
|
259 |
|
|
nextCRC32_D32[21] = Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[18] ^ Data[17] ^ Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[5] ^ crc[9] ^ crc[10] ^ crc[13] ^ crc[17] ^ crc[18] ^ crc[22] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[31];
|
260 |
|
|
nextCRC32_D32[22] = Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[0] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[31];
|
261 |
|
|
nextCRC32_D32[23] = Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[6] ^ crc[9] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[31];
|
262 |
|
|
nextCRC32_D32[24] = Data[30] ^ Data[28] ^ Data[27] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[7] ^ crc[10] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[27] ^ crc[28] ^ crc[30];
|
263 |
|
|
nextCRC32_D32[25] = Data[31] ^ Data[29] ^ Data[28] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[2] ^ crc[3] ^ crc[8] ^ crc[11] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[28] ^ crc[29] ^ crc[31];
|
264 |
|
|
nextCRC32_D32[26] = Data[31] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[0] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[10] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[31];
|
265 |
|
|
nextCRC32_D32[27] = Data[29] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[1] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[11] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29];
|
266 |
|
|
nextCRC32_D32[28] = Data[30] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[2] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[12] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30];
|
267 |
|
|
nextCRC32_D32[29] = Data[31] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[3] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[13] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
268 |
|
|
nextCRC32_D32[30] = Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[4] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[14] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30];
|
269 |
|
|
nextCRC32_D32[31] = Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[5] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[15] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
270 |
|
|
|
271 |
|
|
end
|
272 |
|
|
endfunction
|
273 |
|
|
|
274 |
|
|
function [31:0] nextCRC32_D40;
|
275 |
|
|
|
276 |
|
|
input [39:0] Data;
|
277 |
|
|
input [31:0] crc;
|
278 |
|
|
begin
|
279 |
|
|
|
280 |
|
|
nextCRC32_D40[0] = Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[16] ^ Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[8] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[29];
|
281 |
|
|
nextCRC32_D40[1] = Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[28] ^ Data[27] ^ Data[24] ^ Data[17] ^ Data[16] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[8] ^ crc[9] ^ crc[16] ^ crc[19] ^ crc[20] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30];
|
282 |
|
|
nextCRC32_D40[2] = Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[26] ^ Data[24] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[16] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
283 |
|
|
nextCRC32_D40[3] = Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[27] ^ Data[25] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[17] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
284 |
|
|
nextCRC32_D40[4] = Data[39] ^ Data[38] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[3] ^ crc[4] ^ crc[7] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[16] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[30] ^ crc[31];
|
285 |
|
|
nextCRC32_D40[5] = Data[39] ^ Data[37] ^ Data[29] ^ Data[28] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[2] ^ crc[5] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[16] ^ crc[20] ^ crc[21] ^ crc[29] ^ crc[31];
|
286 |
|
|
nextCRC32_D40[6] = Data[38] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[3] ^ crc[6] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[17] ^ crc[21] ^ crc[22] ^ crc[30];
|
287 |
|
|
nextCRC32_D40[7] = Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[29] ^ Data[28] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[16] ^ Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[7] ^ crc[8] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[24] ^ crc[26] ^ crc[29] ^ crc[31];
|
288 |
|
|
nextCRC32_D40[8] = Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[23] ^ Data[22] ^ Data[17] ^ Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[9] ^ crc[14] ^ crc[15] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30];
|
289 |
|
|
nextCRC32_D40[9] = Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[24] ^ Data[23] ^ Data[18] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[10] ^ crc[15] ^ crc[16] ^ crc[21] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
290 |
|
|
nextCRC32_D40[10] = Data[39] ^ Data[36] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[19] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[11] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[31];
|
291 |
|
|
nextCRC32_D40[11] = Data[36] ^ Data[33] ^ Data[31] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[4] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[12] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[23] ^ crc[25] ^ crc[28];
|
292 |
|
|
nextCRC32_D40[12] = Data[31] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[9] ^ crc[10] ^ crc[13] ^ crc[16] ^ crc[19] ^ crc[22] ^ crc[23];
|
293 |
|
|
nextCRC32_D40[13] = Data[32] ^ Data[31] ^ Data[28] ^ Data[25] ^ Data[22] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[2] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[14] ^ crc[17] ^ crc[20] ^ crc[23] ^ crc[24];
|
294 |
|
|
nextCRC32_D40[14] = Data[33] ^ Data[32] ^ Data[29] ^ Data[26] ^ Data[23] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[0] ^ crc[3] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[15] ^ crc[18] ^ crc[21] ^ crc[24] ^ crc[25];
|
295 |
|
|
nextCRC32_D40[15] = Data[34] ^ Data[33] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[16] ^ Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[0] ^ crc[1] ^ crc[4] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[16] ^ crc[19] ^ crc[22] ^ crc[25] ^ crc[26];
|
296 |
|
|
nextCRC32_D40[16] = Data[37] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[17] ^ Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[0] ^ crc[4] ^ crc[5] ^ crc[9] ^ crc[11] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[18] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[27] ^ crc[29];
|
297 |
|
|
nextCRC32_D40[17] = Data[38] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[27] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[18] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[10] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[19] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[28] ^ crc[30];
|
298 |
|
|
nextCRC32_D40[18] = Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[19] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[2] ^ crc[6] ^ crc[7] ^ crc[11] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[29] ^ crc[31];
|
299 |
|
|
nextCRC32_D40[19] = Data[38] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[20] ^ Data[16] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[0] ^ crc[3] ^ crc[7] ^ crc[8] ^ crc[12] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[21] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[30];
|
300 |
|
|
nextCRC32_D40[20] = Data[39] ^ Data[36] ^ Data[34] ^ Data[33] ^ Data[30] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[21] ^ Data[17] ^ Data[16] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[0] ^ crc[1] ^ crc[4] ^ crc[8] ^ crc[9] ^ crc[13] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[22] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[31];
|
301 |
|
|
nextCRC32_D40[21] = Data[37] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[18] ^ Data[17] ^ Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[1] ^ crc[2] ^ crc[5] ^ crc[9] ^ crc[10] ^ crc[14] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[29];
|
302 |
|
|
nextCRC32_D40[22] = Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30];
|
303 |
|
|
nextCRC32_D40[23] = Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
304 |
|
|
nextCRC32_D40[24] = Data[39] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[2] ^ crc[6] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[24] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
305 |
|
|
nextCRC32_D40[25] = Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[0] ^ crc[3] ^ crc[7] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[14] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[25] ^ crc[28] ^ crc[29] ^ crc[30];
|
306 |
|
|
nextCRC32_D40[26] = Data[39] ^ Data[38] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[2] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[23] ^ crc[30] ^ crc[31];
|
307 |
|
|
nextCRC32_D40[27] = Data[39] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[3] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[24] ^ crc[31];
|
308 |
|
|
nextCRC32_D40[28] = Data[33] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[0] ^ crc[4] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[25];
|
309 |
|
|
nextCRC32_D40[29] = Data[34] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[1] ^ crc[5] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[26];
|
310 |
|
|
nextCRC32_D40[30] = Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[0] ^ crc[2] ^ crc[6] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[27];
|
311 |
|
|
nextCRC32_D40[31] = Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[7] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[28];
|
312 |
|
|
end
|
313 |
|
|
endfunction
|
314 |
|
|
|
315 |
|
|
function [31:0] nextCRC32_D48;
|
316 |
|
|
|
317 |
|
|
input [47:0] Data;
|
318 |
|
|
input [31:0] crc;
|
319 |
|
|
begin
|
320 |
|
|
|
321 |
|
|
nextCRC32_D48[0] = Data[47] ^ Data[45] ^ Data[44] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[16] ^ Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[0] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[21] ^ crc[28] ^ crc[29] ^ crc[31];
|
322 |
|
|
nextCRC32_D48[1] = Data[47] ^ Data[46] ^ Data[44] ^ Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[28] ^ Data[27] ^ Data[24] ^ Data[17] ^ Data[16] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[8] ^ crc[11] ^ crc[12] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[28] ^ crc[30] ^ crc[31];
|
323 |
|
|
nextCRC32_D48[2] = Data[44] ^ Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[26] ^ Data[24] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[8] ^ crc[10] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[28];
|
324 |
|
|
nextCRC32_D48[3] = Data[45] ^ Data[40] ^ Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[27] ^ Data[25] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[9] ^ crc[11] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[29];
|
325 |
|
|
nextCRC32_D48[4] = Data[47] ^ Data[46] ^ Data[45] ^ Data[44] ^ Data[41] ^ Data[40] ^ Data[39] ^ Data[38] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[8] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
326 |
|
|
nextCRC32_D48[5] = Data[46] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[40] ^ Data[39] ^ Data[37] ^ Data[29] ^ Data[28] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[8] ^ crc[12] ^ crc[13] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[30];
|
327 |
|
|
nextCRC32_D48[6] = Data[47] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[41] ^ Data[40] ^ Data[38] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[9] ^ crc[13] ^ crc[14] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[31];
|
328 |
|
|
nextCRC32_D48[7] = Data[47] ^ Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[41] ^ Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[29] ^ Data[28] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[16] ^ Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[12] ^ crc[13] ^ crc[16] ^ crc[18] ^ crc[21] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30] ^ crc[31];
|
329 |
|
|
nextCRC32_D48[8] = Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[40] ^ Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[23] ^ Data[22] ^ Data[17] ^ Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[6] ^ crc[7] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30];
|
330 |
|
|
nextCRC32_D48[9] = Data[47] ^ Data[46] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[24] ^ Data[23] ^ Data[18] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[2] ^ crc[7] ^ crc[8] ^ crc[13] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
331 |
|
|
nextCRC32_D48[10] = Data[42] ^ Data[40] ^ Data[39] ^ Data[36] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[19] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[3] ^ crc[10] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[26];
|
332 |
|
|
nextCRC32_D48[11] = Data[47] ^ Data[45] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[40] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[4] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[15] ^ crc[17] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
333 |
|
|
nextCRC32_D48[12] = Data[47] ^ Data[46] ^ Data[42] ^ Data[41] ^ Data[31] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[1] ^ crc[2] ^ crc[5] ^ crc[8] ^ crc[11] ^ crc[14] ^ crc[15] ^ crc[25] ^ crc[26] ^ crc[30] ^ crc[31];
|
334 |
|
|
nextCRC32_D48[13] = Data[47] ^ Data[43] ^ Data[42] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[25] ^ Data[22] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[6] ^ crc[9] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[26] ^ crc[27] ^ crc[31];
|
335 |
|
|
nextCRC32_D48[14] = Data[44] ^ Data[43] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[26] ^ Data[23] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[7] ^ crc[10] ^ crc[13] ^ crc[16] ^ crc[17] ^ crc[27] ^ crc[28];
|
336 |
|
|
nextCRC32_D48[15] = Data[45] ^ Data[44] ^ Data[34] ^ Data[33] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[16] ^ Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[0] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[8] ^ crc[11] ^ crc[14] ^ crc[17] ^ crc[18] ^ crc[28] ^ crc[29];
|
337 |
|
|
nextCRC32_D48[16] = Data[47] ^ Data[46] ^ Data[44] ^ Data[37] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[17] ^ Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[1] ^ crc[3] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[10] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[19] ^ crc[21] ^ crc[28] ^ crc[30] ^ crc[31];
|
338 |
|
|
nextCRC32_D48[17] = Data[47] ^ Data[45] ^ Data[38] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[27] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[18] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[2] ^ crc[4] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[11] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[20] ^ crc[22] ^ crc[29] ^ crc[31];
|
339 |
|
|
nextCRC32_D48[18] = Data[46] ^ Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[19] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[3] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[21] ^ crc[23] ^ crc[30];
|
340 |
|
|
nextCRC32_D48[19] = Data[47] ^ Data[40] ^ Data[38] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[20] ^ Data[16] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[0] ^ crc[4] ^ crc[6] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[13] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[22] ^ crc[24] ^ crc[31];
|
341 |
|
|
nextCRC32_D48[20] = Data[41] ^ Data[39] ^ Data[36] ^ Data[34] ^ Data[33] ^ Data[30] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[21] ^ Data[17] ^ Data[16] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[0] ^ crc[1] ^ crc[5] ^ crc[7] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[14] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[23] ^ crc[25];
|
342 |
|
|
nextCRC32_D48[21] = Data[42] ^ Data[40] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[18] ^ Data[17] ^ Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[1] ^ crc[2] ^ crc[6] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[15] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[24] ^ crc[26];
|
343 |
|
|
nextCRC32_D48[22] = Data[47] ^ Data[45] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[15] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
344 |
|
|
nextCRC32_D48[23] = Data[47] ^ Data[46] ^ Data[42] ^ Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[15] ^ crc[18] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[26] ^ crc[30] ^ crc[31];
|
345 |
|
|
nextCRC32_D48[24] = Data[47] ^ Data[43] ^ Data[40] ^ Data[39] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[16] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[27] ^ crc[31];
|
346 |
|
|
nextCRC32_D48[25] = Data[44] ^ Data[41] ^ Data[40] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[6] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[28];
|
347 |
|
|
nextCRC32_D48[26] = Data[47] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[39] ^ Data[38] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[15] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[31];
|
348 |
|
|
nextCRC32_D48[27] = Data[45] ^ Data[43] ^ Data[42] ^ Data[40] ^ Data[39] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[16] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[29];
|
349 |
|
|
nextCRC32_D48[28] = Data[46] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[40] ^ Data[33] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[17] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[30];
|
350 |
|
|
nextCRC32_D48[29] = Data[47] ^ Data[45] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[18] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[29] ^ crc[31];
|
351 |
|
|
nextCRC32_D48[30] = Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[19] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30];
|
352 |
|
|
nextCRC32_D48[31] = Data[47] ^ Data[46] ^ Data[44] ^ Data[43] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[20] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
353 |
|
|
|
354 |
|
|
end
|
355 |
|
|
endfunction
|
356 |
|
|
|
357 |
|
|
|
358 |
|
|
function [31:0] nextCRC32_D56;
|
359 |
|
|
|
360 |
|
|
input [55:0] Data;
|
361 |
|
|
input [31:0] crc;
|
362 |
|
|
begin
|
363 |
|
|
|
364 |
|
|
nextCRC32_D56[0] = Data[55] ^ Data[54] ^ Data[53] ^ Data[50] ^ Data[48] ^ Data[47] ^ Data[45] ^ Data[44] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[16] ^ Data[12] ^ Data[10] ^ Data[9] ^ Data[6] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[13] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[29] ^ crc[30] ^ crc[31];
|
365 |
|
|
nextCRC32_D56[1] = Data[53] ^ Data[51] ^ Data[50] ^ Data[49] ^ Data[47] ^ Data[46] ^ Data[44] ^ Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[28] ^ Data[27] ^ Data[24] ^ Data[17] ^ Data[16] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[3] ^ crc[4] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[14] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29];
|
366 |
|
|
nextCRC32_D56[2] = Data[55] ^ Data[53] ^ Data[52] ^ Data[51] ^ Data[44] ^ Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[31] ^ Data[30] ^ Data[26] ^ Data[24] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[6] ^ crc[7] ^ crc[8] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[20] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
367 |
|
|
nextCRC32_D56[3] = Data[54] ^ Data[53] ^ Data[52] ^ Data[45] ^ Data[40] ^ Data[39] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[27] ^ Data[25] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[3] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[21] ^ crc[28] ^ crc[29] ^ crc[30];
|
368 |
|
|
nextCRC32_D56[4] = Data[50] ^ Data[48] ^ Data[47] ^ Data[46] ^ Data[45] ^ Data[44] ^ Data[41] ^ Data[40] ^ Data[39] ^ Data[38] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[15] ^ Data[12] ^ Data[11] ^ Data[8] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[14] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[26];
|
369 |
|
|
nextCRC32_D56[5] = Data[55] ^ Data[54] ^ Data[53] ^ Data[51] ^ Data[50] ^ Data[49] ^ Data[46] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[40] ^ Data[39] ^ Data[37] ^ Data[29] ^ Data[28] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[4] ^ crc[5] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[22] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[29] ^ crc[30] ^ crc[31];
|
370 |
|
|
nextCRC32_D56[6] = Data[55] ^ Data[54] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[47] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[41] ^ Data[40] ^ Data[38] ^ Data[30] ^ Data[29] ^ Data[25] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[5] ^ crc[6] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30] ^ crc[31];
|
371 |
|
|
nextCRC32_D56[7] = Data[54] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[47] ^ Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[41] ^ Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[29] ^ Data[28] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[16] ^ Data[15] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[4] ^ crc[5] ^ crc[8] ^ crc[10] ^ crc[13] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30];
|
372 |
|
|
nextCRC32_D56[8] = Data[54] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[40] ^ Data[38] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[23] ^ Data[22] ^ Data[17] ^ Data[12] ^ Data[11] ^ Data[10] ^ Data[8] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[4] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[30];
|
373 |
|
|
nextCRC32_D56[9] = Data[55] ^ Data[53] ^ Data[52] ^ Data[51] ^ Data[47] ^ Data[46] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[24] ^ Data[23] ^ Data[18] ^ Data[13] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ crc[0] ^ crc[5] ^ crc[8] ^ crc[9] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[31];
|
374 |
|
|
nextCRC32_D56[10] = Data[55] ^ Data[52] ^ Data[50] ^ Data[42] ^ Data[40] ^ Data[39] ^ Data[36] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[26] ^ Data[19] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[0] ^ crc[2] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[12] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[26] ^ crc[28] ^ crc[31];
|
375 |
|
|
nextCRC32_D56[11] = Data[55] ^ Data[54] ^ Data[51] ^ Data[50] ^ Data[48] ^ Data[47] ^ Data[45] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[40] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[20] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[14] ^ Data[12] ^ Data[9] ^ Data[4] ^ Data[3] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[7] ^ crc[9] ^ crc[12] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[30] ^ crc[31];
|
376 |
|
|
nextCRC32_D56[12] = Data[54] ^ Data[53] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[49] ^ Data[47] ^ Data[46] ^ Data[42] ^ Data[41] ^ Data[31] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[13] ^ Data[12] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[4] ^ Data[2] ^ Data[1] ^ Data[0] ^ crc[0] ^ crc[3] ^ crc[6] ^ crc[7] ^ crc[17] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30];
|
377 |
|
|
nextCRC32_D56[13] = Data[55] ^ Data[54] ^ Data[53] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[48] ^ Data[47] ^ Data[43] ^ Data[42] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[25] ^ Data[22] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[13] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[5] ^ Data[3] ^ Data[2] ^ Data[1] ^ crc[1] ^ crc[4] ^ crc[7] ^ crc[8] ^ crc[18] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
378 |
|
|
nextCRC32_D56[14] = Data[55] ^ Data[54] ^ Data[53] ^ Data[52] ^ Data[51] ^ Data[49] ^ Data[48] ^ Data[44] ^ Data[43] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[26] ^ Data[23] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[15] ^ Data[14] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[2] ^ crc[2] ^ crc[5] ^ crc[8] ^ crc[9] ^ crc[19] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
379 |
|
|
nextCRC32_D56[15] = Data[55] ^ Data[54] ^ Data[53] ^ Data[52] ^ Data[50] ^ Data[49] ^ Data[45] ^ Data[44] ^ Data[34] ^ Data[33] ^ Data[30] ^ Data[27] ^ Data[24] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[16] ^ Data[15] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[3] ^ crc[0] ^ crc[3] ^ crc[6] ^ crc[9] ^ crc[10] ^ crc[20] ^ crc[21] ^ crc[25] ^ crc[26] ^ crc[28] ^ crc[29] ^ crc[30] ^ crc[31];
|
380 |
|
|
nextCRC32_D56[16] = Data[51] ^ Data[48] ^ Data[47] ^ Data[46] ^ Data[44] ^ Data[37] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[17] ^ Data[13] ^ Data[12] ^ Data[8] ^ Data[5] ^ Data[4] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[11] ^ crc[13] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[24] ^ crc[27];
|
381 |
|
|
nextCRC32_D56[17] = Data[52] ^ Data[49] ^ Data[48] ^ Data[47] ^ Data[45] ^ Data[38] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[27] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[18] ^ Data[14] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[5] ^ Data[1] ^ crc[1] ^ crc[3] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[12] ^ crc[14] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28];
|
382 |
|
|
nextCRC32_D56[18] = Data[53] ^ Data[50] ^ Data[49] ^ Data[48] ^ Data[46] ^ Data[39] ^ Data[37] ^ Data[34] ^ Data[32] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[19] ^ Data[15] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[6] ^ Data[2] ^ crc[0] ^ crc[2] ^ crc[4] ^ crc[7] ^ crc[8] ^ crc[10] ^ crc[13] ^ crc[15] ^ crc[22] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[29];
|
383 |
|
|
nextCRC32_D56[19] = Data[54] ^ Data[51] ^ Data[50] ^ Data[49] ^ Data[47] ^ Data[40] ^ Data[38] ^ Data[35] ^ Data[33] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[20] ^ Data[16] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[7] ^ Data[3] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[5] ^ crc[8] ^ crc[9] ^ crc[11] ^ crc[14] ^ crc[16] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[30];
|
384 |
|
|
nextCRC32_D56[20] = Data[55] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[48] ^ Data[41] ^ Data[39] ^ Data[36] ^ Data[34] ^ Data[33] ^ Data[30] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[21] ^ Data[17] ^ Data[16] ^ Data[12] ^ Data[9] ^ Data[8] ^ Data[4] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[6] ^ crc[9] ^ crc[10] ^ crc[12] ^ crc[15] ^ crc[17] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[31];
|
385 |
|
|
nextCRC32_D56[21] = Data[53] ^ Data[52] ^ Data[51] ^ Data[49] ^ Data[42] ^ Data[40] ^ Data[37] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[22] ^ Data[18] ^ Data[17] ^ Data[13] ^ Data[10] ^ Data[9] ^ Data[5] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[7] ^ crc[10] ^ crc[11] ^ crc[13] ^ crc[16] ^ crc[18] ^ crc[25] ^ crc[27] ^ crc[28] ^ crc[29];
|
386 |
|
|
nextCRC32_D56[22] = Data[55] ^ Data[52] ^ Data[48] ^ Data[47] ^ Data[45] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[19] ^ Data[18] ^ Data[16] ^ Data[14] ^ Data[12] ^ Data[11] ^ Data[9] ^ Data[0] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[7] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[24] ^ crc[28] ^ crc[31];
|
387 |
|
|
nextCRC32_D56[23] = Data[55] ^ Data[54] ^ Data[50] ^ Data[49] ^ Data[47] ^ Data[46] ^ Data[42] ^ Data[39] ^ Data[38] ^ Data[36] ^ Data[35] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[20] ^ Data[19] ^ Data[17] ^ Data[16] ^ Data[15] ^ Data[13] ^ Data[9] ^ Data[6] ^ Data[1] ^ Data[0] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[7] ^ crc[10] ^ crc[11] ^ crc[12] ^ crc[14] ^ crc[15] ^ crc[18] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[26] ^ crc[30] ^ crc[31];
|
388 |
|
|
nextCRC32_D56[24] = Data[55] ^ Data[51] ^ Data[50] ^ Data[48] ^ Data[47] ^ Data[43] ^ Data[40] ^ Data[39] ^ Data[37] ^ Data[36] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[21] ^ Data[20] ^ Data[18] ^ Data[17] ^ Data[16] ^ Data[14] ^ Data[10] ^ Data[7] ^ Data[2] ^ Data[1] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[8] ^ crc[11] ^ crc[12] ^ crc[13] ^ crc[15] ^ crc[16] ^ crc[19] ^ crc[23] ^ crc[24] ^ crc[26] ^ crc[27] ^ crc[31];
|
389 |
|
|
nextCRC32_D56[25] = Data[52] ^ Data[51] ^ Data[49] ^ Data[48] ^ Data[44] ^ Data[41] ^ Data[40] ^ Data[38] ^ Data[37] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[22] ^ Data[21] ^ Data[19] ^ Data[18] ^ Data[17] ^ Data[15] ^ Data[11] ^ Data[8] ^ Data[3] ^ Data[2] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[9] ^ crc[12] ^ crc[13] ^ crc[14] ^ crc[16] ^ crc[17] ^ crc[20] ^ crc[24] ^ crc[25] ^ crc[27] ^ crc[28];
|
390 |
|
|
nextCRC32_D56[26] = Data[55] ^ Data[54] ^ Data[52] ^ Data[49] ^ Data[48] ^ Data[47] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[39] ^ Data[38] ^ Data[31] ^ Data[28] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[20] ^ Data[19] ^ Data[18] ^ Data[10] ^ Data[6] ^ Data[4] ^ Data[3] ^ Data[0] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[4] ^ crc[7] ^ crc[14] ^ crc[15] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[23] ^ crc[24] ^ crc[25] ^ crc[28] ^ crc[30] ^ crc[31];
|
391 |
|
|
nextCRC32_D56[27] = Data[55] ^ Data[53] ^ Data[50] ^ Data[49] ^ Data[48] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[40] ^ Data[39] ^ Data[32] ^ Data[29] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[21] ^ Data[20] ^ Data[19] ^ Data[11] ^ Data[7] ^ Data[5] ^ Data[4] ^ Data[1] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[5] ^ crc[8] ^ crc[15] ^ crc[16] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[24] ^ crc[25] ^ crc[26] ^ crc[29] ^ crc[31];
|
392 |
|
|
nextCRC32_D56[28] = Data[54] ^ Data[51] ^ Data[50] ^ Data[49] ^ Data[46] ^ Data[44] ^ Data[43] ^ Data[41] ^ Data[40] ^ Data[33] ^ Data[30] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[24] ^ Data[22] ^ Data[21] ^ Data[20] ^ Data[12] ^ Data[8] ^ Data[6] ^ Data[5] ^ Data[2] ^ crc[0] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[6] ^ crc[9] ^ crc[16] ^ crc[17] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[25] ^ crc[26] ^ crc[27] ^ crc[30];
|
393 |
|
|
nextCRC32_D56[29] = Data[55] ^ Data[52] ^ Data[51] ^ Data[50] ^ Data[47] ^ Data[45] ^ Data[44] ^ Data[42] ^ Data[41] ^ Data[34] ^ Data[31] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[25] ^ Data[23] ^ Data[22] ^ Data[21] ^ Data[13] ^ Data[9] ^ Data[7] ^ Data[6] ^ Data[3] ^ crc[1] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[7] ^ crc[10] ^ crc[17] ^ crc[18] ^ crc[20] ^ crc[21] ^ crc[23] ^ crc[26] ^ crc[27] ^ crc[28] ^ crc[31];
|
394 |
|
|
nextCRC32_D56[30] = Data[53] ^ Data[52] ^ Data[51] ^ Data[48] ^ Data[46] ^ Data[45] ^ Data[43] ^ Data[42] ^ Data[35] ^ Data[32] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[26] ^ Data[24] ^ Data[23] ^ Data[22] ^ Data[14] ^ Data[10] ^ Data[8] ^ Data[7] ^ Data[4] ^ crc[0] ^ crc[2] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[8] ^ crc[11] ^ crc[18] ^ crc[19] ^ crc[21] ^ crc[22] ^ crc[24] ^ crc[27] ^ crc[28] ^ crc[29];
|
395 |
|
|
nextCRC32_D56[31] = Data[54] ^ Data[53] ^ Data[52] ^ Data[49] ^ Data[47] ^ Data[46] ^ Data[44] ^ Data[43] ^ Data[36] ^ Data[33] ^ Data[31] ^ Data[30] ^ Data[29] ^ Data[28] ^ Data[27] ^ Data[25] ^ Data[24] ^ Data[23] ^ Data[15] ^ Data[11] ^ Data[9] ^ Data[8] ^ Data[5] ^ crc[0] ^ crc[1] ^ crc[3] ^ crc[4] ^ crc[5] ^ crc[6] ^ crc[7] ^ crc[9] ^ crc[12] ^ crc[19] ^ crc[20] ^ crc[22] ^ crc[23] ^ crc[25] ^ crc[28] ^ crc[29] ^ crc[30];
|
396 |
|
|
end
|
397 |
|
|
endfunction
|
398 |
|
|
|
399 |
|
|
function [31:0] nextCRC32_D64;
|
400 |
|
|
|
401 |
|
|
input [63:0] Data;
|
402 |
|
|
input [31:0] CRC;
|
403 |
|
|
|
404 |
|
|
begin
|
405 |
|
|
|
406 |
|
|
|
407 |
|
|
nextCRC32_D64[0] = CRC[0] ^ CRC[2] ^ CRC[5] ^ CRC[12] ^ CRC[13] ^ CRC[15] ^ CRC[16] ^ CRC[18] ^ CRC[21] ^ CRC[22] ^ CRC[23] ^ CRC[26] ^ CRC[28] ^ CRC[29] ^ CRC[31] ^ Data[0] ^ Data[6] ^ Data[9] ^ Data[10] ^ Data[12] ^ Data[16] ^ Data[24] ^ Data[25] ^ Data[26] ^ Data[28] ^ Data[29] ^ Data[30] ^ Data[31] ^ Data[32] ^ Data[34] ^ Data[37] ^ Data[44] ^ Data[45] ^ Data[47] ^ Data[48] ^ Data[50] ^ Data[53] ^ Data[54] ^ Data[55] ^ Data[58] ^ Data[60] ^ Data[61] ^ Data[63];
|
408 |
|
|
nextCRC32_D64[1] = CRC[1] ^ CRC[2] ^ CRC[3] ^ CRC[5] ^ CRC[6] ^ CRC[12] ^ CRC[14] ^ CRC[15] ^ CRC[17] ^ CRC[18] ^ CRC[19] ^ CRC[21] ^ CRC[24] ^ CRC[26] ^ CRC[27] ^ CRC[28] ^ CRC[30] ^ CRC[31] ^ Data[0] ^ Data[1] ^ Data[6] ^ Data[7] ^ Data[9] ^ Data[11] ^ Data[12] ^ Data[13] ^ Data[16] ^ Data[17] ^ Data[24] ^ Data[27] ^ Data[28] ^ Data[33] ^ Data[34] ^ Data[35] ^ Data[37] ^ Data[38] ^ Data[44] ^ Data[46] ^ Data[47] ^ Data[49] ^ Data[50] ^ Data[51] ^ Data[53] ^ Data[56] ^ Data[58] ^ Data[59] ^ Data[60] ^ Data[62] ^ Data[63];
|
409 |
|
|
nextCRC32_D64[2] = CRC[0] ^ CRC[3] ^ CRC[4] ^ CRC[5] ^ CRC[6] ^ CRC[7] ^ CRC[12] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[23] ^ CRC[25] ^ CRC[26] ^ CRC[27] ^ Data[0] ^ Data[1] ^ Data[2] ^ Data[6] ^ Data[7] ^ Data[8] ^ Data[9] ^ Data[13] ^ Data[14] ^ Data[16] ^ Data[17] ^ Data[18] ^ Data[24] ^ Data[26] ^ Data[30] ^ Data[31] ^ Data[32] ^ Data[35] ^ Data[36] ^ Data[37] ^ Data[38] ^ Data[39] ^ Data[44] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[55] ^ Data[57] ^ Data[58] ^ Data[59];
|
410 |
|
|
nextCRC32_D64[3] = CRC[0] ^ CRC[1] ^ CRC[4] ^ CRC[5] ^ CRC[6] ^ CRC[7] ^ CRC[8] ^ CRC[13] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[24] ^ CRC[26] ^ CRC[27] ^ CRC[28] ^ Data[1] ^ Data[2] ^ Data[3] ^ Data[7] ^ Data[8] ^ Data[9] ^ Data[10] ^ Data[14] ^ Data[15] ^ Data[17] ^ Data[18] ^ Data[19] ^ Data[25] ^ Data[27] ^ Data[31] ^ Data[32] ^ Data[33] ^ Data[36] ^ Data[37] ^ Data[38] ^ Data[39] ^ Data[40] ^ Data[45] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[56] ^ Data[58] ^ Data[59] ^ Data[60];
|
411 |
|
|
nextCRC32_D64[4] = CRC[1] ^ CRC[6] ^ CRC[7] ^ CRC[8] ^ CRC[9] ^ CRC[12] ^ CRC[13] ^ CRC[14] ^ CRC[15] ^ CRC[16] ^ CRC[18] ^ CRC[25] ^ CRC[26] ^ CRC[27] ^ CRC[31] ^ Data[0] ^ Data[2] ^ Data[3] ^ Data[4] ^ Data[6] ^ Data[8] ^ Data[11] ^ Data[12] ^ Data[15] ^ Data[18] ^ Data[19] ^ Data[20] ^ Data[24] ^ Data[25] ^ Data[29] ^ Data[30] ^ Data[31] ^ Data[33] ^ Data[38] ^ Data[39] ^ Data[40] ^ Data[41] ^ Data[44] ^ Data[45] ^ Data[46] ^ Data[47] ^ Data[48] ^ Data[50] ^ Data[57] ^ Data[58] ^ Data[59] ^ Data[63];
|
412 |
|
|
nextCRC32_D64[5] = CRC[5] ^ CRC[7] ^ CRC[8] ^ CRC[9] ^ CRC[10] ^ CRC[12] ^ CRC[14] ^ CRC[17] ^ CRC[18] ^ CRC[19] ^ CRC[21] ^ CRC[22] ^ CRC[23] ^ CRC[27] ^ CRC[29] ^ CRC[31] ^ Data[0] ^ Data[1] ^ Data[3] ^ Data[4] ^ Data[5] ^ Data[6] ^ Data[7] ^ Data[10] ^ Data[13] ^ Data[19] ^ Data[20] ^ Data[21] ^ Data[24] ^ Data[28] ^ Data[29] ^ Data[37] ^ Data[39] ^ Data[40] ^ Data[41] ^ Data[42] ^ Data[44] ^ Data[46] ^ Data[49] ^ Data[50] ^ Data[51] ^ Data[53] ^ Data[54] ^ Data[55] ^ Data[59] ^ Data[61] ^ Data[63];
|
413 |
|
|
nextCRC32_D64[6] = CRC[6] ^ CRC[8] ^ CRC[9] ^ CRC[10] ^ CRC[11] ^ CRC[13] ^ CRC[15] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[22] ^ CRC[23] ^ CRC[24] ^ CRC[28] ^ CRC[30] ^ Data[1] ^ Data[2] ^ Data[4] ^ Data[5] ^ Data[6] ^ Data[7] ^ Data[8] ^ Data[11] ^ Data[14] ^ Data[20] ^ Data[21] ^ Data[22] ^ Data[25] ^ Data[29] ^ Data[30] ^ Data[38] ^ Data[40] ^ Data[41] ^ Data[42] ^ Data[43] ^ Data[45] ^ Data[47] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[54] ^ Data[55] ^ Data[56] ^ Data[60] ^ Data[62];
|
414 |
|
|
nextCRC32_D64[7] = CRC[0] ^ CRC[2] ^ CRC[5] ^ CRC[7] ^ CRC[9] ^ CRC[10] ^ CRC[11] ^ CRC[13] ^ CRC[14] ^ CRC[15] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[22] ^ CRC[24] ^ CRC[25] ^ CRC[26] ^ CRC[28] ^ Data[0] ^ Data[2] ^ Data[3] ^ Data[5] ^ Data[7] ^ Data[8] ^ Data[10] ^ Data[15] ^ Data[16] ^ Data[21] ^ Data[22] ^ Data[23] ^ Data[24] ^ Data[25] ^ Data[28] ^ Data[29] ^ Data[32] ^ Data[34] ^ Data[37] ^ Data[39] ^ Data[41] ^ Data[42] ^ Data[43] ^ Data[45] ^ Data[46] ^ Data[47] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[54] ^ Data[56] ^ Data[57] ^ Data[58] ^ Data[60];
|
415 |
|
|
nextCRC32_D64[8] = CRC[0] ^ CRC[1] ^ CRC[2] ^ CRC[3] ^ CRC[5] ^ CRC[6] ^ CRC[8] ^ CRC[10] ^ CRC[11] ^ CRC[13] ^ CRC[14] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[22] ^ CRC[25] ^ CRC[27] ^ CRC[28] ^ CRC[31] ^ Data[0] ^ Data[1] ^ Data[3] ^ Data[4] ^ Data[8] ^ Data[10] ^ Data[11] ^ Data[12] ^ Data[17] ^ Data[22] ^ Data[23] ^ Data[28] ^ Data[31] ^ Data[32] ^ Data[33] ^ Data[34] ^ Data[35] ^ Data[37] ^ Data[38] ^ Data[40] ^ Data[42] ^ Data[43] ^ Data[45] ^ Data[46] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[54] ^ Data[57] ^ Data[59] ^ Data[60] ^ Data[63];
|
416 |
|
|
nextCRC32_D64[9] = CRC[0] ^ CRC[1] ^ CRC[2] ^ CRC[3] ^ CRC[4] ^ CRC[6] ^ CRC[7] ^ CRC[9] ^ CRC[11] ^ CRC[12] ^ CRC[14] ^ CRC[15] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[23] ^ CRC[26] ^ CRC[28] ^ CRC[29] ^ Data[1] ^ Data[2] ^ Data[4] ^ Data[5] ^ Data[9] ^ Data[11] ^ Data[12] ^ Data[13] ^ Data[18] ^ Data[23] ^ Data[24] ^ Data[29] ^ Data[32] ^ Data[33] ^ Data[34] ^ Data[35] ^ Data[36] ^ Data[38] ^ Data[39] ^ Data[41] ^ Data[43] ^ Data[44] ^ Data[46] ^ Data[47] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[55] ^ Data[58] ^ Data[60] ^ Data[61];
|
417 |
|
|
nextCRC32_D64[10] = CRC[0] ^ CRC[1] ^ CRC[3] ^ CRC[4] ^ CRC[7] ^ CRC[8] ^ CRC[10] ^ CRC[18] ^ CRC[20] ^ CRC[23] ^ CRC[24] ^ CRC[26] ^ CRC[27] ^ CRC[28] ^ CRC[30] ^ CRC[31] ^ Data[0] ^ Data[2] ^ Data[3] ^ Data[5] ^ Data[9] ^ Data[13] ^ Data[14] ^ Data[16] ^ Data[19] ^ Data[26] ^ Data[28] ^ Data[29] ^ Data[31] ^ Data[32] ^ Data[33] ^ Data[35] ^ Data[36] ^ Data[39] ^ Data[40] ^ Data[42] ^ Data[50] ^ Data[52] ^ Data[55] ^ Data[56] ^ Data[58] ^ Data[59] ^ Data[60] ^ Data[62] ^ Data[63];
|
418 |
|
|
nextCRC32_D64[11] = CRC[1] ^ CRC[4] ^ CRC[8] ^ CRC[9] ^ CRC[11] ^ CRC[12] ^ CRC[13] ^ CRC[15] ^ CRC[16] ^ CRC[18] ^ CRC[19] ^ CRC[22] ^ CRC[23] ^ CRC[24] ^ CRC[25] ^ CRC[26] ^ CRC[27] ^ Data[0] ^ Data[1] ^ Data[3] ^ Data[4] ^ Data[9] ^ Data[12] ^ Data[14] ^ Data[15] ^ Data[16] ^ Data[17] ^ Data[20] ^ Data[24] ^ Data[25] ^ Data[26] ^ Data[27] ^ Data[28] ^ Data[31] ^ Data[33] ^ Data[36] ^ Data[40] ^ Data[41] ^ Data[43] ^ Data[44] ^ Data[45] ^ Data[47] ^ Data[48] ^ Data[50] ^ Data[51] ^ Data[54] ^ Data[55] ^ Data[56] ^ Data[57] ^ Data[58] ^ Data[59];
|
419 |
|
|
nextCRC32_D64[12] = CRC[9] ^ CRC[10] ^ CRC[14] ^ CRC[15] ^ CRC[17] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[24] ^ CRC[25] ^ CRC[27] ^ CRC[29] ^ CRC[31] ^ Data[0] ^ Data[1] ^ Data[2] ^ Data[4] ^ Data[5] ^ Data[6] ^ Data[9] ^ Data[12] ^ Data[13] ^ Data[15] ^ Data[17] ^ Data[18] ^ Data[21] ^ Data[24] ^ Data[27] ^ Data[30] ^ Data[31] ^ Data[41] ^ Data[42] ^ Data[46] ^ Data[47] ^ Data[49] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[56] ^ Data[57] ^ Data[59] ^ Data[61] ^ Data[63];
|
420 |
|
|
nextCRC32_D64[13] = CRC[0] ^ CRC[10] ^ CRC[11] ^ CRC[15] ^ CRC[16] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[23] ^ CRC[25] ^ CRC[26] ^ CRC[28] ^ CRC[30] ^ Data[1] ^ Data[2] ^ Data[3] ^ Data[5] ^ Data[6] ^ Data[7] ^ Data[10] ^ Data[13] ^ Data[14] ^ Data[16] ^ Data[18] ^ Data[19] ^ Data[22] ^ Data[25] ^ Data[28] ^ Data[31] ^ Data[32] ^ Data[42] ^ Data[43] ^ Data[47] ^ Data[48] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[55] ^ Data[57] ^ Data[58] ^ Data[60] ^ Data[62];
|
421 |
|
|
nextCRC32_D64[14] = CRC[0] ^ CRC[1] ^ CRC[11] ^ CRC[12] ^ CRC[16] ^ CRC[17] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[23] ^ CRC[24] ^ CRC[26] ^ CRC[27] ^ CRC[29] ^ CRC[31] ^ Data[2] ^ Data[3] ^ Data[4] ^ Data[6] ^ Data[7] ^ Data[8] ^ Data[11] ^ Data[14] ^ Data[15] ^ Data[17] ^ Data[19] ^ Data[20] ^ Data[23] ^ Data[26] ^ Data[29] ^ Data[32] ^ Data[33] ^ Data[43] ^ Data[44] ^ Data[48] ^ Data[49] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[55] ^ Data[56] ^ Data[58] ^ Data[59] ^ Data[61] ^ Data[63];
|
422 |
|
|
nextCRC32_D64[15] = CRC[1] ^ CRC[2] ^ CRC[12] ^ CRC[13] ^ CRC[17] ^ CRC[18] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[23] ^ CRC[24] ^ CRC[25] ^ CRC[27] ^ CRC[28] ^ CRC[30] ^ Data[3] ^ Data[4] ^ Data[5] ^ Data[7] ^ Data[8] ^ Data[9] ^ Data[12] ^ Data[15] ^ Data[16] ^ Data[18] ^ Data[20] ^ Data[21] ^ Data[24] ^ Data[27] ^ Data[30] ^ Data[33] ^ Data[34] ^ Data[44] ^ Data[45] ^ Data[49] ^ Data[50] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[55] ^ Data[56] ^ Data[57] ^ Data[59] ^ Data[60] ^ Data[62];
|
423 |
|
|
nextCRC32_D64[16] = CRC[0] ^ CRC[3] ^ CRC[5] ^ CRC[12] ^ CRC[14] ^ CRC[15] ^ CRC[16] ^ CRC[19] ^ CRC[24] ^ CRC[25] ^ Data[0] ^ Data[4] ^ Data[5] ^ Data[8] ^ Data[12] ^ Data[13] ^ Data[17] ^ Data[19] ^ Data[21] ^ Data[22] ^ Data[24] ^ Data[26] ^ Data[29] ^ Data[30] ^ Data[32] ^ Data[35] ^ Data[37] ^ Data[44] ^ Data[46] ^ Data[47] ^ Data[48] ^ Data[51] ^ Data[56] ^ Data[57];
|
424 |
|
|
nextCRC32_D64[17] = CRC[1] ^ CRC[4] ^ CRC[6] ^ CRC[13] ^ CRC[15] ^ CRC[16] ^ CRC[17] ^ CRC[20] ^ CRC[25] ^ CRC[26] ^ Data[1] ^ Data[5] ^ Data[6] ^ Data[9] ^ Data[13] ^ Data[14] ^ Data[18] ^ Data[20] ^ Data[22] ^ Data[23] ^ Data[25] ^ Data[27] ^ Data[30] ^ Data[31] ^ Data[33] ^ Data[36] ^ Data[38] ^ Data[45] ^ Data[47] ^ Data[48] ^ Data[49] ^ Data[52] ^ Data[57] ^ Data[58];
|
425 |
|
|
nextCRC32_D64[18] = CRC[0] ^ CRC[2] ^ CRC[5] ^ CRC[7] ^ CRC[14] ^ CRC[16] ^ CRC[17] ^ CRC[18] ^ CRC[21] ^ CRC[26] ^ CRC[27] ^ Data[2] ^ Data[6] ^ Data[7] ^ Data[10] ^ Data[14] ^ Data[15] ^ Data[19] ^ Data[21] ^ Data[23] ^ Data[24] ^ Data[26] ^ Data[28] ^ Data[31] ^ Data[32] ^ Data[34] ^ Data[37] ^ Data[39] ^ Data[46] ^ Data[48] ^ Data[49] ^ Data[50] ^ Data[53] ^ Data[58] ^ Data[59];
|
426 |
|
|
nextCRC32_D64[19] = CRC[0] ^ CRC[1] ^ CRC[3] ^ CRC[6] ^ CRC[8] ^ CRC[15] ^ CRC[17] ^ CRC[18] ^ CRC[19] ^ CRC[22] ^ CRC[27] ^ CRC[28] ^ Data[3] ^ Data[7] ^ Data[8] ^ Data[11] ^ Data[15] ^ Data[16] ^ Data[20] ^ Data[22] ^ Data[24] ^ Data[25] ^ Data[27] ^ Data[29] ^ Data[32] ^ Data[33] ^ Data[35] ^ Data[38] ^ Data[40] ^ Data[47] ^ Data[49] ^ Data[50] ^ Data[51] ^ Data[54] ^ Data[59] ^ Data[60];
|
427 |
|
|
nextCRC32_D64[20] = CRC[1] ^ CRC[2] ^ CRC[4] ^ CRC[7] ^ CRC[9] ^ CRC[16] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[23] ^ CRC[28] ^ CRC[29] ^ Data[4] ^ Data[8] ^ Data[9] ^ Data[12] ^ Data[16] ^ Data[17] ^ Data[21] ^ Data[23] ^ Data[25] ^ Data[26] ^ Data[28] ^ Data[30] ^ Data[33] ^ Data[34] ^ Data[36] ^ Data[39] ^ Data[41] ^ Data[48] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[55] ^ Data[60] ^ Data[61];
|
428 |
|
|
nextCRC32_D64[21] = CRC[2] ^ CRC[3] ^ CRC[5] ^ CRC[8] ^ CRC[10] ^ CRC[17] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[24] ^ CRC[29] ^ CRC[30] ^ Data[5] ^ Data[9] ^ Data[10] ^ Data[13] ^ Data[17] ^ Data[18] ^ Data[22] ^ Data[24] ^ Data[26] ^ Data[27] ^ Data[29] ^ Data[31] ^ Data[34] ^ Data[35] ^ Data[37] ^ Data[40] ^ Data[42] ^ Data[49] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[56] ^ Data[61] ^ Data[62];
|
429 |
|
|
nextCRC32_D64[22] = CRC[2] ^ CRC[3] ^ CRC[4] ^ CRC[5] ^ CRC[6] ^ CRC[9] ^ CRC[11] ^ CRC[12] ^ CRC[13] ^ CRC[15] ^ CRC[16] ^ CRC[20] ^ CRC[23] ^ CRC[25] ^ CRC[26] ^ CRC[28] ^ CRC[29] ^ CRC[30] ^ Data[0] ^ Data[9] ^ Data[11] ^ Data[12] ^ Data[14] ^ Data[16] ^ Data[18] ^ Data[19] ^ Data[23] ^ Data[24] ^ Data[26] ^ Data[27] ^ Data[29] ^ Data[31] ^ Data[34] ^ Data[35] ^ Data[36] ^ Data[37] ^ Data[38] ^ Data[41] ^ Data[43] ^ Data[44] ^ Data[45] ^ Data[47] ^ Data[48] ^ Data[52] ^ Data[55] ^ Data[57] ^ Data[58] ^ Data[60] ^ Data[61] ^ Data[62];
|
430 |
|
|
nextCRC32_D64[23] = CRC[2] ^ CRC[3] ^ CRC[4] ^ CRC[6] ^ CRC[7] ^ CRC[10] ^ CRC[14] ^ CRC[15] ^ CRC[17] ^ CRC[18] ^ CRC[22] ^ CRC[23] ^ CRC[24] ^ CRC[27] ^ CRC[28] ^ CRC[30] ^ Data[0] ^ Data[1] ^ Data[6] ^ Data[9] ^ Data[13] ^ Data[15] ^ Data[16] ^ Data[17] ^ Data[19] ^ Data[20] ^ Data[26] ^ Data[27] ^ Data[29] ^ Data[31] ^ Data[34] ^ Data[35] ^ Data[36] ^ Data[38] ^ Data[39] ^ Data[42] ^ Data[46] ^ Data[47] ^ Data[49] ^ Data[50] ^ Data[54] ^ Data[55] ^ Data[56] ^ Data[59] ^ Data[60] ^ Data[62];
|
431 |
|
|
nextCRC32_D64[24] = CRC[0] ^ CRC[3] ^ CRC[4] ^ CRC[5] ^ CRC[7] ^ CRC[8] ^ CRC[11] ^ CRC[15] ^ CRC[16] ^ CRC[18] ^ CRC[19] ^ CRC[23] ^ CRC[24] ^ CRC[25] ^ CRC[28] ^ CRC[29] ^ CRC[31] ^ Data[1] ^ Data[2] ^ Data[7] ^ Data[10] ^ Data[14] ^ Data[16] ^ Data[17] ^ Data[18] ^ Data[20] ^ Data[21] ^ Data[27] ^ Data[28] ^ Data[30] ^ Data[32] ^ Data[35] ^ Data[36] ^ Data[37] ^ Data[39] ^ Data[40] ^ Data[43] ^ Data[47] ^ Data[48] ^ Data[50] ^ Data[51] ^ Data[55] ^ Data[56] ^ Data[57] ^ Data[60] ^ Data[61] ^ Data[63];
|
432 |
|
|
nextCRC32_D64[25] = CRC[1] ^ CRC[4] ^ CRC[5] ^ CRC[6] ^ CRC[8] ^ CRC[9] ^ CRC[12] ^ CRC[16] ^ CRC[17] ^ CRC[19] ^ CRC[20] ^ CRC[24] ^ CRC[25] ^ CRC[26] ^ CRC[29] ^ CRC[30] ^ Data[2] ^ Data[3] ^ Data[8] ^ Data[11] ^ Data[15] ^ Data[17] ^ Data[18] ^ Data[19] ^ Data[21] ^ Data[22] ^ Data[28] ^ Data[29] ^ Data[31] ^ Data[33] ^ Data[36] ^ Data[37] ^ Data[38] ^ Data[40] ^ Data[41] ^ Data[44] ^ Data[48] ^ Data[49] ^ Data[51] ^ Data[52] ^ Data[56] ^ Data[57] ^ Data[58] ^ Data[61] ^ Data[62];
|
433 |
|
|
nextCRC32_D64[26] = CRC[6] ^ CRC[7] ^ CRC[9] ^ CRC[10] ^ CRC[12] ^ CRC[15] ^ CRC[16] ^ CRC[17] ^ CRC[20] ^ CRC[22] ^ CRC[23] ^ CRC[25] ^ CRC[27] ^ CRC[28] ^ CRC[29] ^ CRC[30] ^ Data[0] ^ Data[3] ^ Data[4] ^ Data[6] ^ Data[10] ^ Data[18] ^ Data[19] ^ Data[20] ^ Data[22] ^ Data[23] ^ Data[24] ^ Data[25] ^ Data[26] ^ Data[28] ^ Data[31] ^ Data[38] ^ Data[39] ^ Data[41] ^ Data[42] ^ Data[44] ^ Data[47] ^ Data[48] ^ Data[49] ^ Data[52] ^ Data[54] ^ Data[55] ^ Data[57] ^ Data[59] ^ Data[60] ^ Data[61] ^ Data[62];
|
434 |
|
|
nextCRC32_D64[27] = CRC[0] ^ CRC[7] ^ CRC[8] ^ CRC[10] ^ CRC[11] ^ CRC[13] ^ CRC[16] ^ CRC[17] ^ CRC[18] ^ CRC[21] ^ CRC[23] ^ CRC[24] ^ CRC[26] ^ CRC[28] ^ CRC[29] ^ CRC[30] ^ CRC[31] ^ Data[1] ^ Data[4] ^ Data[5] ^ Data[7] ^ Data[11] ^ Data[19] ^ Data[20] ^ Data[21] ^ Data[23] ^ Data[24] ^ Data[25] ^ Data[26] ^ Data[27] ^ Data[29] ^ Data[32] ^ Data[39] ^ Data[40] ^ Data[42] ^ Data[43] ^ Data[45] ^ Data[48] ^ Data[49] ^ Data[50] ^ Data[53] ^ Data[55] ^ Data[56] ^ Data[58] ^ Data[60] ^ Data[61] ^ Data[62] ^ Data[63];
|
435 |
|
|
nextCRC32_D64[28] = CRC[1] ^ CRC[8] ^ CRC[9] ^ CRC[11] ^ CRC[12] ^ CRC[14] ^ CRC[17] ^ CRC[18] ^ CRC[19] ^ CRC[22] ^ CRC[24] ^ CRC[25] ^ CRC[27] ^ CRC[29] ^ CRC[30] ^ CRC[31] ^ Data[2] ^ Data[5] ^ Data[6] ^ Data[8] ^ Data[12] ^ Data[20] ^ Data[21] ^ Data[22] ^ Data[24] ^ Data[25] ^ Data[26] ^ Data[27] ^ Data[28] ^ Data[30] ^ Data[33] ^ Data[40] ^ Data[41] ^ Data[43] ^ Data[44] ^ Data[46] ^ Data[49] ^ Data[50] ^ Data[51] ^ Data[54] ^ Data[56] ^ Data[57] ^ Data[59] ^ Data[61] ^ Data[62] ^ Data[63];
|
436 |
|
|
nextCRC32_D64[29] = CRC[2] ^ CRC[9] ^ CRC[10] ^ CRC[12] ^ CRC[13] ^ CRC[15] ^ CRC[18] ^ CRC[19] ^ CRC[20] ^ CRC[23] ^ CRC[25] ^ CRC[26] ^ CRC[28] ^ CRC[30] ^ CRC[31] ^ Data[3] ^ Data[6] ^ Data[7] ^ Data[9] ^ Data[13] ^ Data[21] ^ Data[22] ^ Data[23] ^ Data[25] ^ Data[26] ^ Data[27] ^ Data[28] ^ Data[29] ^ Data[31] ^ Data[34] ^ Data[41] ^ Data[42] ^ Data[44] ^ Data[45] ^ Data[47] ^ Data[50] ^ Data[51] ^ Data[52] ^ Data[55] ^ Data[57] ^ Data[58] ^ Data[60] ^ Data[62] ^ Data[63];
|
437 |
|
|
nextCRC32_D64[30] = CRC[0] ^ CRC[3] ^ CRC[10] ^ CRC[11] ^ CRC[13] ^ CRC[14] ^ CRC[16] ^ CRC[19] ^ CRC[20] ^ CRC[21] ^ CRC[24] ^ CRC[26] ^ CRC[27] ^ CRC[29] ^ CRC[31] ^ Data[4] ^ Data[7] ^ Data[8] ^ Data[10] ^ Data[14] ^ Data[22] ^ Data[23] ^ Data[24] ^ Data[26] ^ Data[27] ^ Data[28] ^ Data[29] ^ Data[30] ^ Data[32] ^ Data[35] ^ Data[42] ^ Data[43] ^ Data[45] ^ Data[46] ^ Data[48] ^ Data[51] ^ Data[52] ^ Data[53] ^ Data[56] ^ Data[58] ^ Data[59] ^ Data[61] ^ Data[63];
|
438 |
|
|
nextCRC32_D64[31] = CRC[1] ^ CRC[4] ^ CRC[11] ^ CRC[12] ^ CRC[14] ^ CRC[15] ^ CRC[17] ^ CRC[20] ^ CRC[21] ^ CRC[22] ^ CRC[25] ^ CRC[27] ^ CRC[28] ^ CRC[30] ^ Data[5] ^ Data[8] ^ Data[9] ^ Data[11] ^ Data[15] ^ Data[23] ^ Data[24] ^ Data[25] ^ Data[27] ^ Data[28] ^ Data[29] ^ Data[30] ^ Data[31] ^ Data[33] ^ Data[36] ^ Data[43] ^ Data[44] ^ Data[46] ^ Data[47] ^ Data[49] ^ Data[52] ^ Data[53] ^ Data[54] ^ Data[57] ^ Data[59] ^ Data[60] ^ Data[62];
|
439 |
|
|
|
440 |
|
|
|
441 |
|
|
end
|
442 |
|
|
|
443 |
|
|
endfunction
|
444 |
|
|
|
445 |
|
|
function [63:0] reverse_64b;
|
446 |
|
|
input [63:0] data_reverse_64b;
|
447 |
|
|
integer i;
|
448 |
|
|
begin
|
449 |
|
|
for (i = 0; i < 64; i = i + 1) begin
|
450 |
|
|
reverse_64b[i] = data_reverse_64b[63 - i];
|
451 |
|
|
end
|
452 |
|
|
end
|
453 |
|
|
endfunction
|
454 |
|
|
|
455 |
|
|
|
456 |
|
|
function [31:0] reverse_32b;
|
457 |
|
|
input [31:0] data_reverse_32b;
|
458 |
|
|
integer i;
|
459 |
|
|
begin
|
460 |
|
|
for (i = 0; i < 32; i = i + 1) begin
|
461 |
|
|
reverse_32b[i] = data_reverse_32b[31 - i];
|
462 |
|
|
end
|
463 |
|
|
end
|
464 |
|
|
endfunction
|
465 |
|
|
|
466 |
|
|
|
467 |
|
|
function [7:0] reverse_8b;
|
468 |
|
|
input [7:0] data_reverse_8b;
|
469 |
|
|
integer i;
|
470 |
|
|
begin
|
471 |
|
|
for (i = 0; i < 8; i = i + 1) begin
|
472 |
|
|
reverse_8b[i] = data_reverse_8b[7 - i];
|
473 |
|
|
end
|
474 |
|
|
end
|
475 |
|
|
endfunction
|
476 |
|
|
|
477 |
|
|
`endif //OC_MAC_CRC_FUNC
|