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
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
Die umgehkerte Reihenfolge Reihenfolge währe doch 0x200000004 und nicht 0x2000000040?? lg
Student schrieb: > Die umgehkerte Reihenfolge Reihenfolge währe doch 0x200000004 und nicht > > 0x2000000040?? Nein. Endieness wird byteweise gedreht.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.