Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Concept of CRC24 calcualtion for 64 bits

Hi,

Does anyone knows concept of CRC calculation? (which is generated by ALTERA for Interlaken protocol core )

Kindly refer the document of advanced synthesis cookbook.

I don't know how are they doing XOR operation for incoming 64bits?

CRC24 calculation == DATA 64 bits (single cycle)

Kindly see the attached file for CRC calculation.

Thanks

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    Thanks for your reply. I went through that paper which u suggested but in that paper they have used matrix method.

    Could you just explain the concept of Table 2? i.e Mout (next state CRC) as a function of Min(current state CRC) when N=0

    In that table 2 matrix ,I'm not able understand how you are making Min[0] is 1 initially i.e. Min[0] row[0] = 1 0 0 0 0 (rest of rows I understand)

    Mout = F(Nin=0,Min)

    Nin = 0 Mout[4] Mout[3] Mout[2] Mout[1] Mout[0]

    Min[0] 1 0 0 0 0

    Thanks
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Mout = F(Nin=0,Min)

    Nin = 0 Mout[4] Mout[3] Mout[2] Mout[1] Mout[0]

    Min[0] 1 0 0 0 0

    Thank you sir
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    Each row corresponds to Mout for different Min, from 0x01 to 0x10. So, for example, when Min=0x1 (first row), Mout bits are 10000. 2'nd row is Min = 0x2, etc.

    The reason why it's Min[0], Min[1], etc, is that Min values are one-hot encoded.

    Thanks,

    Evgeni