Перейти к содержанию
    

турбо (на основе БЧХ кодов было бы интересно порыть)

есть такие практические схемы турбокодов-произведения на основе БЧХ.

 

И сопутствующий вопрос, как тестировать вероятностные декодеры без матлаба? сгородить в верилоге модулятор/демодулятор + модель awgn ?

я использую собственные программные модели (С++) модулятор/демодулятор + модель awgn.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть такие практические схемы турбокодов-произведения на основе БЧХ.

как раз от вас я о них и слышал %), не поделитесь ссылками?

я использую собственные программные модели (С++) модулятор/демодулятор + модель awgn.

вы же вроде как делаете как раз все для PC платформы, или вы через DPI портируете это в HDL симуляторы и тестируете HDL корки ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как раз от вас я о них и слышал %), не поделитесь ссылками?

по-моему здесь http://www.google.com.ua/url?sa=t&rct=...c2g&cad=rja

 

вы же вроде как делаете как раз все для PC платформы, или вы через DPI портируете это в HDL симуляторы и тестируете HDL корки ?

неа, только программное моделирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

I.3 я сделал. Какие есть конкретные вопросы. По ресурсам сложно сказать, так как нужно еще оптимизировать кое-что. Чем не устроил I.4?

Интересует реализация внутреннего декодера. Судя по документу, который скинули, у вас следующая схема: 8 блоков вычисления синдромов на входе по 8 бит, один блок решателя ключевого уравнения обрабатывающий данные с 8-ми каналов по очереди, 8 блоков Ченя по 8 бит. Записать 8 блоков данных в память перед декодированием и после декодирования (Вот этот момент особенно интересует). Вы так сделали? И еще по ресурсам было бы интересно хотя бы приблизительные результаты оценить. Можно в личку. I.4 устроил, но надо остальные FEC схемы реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу сделать, чтобы 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 раза ниже и сделать переходы между доменами. решение лучше со всех точек зрения.

 

Если по мультициклам, то их накладывают на цепи между регистрами источниками сигнала и приемниками. Где в вашей команде указано что это относиться к регистрами ? :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В моём кнстрейте описывается, что все регистры в модуле bch_berlekamp:berlekamp работают на частоте в два раза меньше. Т.е. источником и приемником является эти регистры. Или я не прав?

Если я захочу сделать частоту в 2 раза меньше, то в PLL я должен выдать синхроную частоту. Как это описать?

post-33753-1340685001_thumb.png

Изменено пользователем Denisnovel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В моём кнстрейте описывается, что все регистры в модуле bch_berlekamp:berlekamp работают на частоте в два раза меньше. Т.е. источником и приемником является эти регистры. Или я не прав?

хммм, вообще то регистры описываются через команду get_registers ;)

 

Если я захочу сделать частоту в 2 раза меньше, то в PLL я должен выдать синхроную частоту. Как это описать?

хммм, сгененрировать PLL и посмотреть на вейвформы ее работы?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если написать так, то между регистрами модуля БМ будет увеличенный период?

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? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если написать так, то между регистрами модуля БМ будет увеличенный период?

смотрите что говорит TQ, если он скажет что будет, значит будет. %)

С PLL не поял? Допустим, я сделал синхронную частоту в два раза меньше, подал её на модуль БМ, как синхронизировать данные между этими clock domain? :(

а если сделаете пусть и на одной частоте но с clkena синхронизировать не потребуется ? :) Повторю еще раз, прочитайте что такое PLL и ее свойства. Сгенерируйте в мегавизарде PLL и посмотрите на вейвформы выходных сигналов. Тогда сразу все поймете %)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По PLL я имею ввиду, что одна ПЛЛ генерирует быстрый и медленный клок, то есть они синхронные, как на картинке выше . Ну да оставим PLL.

У меня работает первый вариант задания контстрейтов :rolleyes: , TQ распознает их как мультисайкл. Самый критичный путь в этом случае от clken до регистров модуля БМ.

Еще вопрос. Правильно ли я понимаю, что БЧХ может детектировать ошибки больше t, но меньше 2t, и определять их количество?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще вопрос. Правильно ли я понимаю, что БЧХ может детектировать ошибки больше t, но меньше 2t, и определять их количество?

БЧХ может детектировать 2t ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще вопрос. Правильно ли я понимаю, что БЧХ может детектировать ошибки больше t, но меньше 2t, и определять их количество?

Количество не может. Только сам факт наличия где-то ошибок кратности от 1 до d-1.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня работает первый вариант задания контстрейтов :rolleyes: , TQ распознает их как мультисайкл.

значит TQ вас понял %)

 

Количество не может. Только сам факт наличия где-то ошибок кратности от 1 до d-1.

Вот интересно, как я понял из учебников по кодированию, сам код БЧХ позволяет обнаружить большее кол-во ошибок, но не все из них. Ограничение d-1 связанно с использованием стандартных методов декодирования, через решение системы уравнений. Интересно чисто теоретически, есть ли методы позволяющие преодолеть эту границу? (ну кроме полного перебора или синдромного декодирования что почти тоже самое).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...