Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Ethernet CRC computation error

Status
Not open for further replies.

tavidu

Member level 1
Joined
Oct 21, 2004
Messages
39
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
330
I got crc32_8d verilog code from ://www.easics.com/webtools/crctool.
but the crc value is not correct compared to 802.3 standard ethernet packet.
the packet is :
PREAMBLE/SFD:
55 55 55 55 55 55 55 D5
MODIFIED RPAT SEQUENCE (LOOP 29 TIMES)
BE D7 23 47 6B 8F B3 14 5E FB 35 59
CRC
2F E0 AA EF

but the crc result what I compute is :AF D9 12 66

anyone can tell me the reason?
 

ethernet crc calculation

Check with eth_crc.v form opencores ethernet core!
 

ethernet crc

You can find out the CRC32 algorithm from web site.
Then you can implement it by yourself.
If you have question again, I can help you to solve you question.
Plesae put your code to this site, and I will help you.
 

ethernet crc

I think you have to calculate the CRC for the whole frame(including padding) except the preample portion
 

crc32 ethernet

u can try by taking intial value to be all one's and swap the input bits before sending into this verilog CRC module. and finally complement the crc result and swap it


hope u get correct result
 

crc calculator for ethernet

i think your crc algorithm is being some errors in it
 

ethernet crc computation

Hi everybody
I'm searching for a dependable Crc32 calculator to verify my work

Could anybody help me?

Thanks
Mohammad
 

crc32 calculation ethernet

have you written a parallel or serial implementation of CRC ?
 

ethernet crc algorithm

Hi
My code implements the parallel crc32 where the data width is a nibble (4 bits) which is applied for ethernet

Now, I made a testbench that examines the value of the generated CRC and counts the number of clocks required to get it

It examines the value of the CRC by comparing it with a value I obtained by the calculator from http://www.zorc.breitbandkatze.de/crc.html

for example:
using this calculator for a Data message=U (which is 8'h55) we will get CRC=C9034AF6

to check my work I made this testbench
// eb1 1
always @(posedge Clk)
begin
Data = 4'b0101;
if (Crc[31:0] == 32'hc9034af6) begin
$display("the CRC is given after", Clk_Counter," clocks");
#5 $finish;
end
end

when running the simulator and make a break point at the $display line I found it doesn't stop and continue running forever

Do you think there is a mistake with my work?
Do you think the result of this calculator is not right?

I appreciate ur help

Thanks
 

ethernet crc magic number

Also, I want to add something
The tested core compares the Crc value with the magic number of 32'hc704dd7b by this line
assign CrcError = Crc[31:0] != 32'hc704dd7b;

and when I tried to simulate it I found the CrcError signal is always high

I don't know where is the mistake?

could you help please?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top