amelyutin9 0 March 25, 2012 Posted March 25, 2012 (edited) · Report post Правильно ли я понял, что для плис оптимизация поиска Ченя не актуальна? Пробовал оптимизировать процедуру Ченя, конкретнее оптимизировал умножители на константу, как представлено в статье. В итоге выигрыша никакого не получил. Но делал по циклон 3, возможно под другое железо что-то и получится. Edited March 25, 2012 by Gold777 Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 25, 2012 Posted March 25, 2012 · Report post Clock enable применен для энергосбережения? Если в какой-то момент декодер мне не нужен, то я должен отключить clock enable. Перед включением сбросить ресетом(для инициализации) и подать clock enable? clkena можно использовать по разному, в том числе и для энергосбережения. пока декодер не получит блок, он работать не будет. это видно из логики его работы. в случае энергосбережения, можно его не сбрасывать, но, в зависимости от того, в какой момент времени вы остановили декодер, на выходе может быть мусор после старта. Поэтому использовать сброс или нет зависит от вас %) В итоге выигрыша никакого не получил. я вам сразу про это сказал %) Quote Share this post Link to post Share on other sites More sharing options...
amelyutin9 0 March 25, 2012 Posted March 25, 2012 · Report post я вам сразу про это сказал %) Да я помню. Хотел посмотреть ради интереса что изменится. Действительно вы были правы. Quote Share this post Link to post Share on other sites More sharing options...
alexPec 4 March 25, 2012 Posted March 25, 2012 · Report post Также есть версии декодера с динамически изменяемым {n, check}, но смысла выкладывать не вижу. Выложенные сорцы заточены под простую реализацию динамического изменения, кому надо тот сделает %) А {n,check} - в Вашей версии любые можно поставить на ходу или заранее определенный набор (набор определяется до синтеза) ? Модифицировал Ваш код для декодирования 12 кодов, каждый со своим {n,check}, длина до 16384. Декодер занимает около 5000 LE. С ростом количества кодов растет и декодер, примерно линейно. В основном это умножители в галуа на константы. Если бы были умножители числа на число, то от количества кодов декодер бы не так сильно рос. Только вот не знаю на сколько такое решение реально. Просто в моей задаче скорость не нужна (50 мгц за глаза), а вот количество кодов надо 36... В Вашей версии динамически изменяемых {n,check} умножители в галуа также на константы или умножители динамического числа на динамическое число? :bb-offtopic: То что спрашивал у Вас по таймквесту, все вроде получилось в моделсиме, огромное спасибо! Надо дождаться железа и испытать в реале... Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 26, 2012 Posted March 26, 2012 · Report post А {n,check} - в Вашей версии любые можно поставить на ходу или заранее определенный набор (набор определяется до синтеза) ? Для работы мне нужны были с динамическим укорочением и с предопределенном набором check. Только вот не знаю на сколько такое решение реально. Просто в моей задаче скорость не нужна (50 мгц за глаза), а вот количество кодов надо 36... В Вашей версии динамически изменяемых {n,check} умножители в галуа также на константы или умножители динамического числа на динамическое число? Строго говоря сорцы что выложены, были оптимизированы (по логике и конвейеру) под конкретную реализацию статического декодера. Для динамического декодера нужно делать немного по другому : 1. genstart == 0, это позволит очень просто считать синдромы по максимальному check (не нужна коррекция позиций синдромов) цена : дополнительный умножитель при расчете значений ошибок 2. везде считать на максимальный check 3. уйти с RIBM на rIBM алгоритм (не нужна коррекция позиций готового полинома локаторов). цена : несколько больший ресурс при последовательном вычислении. 4. ченя делать в обратном порядке в отдельном проходе (не нужна начальная коррекция при укорочении кода). ну собственно все, в итоге ресурс декодера у вас будет чуть больше, чем статического декодера кода с максимальным check :bb-offtopic: То что спрашивал у Вас по таймквесту, все вроде получилось в моделсиме, огромное спасибо! Надо дождаться железа и испытать в реале... рад что вы разобрались в вопросе %) И еще про динамическую конфигурацию. Если кол-во генераторных полиномов больше 4-х, то выгоднее поставить кодер с умножителями на число, иначе мультиплексор + 4 кодера %) (для полей GF(2^8) Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 26, 2012 Posted March 26, 2012 · Report post ну собственно все, в итоге ресурс декодера у вас будет чуть больше, чем статического декодера кода с максимальным check Если есть желание, можем скооперироваться и сделать ваш, полностью перестраиваемый декодер. Но с условием, сорцы открываем ? ;) Quote Share this post Link to post Share on other sites More sharing options...
negiin 0 March 26, 2012 Posted March 26, 2012 · Report post Зачем нужна behavioral model? Чем это лучше симуляции синтезируемого кода? Ведь в разработку добавляется дополнительный этап сравнения двух моделей? Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 26, 2012 Posted March 26, 2012 · Report post Зачем нужна behavioral model? Чем это лучше симуляции синтезируемого кода? Ведь в разработку добавляется дополнительный этап сравнения двух моделей? а смотря код того и другого вы не можете сделать выводы? :) вопросы методологии разработки неоднократно обсуждались на этом форуме, воспользуйтесь поиском. Эта тема не совсем для этого %) Quote Share this post Link to post Share on other sites More sharing options...
lomey47 0 March 28, 2012 Posted March 28, 2012 · Report post Доброго времени суток!прочитал представленные исходники!и никак не могу разобраться, как все-таки поступать, в процедуре Ченя, с укороченными кодами?у меня получаются позиции ошибок но соответственно со смещением на длину укорочения кода!пытался задерживать FIFO на эту задержку но получается расхождение!может кто нибудь подскажет как правильно быть? заранее спасибо! Quote Share this post Link to post Share on other sites More sharing options...
lomey47 0 March 29, 2012 Posted March 29, 2012 · Report post Вопрос разрешился!)))) Quote Share this post Link to post Share on other sites More sharing options...
negiin 0 March 29, 2012 Posted March 29, 2012 · Report post Делаю параллельный БЧХ. При этом он получается в несколько раз больше Рид-Соломона при той же пропускной способности. Так должно быть и почему? Quote Share this post Link to post Share on other sites More sharing options...
amelyutin9 0 March 29, 2012 Posted March 29, 2012 · Report post Делаю параллельный БЧХ. При этом он получается в несколько раз больше Рид-Соломона при той же пропускной способности. Так должно быть и почему? Я так понимаю все зависит от параметров ваших кодов. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 30, 2012 Posted March 30, 2012 · Report post Делаю параллельный БЧХ. При этом он получается в несколько раз больше Рид-Соломона при той же пропускной способности. Так должно быть и почему? вы хотели сказать при той же скорости кодирования и таком же размере блока в символах? Quote Share this post Link to post Share on other sites More sharing options...
negiin 0 April 1, 2012 Posted April 1, 2012 · Report post Приведу пример 2 декодера BCH(2040,1930) по 8 бит занимают 20% в EP2AGX45DF29C4. При этом блок Berlekamp–Massey только один. 2 РС декодера RS(255,239) по 8 бит занимает примерно 500 ячеек, т.е. значительно меньше. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 April 1, 2012 Posted April 1, 2012 · Report post Приведу пример 2 декодера BCH(2040,1930) по 8 бит если имелось в виду по 8 бит за 1 такт, то чему удивляться то? ручками распишите получаемую логику на уровне функций и это станет очевидно. ЗЫ. если вам нужна производительсность бчх 8 бит за 1 такт (что, если брать например сыклон 3, соответствует ~200 мегабайт в секунду), то как вариант поставить 8 декодеров, с одним блоком BM. Quote Share this post Link to post Share on other sites More sharing options...