⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crc32.h

📁 CRC32算法, 可以对字符串或文件进行CRC32计算, 带进度条.内含VC++6.0源码
💻 H
📖 第 1 页 / 共 4 页
字号:
//	   //File: CRC32_D1.v
//	   //Date: Tue Feb 26 02:47:05 2002
//	   //
//	   //Copyright (C) 1999 Easics NV.
//	   //This source file may be used and distributed without restriction
//	   //provided that this copyright statement is not removed from the file
//	   //and that any derivative work contains the original copyright notice
//	   //and the associated disclaimer.
//	   //
//	   //THIS SOURCE FILE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS
//	   //OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
//	   //WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//	   //
//	   //Purpose: Verilog module containing a synthesizable CRC function
//	   //* polynomial: (0 1 2 4 5 7 8 10 11 12 16 22 23 26 32)
//	   //* data width: 1
//	   //
//	   //Info: jand@easics.be (Jan Decaluwe)
//	   //http://www.easics.com
//	   /////////////////////////////////////////////////////////////////////
//	   module CRC32_D1;
//	   // polynomial: (0 1 2 4 5 7 8 10 11 12 16 22 23 26 32)
//	   // data width: 1
//	   function [31:0] nextCRC32_D1;
//	   input Data;
//	   input [31:0] CRC;
//	   reg [0:0] D;
//	   reg [31:0] C;
//	   reg [31:0] NewCRC;
//	   begin
//	   D[0] = Data;
//	   C = CRC;
//	   NewCRC[0] = D[0] ^ C[31];
//	   NewCRC[1] = D[0] ^ C[0] ^ C[31];
//	   NewCRC[2] = D[0] ^ C[1] ^ C[31];
//	   NewCRC[3] = C[2];
//	   NewCRC[4] = D[0] ^ C[3] ^ C[31];
//	   NewCRC[5] = D[0] ^ C[4] ^ C[31];
//	   NewCRC[6] = C[5];
//	   NewCRC[7] = D[0] ^ C[6] ^ C[31];
//	   NewCRC[8] = D[0] ^ C[7] ^ C[31];
//	   NewCRC[9] = C[8];
//	   NewCRC[10] = D[0] ^ C[9] ^ C[31];
//	   NewCRC[11] = D[0] ^ C[10] ^ C[31];
//	   NewCRC[12] = D[0] ^ C[11] ^ C[31];
//	   NewCRC[13] = C[12];
//	   NewCRC[14] = C[13];
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 12]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   NewCRC[15] = C[14];
//	   NewCRC[16] = D[0] ^ C[15] ^ C[31];
//	   NewCRC[17] = C[16];
//	   NewCRC[18] = C[17];
//	   NewCRC[19] = C[18];
//	   NewCRC[20] = C[19];
//	   NewCRC[21] = C[20];
//	   NewCRC[22] = D[0] ^ C[21] ^ C[31];
//	   NewCRC[23] = D[0] ^ C[22] ^ C[31];
//	   NewCRC[24] = C[23];
//	   NewCRC[25] = C[24];
//	   NewCRC[26] = D[0] ^ C[25] ^ C[31];
//	   NewCRC[27] = C[26];
//	   NewCRC[28] = C[27];
//	   NewCRC[29] = C[28];
//	   NewCRC[30] = C[29];
//	   NewCRC[31] = C[30];
//	   nextCRC32_D1 = NewCRC;
//	   end
//	   endfunction
//	   endmodule
//
//	8.2 A Parallel Implementation in Hardware
//
//	   A parallel implementation that processes 32 data bits at a time is
//	   described in the following Verilog [ieee1364] code.  In software
//	   implementations, the next state logic is typically implemented by
//	   means of tables indexed by the input and the current state.
//
//	   /////////////////////////////////////////////////////////////////////
//	   //File: CRC32_D32.v
//	   //Date: Tue Feb 26 02:50:08 2002
//	   //
//	   //Copyright (C) 1999 Easics NV.
//	   //This source file may be used and distributed without restriction
//	   //provided that this copyright statement is not removed from the file
//	   //and that any derivative work contains the original copyright notice
//	   //and the associated disclaimer.
//	   //
//	   //THIS SOURCE FILE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS
//	   //OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
//	   //WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//	   //
//	   //Purpose: Verilog module containing a synthesizable CRC function
//	   //* polynomial: p(0 to 32) := "100000101111011000111011011110001"
//	   //* data width: 32
//	   //
//	   //Info: jand@easics.be (Jan Decaluwe)
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 13]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   //http://www.easics.com
//	   /////////////////////////////////////////////////////////////////////
//	   module CRC32_D32;
//	   // polynomial: p(0 to 32) := "100000101111011000111011011110001"
//	   // data width: 32
//	   // convention: the first serial data bit is D[31]
//	   function [31:0] nextCRC32_D32;
//	   input [31:0] Data;
//	   input [31:0] CRC;
//	   reg [31:0] D;
//	   reg [31:0] C;
//	   reg [31:0] NewCRC;
//	   begin
//	   D = Data;
//	   C = CRC;
//	   NewCRC[0] = D[31] ^ D[30] ^ D[28] ^ D[27] ^ D[26] ^ D[25] ^ D[23]
//	   ^
//	   D[21] ^ D[18] ^ D[17] ^ D[16] ^ D[12] ^ D[9] ^ D[8] ^
//	   D[7] ^ D[6] ^ D[5] ^ D[4] ^ D[0] ^ C[0] ^ C[4] ^ C[5] ^
//	   C[6] ^ C[7] ^ C[8] ^ C[9] ^ C[12] ^ C[16] ^ C[17] ^
//	   C[18] ^ C[21] ^ C[23] ^ C[25] ^ C[26] ^ C[27] ^ C[28] ^
//	   C[30] ^ C[31];
//	   NewCRC[1] = D[31] ^ D[29] ^ D[28] ^ D[27] ^ D[26] ^ D[24] ^ D[22]
//	   ^
//	   D[19] ^ D[18] ^ D[17] ^ D[13] ^ D[10] ^ D[9] ^ D[8] ^
//	   D[7] ^ D[6] ^ D[5] ^ D[1] ^ C[1] ^ C[5] ^ C[6] ^ C[7] ^
//	   C[8] ^ C[9] ^ C[10] ^ C[13] ^ C[17] ^ C[18] ^ C[19] ^
//	   C[22] ^ C[24] ^ C[26] ^ C[27] ^ C[28] ^ C[29] ^ C[31];
//	   NewCRC[2] = D[30] ^ D[29] ^ D[28] ^ D[27] ^ D[25] ^ D[23] ^ D[20]
//	   ^
//	   D[19] ^ D[18] ^ D[14] ^ D[11] ^ D[10] ^ D[9] ^ D[8] ^
//	   D[7] ^ D[6] ^ D[2] ^ C[2] ^ C[6] ^ C[7] ^ C[8] ^ C[9] ^
//	   C[10] ^ C[11] ^ C[14] ^ C[18] ^ C[19] ^ C[20] ^ C[23] ^
//	   C[25] ^ C[27] ^ C[28] ^ C[29] ^ C[30];
//	   NewCRC[3] = D[31] ^ D[30] ^ D[29] ^ D[28] ^ D[26] ^ D[24] ^ D[21]
//	   ^
//	   D[20] ^ D[19] ^ D[15] ^ D[12] ^ D[11] ^ D[10] ^ D[9] ^
//	   D[8] ^ D[7] ^ D[3] ^ C[3] ^ C[7] ^ C[8] ^ C[9] ^ C[10] ^
//	   C[11] ^ C[12] ^ C[15] ^ C[19] ^ C[20] ^ C[21] ^ C[24] ^
//	   C[26] ^ C[28] ^ C[29] ^ C[30] ^ C[31];
//	   NewCRC[4] = D[31] ^ D[30] ^ D[29] ^ D[27] ^ D[25] ^ D[22] ^ D[21]
//	   ^
//	   D[20] ^ D[16] ^ D[13] ^ D[12] ^ D[11] ^ D[10] ^ D[9] ^
//	   D[8] ^ D[4] ^ C[4] ^ C[8] ^ C[9] ^ C[10] ^ C[11] ^
//	   C[12] ^ C[13] ^ C[16] ^ C[20] ^ C[21] ^ C[22] ^ C[25] ^
//	   C[27] ^ C[29] ^ C[30] ^ C[31];
//	   NewCRC[5] = D[31] ^ D[30] ^ D[28] ^ D[26] ^ D[23] ^ D[22] ^ D[21]
//	   ^
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 14]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   D[17] ^ D[14] ^ D[13] ^ D[12] ^ D[11] ^ D[10] ^ D[9] ^
//	   D[5] ^ C[5] ^ C[9] ^ C[10] ^ C[11] ^ C[12] ^ C[13] ^
//	   C[14] ^ C[17] ^ C[21] ^ C[22] ^ C[23] ^ C[26] ^ C[28] ^
//	   C[30] ^ C[31];
//	   NewCRC[6] = D[30] ^ D[29] ^ D[28] ^ D[26] ^ D[25] ^ D[24] ^ D[22]
//	   ^
//	   D[21] ^ D[17] ^ D[16] ^ D[15] ^ D[14] ^ D[13] ^ D[11] ^
//	   D[10] ^ D[9] ^ D[8] ^ D[7] ^ D[5] ^ D[4] ^ D[0] ^ C[0] ^
//	   C[4] ^ C[5] ^ C[7] ^ C[8] ^ C[9] ^ C[10] ^ C[11] ^
//	   C[13] ^ C[14] ^ C[15] ^ C[16] ^ C[17] ^ C[21] ^ C[22] ^
//	   C[24] ^ C[25] ^ C[26] ^ C[28] ^ C[29] ^ C[30];
//	   NewCRC[7] = D[31] ^ D[30] ^ D[29] ^ D[27] ^ D[26] ^ D[25] ^ D[23]
//	   ^
//	   D[22] ^ D[18] ^ D[17] ^ D[16] ^ D[15] ^ D[14] ^ D[12] ^
//	   D[11] ^ D[10] ^ D[9] ^ D[8] ^ D[6] ^ D[5] ^ D[1] ^
//	   C[1] ^ C[5] ^ C[6] ^ C[8] ^ C[9] ^ C[10] ^ C[11] ^
//	   C[12] ^ C[14] ^ C[15] ^ C[16] ^ C[17] ^ C[18] ^ C[22] ^
//	   C[23] ^ C[25] ^ C[26] ^ C[27] ^ C[29] ^ C[30] ^ C[31];
//	   NewCRC[8] = D[25] ^ D[24] ^ D[21] ^ D[19] ^ D[15] ^ D[13] ^ D[11]
//	   ^
//	   D[10] ^ D[8] ^ D[5] ^ D[4] ^ D[2] ^ D[0] ^ C[0] ^ C[2] ^
//	   C[4] ^ C[5] ^ C[8] ^ C[10] ^ C[11] ^ C[13] ^ C[15] ^
//	   C[19] ^ C[21] ^ C[24] ^ C[25];
//	   NewCRC[9] = D[31] ^ D[30] ^ D[28] ^ D[27] ^ D[23] ^ D[22] ^ D[21]
//	   ^
//	   D[20] ^ D[18] ^ D[17] ^ D[14] ^ D[11] ^ D[8] ^ D[7] ^
//	   D[4] ^ D[3] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[3] ^ C[4] ^
//	   C[7] ^ C[8] ^ C[11] ^ C[14] ^ C[17] ^ C[18] ^ C[20] ^
//	   C[21] ^ C[22] ^ C[23] ^ C[27] ^ C[28] ^ C[30] ^ C[31];
//	   NewCRC[10] = D[30] ^ D[29] ^ D[27] ^ D[26] ^ D[25] ^ D[24] ^
//	   D[22] ^
//	   D[19] ^ D[17] ^ D[16] ^ D[15] ^ D[7] ^ D[6] ^ D[2] ^
//	   D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[2] ^ C[6] ^ C[7] ^ C[15] ^
//	   C[16] ^ C[17] ^ C[19] ^ C[22] ^ C[24] ^ C[25] ^ C[26] ^
//	   C[27] ^ C[29] ^ C[30];
//	   NewCRC[11] = D[21] ^ D[20] ^ D[12] ^ D[9] ^ D[6] ^ D[5] ^ D[4] ^
//	   D[3] ^ D[2] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[2] ^ C[3] ^
//	   C[4] ^ C[5] ^ C[6] ^ C[9] ^ C[12] ^ C[20] ^ C[21];
//	   NewCRC[12] = D[22] ^ D[21] ^ D[13] ^ D[10] ^ D[7] ^ D[6] ^ D[5] ^
//	   D[4] ^ D[3] ^ D[2] ^ D[1] ^ C[1] ^ C[2] ^ C[3] ^ C[4] ^
//	   C[5] ^ C[6] ^ C[7] ^ C[10] ^ C[13] ^ C[21] ^ C[22];
//	   NewCRC[13] = D[31] ^ D[30] ^ D[28] ^ D[27] ^ D[26] ^ D[25] ^
//	   D[22] ^
//	   D[21] ^ D[18] ^ D[17] ^ D[16] ^ D[14] ^ D[12] ^ D[11] ^
//	   D[9] ^ D[3] ^ D[2] ^ D[0] ^ C[0] ^ C[2] ^ C[3] ^ C[9] ^
//	   C[11] ^ C[12] ^ C[14] ^ C[16] ^ C[17] ^ C[18] ^ C[21] ^
//	   C[22] ^ C[25] ^ C[26] ^ C[27] ^ C[28] ^ C[30] ^ C[31];
//	   NewCRC[14] = D[30] ^ D[29] ^ D[25] ^ D[22] ^ D[21] ^ D[19] ^
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 15]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   D[16] ^
//	   D[15] ^ D[13] ^ D[10] ^ D[9] ^ D[8] ^ D[7] ^ D[6] ^
//	   D[5] ^ D[3] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[3] ^ C[5] ^
//	   C[6] ^ C[7] ^ C[8] ^ C[9] ^ C[10] ^ C[13] ^ C[15] ^
//	   C[16] ^ C[19] ^ C[21] ^ C[22] ^ C[25] ^ C[29] ^ C[30];
//	   NewCRC[15] = D[31] ^ D[30] ^ D[26] ^ D[23] ^ D[22] ^ D[20] ^
//	   D[17] ^
//	   D[16] ^ D[14] ^ D[11] ^ D[10] ^ D[9] ^ D[8] ^ D[7] ^
//	   D[6] ^ D[4] ^ D[2] ^ D[1] ^ C[1] ^ C[2] ^ C[4] ^ C[6] ^
//	   C[7] ^ C[8] ^ C[9] ^ C[10] ^ C[11] ^ C[14] ^ C[16] ^
//	   C[17] ^ C[20] ^ C[22] ^ C[23] ^ C[26] ^ C[30] ^ C[31];
//	   NewCRC[16] = D[31] ^ D[27] ^ D[24] ^ D[23] ^ D[21] ^ D[18] ^
//	   D[17] ^
//	   D[15] ^ D[12] ^ D[11] ^ D[10] ^ D[9] ^ D[8] ^ D[7] ^
//	   D[5] ^ D[3] ^ D[2] ^ C[2] ^ C[3] ^ C[5] ^ C[7] ^ C[8] ^
//	   C[9] ^ C[10] ^ C[11] ^ C[12] ^ C[15] ^ C[17] ^ C[18] ^
//	   C[21] ^ C[23] ^ C[24] ^ C[27] ^ C[31];
//	   NewCRC[17] = D[28] ^ D[25] ^ D[24] ^ D[22] ^ D[19] ^ D[18] ^
//	   D[16] ^
//	   D[13] ^ D[12] ^ D[11] ^ D[10] ^ D[9] ^ D[8] ^ D[6] ^
//	   D[4] ^ D[3] ^ C[3] ^ C[4] ^ C[6] ^ C[8] ^ C[9] ^ C[10] ^
//	   C[11] ^ C[12] ^ C[13] ^ C[16] ^ C[18] ^ C[19] ^ C[22] ^
//	   C[24] ^ C[25] ^ C[28];
//	   NewCRC[18] = D[31] ^ D[30] ^ D[29] ^ D[28] ^ D[27] ^ D[21] ^
//	   D[20] ^
//	   D[19] ^ D[18] ^ D[16] ^ D[14] ^ D[13] ^ D[11] ^ D[10] ^
//	   D[8] ^ D[6] ^ D[0] ^ C[0] ^ C[6] ^ C[8] ^ C[10] ^ C[11] ^
//	   C[13] ^ C[14] ^ C[16] ^ C[18] ^ C[19] ^ C[20] ^ C[21] ^
//	   C[27] ^ C[28] ^ C[29] ^ C[30] ^ C[31];
//	   NewCRC[19] = D[29] ^ D[27] ^ D[26] ^ D[25] ^ D[23] ^ D[22] ^
//	   D[20] ^
//	   D[19] ^ D[18] ^ D[16] ^ D[15] ^ D[14] ^ D[11] ^ D[8] ^
//	   D[6] ^ D[5] ^ D[4] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[4] ^
//	   C[5] ^ C[6] ^ C[8] ^ C[11] ^ C[14] ^ C[15] ^ C[16] ^
//	   C[18] ^ C[19] ^ C[20] ^ C[22] ^ C[23] ^ C[25] ^ C[26] ^
//	   C[27] ^ C[29];
//	   NewCRC[20] = D[31] ^ D[25] ^ D[24] ^ D[20] ^ D[19] ^ D[18] ^
//	   D[15] ^
//	   D[8] ^ D[4] ^ D[2] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[2] ^
//	   C[4] ^ C[8] ^ C[15] ^ C[18] ^ C[19] ^ C[20] ^ C[24] ^
//	   C[25] ^ C[31];
//	   NewCRC[21] = D[26] ^ D[25] ^ D[21] ^ D[20] ^ D[19] ^ D[16] ^ D[9]
//	   ^
//	   D[5] ^ D[3] ^ D[2] ^ D[1] ^ C[1] ^ C[2] ^ C[3] ^ C[5] ^
//	   C[9] ^ C[16] ^ C[19] ^ C[20] ^ C[21] ^ C[25] ^ C[26];
//	   NewCRC[22] = D[31] ^ D[30] ^ D[28] ^ D[25] ^ D[23] ^ D[22] ^
//	   D[20] ^
//	   D[18] ^ D[16] ^ D[12] ^ D[10] ^ D[9] ^ D[8] ^ D[7] ^
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 16]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   D[5] ^ D[3] ^ D[2] ^ D[0] ^ C[0] ^ C[2] ^ C[3] ^ C[5] ^
//	   C[7] ^ C[8] ^ C[9] ^ C[10] ^ C[12] ^ C[16] ^ C[18] ^
//	   C[20] ^ C[22] ^ C[23] ^ C[25] ^ C[28] ^ C[30] ^ C[31];
//	   NewCRC[23] = D[30] ^ D[29] ^ D[28] ^ D[27] ^ D[25] ^ D[24] ^
//	   D[19] ^
//	   D[18] ^ D[16] ^ D[13] ^ D[12] ^ D[11] ^ D[10] ^ D[7] ^
//	   D[5] ^ D[3] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[3] ^ C[5] ^
//	   C[7] ^ C[10] ^ C[11] ^ C[12] ^ C[13] ^ C[16] ^ C[18] ^
//	   C[19] ^ C[24] ^ C[25] ^ C[27] ^ C[28] ^ C[29] ^ C[30];
//	   NewCRC[24] = D[31] ^ D[30] ^ D[29] ^ D[28] ^ D[26] ^ D[25] ^
//	   D[20] ^
//	   D[19] ^ D[17] ^ D[14] ^ D[13] ^ D[12] ^ D[11] ^ D[8] ^
//	   D[6] ^ D[4] ^ D[2] ^ D[1] ^ C[1] ^ C[2] ^ C[4] ^ C[6] ^
//	   C[8] ^ C[11] ^ C[12] ^ C[13] ^ C[14] ^ C[17] ^ C[19] ^
//	   C[20] ^ C[25] ^ C[26] ^ C[28] ^ C[29] ^ C[30] ^ C[31];
//	   NewCRC[25] = D[29] ^ D[28] ^ D[25] ^ D[23] ^ D[20] ^ D[17] ^
//	   D[16] ^
//	   D[15] ^ D[14] ^ D[13] ^ D[8] ^ D[6] ^ D[4] ^ D[3] ^
//	   D[2] ^ D[0] ^ C[0] ^ C[2] ^ C[3] ^ C[4] ^ C[6] ^ C[8] ^
//	   C[13] ^ C[14] ^ C[15] ^ C[16] ^ C[17] ^ C[20] ^ C[23] ^
//	   C[25] ^ C[28] ^ C[29];
//	   NewCRC[26] = D[31] ^ D[29] ^ D[28] ^ D[27] ^ D[25] ^ D[24] ^
//	   D[23] ^
//	   D[15] ^ D[14] ^ D[12] ^ D[8] ^ D[6] ^ D[3] ^ D[1] ^
//	   D[0] ^ C[0] ^ C[1] ^ C[3] ^ C[6] ^ C[8] ^ C[12] ^ C[14] ^
//	   C[15] ^ C[23] ^ C[24] ^ C[25] ^ C[27] ^ C[28] ^ C[29] ^
//	   C[31];
//	   NewCRC[27] = D[31] ^ D[29] ^ D[27] ^ D[24] ^ D[23] ^ D[21] ^
//	   D[18] ^
//	   D[17] ^ D[15] ^ D[13] ^ D[12] ^ D[8] ^ D[6] ^ D[5] ^
//	   D[2] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[2] ^ C[5] ^ C[6] ^
//	   C[8] ^ C[12] ^ C[13] ^ C[15] ^ C[17] ^ C[18] ^ C[21] ^
//	   C[23] ^ C[24] ^ C[27] ^ C[29] ^ C[31];
//	   NewCRC[28] = D[31] ^ D[27] ^ D[26] ^ D[24] ^ D[23] ^ D[22] ^
//	   D[21] ^
//	   D[19] ^ D[17] ^ D[14] ^ D[13] ^ D[12] ^ D[8] ^ D[5] ^
//	   D[4] ^ D[3] ^ D[2] ^ D[1] ^ D[0] ^ C[0] ^ C[1] ^ C[2] ^
//	   C[3] ^ C[4] ^ C[5] ^ C[8] ^ C[12] ^ C[13] ^ C[14] ^
//	   C[17] ^ C[19] ^ C[21] ^ C[22] ^ C[23] ^ C[24] ^ C[26] ^
//	   C[27] ^ C[31];
//	   NewCRC[29] = D[28] ^ D[27] ^ D[25] ^ D[24] ^ D[23] ^ D[22] ^
//	   D[20] ^
//	   D[18] ^ D[15] ^ D[14] ^ D[13] ^ D[9] ^ D[6] ^ D[5] ^
//	   D[4] ^ D[3] ^ D[2] ^ D[1] ^ C[1] ^ C[2] ^ C[3] ^ C[4] ^
//	   C[5] ^ C[6] ^ C[9] ^ C[13] ^ C[14] ^ C[15] ^ C[18] ^
//	   C[20] ^ C[22] ^ C[23] ^ C[24] ^ C[25] ^ C[27] ^ C[28];
//	   NewCRC[30] = D[29] ^ D[28] ^ D[26] ^ D[25] ^ D[24] ^ D[23] ^
//	   D[21] ^
//
//
//
//	Sheinwald, et. al.           Informational                     [Page 17]
//	
//	RFC 3385                iSCSI CRC Considerations          September 2002
//
//
//	   D[19] ^ D[16] ^ D[15] ^ D[14] ^ D[10] ^ D[7] ^ D[6] ^

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -