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

 
 
> ldpc encoder
glb
сообщение Apr 1 2016, 07:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-08-15
Пользователь №: 88 193



Доброго времени суток. Разбираюсь с реализацией LDPC(7154, 8176) кодера на ПЛИС. В стандарте GSFC-STD-9100 на 16 страницей приведена схема кодера, для вычисления кодовой последовательности необходимо 511 тактов, что не очень долго. Вычислять все значения одновременно ресурсов не хватит. Кто нибудь разбирался с таким кодированием, что можете посоветовать?
Прикрепленные файлы
Прикрепленный файл  GSFC_STD_9100A.pdf ( 577.61 килобайт ) Кол-во скачиваний: 65
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Maverick
сообщение Apr 1 2016, 08:52
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(glb @ Apr 1 2016, 10:50) *
Доброго времени суток. Разбираюсь с реализацией LDPC(7154, 8176) кодера на ПЛИС. В стандарте GSFC-STD-9100 на 16 страницей приведена схема кодера, для вычисления кодовой последовательности необходимо 511 тактов, что не очень долго. Вычислять все значения одновременно ресурсов не хватит. Кто нибудь разбирался с таким кодированием, что можете посоветовать?

Я бы начинал с мат модель. Матлаб или С/С++ вам в помощь
Попытался найти исходные данные, в идеале и "ответ/результат" на эти входные данные.
Проверил работоспособность.
А уже потом начал описывать для ПЛИС исходя из полученной математики


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
glb
сообщение Apr 1 2016, 09:30
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-08-15
Пользователь №: 88 193



Цитата(Maverick @ Apr 1 2016, 11:52) *
Я бы начинал с мат модель. Матлаб или С/С++ вам в помощь
Попытался найти исходные данные, в идеале и "ответ/результат" на эти входные данные.
Проверил работоспособность.
А уже потом начал описывать для ПЛИС исходя из полученной математики

Мат. модель есть, как и данные, проблема именно в реализации, очень долго в ПЛИС считаю, и по ресурсу ограничен
Go to the top of the page
 
+Quote Post
Tiro
сообщение Apr 1 2016, 14:08
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(glb @ Apr 1 2016, 12:30) *
Мат. модель есть, как и данные, проблема именно в реализации, очень долго в ПЛИС считаю, и по ресурсу ограничен

Раз Денис ответил, то кажется, он знает реализацию.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 2 2016, 06:25
Сообщение #5


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

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



Цитата(Tiro @ Apr 1 2016, 21:08) *
Раз Денис ответил, то кажется, он знает реализацию.

да она тут очевидна. Если очень быстро, то работать с вектором 7154 бита, за 511+n тактов будут рассчитаны все проверочные биты. Но ресурса уйдет вагон и маленькая тележка (2*14*511 регистров + 14 ть 511 входовых XOR деревьев). Если нужно экономить ресурс, то очевиден первый шаг : уменьшать количество FSRL ядер. В итоге схема будет как в приложении, ядро займет 2*511 регистров + одно 511 входовое XOR дерево). Но и расчет будет занимать по времени 14*511 + n тактов. Второй шаг экономии ресурсов, это уменьшение рабочей разрядности 511/73/7, но и времени будет занимать 14*(511/3577/37303)+n такта. Будет долго, но можно вычислять по M проверочных битов за такт, тогда время сократиться в M раз, но ценой наличия дополнительных XOR деревьев.

ЗЫ. При проектировании не рекомендую реализовывать архитектуры с мультиплексорами. Т.к. расход лютов, в этом случае, больше, чем на реализацию более широких XOR деревьев. Лучше проектировать на основе замкнутых сдвиговых регистров (см. реализацию регистра - аккумулятора проверочных бит в приложении). Будет минимальный ресурс sm.gif

ЗЗЫ. Ну а так, если есть эталонные результаты, работы на день-два где то. Сразу вывалить статически конфигурируемый кодер, потом уже по месту подобрать оптимальные параметры ресурс/тактовая.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
glb
сообщение Apr 2 2016, 16:20
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-08-15
Пользователь №: 88 193



Цитата(des00 @ Apr 2 2016, 10:25) *
да она тут очевидна. Если очень быстро, то работать с вектором 7154 бита, за 511+n тактов будут рассчитаны все проверочные биты. Но ресурса уйдет вагон и маленькая тележка (2*14*511 регистров + 14 ть 511 входовых XOR деревьев). Если нужно экономить ресурс, то очевиден первый шаг : уменьшать количество FSRL ядер. В итоге схема будет как в приложении, ядро займет 2*511 регистров + одно 511 входовое XOR дерево). Но и расчет будет занимать по времени 14*511 + n тактов. Второй шаг экономии ресурсов, это уменьшение рабочей разрядности 511/73/7, но и времени будет занимать 14*(511/3577/37303)+n такта. Будет долго, но можно вычислять по M проверочных битов за такт, тогда время сократиться в M раз, но ценой наличия дополнительных XOR деревьев.

ЗЫ. При проектировании не рекомендую реализовывать архитектуры с мультиплексорами. Т.к. расход лютов, в этом случае, больше, чем на реализацию более широких XOR деревьев. Лучше проектировать на основе замкнутых сдвиговых регистров (см. реализацию регистра - аккумулятора проверочных бит в приложении). Будет минимальный ресурс sm.gif

ЗЗЫ. Ну а так, если есть эталонные результаты, работы на день-два где то. Сразу вывалить статически конфигурируемый кодер, потом уже по месту подобрать оптимальные параметры ресурс/тактовая.

спасибо за советы, попробую различные варианты. После реализации напишу, что получилось.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 4 2016, 05:22
Сообщение #7


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

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



Цитата(glb @ Apr 2 2016, 23:20) *
спасибо за советы, попробую различные варианты. После реализации напишу, что получилось.

Немного времени появилось, скидал идеалку в лоб, работающую словами по 7 бит и кодирующую на лету(т.е. не требуется ждать завершения кодирования). По простоте управления и системной интеграции это самый оптимальный ИМХО вариант. Кодер потребует 2*511 битовых аккумуляторов с 7 ми входовыми XOR деревьями (~2*3*511 4-х входовых лютов) + 511 FSRL регистр. ИМХО в 5К уложится, при тактовой 200-220 на плис класса сыклон 3 семерка. Скорострельность будет порядка 1,2 гигабита в секунду.

PS. Если есть эталонные наборы, можете поделиться для использования в качестве референсного? Давно не опенсорсил.
Прикрепленные файлы
Прикрепленный файл  ldpc_enc_beh.v ( 10.16 килобайт ) Кол-во скачиваний: 113
Прикрепленный файл  ldpc_enc_tb.v ( 2.23 килобайт ) Кол-во скачиваний: 49
 


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



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 16:30
Рейтинг@Mail.ru


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