Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Jan Waclawek
08/05/07 02:45
Read: 650 times
Bratislava
Slovakia


 
#142779 - not bitwise....
Responding to: Michael Karas's previous message
Of course not the bitwise method!

There are algorithms processing a byte "in parallel", derived mostly from the fact that most CRC polys have only a few bits set (this is not a coincidence - in this way, in the hardware implementation, the LFSR has only a few taps - that converts to the number of XORS and that relates directly to the maximum achievable speed and of course also silicon area). It takes then only a couple of xors and shifts to do all the job.

The '51 implementation of such for the CCITT CRC-16 (0x1021) takes me 27 cycles per byte (on the vanilla '51 and those which have the same cycle-per-instruction structure, of course); on AVR it's 38 (here, CRC is kept in memory and to move it in and out is expensive - it would be significantly less if the CRC would be kept in registers).

Can you please look up your old programs and get the figures for the table-driven version, so we are able to compare (a now hastily-written full-table one for '51 came out 19 cycles for me, but maybe you have a better one)?

JW


List of 23 messages in thread
TopicAuthorDate
How to create a crc table?      John Myers      08/04/07 02:33      
   simple      Jan Waclawek      08/04/07 08:10      
      RE: simple      John Myers      08/04/07 15:34      
         I said it\'s simple      Jan Waclawek      08/04/07 17:33      
            Thank you      John Myers      08/04/07 18:27      
            Protocols      Andy Neil      08/06/07 07:48      
               examples      Jan Waclawek      08/06/07 08:05      
   Runtime Computed Table??      Michael Karas      08/04/07 09:14      
      RE: Runtime...?      John Myers      08/04/07 16:02      
      table is not necessary      Jan Waclawek      08/04/07 17:41      
         Benchmark      John Myers      08/04/07 18:16      
            I did benchmarks as such on AVR      Michael Karas      08/04/07 19:38      
               Similar findings      Russell Bull      08/04/07 21:05      
                  no beavers that I've tended to!!      Michael Karas      08/04/07 22:50      
               not bitwise....      Jan Waclawek      08/05/07 02:45      
            Better is a strong word      Neil Kurzman      08/05/07 21:19      
               Also comment about SMBus PEC Code...      Michael Karas      08/05/07 21:30      
   The Table      Neil Kurzman      08/06/07 11:19      
   The Nibble Table for Poly 107      Neil Kurzman      08/06/07 11:20      
   The formula      Neil Kurzman      08/06/07 11:22      
   Have you seen this?      Richard Erlacher      08/06/07 18:42      
      Now I have      Neil Kurzman      08/06/07 21:26      
      Yes, that is a Key Document!      Andy Neil      08/07/07 02:45      

Back to Subject List