This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS1227: Technique for reducing 64-bit CRC to 16-bit representation

Part Number: TMS570LS1227


Hi,

I would like to use the TMS570 CRC engine as I require the performance offered over manual implementation.

My problem is that I require a 16-bit CRC rather than the 64-bit CRC offered by the CRC engine (the polynomial and CRC size are not configurable).

I require to CRC 160 bytes of data.

Are you aware of any techniques I can use to reduce this 64-bit CRC to 16-bit without compromising its effectiveness? I wonder about perhaps exclusive or-ing the 4 16-bit words, something like that. I'm hoping that you have had other customers with some similar requirement and have performed some analysis on how this might be achieved.

Best regards, Tony.

  • Hello Tony,

    The CRC polynomial used in TMS570 CRC HW is x^64+x^4+x^3+x+1. The 16-bit CCITT uses x^16+x^12+x^5+1. I don't know how to reduce 64-bit CRC for 16-bit.
  • Hi QJ,
    I think it unlikely that anybody will have an answer, I don't think it's possible really.
    I have managed to optimise my manual Sarwate CRC16 by expanding loops and avoiding the inclusion of non primary function related data. I did have a go at Slicing-by-8 but performance wasn't greatly improved on the data set size I have.
    Thanks for your time.
    Regards, Tony.