Hi, Ich habe ein CRC32 Projekt mit dem CRC Wizard v1.3 im Core Generator generieren lassen. Bei der Simulation erkennt man jedoch, die CRC32-Werte mit dem Core Generator sind verschieden im Vergleich mit den Werten in Matlab. Beispiel: Original data = 0x4000000020 Initial state = 0 CRC32 mit Core Generator = 0x7E87629C CRC32 mit Matlab = 0x9EE9B5BE Ich bin mir sicher, die Polynome in den beiden sind identisch. Vermutlich sind beide Werte verwandt. Hat jemand solche Erfahrungen? Gruss Owen
Gast
#3060734
Wie ist der jeweilige Startwert? Duke
Gast
#3060747
Endieness der Eingangsdaten?
Gast
#3062581
Hab mal was ähnliches für Ethernet gemacht. Als es nicht auf Anhieb funktioniert hat, hab ich den Algorithmus in C# nachprogrammiert und mir alle Einzelschritte ausgeben lassen. Damit bin ich dem Problem (Bytes vertaucht und invertiert) auf die Schliche gekommen.
Alle Register werden am Anfang auf 0 gesetzt. In Matlab wird die umgekehrte Reihenfolge noch getestet, also 0x2000000040. Das Ergebnis ist 0x37E371D8. Das scheint nicht mit dem Endieness zu tun. Gruss Owen
Gast
#3062746
Die umgehkerte Reihenfolge Reihenfolge währe doch 0x200000004 und nicht 0x2000000040?? lg
Gast
#3062854
Student schrieb: > Die umgehkerte Reihenfolge Reihenfolge währe doch 0x200000004 und nicht > > 0x2000000040?? Nein. Endieness wird byteweise gedreht.
Gast
#3063731
Owen Senmeis schrieb: > Alle Register werden am Anfang auf 0 gesetzt. Setze mal alle Bits testweise auf '1'. Duke
Hier die Ergebnisse wenn alle Bits auf 1 gesetzt werden: 0x143EDA26 in Matlab 0x9C8FBFA5 im FPGA Kann etwas daraus abgelesen werden? Gruss Owen
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.