> On Tue, 21 Jan 2003, Tony K|bek wrote:
>
> > Hi,
> >
> >
> > Scott Dattalo wrote:
> > <snip>
> > >Not wanting to leave good enough alone, I dove into the CRC16
> > calculation
> > >again. I found another implementation that also takes only 17-cycles.
> > Oh
> > >well. But what's interesting, is I found a way to express the CRC16
> > >algorithm in a very simple way that's useful for high level languages:
> > <snip>
> >
> > For some reason I missed this thread ( and Scotts original post ) but
> > it's never to
> > late for catching up :). Anyway, interesting expression. I left the crc
> > stuff
> > on the backburner for a while but crc-32 is luring me to take another
> > stab, not
> > that I'll ever have the insightfullness that Scott has but I might
> > provide some
> > neat ideas :).
>
> I was wondering why you hadn't responded yet!
>
> >
> > So if time permits an crc-32 should be added to this list sometimes in
> > the future.
> > This could be useful for tcp/ip implementations, as far as I know
> > current implemenations
> > does not compute the full crc32 for the outgoing message.
>
> I don't know why, but I've been thinking about the CRC-32 too :). I was
> surprised to discover that the 8-bit CRC in Dallas' 1-wire products is
> more difficult to implement than the 16-bit CRCs. It lacks the symmetry of
> say a CRC-16 computation. This made me curious about the 32-bit CRC's. Do
> they have the simple symmetry that allows them to be efficiently computed?
> Incidently, the technique used to implement the 8-bit CRC (see
>
http://www.dattalo.com/technical/software/pic/crc_8.asm for an
> implementation, but no description) is completely generic. It takes 19
> cycles. In general, for an N-byte crc, this technique will take about 9*N
> cycles to implement. I'd expect 36 to 40 cycles for a 32-bit CRC. I'd
> expect less if symmetry can be exploited.
>
> Scott
>
> --
>
http://www.piclist.com hint: To leave the PICList
>
RemoveMEpiclist-unsubscribe-requestTakeThisOuT
mitvma.mit.edu
>