crc模拟计算


POLY = 104C11DB7(CRC-32) = 100000100110000010001110110110111
DATA = FA = 1111 1010, 反序 0101 1111
CRC_INIT = FFFFFFFF
计算公式 CRC = {CRC[CRC_WIDTH-2:0],1'b0} ^ ({CRC_WIDTH{(CRC_MSB ^ DATA)}} & POLYNOMINAL)
-------------------------------------------------
MSB=1111 1111 1111 1111 1111 1111 1111 1111 0 MSB = 1, DATA = 0
000 0010 0110 0000 1000 1110 1101 1011 1 ((MSB ^ DATA) & POLY) = POLY
-----------------------------------------
MSB=111 1101 1001 1111 0111 0001 0010 0100 10 MSB = 1, DATA = 1
00 0000 0000 0000 0000 0000 0000 0000 00 ((MSB ^ DATA) & POLY) = 0
-----------------------------------------
MSB=11 1101 1001 1111 0111 0001 0010 0100 100 MSB = 1, DATA = 0
0 0000 1001 1000 0010 0011 1011 0110 111 ((MSB ^ DATA) & POLY) = POLY
------------------------------------------
MSB=1 1101 0000 0111 0101 0010 1001 0010 0110 MSB = 1, DATA = 1
0000 0000 0000 0000 0000 0000 0000 0000 ((MSB ^ DATA) & POLY) = 0
-------------------------------------------
MSB=1101 0000 0111 0101 0010 1001 0010 0110 0 MSB = 1, DATA = 1
000 0000 0000 0000 0000 0000 0000 0000 0 ((MSB ^ DATA) & POLY) = 0
------------------------------------------
MSB=101 0000 0111 0101 0010 1001 0010 0110 00 MSB = 1, DATA = 1
00 0000 0000 0000 0000 0000 0000 0000 00 ((MSB ^ DATA) & POLY) = 0
------------------------------------------
MSB=01 0000 0111 0101 0010 1001 0010 0110 000 MSB = 0, DATA = 1
0 0000 1001 1000 0010 0011 1011 0110 111 ((MSB ^ DATA) & POLY) = POLY
------------------------------------------
MSB=1 0000 1110 1101 0000 1010 1001 0000 1110 MSB = 1, DATA = 1
0000 0000 0000 0000 0000 0000 0000 0000 ((MSB ^ DATA) & POLY) = 0
------------------------------------------
MSB=0000 1110 1101 0000 1010 1001 0000 1110
000 1110 1101 0000 1010 1001 0000 1110 0ED0A90E



POLY = 8005(CRC-16) = 1000 0000 0000 0101
DATA = AA = 1010 1010
CRC_INIT = FFFF
计算公式 CRC = {CRC[CRC_WIDTH-2:0],1'b0} ^ ({CRC_WIDTH{(CRC_MSB ^ DATA)}} & POLYNOMINAL)
-------------------------------------------------
MSB=1111 1111 1111 1111 0 MSB = 1, DATA = 1
000 0000 0000 0000 0 ((MSB ^ DATA) & POLY) = 0
-----------------------------------------
MSB=111 1111 1111 1111 00 MSB = 1, DATA = 0
10 0000 0000 0001 01 ((MSB ^ DATA) & POLY) = POLY
-----------------------------------------
MSB=01 1111 1111 1110 010 MSB = 0, DATA = 1
1 0000 0000 0000 101 ((MSB ^ DATA) & POLY) = POLY
-----------------------------------------

-
MSB=0 1111 1111 1110 1110 MSB = 0, DATA = 0
0000 0000 0000 0000 ((MSB ^ DATA) & POLY) = 0
-------------------------------------------
MSB=1111 1111 1110 1110 0 MSB = 1, DATA = 1
000 0000 0000 0000 0 ((MSB ^ DATA) & POLY) = 0
------------------------------------------
MSB=111 1111 1110 1110 00 MSB = 1, DATA = 0
10 0000 0000 0001 01 ((MSB ^ DATA) & POLY) = POLY
------------------------------------------
MSB=01 1111 1110 1111 010 MSB = 0, DATA = 1
1 0000 0000 0000 101 ((MSB ^ DATA) & POLY) = POLY
------------------------------------------
MSB=0 1111 1110 1111 1110 MSB = 0, DATA = 0
0000 0000 0000 0000 ((MSB ^ DATA) & POLY) = 0
------------------------------------------
1111 1110 1111 1110


相关主题
相关文档
最新文档