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

📄 crc16bits.v

📁 16bit crc encoder ande demo
💻 V
字号:
//-----------------------------------------------------------------------------------
//16位循环冗余校验码芯片设计
//输入:data_in:原始数据.
//		crc_in:CRC校验的生成多项式.
//		EN:输出使能信号.
//-----------------------------------------------------------------------------------



module CRC16bits(EN, crc_in, data_in, crc_out, valid);
input	[15:0]	crc_in;
input	[7:0]	data_in;
input	EN;
output	[15:0]	crc_out;
output	valid;

reg [15:0] crc_out;
reg valid;

always @ (crc_in or data_in or EN)
begin
	if(EN == 1)
	begin
		valid = 1'b0;
		crc_out[0] =	data_in[7] ^ data_in[6] ^ data_in[5] ^ data_in[4] ^ data_in[3] ^
					data_in[2] ^ data_in[1] ^ data_in[0] ^ crc_in[8] ^ crc_in[9] ^
					crc_in[10] ^ crc_in[11] ^ crc_in[12] ^ crc_in[13] ^
					crc_in[14] ^ crc_in[15];
		crc_out[1] =	data_in[7] ^ data_in[6] ^ data_in[5] ^ data_in[4] ^ data_in[3] ^ data_in[2] ^
					data_in[1] ^ crc_in[9] ^ crc_in[10] ^ crc_in[11] ^
					crc_in[12] ^ crc_in[13] ^ crc_in[14] ^ crc_in[15];
		crc_out[2] =	data_in[1] ^ data_in[0] ^ crc_in[8] ^ crc_in[9];
		crc_out[3] =	data_in[2] ^ data_in[1] ^ crc_in[9] ^ crc_in[10];
		crc_out[4] =	data_in[3] ^ data_in[2] ^ crc_in[10] ^ crc_in[11];
		crc_out[5] =	data_in[4] ^ data_in[3] ^ crc_in[11] ^ crc_in[12];
		crc_out[6] =	data_in[5] ^ data_in[4] ^ crc_in[12] ^ crc_in[13];
		crc_out[7] =	data_in[6] ^ data_in[5] ^ crc_in[13] ^ crc_in[14];
		crc_out[8] =	data_in[7] ^ data_in[6] ^ crc_in[0] ^ crc_in[14] ^ crc_in[15];
		crc_out[9] =	data_in[7] ^ crc_in[1] ^ crc_in[15];
		crc_out[10] =	crc_in[2];
		crc_out[11] =	crc_in[3];
		crc_out[12] =	crc_in[4];
		crc_out[13] =	crc_in[5];
		crc_out[14] =	crc_in[6];
		crc_out[15] =	data_in[7] ^ data_in[6] ^ data_in[5] ^ data_in[4] ^ data_in[3] ^ data_in[2] ^
					data_in[1] ^ data_in[0] ^ crc_in[7] ^ crc_in[8] ^ crc_in[9] ^
					crc_in[10] ^ crc_in[11] ^ crc_in[12] ^ crc_in[13] ^
					crc_in[14] ^ crc_in[15];
	end
	else
	begin
		crc_out[15:0] = 4'H0000;
		valid = 1'b1;
	end
end

endmodule

⌨️ 快捷键说明

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