|
|
|
FEC на ПЛИС, пиарю красоту SV |
|
|
|
Mar 25 2012, 15:13
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(Denisnovel @ Mar 25 2012, 17:37) Правильно ли я понял, что для плис оптимизация поиска Ченя не актуальна? Пробовал оптимизировать процедуру Ченя, конкретнее оптимизировал умножители на константу, как представлено в статье. В итоге выигрыша никакого не получил. Но делал по циклон 3, возможно под другое железо что-то и получится.
Сообщение отредактировал Gold777 - Mar 25 2012, 15:14
|
|
|
|
|
Mar 25 2012, 16:04
|
Вечный ламер
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453
|
Цитата(Denisnovel @ Mar 25 2012, 07:37) Clock enable применен для энергосбережения? Если в какой-то момент декодер мне не нужен, то я должен отключить clock enable. Перед включением сбросить ресетом(для инициализации) и подать clock enable? clkena можно использовать по разному, в том числе и для энергосбережения. пока декодер не получит блок, он работать не будет. это видно из логики его работы. в случае энергосбережения, можно его не сбрасывать, но, в зависимости от того, в какой момент времени вы остановили декодер, на выходе может быть мусор после старта. Поэтому использовать сброс или нет зависит от вас %) Цитата(Gold777 @ Mar 25 2012, 09:13) В итоге выигрыша никакого не получил. я вам сразу про это сказал %)
--------------------
|
|
|
|
|
Mar 25 2012, 16:15
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(des00 @ Mar 25 2012, 20:04) я вам сразу про это сказал %) Да я помню. Хотел посмотреть ради интереса что изменится. Действительно вы были правы.
|
|
|
|
|
Mar 25 2012, 19:46
|
Профессионал
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968
|
Цитата(des00 @ Mar 23 2012, 09:57) Также есть версии декодера с динамически изменяемым {n, check}, но смысла выкладывать не вижу. Выложенные сорцы заточены под простую реализацию динамического изменения, кому надо тот сделает %) А {n,check} - в Вашей версии любые можно поставить на ходу или заранее определенный набор (набор определяется до синтеза) ? Модифицировал Ваш код для декодирования 12 кодов, каждый со своим {n,check}, длина до 16384. Декодер занимает около 5000 LE. С ростом количества кодов растет и декодер, примерно линейно. В основном это умножители в галуа на константы. Если бы были умножители числа на число, то от количества кодов декодер бы не так сильно рос. Только вот не знаю на сколько такое решение реально. Просто в моей задаче скорость не нужна (50 мгц за глаза), а вот количество кодов надо 36... В Вашей версии динамически изменяемых {n,check} умножители в галуа также на константы или умножители динамического числа на динамическое число? То что спрашивал у Вас по таймквесту, все вроде получилось в моделсиме, огромное спасибо! Надо дождаться железа и испытать в реале...
|
|
|
|
|
Mar 26 2012, 09:54
|
Вечный ламер
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453
|
Цитата(alexPec @ Mar 25 2012, 13:46) А {n,check} - в Вашей версии любые можно поставить на ходу или заранее определенный набор (набор определяется до синтеза) ? Для работы мне нужны были с динамическим укорочением и с предопределенном набором check. Цитата Только вот не знаю на сколько такое решение реально. Просто в моей задаче скорость не нужна (50 мгц за глаза), а вот количество кодов надо 36... В Вашей версии динамически изменяемых {n,check} умножители в галуа также на константы или умножители динамического числа на динамическое число? Строго говоря сорцы что выложены, были оптимизированы (по логике и конвейеру) под конкретную реализацию статического декодера. Для динамического декодера нужно делать немного по другому : 1. genstart == 0, это позволит очень просто считать синдромы по максимальному check (не нужна коррекция позиций синдромов) цена : дополнительный умножитель при расчете значений ошибок 2. везде считать на максимальный check 3. уйти с RIBM на rIBM алгоритм (не нужна коррекция позиций готового полинома локаторов). цена : несколько больший ресурс при последовательном вычислении. 4. ченя делать в обратном порядке в отдельном проходе (не нужна начальная коррекция при укорочении кода). ну собственно все, в итоге ресурс декодера у вас будет чуть больше, чем статического декодера кода с максимальным check Цитата То что спрашивал у Вас по таймквесту, все вроде получилось в моделсиме, огромное спасибо! Надо дождаться железа и испытать в реале... рад что вы разобрались в вопросе %) И еще про динамическую конфигурацию. Если кол-во генераторных полиномов больше 4-х, то выгоднее поставить кодер с умножителями на число, иначе мультиплексор + 4 кодера %) (для полей GF(2^8)
--------------------
|
|
|
|
|
Mar 28 2012, 19:50
|
Группа: Новичок
Сообщений: 2
Регистрация: 27-03-12
Пользователь №: 71 038
|
Доброго времени суток!прочитал представленные исходники!и никак не могу разобраться, как все-таки поступать, в процедуре Ченя, с укороченными кодами?у меня получаются позиции ошибок но соответственно со смещением на длину укорочения кода!пытался задерживать FIFO на эту задержку но получается расхождение!может кто нибудь подскажет как правильно быть? заранее спасибо!
|
|
|
|
|
Mar 29 2012, 16:34
|
Группа: Новичок
Сообщений: 2
Регистрация: 27-03-12
Пользователь №: 71 038
|
Вопрос разрешился!))))
|
|
|
|
|
Mar 29 2012, 20:21
|
Частый гость
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022
|
Цитата(Denisnovel @ Mar 29 2012, 21:48) Делаю параллельный БЧХ. При этом он получается в несколько раз больше Рид-Соломона при той же пропускной способности. Так должно быть и почему? Я так понимаю все зависит от параметров ваших кодов.
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|