petrov 8 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба в точку. делал фильтры, ресамплеры на фарроу, эквалайзер, декодер витерби, рида-соломона. Ну первый раз очевидно долго будет, непонятно как вообще писать, постоянно кучу экспериментов, нарисовал, скомпилировал, посмотрел HDL. Но потом веселее должно пойти? Идея-то привлекательная, всё в одном симулинке делать, постепенно конкретизируя плавучку до фиксированной точки, легче кучу всяких DSP-шных экспериментов провести, чем в HDL-ных громоздких тулзах, графики всякие, спектры, созвездия смотреть. Хочу попробовать сделать следующий проект полностью в симулинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба Ну первый раз очевидно долго будет, непонятно как вообще писать, постоянно кучу экспериментов, нарисовал, скомпилировал, посмотрел HDL. Но потом веселее должно пойти? Первый раз всяко сложно, но там философию надо менять (может поменяли уже в последнем симулинке). Больше всего мне не нравилось по умолчанию saturate on integer overflow и желание матлаба всю фиксированную точку делать по своим правилам. в RTL это не зачем, там разрядность заранее считается нужная, остальное обрезает сам синтезатор. Идея-то привлекательная, всё в одном симулинке делать, постепенно конкретизируя плавучку до фиксированной точки, легче кучу всяких DSP-шных экспериментов провести, чем в HDL-ных громоздких тулзах, графики всякие, спектры, созвездия смотреть. Хочу попробовать сделать следующий проект полностью в симулинке. Результат будет интересен. Я остановился на ко-симуляции, параллельно пускаю RTL и идеалку, выровненную до такта, смотрю что хочу и как хочу, подменяю блоки, смотрю результат и т.д. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба des00 На декодер витерби мне уже поступил заказ от модемщиков. ) Имеет ли смысл его через matlab HDL кодер делать, или ручками? Ко-симуляцию не пробовал, только читал, что такая штука имеет место быть. Есть какой-нибудь getting started по этой теме? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба На декодер витерби мне уже поступил заказ от модемщиков. ) Имеет ли смысл его через matlab HDL кодер делать, или ручками? Турбо рулит ;) А вообще в матлабе начиная с 2012 го, есть блок в симулинке HDL Viterby Coder/Decoder - это генератор кода, написанного человеком (видно по стилю) и оптимизированный под ПЛИС. Настроек для генерации прилично, в том числе на чем делать Traceback: память или регистры. Ко-симуляцию не пробовал, только читал, что такая штука имеет место быть. Есть какой-нибудь getting started по этой теме? я сам начинал с советов уважаемого MKS ЗЫ. Есть еще в либе HDL Reed Solomon Coder/Decoder. Вот LDPC/Turbo пока не видел:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 8 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба Первый раз всяко сложно, но там философию надо менять (может поменяли уже в последнем симулинке). Больше всего мне не нравилось по умолчанию saturate on integer overflow и желание матлаба всю фиксированную точку делать по своим правилам. в RTL это не зачем, там разрядность заранее считается нужная, остальное обрезает сам синтезатор. Я как раз не заметил особых ограничений для получения того же результата, что и при кодировании ручками, разрядность элементарных комбинационных схем контролируется, enable входы D-триггеров контролируются, HDL-код получается более-менее читаемым. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба Если говорить за матлаб, в свое время тестировал, методом анализа генерируемого кода получал соответствие ручному кодированию 5-10% по ресурсу и времянке. Но усилий затратил столько, что руками быстрее бы все написал. Вполне возможно что плавучкой все будет веселее, пока руки не дошли до этого. хлс он пониже уровнем будет - с матлабом не связывался Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 июля, 2015 Опубликовано 24 июля, 2015 · Жалоба Я как раз не заметил особых ограничений для получения того же результата, что и при кодировании ручками, разрядность элементарных комбинационных схем контролируется, enable входы D-триггеров контролируются, HDL-код получается более-менее читаемым. Ну вот например взял я ресаплер фарроу 3 го порядка из вашей модели. Оптимзировал его ручками, наставил триггеров, начал переводить в фиксированную точку. И началось : 1. Разрядности коэффициентов : нужно ткнуться на каждый gain и прописать разрядность коэффициентов. 2. При сложении матлаб автоматом накидывает 1 бит в разрядность и вываливается из оптимальной разрядности умножителей. Тут начинаются танцы с тыканием в каждый сумматор меняя его параметры (параметры группы заменить нельзя). 3. В каждом гейне, нужно отключить saturation (для группы этого сделать нельзя), иначе тактовая упадет сильно. В итоге, взяв готовый, отлаженный блок, оказалось проще сделать рядом такой же с нуля, по образцу, но уже с учетом всех шурушков дальнейшего пути в ПЛИС. хлс он пониже уровнем будет - с матлабом не связывался не уверен, очень много алгоритмов на сях катается :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 25 июля, 2015 Опубликовано 25 июля, 2015 · Жалоба Работаю с матлабовскими HDL-coder, Stateflow, Xilinx System Generator -проекты в железе работают на частотах больше 400 МГц (Virtex7). Громадные проекты(30-80% ресурсов Virtex7), отлаживать одному (особенно, когда раз в неделю получаешь новые указания, на доработки) просто нереально без матлаба. Когда компиляция в железе(Xilinx ISE) уже готового кода занимает более суток, цена каждой ошибки очень высока по времени(и нервам). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nepoch 0 26 июля, 2015 Опубликовано 26 июля, 2015 · Жалоба в точку. делал фильтры, ресамплеры на фарроу, эквалайзер, декодер витерби, рида-соломона. Причем был забавный момент : не мог понять почему альтеровский декодер витерби весит 500 плиток, а матлабовский где то 1500 - 2000, расковырял код обоих и выяснил что альтеровский читерил (не искал состояние с минимальной метрикой), а матлабовский делал честно. Когда в альтеровском поставил работать честно, то получил сравнимый результат :) Разве Альтеровский витерби не закрыт для чужих глаз? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 июля, 2015 Опубликовано 26 июля, 2015 · Жалоба Разве Альтеровский витерби не закрыт для чужих глаз? Не всегда. Кстати код там более менее нормальный. в отличии их же Рида Соломона (когда увидел этот код, сел и свой за пару месяцев написал. выиграл и по ресурсу и по тактовой) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 июля, 2015 Опубликовано 26 июля, 2015 · Жалоба Работаю с матлабовскими HDL-coder Можете уточнить. Вы используете его для генерации описания из м-языка или в симулинке? Если второе, то вы используете макроблоки (например FIR фильтры) или самописные на уровне сумматоров, умножителей, гейнов и т.д. И если самописные, как вы их конвейеризируете под целевую архитектуру? Про систем генератор понятно, интересует именно HDL-coder и 400МГц распределенной арифметики (не на ДСП слайсах). Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skryppy 1 26 июля, 2015 Опубликовано 26 июля, 2015 · Жалоба HDL-coder использую совместно со Stateflow -для генерации кода,в Stateflow делаю блоки управления (они тактируются частотами не более 100 МГц). Все высокочастотные блоки беру из Xilinx System Generator. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SFx 0 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Прошлым летом прошел курс в Инлайне по HLS - действительно перспективный инструмент, но, очень мало документации и примеров использования. на мой взгляд, он больше подойдет для задач, где требуется реализовать хоть как то прототип, без привязки к качественному быстродействия, но это все пока что. Определенно продукт развивается, и что будет через год - никому не известно. Для DSP, все таки лучше MATLAB... Хотя видел проект, как биофизики ускоряли на FPGA модель взаимодействия молекул в клетках, и у них неплохо это получилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sallador 0 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Прошлым летом прошел курс в Инлайне по HLS - действительно перспективный инструмент, но, очень мало документации и примеров использования. на мой взгляд, он больше подойдет для задач, где требуется реализовать хоть как то прототип, без привязки к качественному быстродействия, но это все пока что. Определенно продукт развивается, и что будет через год - никому не известно. Для DSP, все таки лучше MATLAB... Хотя видел проект, как биофизики ускоряли на FPGA модель взаимодействия молекул в клетках, и у них неплохо это получилось. Год назад тоже были на этих курсах. Поддерживаю. Пересаживаться с SystemGenerator на HLS как-то лениво. И в отсутствие хороших жизненных примеров, а не искуственных типа простейшего FIR и записи/чтения - не очень хочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SFx 0 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Пересаживаться с SystemGenerator на HLS как-то лениво. И в отсутствие хороших жизненных примеров, а не искусственных типа простейшего FIR и записи/чтения - не очень хочется. У меня была одна махенькая задачка, оценочная, я ее реализовал, но в проект она пока не вошла, там все таки была больше работа с памятью. Моделька крутилась хорошо, надо сказать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться