|
ldpc encoder |
|
|
|
Apr 1 2016, 07:50
|
Участник

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

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

я только учусь...
     
Группа: Модераторы
Сообщений: 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.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Apr 1 2016, 09:30
|
Участник

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

|
Цитата(Maverick @ Apr 1 2016, 11:52)  Я бы начинал с мат модель. Матлаб или С/С++ вам в помощь Попытался найти исходные данные, в идеале и "ответ/результат" на эти входные данные. Проверил работоспособность. А уже потом начал описывать для ПЛИС исходя из полученной математики Мат. модель есть, как и данные, проблема именно в реализации, очень долго в ПЛИС считаю, и по ресурсу ограничен
|
|
|
|
|
Apr 2 2016, 06:25
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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 деревьев. Лучше проектировать на основе замкнутых сдвиговых регистров (см. реализацию регистра - аккумулятора проверочных бит в приложении). Будет минимальный ресурс ЗЗЫ. Ну а так, если есть эталонные результаты, работы на день-два где то. Сразу вывалить статически конфигурируемый кодер, потом уже по месту подобрать оптимальные параметры ресурс/тактовая.
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Apr 2 2016, 16:20
|
Участник

Группа: Участник
Сообщений: 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 деревьев. Лучше проектировать на основе замкнутых сдвиговых регистров (см. реализацию регистра - аккумулятора проверочных бит в приложении). Будет минимальный ресурс ЗЗЫ. Ну а так, если есть эталонные результаты, работы на день-два где то. Сразу вывалить статически конфигурируемый кодер, потом уже по месту подобрать оптимальные параметры ресурс/тактовая. спасибо за советы, попробую различные варианты. После реализации напишу, что получилось.
|
|
|
|
Сообщений в этой теме
glb ldpc encoder Apr 1 2016, 07:50  des00 Цитата(glb @ Apr 1 2016, 16:30) Мат. моде... Apr 1 2016, 14:01 AVR Немного оффтопа: где можно в популярной форме проч... Apr 1 2016, 09:13 Maverick Цитата(AVR @ Apr 1 2016, 12:13) Немного о... Apr 1 2016, 09:16 des00 ЗЗЗЫ. До кучи, еще можно было бы порыть тему реали... Apr 2 2016, 14:09 Corner Если бы можно было совсем без мультиплексоров Apr 3 2016, 19:11 des00 И логичный шаг замены мультиплексора pmask[j][k][... Apr 4 2016, 11:40 Maverick Цитата(des00 @ Apr 4 2016, 14:40) И логич... Apr 4 2016, 12:34  des00 Цитата(Maverick @ Apr 4 2016, 20:34) и чу... Apr 4 2016, 13:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|