module	fnmcve(o_crc);
	output	reg	[7:0]	o_crc;

	always @(*)
		o_crc = gencrc({ 2'b01, 6'h11, 32'h00 });

	function [7:0]	gencrc;
		input	[39:0]	i_cmdword;
		integer	icrc;

		gencrc = 0;
		for(icrc=0; icrc<40; icrc=icrc+1)
		if (i_cmdword[39-icrc] ^ gencrc[7])
			gencrc[7:1] = { gencrc[6:1], 1'b0 } ^ 7'h09;
		else
			gencrc[7:1] = { gencrc[6:1], 1'b0 };
		gencrc = { gencrc[7:1], 1'b1 };
	endfunction
endmodule