реклама на сайте
подробности

 
 
> FEC на ПЛИС, пиарю красоту SV
des00
сообщение Jun 19 2011, 09:57
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



сделал отдельную тему для проекта с началом здесь

сообщения из кросс тем переместил.


продолжаем пиарить красоту SV. итак

новый релиз проекта БЧХ :
1. переписана работа с математикой в полях галуа. Теперь ква собирает декодер много быстрее, почти не задумываясь и не требует кучу памяти %)
2. переписан статически конфигурируемый БЧХ кодер/декодер, удалены лишние модули, ясность выше код чище
3. добавлен статический конфигурируемый RS кодер/декодер, стиль унифицирован с БЧХ кодером. Внимание : в сорцах есть реализация BM алгоритма, требующая на декодирование всего check тактов (!!! именно тактов а не шагов).
4. модифицированы random constraints тестбенчи, ясность выше, код чище.
5. Все как и прежде, не требует каких либо генераторов, скриптов и т.д. Вычисляется и синтезируется по месту. Расчет генераторного полинома БЧХ по прежнему не сделан %(

Динамически конфигурируемые кодеры/декодеры выкладывать не буду, это уж как нить сами wink.gif

UPD. Естественно осталась возможность использовать несколько инстансов кодеров с разными параметрами в одном проекте %)
Прикрепленные файлы
Прикрепленный файл  bch_rs_release_19062011.zip ( 64.37 килобайт ) Кол-во скачиваний: 376
 


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Mar 16 2012, 06:34
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



1. Причесал описание, для БЧХ добавил полиномов, кое что поправил в тестбенче
2. Добавил статически конфигурируемый декодер РС со стираниями, по алгоритму ribm, правда реализации только самая быстрая и самая медленная.
3. Различные алгоритмы декодирования РС со стираниями в идеалках (BM, IBM, rIBM, RIBM)

ЗЫ. точнее не самая быстрая, можно посчитать также за check тактов, если полином локаторов стираний, рассчитать заранее используя блок rs_eras_syndrome_count_poly для вычисления синдрома и полинома локаторов стираний sm.gif
Прикрепленные файлы
Прикрепленный файл  bch_rs_release_16032012.zip ( 109.67 килобайт ) Кол-во скачиваний: 166
 


--------------------
Go to the top of the page
 
+Quote Post
Gold777
сообщение Mar 16 2012, 17:59
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022



Цитата(des00 @ Mar 16 2012, 10:34) *
1. Причесал описание, для БЧХ добавил полиномов, кое что поправил в тестбенче
2. Добавил статически конфигурируемый декодер РС со стираниями, по алгоритму ribm, правда реализации только самая быстрая и самая медленная.
3. Различные алгоритмы декодирования РС со стираниями в идеалках (BM, IMB, rIBM, RIBM)

ЗЫ. точнее не самая быстрая, можно посчитать также за check тактов, если полином локаторов стираний, рассчитать заранее используя блок rs_eras_syndrome_count_poly для вычисления синдрома и полинома локаторов стираний sm.gif

Для кода БЧХ GF(2^11) исправляющего 8 ошибок, какую тактовую частоту может обеспечить ваш декодер?
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 17 2012, 02:30
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gold777 @ Mar 16 2012, 11:59) *
Для кода БЧХ GF(2^11) исправляющего 8 ошибок, какую тактовую частоту может обеспечить ваш декодер?

полином дайте проверю. Из того что делал, декодер с t = 23 в поле GF(2^8), свободно, не особо напрягаясь, работает на 200МГц на третьем сыклоне. Для GF(2^11) проверить надо, но думаю что 150 на том же чипе даст точно.


--------------------
Go to the top of the page
 
+Quote Post
Gold777
сообщение Mar 17 2012, 05:33
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022



Цитата(des00 @ Mar 17 2012, 06:30) *
полином дайте проверю. Из того что делал, декодер с t = 23 в поле GF(2^8), свободно, не особо напрягаясь, работает на 200МГц на третьем сыклоне. Для GF(2^11) проверить надо, но думаю что 150 на том же чипе даст точно.

у меня дает 135 на третьем циклоне, а надо 155. Какими способами можно увеличить частоту?
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 17 2012, 15:10
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gold777 @ Mar 17 2012, 00:33) *
у меня дает 135 на третьем циклоне, а надо 155.

полином дайте, проверю сколько получиться.

Вот для примера кодер {8191, 8152, 3/7} работа в поле GF(2^13), чип EP3C25...C8, используется TQ, все по дефолту, порты виртуальные

результаты LE/REG/Fmax

bch_enc 45/44/402.09MHz
bch_dec в режиме ribm_t_by_t 823/447/180.6MHz

и это при математике в поле GF(2^13), 5-6 слоев логики. При этом TQ показывает пару возможных оптимизаций для разгона, но если учесть что на декодирование уходит 22 такта, а пакет длинной 8191 такт, то можно сделать BM по мультициклу и задрать тактовую/битовую потока под 250-300 МГц %)

Цитата
Какими способами можно увеличить частоту?

Единственный способ : оптимизация логических функций и грамотная конвейеризация под целевую ПЛИС. Научиться этому в двух словах не возможно, все приходит с опытом.


--------------------
Go to the top of the page
 
+Quote Post
Gold777
сообщение Mar 17 2012, 18:07
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022



Цитата(des00 @ Mar 17 2012, 19:10) *
полином дайте, проверю сколько получиться.

Вот для примера кодер {8191, 8152, 3/7} работа в поле GF(2^13), чип EP3C25...C8, используется TQ, все по дефолту, порты виртуальные

полином 2053(x^11+x^2+1), код (2040, 1952) поле GF(2^11) 8 ошибок чип EP3C25...C8
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 18 2012, 14:20
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gold777 @ Mar 17 2012, 13:07) *
полином 2053(x^11+x^2+1), код (2040, 1952) поле GF(2^11) 8 ошибок чип EP3C25...C8

а где генераторный полином? примитивный полином мне не нужен %)


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 18 2012, 15:28
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des00 @ Mar 18 2012, 09:20) *
а где генераторный полином? примитивный полином мне не нужен %)

без генераторного полинома, bch_enc не собрать, а результаты по декодеру LE/REG/Fmax

bch_dec в режиме ribm_t_by_t 1127/790/213,04MHz

4 слоя логики. Если учесть что для этого результата решение BM занимает 129 тактов, а пакет весит 2040, то можно посадить BM для работы на половинном клоке, поставить мультицикл и выжать 250-300 МГц. Но и в базе 200 мегабит в секунду обрабатывает не особо напрягаясь %)

если не сложно сообщите генераторный полином для этого кода для коллекции, можно в личку. ну не умею я пока их самостоятельно рассчитывать %( А ковыряние в гугле мне не помогло %(

Всем кто решиться использовать этот декодер при низких Eb/N0, надо помнить что в этом декодере, перебор ченя и коррекция ошибок происходят одновременно. Поэтому в случае отказа от декодирования, который определиться в конце ченя, декодер размножает ошибки. Что бы это побороть, нужно немного модифицировать ченя, выплюнуть сырые данные в фифошку/память вместе с коррекцией ошибок ну и потом считать с коррекцией или без %) но это не сложно и делается минут за 10-20 %)


--------------------
Go to the top of the page
 
+Quote Post
Gold777
сообщение Mar 18 2012, 15:59
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022



Цитата(des00 @ Mar 18 2012, 19:28) *
без генераторного полинома, bch_enc не собрать, а результаты по декодеру LE/REG/Fmax

bch_dec в режиме ribm_t_by_t 1127/790/213,04MHz

4 слоя логики. Если учесть что для этого результата решение BM занимает 129 тактов, а пакет весит 2040, то можно посадить BM для работы на половинном клоке, поставить мультицикл и выжать 250-300 МГц. Но и в базе 200 мегабит в секунду обрабатывает не особо напрягаясь %)

если не сложно сообщите генераторный полином для этого кода для коллекции, можно в личку. ну не умею я пока их самостоятельно рассчитывать %( А ковыряние в гугле мне не помогло %(

Всем кто решиться использовать этот декодер при низких Eb/N0, надо помнить что в этом декодере, перебор ченя и коррекция ошибок происходят одновременно. Поэтому в случае отказа от декодирования, который определиться в конце ченя, декодер размножает ошибки. Что бы это побороть, нужно немного модифицировать ченя, выплюнуть сырые данные в фифошку/память вместе с коррекцией ошибок ну и потом считать с коррекцией или без %) но это не сложно и делается минут за 10-20 %)

Да, интересный у вас результаты получились. Меня интересует именно декодер. Вроде для него генераторный полином я не использовал, но посмотрю. Точно сейчас посмотреть не могу, но приблизительно sibm/5000 LE/700-800 Reg/135 Fmin Mhz (требуется 155), но результат за 16 тактов. На решение не более 32 тактов, иначе не успею. Интересно какие при таком условии будет характеристики вашего декодера. Можете объяснить как посадить BM для работы на половинном клоке и что значит поставить мультицикл и выжать 250-300 МГц, вообще как-то не очень понятно что вы имеете ввиду. Если можно, объясните поподробнее.

Сообщение отредактировал Gold777 - Mar 18 2012, 17:49
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2012, 03:52
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gold777 @ Mar 18 2012, 10:59) *
Точно сейчас посмотреть не могу, но приблизительно sibm/5000 LE/700-800 Reg/135 Fmin Mhz (требуется 155), но результат за 16 тактов. На решение не более 32 тактов, иначе не успею. Интересно какие при таком условии будет характеристики вашего декодера.


bch_dec(ribm_1t) BM выполняется за t+1 = 9 тактов, 3209/732/170.85MHz, судя по TQ упирается в разводку, если сделать register dublication + кое что подпилить в BM думаю что выйдет на 200МГц.
bch_dec(ribm_2t) BM выполняется за 2*t+1 = 17 тактов, 2472/776/184.95MHz, тут сложнее, надо бороть "лишний" мультиплексор в BM

Цитата
Можете объяснить как посадить BM для работы на половинном клоке и что значит поставить мультицикл и выжать 250-300 МГц, вообще как-то не очень понятно что вы имеете ввиду. Если можно, объясните поподробнее.

Хмм, вам лучше почитать мои публикации о TQ, временных ограничениях, одноцикловых цепях и мультицикловых. Если на пальцах, то подаете на clockena меандр и говорите временному анализатору что задержки считать не для периода T, а для периода 2*T. Естественно что производительность именно этого блока упадет, но если ее достаточно для выполнения задачи, то.... %)


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- des00   FEC на ПЛИС   Jun 19 2011, 09:57
- - des00   Таки нашел время добить reformulated IBM алгоритм ...   Jul 15 2011, 06:51
|- - Gold777   Цитата(des00 @ Mar 18 2012, 19:28) Всем к...   Mar 22 2012, 17:01
|- - des00   Цитата(Gold777 @ Mar 22 2012, 11:01) Поче...   Mar 23 2012, 05:57
|- - alexPec   Цитата(des00 @ Mar 23 2012, 09:57) Также ...   Mar 25 2012, 19:46
|- - des00   Цитата(alexPec @ Mar 25 2012, 13:46) А {n...   Mar 26 2012, 09:54
|- - des00   Цитата(des00 @ Mar 26 2012, 03:54) ну соб...   Mar 26 2012, 13:29
- - Denisnovel   Цитатадля БЧХ добавил полиномов Не нашел. Функция ...   Mar 16 2012, 09:07
|- - des00   Цитата(Denisnovel @ Mar 16 2012, 04:07) Н...   Mar 16 2012, 09:24
- - Denisnovel   Я думал что добавили функцию расчета полиномов. Пр...   Mar 16 2012, 09:29
|- - des00   Цитата(Denisnovel @ Mar 16 2012, 03:29) Я...   Mar 16 2012, 09:39
- - des00   Кстати, вы же тестируетесь с каким то кодером. Ген...   Mar 19 2012, 05:30
|- - Gold777   Цитата(des00 @ Mar 19 2012, 09:30) Кстати...   Mar 19 2012, 09:33
|- - des00   Цитата(Gold777 @ Mar 19 2012, 04:33) Вы и...   Mar 19 2012, 13:27
|- - Gold777   Цитата(des00 @ Mar 19 2012, 17:27) да. на...   Mar 19 2012, 14:30
|- - des00   Цитата(Gold777 @ Mar 19 2012, 08:30) Для ...   Mar 19 2012, 16:03
|- - SKov   Цитата(des00 @ Mar 19 2012, 20:03) спасиб...   Mar 19 2012, 19:26
|- - des00   Цитата(SKov @ Mar 19 2012, 14:26) А так н...   Mar 20 2012, 03:42
|- - SKov   Цитата(des00 @ Mar 20 2012, 07:42) проще,...   Mar 20 2012, 06:20
|- - des00   Цитата(SKov @ Mar 20 2012, 01:20) R2010a....   Mar 20 2012, 06:23
- - Denisnovel   Для генерации длинных кодов я использовал следующи...   Mar 20 2012, 04:15
|- - des00   Цитата(Denisnovel @ Mar 19 2012, 22:15) Д...   Mar 20 2012, 05:17
- - Denisnovel   Правильно ли я понял, что для плис оптимизация пои...   Mar 25 2012, 13:37
|- - Gold777   Цитата(Denisnovel @ Mar 25 2012, 17:37) П...   Mar 25 2012, 15:13
|- - des00   Цитата(Denisnovel @ Mar 25 2012, 07:37) C...   Mar 25 2012, 16:04
|- - Gold777   Цитата(des00 @ Mar 25 2012, 20:04) я вам ...   Mar 25 2012, 16:15
- - Denisnovel   Зачем нужна behavioral model? Чем это лучше симул...   Mar 26 2012, 15:47
|- - des00   Цитата(Denisnovel @ Mar 26 2012, 09:47) З...   Mar 26 2012, 15:50
- - lomey   Доброго времени суток!прочитал представленные ...   Mar 28 2012, 19:50
- - lomey   Вопрос разрешился!))))   Mar 29 2012, 16:34
- - Denisnovel   Делаю параллельный БЧХ. При этом он получается в н...   Mar 29 2012, 17:48
|- - Gold777   Цитата(Denisnovel @ Mar 29 2012, 21:48) Д...   Mar 29 2012, 20:21
|- - des00   Цитата(Denisnovel @ Mar 29 2012, 11:48) Д...   Mar 30 2012, 08:15
- - Denisnovel   Приведу пример 2 декодера BCH(2040,1930) по 8 бит ...   Apr 1 2012, 14:26
|- - des00   Цитата(Denisnovel @ Apr 1 2012, 08:26) Пр...   Apr 1 2012, 15:07
|- - Gold777   Цитата(des00 @ Apr 1 2012, 19:07) если им...   Apr 23 2012, 16:33
|- - des00   Цитата(Gold777 @ Apr 23 2012, 11:33) Как ...   Apr 24 2012, 09:43
- - des00   Очередное обновление : 1. Добавил все БЧХ полином...   Apr 3 2012, 07:57
|- - -Al-   Цитата(des00 @ Apr 3 2012, 10:57) Очередн...   Apr 3 2012, 09:11
- - des00   1. Добавил возможность изменять rootspace в кодере...   Apr 4 2012, 15:43
- - Denisnovel   Есть вопрос по парралельному декодеру. Если длина ...   Apr 20 2012, 06:04
|- - des00   Цитата(Denisnovel @ Apr 20 2012, 00:04) Е...   Apr 20 2012, 06:55
- - Denisnovel   Я сделал так Кодosyndrome <= ieop? osyndrome_...   Apr 20 2012, 07:02
|- - des00   Цитата(Denisnovel @ Apr 20 2012, 02:02) Н...   Apr 20 2012, 07:10
- - Denisnovel   Может это поможет на ст 771. Если не секрет, делае...   Apr 24 2012, 05:16
|- - Gold777   Цитата(Denisnovel @ Apr 24 2012, 09:16) М...   Apr 24 2012, 07:44
- - Denisnovel   Нужно сохранять синдром и поочереди подавать их в ...   Apr 24 2012, 10:03
|- - Gold777   Цитата(Denisnovel @ Apr 24 2012, 14:03) Н...   Apr 24 2012, 13:53
|- - des00   Цитата(Gold777 @ Apr 24 2012, 08:53) Собс...   Apr 24 2012, 16:14
|- - Serg76   Цитата(des00 @ Apr 24 2012, 19:14) турбо ...   Apr 24 2012, 16:35
|- - des00   Цитата(Serg76 @ Apr 24 2012, 11:35) есть ...   Apr 24 2012, 16:44
|- - Serg76   Цитата(des00 @ Apr 24 2012, 19:44) как ра...   Apr 24 2012, 16:59
|- - des00   Цитата(Serg76 @ Apr 24 2012, 11:59) по-мо...   Apr 24 2012, 17:03
- - Denisnovel   I.3 я сделал. Какие есть конкретные вопросы. По ре...   Apr 24 2012, 16:31
|- - Gold777   Цитата(Denisnovel @ Apr 24 2012, 20:31) I...   Apr 24 2012, 17:02
- - Denisnovel   To des00 Хочу сделать, чтобы IBM работал на частот...   Jun 25 2012, 11:39
|- - des00   Цитата(Denisnovel @ Jun 25 2012, 05:39) Х...   Jun 25 2012, 16:00
- - Denisnovel   В моём кнстрейте описывается, что все регистры в м...   Jun 26 2012, 04:25
|- - des00   Цитата(Denisnovel @ Jun 25 2012, 22:25) В...   Jun 26 2012, 04:50
- - Denisnovel   А если написать так, то между регистрами модуля БМ...   Jun 26 2012, 09:15
|- - des00   Цитата(Denisnovel @ Jun 26 2012, 04:15) А...   Jun 26 2012, 14:40
- - Denisnovel   По PLL я имею ввиду, что одна ПЛЛ генерирует быстр...   Jun 28 2012, 19:36
|- - Gold777   Цитата(Denisnovel @ Jun 28 2012, 23:36) Е...   Jun 29 2012, 13:23
|- - SKov   Цитата(Denisnovel @ Jun 28 2012, 23:36) Е...   Jun 29 2012, 13:35
|- - des00   Цитата(Denisnovel @ Jun 28 2012, 14:36) У...   Jun 29 2012, 13:55
|- - SKov   Цитата(des00 @ Jun 29 2012, 17:55) Вот ин...   Jun 29 2012, 14:34
|- - des00   Цитата(SKov @ Jun 29 2012, 09:34) То, что...   Jun 30 2012, 05:43
|- - SKov   Цитата(des00 @ Jun 30 2012, 09:43) Спасиб...   Jun 30 2012, 06:07
|- - des00   Цитата(SKov @ Jun 30 2012, 01:07) Вы уже ...   Jun 30 2012, 06:46
- - Gold777   Возник следующий вопрос. К примеру исправляющая сп...   Jun 29 2012, 17:51
|- - SKov   Цитата(Gold777 @ Jun 29 2012, 21:51) Возн...   Jun 29 2012, 18:35
- - Koluchiy   To des00 Денис, не появилось ли нового релиза с р...   Jul 2 2012, 09:32
|- - des00   Цитата(Koluchiy @ Jul 2 2012, 03:32) To d...   Jul 2 2012, 19:19
|- - des00   Цитата(Koluchiy @ Jul 2 2012, 03:32) Дени...   Oct 30 2012, 06:21
|- - Костян   QUOTE (des00 @ Oct 30 2012, 05:21) 2. Зам...   Oct 30 2012, 09:35
|- - des00   Цитата(Костян @ Oct 30 2012, 03:35) стесн...   Oct 30 2012, 09:40
- - Denisnovel   Почему размерность порта количества ошибок m? Кодl...   Jul 4 2012, 13:04
|- - des00   Цитата(Denisnovel @ Jul 4 2012, 07:04) По...   Jul 4 2012, 17:13
- - nkie   Возможно мой вопрос покажется глупым, но я пытаюсь...   Oct 3 2012, 09:54
- - Костян   Как оптимизировать рассчет GPOLY ? Синтезатор (исп...   Oct 19 2012, 08:18
- - Костян   собрал в квартусе. на выходе константа проблем...   Oct 19 2012, 10:30
|- - des00   Цитата(Костян @ Oct 19 2012, 04:30) собра...   Oct 19 2012, 11:09
|- - Костян   QUOTE (des00 @ Oct 19 2012, 10:09) Извини...   Oct 19 2012, 11:55
|- - des00   Цитата(Костян @ Oct 19 2012, 06:55) Есть ...   Oct 19 2012, 15:26
- - Gold777   При декодировании кода Рида-Соломона (к примеру RS...   Oct 30 2012, 16:59
|- - des00   Цитата(Gold777 @ Oct 30 2012, 11:59) При ...   Oct 30 2012, 17:39
|- - Gold777   Цитата(Gold777 @ Oct 30 2012, 20:59) При ...   Nov 1 2012, 18:12
|- - des00   Цитата(Gold777 @ Nov 1 2012, 12:12) Вот н...   Nov 2 2012, 08:43
|- - SKov   Цитата(des00 @ Nov 2 2012, 12:43) ИМХО ну...   Nov 2 2012, 09:31
- - Gold777   Спасибо, буду искать ошибку. Странно, что у БЧХ та...   Oct 30 2012, 18:58
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01602 секунд с 7
ELECTRONIX ©2004-2016