Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм ECC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Michel
Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.
CodeWarrior1241
Цитата(Michel @ Mar 30 2007, 04:49) *
Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.


Если вы говорите о ECC как Error Correction Code, так в Xilinx Xapp645 дается single and double bit correction algorithms и реализованый проект в ISE 8.2 вложеный в .zip архив.
Koluntaev
Цитата(Michel @ Mar 30 2007, 12:49) *
Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.

Выбор кода зависит от того, какое максимальное количество ошибок Вам нужно исправить в блоке. Если блок битовый и требуется исправить одну ошибку на блок, то подойдут и коды Хэмминга, как в Xapp645. Посмотрите еще Xapp715, тоже довольно толково.
Если у Вас данные организованы байтами и требуется исправлять несколько ошибочных байт, то удобнее всего использовать коды Рида-Соломона с символом 2^8. У Xilinx в ISE есть корки кодера и декодера. Описание - на сайте Xilinx. Однако Рид-Соломон потребует существенно больше ресурсов, чем Хэмминг.
Dj_Atmex
Посмотрите на то, что прикреплено как референс-код. Оно реализует исправление одиночных ошибок в блоках 8, 512 или 2048 бит - в зависимости от дефайнов. Может пригодится. Реализовано с помощью циклического кода Хемминга.

ПС: где-то тут уже это прицеплял, но не могу найти где. sad.gif
vmp
На Самсунге есть описание алгоритма, рекомендуемого для NAND-Flash. Смотрите на этой странице:
http://www.samsung.com/Products/Semiconduc...e.htm#nandflash
Особенно:

ECC(Error Checking & Correction) Algorithm for 256Byte (, March 2005)
ECC Sample Source Code for 256 Byte ( 13KB)

Ещё рекомендую поискать проекты NAND Flash controller, там наверняка будут готовые реализации "в железе".
Michel
Большое спасибо за ссылки.
Как раз требуется коррекция одиночных ошибок с помощью кода Хемминга.
Буду разбираться.
Doka
Цитата(Dj_Atmex @ Apr 1 2007, 15:55) *
Посмотрите на то, что прикреплено как референс-код. Оно реализует исправление одиночных ошибок в блоках 8, 512 или 2048 бит - в зависимости от дефайнов. Может пригодится. Реализовано с помощью циклического кода Хемминга.

почему он циклический?.. там же, ЕМНИП, просто перемножение матриц.

PS: жаль ссылки на самсунговые WP умерли(
yes
Цитата(Doka @ Sep 1 2015, 10:30) *
почему он циклический?.. там же, ЕМНИП, просто перемножение матриц.

матрицы подчиняются особым правилам (собс-но могут быть построены сдвигами)

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.