КРС изчисление проблем

K

klop

Guest
Моята задача е да проектират КРС хардуер изчисление съгласно дадения софтуер.
В предишната версия на софтуера съдържа следната таблица за изчисление на КРС:

грозен Int crc_tabccitt [256] = (0x0000, 0x1021, 0x2042, 0x3063, ...

Открих, че такава таблица съответства на полинома: X ^ 16 X X 12 ^ ^ 5 1

Аз, генерирани КРС изчисление В / Ш в з п **: / / * W w.easics.com / WebTools / crctool и тя работи перфектно.

Сега на таблицата е
статичен Int fcstab [* 256] = (0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, ...

Открих, че такава таблица съответства на полинома: X ^ 16 X X 11 ^ ^ 4 1
(Т. нар. обратна МКТТ)

Аз, генерирани КРС изчисление В / Ш в http://www.easics.com/webtools/crctool и
тя не работи правилно (H / W и S / W гмуркане на различни резултати).Опитах се да се допълват и замяната байта, но такава операции не, не помогна.

Може ли някой моля да ми помогне?

klop.

 
това ще помогне ----> http://www.easics.be/webtools/crctool .. Не знам ..

 
можете да се обърнете към PAPAR наречена "Паралелни КРС реализация"Added след 40 секунди:можете да се обърнете за PAPAR наречена "Паралелни КРС реализация"

 
Здрасти,
Обикновено сериен изпълнението на КРС в хардуер ще бъде нищо друго освен линеен регистър обратна връзка смяна., но това ще взема една и съща.часовник на цикли, както на вашите данни ширина и ширина смяна регистър ще бъде степента на неизлечим полином, който се използва.

 
Работил съм за методите на КРС напоследък.
Бих ви препоръчваме следното:

започнете с данни, която съдържа само един '1 ', всички останали 0.
Това трябва да ви дам един намек за това какво се е объркало.
Трябва да се помисли, че и двата метода, които можете описани, SW и ТВ работа
със същия принцип (схема Horner's).

Ако използвате ТВ изпълнението на 32-бита широк, вие трябва да изпълните SW-версия
четири стъпки, тъй като той обработва само 8 бита наведнъж.
С едно '1 'от вас метод трябва лесно да види какво се е объркало.
Ако вие можете да отпечатате на всеки междинен байт и в двете версии.
Типичен проблем е "смяна" с една стъпка.

Андреас

 
Здравейте всички
Аз съм за търсене на стабилна и калкулатор crc32 да провери работата ми

Може ли някой да ми помогне?

Благодарности
Мохамед

 
мохамед Здравей
Ур изчисление CRC32 това е сериен е едно малко късче
че ф usng на LFSRAdded след 28 секунди:vamsi

 
Здрасти
Моят код изпълнява паралелно crc32, когато данните ширина е хапане (4 бита), който се прилага за Ethernet

Сега, аз направи testbench, който разглежда в стойността на генерираните КРС и броя на броя на часовниците трябва да го

Той разглежда стойността на КРС чрез сравняването му с стойност Аз, получени от калкулатора от http://www.zorc.breitbandkatze.de/crc.html

например:
използвате този калкулатор за съобщение на данните = U (което е 8'h55) ние ще се свържем КРС = C9034AF6

да се провери работата си направих този testbench
/ / Eb1 1
Винаги @ (posedge CLK)
започвам
Данни = 4'b0101;
ако (КРС [31:0] == 32'hc9034af6) започва
$ дисплей ( "КРС е даден след", Clk_Counter, "часовници");
# 5 $ покритие;
приключвам
приключвам

при пускане на тренажор и да направи пауза в точка $ езика линия Намерих го не спира и ще продължат да текат вечно

Мислите ли, че има грешка с моята работа?
Смятате ли, че резултатът от този калкулатор не е прав?

Оценявам Ур помощ

Благодарности

 
Също така, искам да добавя нещо
Изпитваната ядро сравнява КРС стойност с магията брой на 32'hc704dd7b от тази линия
присвоите CrcError = КРС [31:0]! = 32'hc704dd7b;

и когато аз се опитах да го симулирам намерих сигнал CrcError винаги е висока

Аз не знам къде е грешката?

може да ви помогне моля?

 

Welcome to EDABoard.com

Sponsor

Back
Top