Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Quartus + Matlab
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
svatoslav
Доброе утро. Расскажите пожалуйста о своем опыте работы с этой связкой. Начал пробовать DSPBuilder от Altera очень много сложностей, стоит ли оно того? или лучше делать все по старинке расчитывать фильтры отдельно и переводить их на HDL
Vascom
По старинке получится эффективнее и оптимизированнее. Если ресурсов не жалко, то конечно можно и билдерами пользоваться.
alexadmin
В DSP Builder можно рисовать тот же RTL, только с автоматическим контролем разрядности и удобным тестовым окружением. Не вижу, как "по старинке" может получиться эффективнее при прочих равных.
Vascom
Можно тонко оптимизировать.
goodsoul
Я с DSP builder'ом плотно не работал, т.к. ЦОС не моя тема. Однако знающий человек высказал следующую мысль:
- Очевидно, DSP builder, как и любой другой HLD инструмент призван повысить продуктивность работы. Обратная сторона медали - конечный результат может занимать больше ресурсов. Для больших плис с сотнями тысяч LE это не особо критично.
- Используя дсп билдер можно быстрее вносить изменения в проект и пробовать разные подходы и ограничения (играть с разными структурами фильтров, распараллеивать, конвейеризировать и т.п.). Можно задать целевую частоту, и тулза сама выберет подходящую структуру и глубину конвейера.
- На выходе билдера вы получите проект с учетом архитектурных особенностей целевого кристалла. Включая поддержку hard floating point блоков (a10/s10) и архитектуры hyper-flex в high-end семействах (s10, falcon mesa). К примеру, если у вас есть RTL код, написанный для A10, то не факт что он хорошо ляжет на S10, т.к. архитектура разная. В случае дсп билдера нужно лишь перегенерить систему под другое семейство.
syoma
Используем Xilinx System Generator(вроде как аналог DSPBuilder) и HDL Coder. Последний в принципе достаточно прост для начинающих и возможно стоит начать с него.
warrior-2001
Тема столь обширна, что развернуто ответить не получится на одним сообщением, ни даже десятком!
Я писал статьи по данной тематике в КиТ. Можно обратиться на сайт экспоненты либо самого матлаб.ру
Недавно был на их конференции - понравилось то, что многие уже внедряют данный подход.
Если кратко всю ЦОС стараюсь делать при помощи симулинка (модели в матлабе мне алгоритмисты выдают). Проект верхнего уровня и интерфейсы делаю руками.
У меня маршрут проектирования выглядит так: Симулинк, Ментор(кодирование, верификация, RTL), Квартус. И везде есть обратные связи wink.gif
syoma
Цитата(svatoslav @ Apr 13 2018, 06:42) *
Доброе утро. Расскажите пожалуйста о своем опыте работы с этой связкой. Начал пробовать DSPBuilder от Altera очень много сложностей, стоит ли оно того? или лучше делать все по старинке расчитывать фильтры отдельно и переводить их на HDL

Насчет стоит/не стоит. Стоит, когда опыт разработки для ПЛИС отсутствует, а нужно или хочется их использовать. Тогда можно все разрабатывать и моделировать там же в Симулинке и генерить готовые корки, которые будут исправно работать в железе.
Опыт разработки для цифровых процессоров или HDL в этом случае, как ни странно, даже мешает. Если вам кажется очень сложно, попробуйте ради эксперимента дать задачу другому человеку без вашего опыта. Желательно вообще тому, кто с ПЛИС дела не имел, а только с Симулинком. И не давайте ему своих вредных советов, а пусть сам разбирается на примерах и мануалах.
petrov
Цитата(syoma @ Apr 17 2018, 07:35) *
Насчет стоит/не стоит. Стоит, когда опыт разработки для ПЛИС отсутствует, а нужно или хочется их использовать. Тогда можно все разрабатывать и моделировать там же в Симулинке и генерить готовые корки, которые будут исправно работать в железе.
Опыт разработки для цифровых процессоров или HDL в этом случае, как ни странно, даже мешает. Если вам кажется очень сложно, попробуйте ради эксперимента дать задачу другому человеку без вашего опыта. Желательно вообще тому, кто с ПЛИС дела не имел, а только с Симулинком. И не давайте ему своих вредных советов, а пусть сам разбирается на примерах и мануалах.


Вредный совет. Конечно же представление о HDL и правильной цифровой схемотехнике для ПЛИС необходимо.
Мур
Давно примеряюсь к HDL Coder. Имея навык применения библиотечных кубиков можно ваять дизайны с дальнейшим простым переводом в HDL. Смущает, что мало примеров для их применения. Кое-что уже получается. Чувство досады вызывает набор источников сигналов.
Всего 6 типов.
https://nl.mathworks.com/help/hdlcoder/blocklist.html
Возможность генерации гармоники, ступеньки, произвольной формы не заложено........................

Может кто подскажет, как сделать ступеньку на входе модели? Только счетчики Counter FREE-Runing и Counter Limited не интересны для гибкости моделирования.

Было бы здорово иметь примеры применений. Никто не натыкался на примеры? Ссыла была бы интересной для плавного вхождения в среду Матлаб.

Спасибо!
alexadmin
Цитата(Мур @ Jul 6 2018, 15:14) *
источников сигналов.
Всего 6 типов.
https://nl.mathworks.com/help/hdlcoder/blocklist.html
Возможность генерации гармоники, ступеньки, произвольной формы не заложено........................


Надо отделять блоки, которые поддерживаются для синтеза (они представлены в списке выше) и блоки симулинка в целом. Для подачи на модель вам нужен блок, который так и называется - Step. Но он ставится снаружи по отношению к синтезируемой части модели и не попадает в синтезируемый код.
Мур
Цитата(alexadmin @ Jul 6 2018, 17:48) *
Надо отделять блоки, которые поддерживаются для синтеза (они представлены в списке выше) и блоки симулинка в целом. Для подачи на модель вам нужен блок, который так и называется - Step. Но он ставится снаружи по отношению к синтезируемой части модели и не попадает в синтезируемый код.


Хм.. Я так пробовал. Нет подключения! Остается "висячий" вход.


petrov
Цитата(Мур @ Jul 8 2018, 08:58) *
Хм.. Я так пробовал. Нет подключения! Остается "висячий" вход.


Не надо паясничать. Сигнал любой формы делается математически из ограниченного числа элементарных блоков и подаётся на синтезируемую часть через преобразование типов. Из синтезируемых источников достаточно одной константы. На готовых "кубиках" далеко не уехать, смысл вовсе не в них.
Мур
Цитата(petrov @ Jul 8 2018, 11:23) *
Не надо паясничать. Сигнал любой формы делается математически из ограниченного числа элементарных блоков и подаётся на синтезируемую часть через преобразование типов. Из синтезируемых источников достаточно одной константы. На готовых "кубиках" далеко не уехать, смысл вовсе не в них.

..Вы не ответили на вопрос.
Тут есть STEP, но к нему подключиться невозможно. Игнор! (линия даже штриховая!)
Про преобразования типов мне известно. Если бы это была главная проблема...
Нечего преобразовывать!... Для начала
petrov
Цитата(Мур @ Jul 8 2018, 12:59) *
..Вы не ответили на вопрос.
Тут есть STEP, но к нему подключиться невозможно. Игнор! (линия даже штриховая!)
Про преобразования типов мне известно. Если бы это была главная проблема...
Нечего преобразовывать!... Для начала


Проблема в том, что вопрос не сформулирован.
Мур
Цитата(petrov @ Jul 8 2018, 13:34) *
Проблема в том, что вопрос не сформулирован.

Вопрос прост.
В библиотеке HDL Coder нет возможности генерировать сигналы произвольной формы (мне как минимум нужна гармоника и ступенька).
Тут подсказали, что не стоит заморачиваться и можно смело применять любые источники Симулинка, но только через STEP.
Однако сам STEP имеет только одну линию и потому не понятно куда(см. рисунок) подключать симулинковский источник гармоники?
petrov
В симулинке нет проблем сделать сигнал любой формы на элементарных блоках и подключить с преобразованием типов к фиксированной точке к любой синтезируемой подсистеме.
Мур
Цитата(petrov @ Jul 8 2018, 14:26) *
В симулинке нет проблем сделать сигнал любой формы на элементарных блоках и подключить с преобразованием типов к фиксированной точке к любой синтезируемой подсистеме.

STEP - не панацея!..
Я понимаю. Когда отладка сделана, то причесывается дизайн и пускается на генерацию HDL.
alexadmin
Цитата(Мур @ Jul 8 2018, 08:58) *
Хм.. Я так пробовал. Нет подключения! Остается "висячий" вход.


Вот та картинка, что приведена выше, это скриншот из модели, без всякого фотошопа? Тогда объясняю: источник сигнала надо ставить в схеме верхнего уровня, всю синтезируемую систему оформлять подкомпонентом с портами. И источник сигнала цеплять к этим портам. Потом где-то в настройках hdl coder задается какой именно блок модели следует синтезировать.
syoma
Цитата(Мур @ Jul 8 2018, 07:58) *
Хм.. Я так пробовал. Нет подключения! Остается "висячий" вход.

Удалить из схемы "висячий вход", выбрать правую часть, нажать правую кнопку мыши и выбрать make subsystem from selection. Вход получившегося блока подключить к источнику сигнала. Для генерации кода клацнуть по subsystem правой кнопкой мыши, в меню выбрать Code Generation-> Generate HDL for subsystem
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.