Перейти к содержанию
    

Алгоритм ECC

Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.

 

Если вы говорите о ECC как Error Correction Code, так в Xilinx Xapp645 дается single and double bit correction algorithms и реализованый проект в ISE 8.2 вложеный в .zip архив.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите - где можно посмотреть реализацию в ПЛИС алгоритма ЕСС и существует ли корка, в которой этот алгоритм реализован. Планируется применение алгоритма для блоков размером 256 байт.

Выбор кода зависит от того, какое максимальное количество ошибок Вам нужно исправить в блоке. Если блок битовый и требуется исправить одну ошибку на блок, то подойдут и коды Хэмминга, как в Xapp645. Посмотрите еще Xapp715, тоже довольно толково.

Если у Вас данные организованы байтами и требуется исправлять несколько ошибочных байт, то удобнее всего использовать коды Рида-Соломона с символом 2^8. У Xilinx в ISE есть корки кодера и декодера. Описание - на сайте Xilinx. Однако Рид-Соломон потребует существенно больше ресурсов, чем Хэмминг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите на то, что прикреплено как референс-код. Оно реализует исправление одиночных ошибок в блоках 8, 512 или 2048 бит - в зависимости от дефайнов. Может пригодится. Реализовано с помощью циклического кода Хемминга.

 

ПС: где-то тут уже это прицеплял, но не могу найти где. :(

Serial_CRC_08.07.06.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Самсунге есть описание алгоритма, рекомендуемого для 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, там наверняка будут готовые реализации "в железе".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо за ссылки.

Как раз требуется коррекция одиночных ошибок с помощью кода Хемминга.

Буду разбираться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите на то, что прикреплено как референс-код. Оно реализует исправление одиночных ошибок в блоках 8, 512 или 2048 бит - в зависимости от дефайнов. Может пригодится. Реализовано с помощью циклического кода Хемминга.

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

 

PS: жаль ссылки на самсунговые WP умерли(

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...