|
ALTERA CRC MegaCore, Кто нибудь использовал? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 21)
|
Oct 3 2011, 05:14
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Вот генератор Verilog/VHDL кода для расчёта CRC: http://www.easics.be/webtools/crctoolЯ сначала тоже пытался использовать Альтеровский CRC, но оказалось проще воспользоваться этим генератором. Только не забудьте проинвертировать все биты и сделать битреверс внутри каждого байта (номер RFC, где об этом написано, к сожалению не помню). Во вложении пример для 8 бит входных данных. Для 64 бит делается аналогичным образом.
Прикрепленные файлы
CRC32_D8.v ( 3.34 килобайт )
Кол-во скачиваний: 174
|
|
|
|
|
Oct 3 2011, 09:45
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(BSACPLD @ Oct 3 2011, 09:14)  Вот генератор Verilog/VHDL кода для расчёта CRC: Я им раньше и пользовался, когда данные шли по байтно или по словно. А вот когда на вход поступает 8-мь байт, то для того чтобы обработать последнее, неполное слово пакета приходитсясильно извращаться, чтобы по частоте всё поместилось. А у Вас с Альтеровской коркой тоже не получилась, или просто не удобно пользоваться было?
|
|
|
|
|
Oct 3 2011, 10:58
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(DuHast @ Oct 3 2011, 13:45)  Я им раньше и пользовался, когда данные шли по байтно или по словно. А вот когда на вход поступает 8-мь байт, то для того чтобы обработать последнее, неполное слово пакета приходитсясильно извращаться, чтобы по частоте всё поместилось.
А у Вас с Альтеровской коркой тоже не получилась, или просто не удобно пользоваться было? Не получилось нормально настроить.
|
|
|
|
|
Oct 4 2011, 09:49
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 14-08-11
Из: Андорра
Пользователь №: 66 720

|
Цитата(DuHast @ Oct 3 2011, 07:59)  Использую эту корку в режиме CRC check, на вход подаю Ethernet пакеты, на выходе сигнал bad CRC всегда '1'. Вот это читали? http://www.google.com.ua/url?sa=t&sour...6RcemKQPLEutGxQУ себя не смог найти старые исходники, но вроде получалось все нормально настрить.
|
|
|
|
|
Oct 4 2011, 10:25
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 14-08-11
Из: Андорра
Пользователь №: 66 720

|
Цитата(DuHast @ Oct 4 2011, 13:00)  Читал. Я более новый модуль использую, он от этого отличается. Так может стоит тогда его указать?
|
|
|
|
|
Oct 4 2011, 11:06
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(imperman @ Oct 4 2011, 14:25)  Так может стоит тогда его указать?  CRC compiler v.11 Цитата(sazh @ Oct 4 2011, 14:25)  Достаточно, чтобы самому и генератор и чеккер слепить Я уже писал выше по этому поводу - проблема в ширине шины, возни много. Мне этот модуль, вобщемно-то, уже особо не нужен, у меня в схеме была возможность перейти от 64-х разрядной шине к 16-ти, а там уже использую свой модуль. Но, чисто из спортивного интереса, хочется разобраться именно с Алтеровским модулем/
|
|
|
|
|
Oct 7 2011, 07:17
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 9-10-05
Из: С.-Петербург
Пользователь №: 9 418

|
Цитата(DuHast @ Oct 6 2011, 15:29)  Может быть начальное заполнение CRC для Ethernet должно быть не FFFF? Если имеется в виду общая CRC по пакету, то таки да - не FFFF, а FFFFFFFF. Если серьезно, могу посоветовать погонять тестовую последовательность через корку и через вот это. В калькуляторе по ссылке поиграйте параметрами "Final XOR value" (все единицы или все нули), reverse data bytes, reverse CRC result before Final XOR. Когда добьетесь правильного результата, поймете, что надо допилить в альтеровской корке, вернее во входных/выходных данных. P.S.: данные в шестнадцатиричном виде вводятся в калькуляторе через символ %, например 0x01020304 следует вводить как %01%02%03%04
|
|
|
|
|
Oct 7 2011, 13:01
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(AndrewS6 @ Oct 7 2011, 11:17)  Если имеется в виду общая CRC по пакету, то таки да - не FFFF, а FFFFFFFF. Если серьезно, могу посоветовать погонять тестовую последовательность через корку и через вот это. В калькуляторе по ссылке поиграйте параметрами "Final XOR value" (все единицы или все нули), reverse data bytes, reverse CRC result before Final XOR. Когда добьетесь правильного результата, поймете, что надо допилить в альтеровской корке, вернее во входных/выходных данных. P.S.: данные в шестнадцатиричном виде вводятся в калькуляторе через символ %, например 0x01020304 следует вводить как %01%02%03%04 Спасибо за ссылку, както видел этот сайт, а потом не смог найти. Думаю проблема в том, что при подсчёте CRC в Ehternete накладывается Final XOR value, а в альтеровском модуле такого параметра нет, поэтому его надо немного доработать перед использованием.
|
|
|
|
|
Apr 27 2015, 11:37
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(DuHast @ Oct 4 2011, 14:06)  CRC compiler v.11
Я уже писал выше по этому поводу - проблема в ширине шины, возни много. Мне этот модуль, вобщемно-то, уже особо не нужен, у меня в схеме была возможность перейти от 64-х разрядной шине к 16-ти, а там уже использую свой модуль. Но, чисто из спортивного интереса, хочется разобраться именно с Алтеровским модулем/ Я помню, что очень давно имел дело с Альтеровским CRC. Вот только тогда я его модифицировал в 4-х битовый вариант и загонял в него данные тетрадами прямо из трансивера... При этом проблема с "шириной" снимается...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Apr 27 2015, 12:10
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(doom13 @ Apr 27 2015, 14:00)  Может кто знает куда девался CRC Compiler в Quartus II v14? Я знаю  Altera прекратила поддержку этого IP-ядра (как и ряда еще некоторых IP-ядер - 8b10b, например). См. Product Discontinuance Notification PDN1304Вместо IP-CRC можно воспользоваться примерами из раздела 12 альтеровского Synthesis cookbookВот прямая ссылка на архив с исходниками примеров: www.altera.com/literature/manual/cookbook.zip.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 27 2015, 16:41
|

Местный
  
Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797

|
Цитата(doom13 @ Apr 27 2015, 14:00)  Приветствую. Может кто знает куда девался CRC Compiler в Quartus II v14? Исчез ещё раньше, в 12 или 13 версии. На сайте Альеры написано, что поддержка этого продукта им экономически невыгодна. Приходится держать на компе 11-ю версию Квартуса.
|
|
|
|
|
Apr 27 2015, 17:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(DuHast @ Apr 27 2015, 19:41)  Исчез ещё раньше, в 12 или 13 версии. На сайте Альеры написано, что поддержка этого продукта им экономически невыгодна. Приходится держать на компе 11-ю версию Квартуса. В Q13 эта корка ещё есть. Цитата(krux @ Apr 27 2015, 20:23)  я-таки прошу прощения, а зачем? Хочу переделать пример Альтеры, а там используются crc_generator и crc_checker, вот и обнаружил, что в Q14 этого ядра уже нет.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|