|
|
  |
FEC на ПЛИС, пиарю красоту SV |
|
|
|
Apr 24 2012, 16:35
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(des00 @ Apr 24 2012, 19:14)  турбо (на основе БЧХ кодов было бы интересно порыть) есть такие практические схемы турбокодов-произведения на основе БЧХ. Цитата(des00 @ Apr 24 2012, 19:14)  И сопутствующий вопрос, как тестировать вероятностные декодеры без матлаба? сгородить в верилоге модулятор/демодулятор + модель awgn ? я использую собственные программные модели (С++) модулятор/демодулятор + модель awgn.
|
|
|
|
|
Apr 24 2012, 16:44
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Serg76 @ Apr 24 2012, 11:35)  есть такие практические схемы турбокодов-произведения на основе БЧХ. как раз от вас я о них и слышал %), не поделитесь ссылками? Цитата я использую собственные программные модели (С++) модулятор/демодулятор + модель awgn. вы же вроде как делаете как раз все для PC платформы, или вы через DPI портируете это в HDL симуляторы и тестируете HDL корки ?
--------------------
|
|
|
|
|
Apr 24 2012, 16:59
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(des00 @ Apr 24 2012, 19:44)  как раз от вас я о них и слышал %), не поделитесь ссылками? по-моему здесь http://www.google.com.ua/url?sa=t&rct=...c2g&cad=rjaЦитата(des00 @ Apr 24 2012, 19:44)  вы же вроде как делаете как раз все для PC платформы, или вы через DPI портируете это в HDL симуляторы и тестируете HDL корки ? неа, только программное моделирование
|
|
|
|
|
Apr 24 2012, 17:02
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022

|
Цитата(Denisnovel @ Apr 24 2012, 20:31)  I.3 я сделал. Какие есть конкретные вопросы. По ресурсам сложно сказать, так как нужно еще оптимизировать кое-что. Чем не устроил I.4? Интересует реализация внутреннего декодера. Судя по документу, который скинули, у вас следующая схема: 8 блоков вычисления синдромов на входе по 8 бит, один блок решателя ключевого уравнения обрабатывающий данные с 8-ми каналов по очереди, 8 блоков Ченя по 8 бит. Записать 8 блоков данных в память перед декодированием и после декодирования (Вот этот момент особенно интересует). Вы так сделали? И еще по ресурсам было бы интересно хотя бы приблизительные результаты оценить. Можно в личку. I.4 устроил, но надо остальные FEC схемы реализовать.
|
|
|
|
|
Jun 25 2012, 11:39
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753

|
To des00 Хочу сделать, чтобы IBM работал на частоте в два раза меньше. Для этого делаю multicycle как описано у вас в блоге. Причем в проекте несколько разных декодеров. Правильно ли я задал констрейты? Код set_multicycle_path -from {*bch_berlekamp:berlekamp|*} -to {*bch_berlekamp:berlekamp|*} -setup -end 2 set_multicycle_path -from {*bch_berlekamp:berlekamp|*} -to {*bch_berlekamp:berlekamp|*} -hold -end 1 Clock Enable для входа в модуле bch_berlekamp генерится следующем образом. Код iclkena <= ~iclkena;
Сообщение отредактировал Denisnovel - Jun 25 2012, 11:42
|
|
|
|
|
Jun 25 2012, 16:00
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Denisnovel @ Jun 25 2012, 05:39)  Хочу сделать, чтобы IBM работал на частоте в два раза меньше. Для этого делаю multicycle как описано у вас в блоге. Причем в проекте несколько разных декодеров. Правильно ли я задал констрейты? Код set_multicycle_path -from {*bch_berlekamp:berlekamp|*} -to {*bch_berlekamp:berlekamp|*} -setup -end 2 set_multicycle_path -from {*bch_berlekamp:berlekamp|*} -to {*bch_berlekamp:berlekamp|*} -hold -end 1 Clock Enable для входа в модуле bch_berlekamp генерится следующем образом. Код iclkena <= ~iclkena; хммм, в таком случае вам выгодно подать именно тактовую в 2 раза ниже и сделать переходы между доменами. решение лучше со всех точек зрения. Если по мультициклам, то их накладывают на цепи между регистрами источниками сигнала и приемниками. Где в вашей команде указано что это относиться к регистрами ?  )
--------------------
|
|
|
|
|
Jun 26 2012, 04:25
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753

|
В моём кнстрейте описывается, что все регистры в модуле bch_berlekamp:berlekamp работают на частоте в два раза меньше. Т.е. источником и приемником является эти регистры. Или я не прав? Если я захочу сделать частоту в 2 раза меньше, то в PLL я должен выдать синхроную частоту. Как это описать?
Сообщение отредактировал Denisnovel - Jun 26 2012, 04:30
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 26 2012, 04:50
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Denisnovel @ Jun 25 2012, 22:25)  В моём кнстрейте описывается, что все регистры в модуле bch_berlekamp:berlekamp работают на частоте в два раза меньше. Т.е. источником и приемником является эти регистры. Или я не прав? хммм, вообще то регистры описываются через команду get_registers  Цитата Если я захочу сделать частоту в 2 раза меньше, то в PLL я должен выдать синхроную частоту. Как это описать? хммм, сгененрировать PLL и посмотреть на вейвформы ее работы?
--------------------
|
|
|
|
|
Jun 26 2012, 09:15
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753

|
А если написать так, то между регистрами модуля БМ будет увеличенный период? Код set_multicycle_path -from [get_registers{*bch_berlekamp:berlekamp|*}] -to [get_registers{*bch_berlekamp:berlekamp|*}] -setup -end 2 set_multicycle_path -from [get_registers{*bch_berlekamp:berlekamp|*}] -to [get_registers{*bch_berlekamp:berlekamp|*}] -hold -end 1 С PLL не поял? Допустим, я сделал синхронную частоту в два раза меньше, подал её на модуль БМ, как синхронизировать данные между этими clock domain?
|
|
|
|
|
Jun 26 2012, 14:40
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Denisnovel @ Jun 26 2012, 04:15)  А если написать так, то между регистрами модуля БМ будет увеличенный период? смотрите что говорит TQ, если он скажет что будет, значит будет. %) Цитата С PLL не поял? Допустим, я сделал синхронную частоту в два раза меньше, подал её на модуль БМ, как синхронизировать данные между этими clock domain?  а если сделаете пусть и на одной частоте но с clkena синхронизировать не потребуется ?  Повторю еще раз, прочитайте что такое PLL и ее свойства. Сгенерируйте в мегавизарде PLL и посмотрите на вейвформы выходных сигналов. Тогда сразу все поймете %)
--------------------
|
|
|
|
|
Jun 28 2012, 19:36
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753

|
По PLL я имею ввиду, что одна ПЛЛ генерирует быстрый и медленный клок, то есть они синхронные, как на картинке выше . Ну да оставим PLL. У меня работает первый вариант задания контстрейтов  , TQ распознает их как мультисайкл. Самый критичный путь в этом случае от clken до регистров модуля БМ. Еще вопрос. Правильно ли я понимаю, что БЧХ может детектировать ошибки больше t, но меньше 2t, и определять их количество?
|
|
|
|
|
Jun 29 2012, 13:23
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 28-10-11
Из: Москва
Пользователь №: 68 022

|
Цитата(Denisnovel @ Jun 28 2012, 23:36)  Еще вопрос. Правильно ли я понимаю, что БЧХ может детектировать ошибки больше t, но меньше 2t, и определять их количество? БЧХ может детектировать 2t ошибок
|
|
|
|
|
Jun 29 2012, 13:55
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Denisnovel @ Jun 28 2012, 14:36)  У меня работает первый вариант задания контстрейтов  , TQ распознает их как мультисайкл. значит TQ вас понял %) Цитата(SKov @ Jun 29 2012, 08:35)  Количество не может. Только сам факт наличия где-то ошибок кратности от 1 до d-1. Вот интересно, как я понял из учебников по кодированию, сам код БЧХ позволяет обнаружить большее кол-во ошибок, но не все из них. Ограничение d-1 связанно с использованием стандартных методов декодирования, через решение системы уравнений. Интересно чисто теоретически, есть ли методы позволяющие преодолеть эту границу? (ну кроме полного перебора или синдромного декодирования что почти тоже самое).
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|