CRC-32 in spatan-3

A

Amontec Team

Guest
hi all,

I have to design a VHDL CRC-32 rtl macro cell (100BASE-T framing) for my
tiny MAC design.

I have to place my macro in a small spartan-3 where each Flip-Flips are
precious.

Is that possible to place a part of my CRC-32 in a LUT based shift
register (feature of virtex to spartan-3).

Since CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 +
x5 + x4 + x2 + x + 1, is that possible to do the job with LUTs based
shift register.

I know a lut only has 1 output, but is that possible to do partial
shifts, like x31<-x30<-x29<-x28<-x27 in the same LUT ?
Thanks for all

Laurent Gauch
www.amontec.com
____________________________________
Universal JTAG emulator solutions
Rapid Prototyping solutions
 
Amontec Team <laurent.gauch@www.DELALLCAPSamontec.com> wrote in message news:<3fe1ccda$1@news.vsnet.ch>...
hi all,

I have to design a VHDL CRC-32 rtl macro cell (100BASE-T framing) for my
tiny MAC design.

I have to place my macro in a small spartan-3 where each Flip-Flips are
precious.

Is that possible to place a part of my CRC-32 in a LUT based shift
register (feature of virtex to spartan-3).

Since CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 +
x5 + x4 + x2 + x + 1, is that possible to do the job with LUTs based
shift register.

I know a lut only has 1 output, but is that possible to do partial
shifts, like x31<-x30<-x29<-x28<-x27 in the same LUT ?
Thanks for all
I don't think this is really possible. I mean, it's possible to use
SRLs instead of individual FFs, but you would need multiple clk cycles
to read out the bits that make up the CRC result. And you would need
FFs to store those bits. This means that you could not be
continuously generating the CRC... you need to stop the circuit to
read the result.

The smallest Spartan-III device (3s50) has 1536 LUTs and 1536 FFs, you
really can't spare 32 FFs and 2 LUTs?

Mike
 
Amontec Team wrote:
hi all,

I have to design a VHDL CRC-32 rtl macro cell (100BASE-T framing) for my
tiny MAC design.

I have to place my macro in a small spartan-3 where each Flip-Flips are
precious.

Is that possible to place a part of my CRC-32 in a LUT based shift
register (feature of virtex to spartan-3).

Since CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 +
x5 + x4 + x2 + x + 1, is that possible to do the job with LUTs based
shift register.

I know a lut only has 1 output, but is that possible to do partial
shifts, like x31<-x30<-x29<-x28<-x27 in the same LUT ?
Thanks for all
you can make a 1 to 16 bit shift register out of a LUT, so it should be
possible,

just for fun a I tried to rewrite a crc32 so that instead of the
straight forward 32 bit shift register, it was a four shift rgsiters
15,5,3 and 5 bits long in series, ISE5.1 (and virtex2) implements three
of them as shiftregisters in a LUTs
don't know how much it would do in spartan3

-Lasse
 

Welcome to EDABoard.com

Sponsor

Back
Top