FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 02-03-2010, 01:21 PM
dlopez
Guest
 
Posts: n/a
Default What is the most area efficient CRC method

Hi,
I need to implement CRC detection in a Spartan3 Xilinx FPGA. My data strea
is coming in one byte at a time, but I do have about 8-10 clock cycle
between each byte (still tbd!).

If I want to save area, is it better to use a CRC that works byte per byt
or bit per bit?

Also, any idea where I could find code for the standard polynomials?

Thanks!
Diego

---------------------------------------
Posted through http://www.FPGARelated.com
Reply With Quote
  #2 (permalink)  
Old 02-03-2010, 02:00 PM
General Schvantzkoph
Guest
 
Posts: n/a
Default Re: What is the most area efficient CRC method

On Wed, 03 Feb 2010 07:21:13 -0600, dlopez wrote:

> Hi,
> I need to implement CRC detection in a Spartan3 Xilinx FPGA. My data
> stream is coming in one byte at a time, but I do have about 8-10 clock
> cycles between each byte (still tbd!).
>
> If I want to save area, is it better to use a CRC that works byte per
> byte or bit per bit?
>
> Also, any idea where I could find code for the standard polynomials?
>
> Thanks!
> Diego
>
> --------------------------------------- Posted through
> http://www.FPGARelated.com


There is a great polynomial generator on the web,

http://www.easics.com/webtools/crctool
Reply With Quote
  #3 (permalink)  
Old 02-03-2010, 03:13 PM
Petter Gustad
Guest
 
Posts: n/a
Default Re: What is the most area efficient CRC method

"dlopez" <d@n_o_s_p_a_m.designgame.ca> writes:

> If I want to save area, is it better to use a CRC that works byte
> per byte or bit per bit?


Per bit as it is simply a shift register with xor gates at the
polynomial positions.


Here is a sample program to symbolically convert a serial form to a
parallel form:

http://tinyurl.com/ygvenaz

Petter
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Reply With Quote
  #4 (permalink)  
Old 02-04-2010, 02:41 AM
rickman
Guest
 
Posts: n/a
Default Re: What is the most area efficient CRC method

On Feb 3, 10:13*am, Petter Gustad <newsmailco...@gustad.com> wrote:
> "dlopez" <d@n_o_s_p_a_m.designgame.ca> writes:
> > If I want to save area, is it better to use a CRC that works byte
> > per byte or bit per bit?

>
> Per bit as it is simply a shift register with xor gates at the
> polynomial positions.
>
> Here is a sample program to symbolically convert a serial form to a
> parallel form:
>
> http://tinyurl.com/ygvenaz


To do a serial CRC calculation requires a state machine to control
it. A parallel CRC has to perform multiple xors for each bit using
extra logic compared to the bit serial version, the difference
depending on the size of the CRC. The question is which uses more
logic, a byte parallel CRC generator or the control logic for the
state machine. Depending on the CRC chosen, I bet it is close to a
wash, but the only way to know for sure is to build both and see.
Reply With Quote
  #5 (permalink)  
Old 02-04-2010, 05:33 AM
Hal Murray
Guest
 
Posts: n/a
Default Re: What is the most area efficient CRC method

In article <1e71b867-02c0-4702-973b-355411c39446@t21g2000vbo.googlegroups.com>,
rickman <gnuarm@gmail.com> writes:

>To do a serial CRC calculation requires a state machine to control
>it. A parallel CRC has to perform multiple xors for each bit using
>extra logic compared to the bit serial version, the difference
>depending on the size of the CRC. The question is which uses more
>logic, a byte parallel CRC generator or the control logic for the
>state machine. Depending on the CRC chosen, I bet it is close to a
>wash, but the only way to know for sure is to build both and see.


The bit serial CRC has a simple structure. It can easily run
at a high clock rate.

The parallel CRC turns into an ugly cloud of XORs. The details
depend upon the polynomial and how many bits you are processing
in parallel. Expect it to turn into a good test case for the
placer and router.

If the OP doesn't have enough clocks to process things in
bit serial, it might work out better to do 2 bits in parallel
on each of 4 clocks. I think that needs 4 inputs worst case
so it fits in one layer of LUT. (I'm rusty on this, but years
ago I spent a lot of time in this area. I think I've made all
possible screwups while writing software to check things.
There are a lot of wrong possibilities when you consider big
endian vs little endian, shifting right or left or ...)

--
These are my opinions, not necessarily my employer's. I hate spam.

Reply With Quote
  #6 (permalink)  
Old 02-10-2010, 05:17 AM
OutputLogic
Guest
 
Posts: n/a
Default Re: What is the most area efficient CRC method

There is an article in Jan '10 issue of CircuitCellar magazine ( page
40, http://www.scribd.com/doc/24890014/C...anuary-2010-TV
) that discusses different parallel CRC implementation methods.


Thanks,
Evgeni
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
What is the most computation efficient hardware implementation method for DCT jolly_juggernaut DSP 1 11-14-2007 08:01 PM
What is the difference betwee 'Method' and 'Apparatus' in a patent claim area wtxwtx@gmail.com VHDL 10 01-01-2006 09:11 PM
What is the difference betwee 'Method' and 'Apparatus' in a patent claim area wtxwtx@gmail.com FPGA 10 01-01-2006 09:11 PM
What is the difference betwee 'Method' and 'Apparatus' in a patent claim area wtxwtx@gmail.com Verilog 10 01-01-2006 09:11 PM
How to create area-efficient comparator rootz Verilog 5 09-15-2005 04:31 PM


All times are GMT +1. The time now is 06:49 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved