syoma 1 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба 38 minutes ago, des00 said: Этот HIL он же только на определенных eval board работает? Или на любой ПЛИС, подключив к ней PHY, будет сгенерирована прошивка со всей Ethernet кухней внутри? Можно запрограммировать кастомную плату, но надо смотреть для каких ПЛИСовых фамилий Matlab способен сгенерировать System-on-Chip. По идее вам не нужно запускать HIL именно на своей плате, а достаточно взять плату с тем же чипом на борту, но подходящую для HIL. Еще не в курсе, но помню, что для некоторых ПЛИС возможно использование JTAG интерфейса - там была такая опция. Не в курсе насколько оно будет медленне, чем через Eth, но тогда на плате ничего вообще не нужно. А вообще ТСу стоит почитать всякие White papers: https://www.mathworks.com/company/user_stories/harris-accelerates-verification-of-signal-processing-fpgas.html и посмотреть по себе Указанные там результаты по нашему опыту внедрения у себя, достаточно достоверны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба 13 minutes ago, syoma said: Можно запрограммировать кастомную плату, но надо смотреть для каких ПЛИСовых фамилий Matlab способен сгенерировать System-on-Chip. По идее вам не нужно запускать HIL именно на своей плате, а достаточно взять плату с тем же чипом на борту, но подходящую для HIL. Понял. посмотрю Интересно. А эвалборд надо еще найти, но это детали. А про свою плату, интересно было бы в реальном устройстве с ЦАП и АЦП поработать, пусть даже в пакетном режиме. Есть у меня некоторые идеи, но их проверка в чистом симуляторе фикция, т.к. модели того что я хочу сделать не отражают всей картины реального устройства (ну либо я не умею их готовить), вот снять бы реальные сигналы по ансамблю и посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба 18 minutes ago, des00 said: А про свою плату, интересно было бы в реальном устройстве с ЦАП и АЦП поработать, пусть даже в пакетном режиме. Я вот этот вопрос сейчас с Mathworks и обсуждаю и мне ихние ответы пока не нравятся. HIL в их понимании это так: Matlab скармливает вашему блоку кусок данных, дергает клок блока, считывает его выходы и передает их обратно в Matlab. То есть это не исполнение реалтайме от слова вообще. Поэтому подключение внешней периферии теряет всяческий смысл. Но может я что-то не понимаю, поэтому и мучаю их. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k2i 0 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба 26 минут назад, syoma сказал: Я вот этот вопрос сейчас с Mathworks и обсуждаю и мне ихние ответы пока не нравятся. HIL в их понимании это так: Matlab скармливает вашему блоку кусок данных, дергает клок блока, считывает его выходы и передает их обратно в Matlab. То есть это не исполнение реалтайме от слова вообще. Поэтому подключение внешней периферии теряет всяческий смысл. Но может я что-то не понимаю, поэтому и мучаю их. Matlab может работать с реал-тайм сигналами https://www.mathworks.com/hardware-support.html?q=SDR&page=1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 7 марта, 2019 Опубликовано 7 марта, 2019 · Жалоба 55 minutes ago, k2i said: Matlab может работать с реал-тайм сигналами https://www.mathworks.com/hardware-support.html?q=SDR&page=1 Матлаб много чего может, только это не относится к данной теме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 9 марта, 2019 Опубликовано 9 марта, 2019 · Жалоба On 3/6/2019 at 11:51 PM, Fat Robot said: Итоговая последовательность этапов разработки: - Алгоритмы и детальное исследование отдельных блоков: matlab/simulink/etc. - Система в целом, end-to-end performance, fxp, test dumps: c/c++ - RTL А в какой момент, на ваш взгляд, имеет смысл оптимизировать RTL по производительности, Fmax? В процессе написания RTL или после того как будет закончена черновая версия RTL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 9 марта, 2019 Опубликовано 9 марта, 2019 · Жалоба А как вы собираетесь менять производительность после написания кода? Еще до написания RTL идет дизайн архитектуры. Исходя из требуемой производительности и возможностей выбирается рабочая частота. Но также возможны специфические особенности, такие как мощность. Если после написания пайплайна прийти к тому, что по частоте оно не проходит, то есть шанс получить огромные проблемы. Так что лучше изначально оценивать размеры колличество арифметики и размеры логики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 9 марта, 2019 Опубликовано 9 марта, 2019 · Жалоба 1 hour ago, lexx said: А как вы собираетесь менять производительность после написания кода? например fanout уменьшить, что-то усечь, какую-то память в блочную перекинуть, модуль переписать, если он в тяжелом проекте разводится хуже, чем в пустом. Много вариантов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 9 марта, 2019 Опубликовано 9 марта, 2019 · Жалоба Сначала разрабатываются те спецификации системы, которые видны потребителю. Потом, используя их, как тех. задание, все стараются сделать максимально дешевую реализацию. Наверное есть другие подходы, другие последовательности этапов, но я в них не силен. Этап разработки архитектуры системы, а также структурных схем блоков может начаться после того, как будет ясность с алгоритмами. Но, я так понимаю, в данной ветке речь идет о какой-то простой системе, поэтому ad-hoc архитектура будет вполне рабочим решением. 7 hours ago, Tpeck said: А в какой момент, на ваш взгляд, имеет смысл оптимизировать RTL по производительности, Fmax? В процессе написания RTL или после того как будет закончена черновая версия RTL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexx 0 10 марта, 2019 Опубликовано 10 марта, 2019 · Жалоба 8 hours ago, Tpeck said: например fanout уменьшить, что-то усечь, какую-то память в блочную перекинуть, модуль переписать, если он в тяжелом проекте разводится хуже, чем в пустом. Много вариантов. То что вы упомянули относиться к оптимизации реализации, а не повышение производительности. В любом случае всегда планируйте наперед, чтобы потом не остаться в тупике. Сделать можно практически всё, но иногда это очень сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 11 марта, 2019 Опубликовано 11 марта, 2019 · Жалоба On 3/9/2019 at 2:26 PM, Tpeck said: А в какой момент, на ваш взгляд, имеет смысл оптимизировать RTL по производительности, Fmax? В процессе написания RTL или после того как будет закончена черновая версия RTL? Мы делаем еще в Матлабе, зная какие блоки будут тяжелыми для разводки. Так можно моделировать дизайн с учетом изменений в пайплайнах и т.д. . Также Матлаб умеет делать тайминг анализ вплоть до синтеза схемы и выдавать слабые места по частотам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 11 марта, 2019 Опубликовано 11 марта, 2019 · Жалоба On 3/10/2019 at 3:14 AM, lexx said: То что вы упомянули относиться к оптимизации реализации, а не повышение производительности. Оптимизация реализации с целью повышения производительности. Когда тайминги не сходятся :) Есть небольшая путаница в терминах :( 40 minutes ago, syoma said: Мы делаем еще в Матлабе, зная какие блоки будут тяжелыми для разводки. С помощью Simulink и System Generator, или просто black box со своим описанием? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 11 марта, 2019 Опубликовано 11 марта, 2019 · Жалоба 1 hour ago, Tpeck said: С помощью Simulink и System Generator, С помощью Simulink + HDL Coder или Simulink + System Generator - оба делают примерно одно и тоже. 1 hour ago, Tpeck said: или просто black box со своим описанием? Black Box мы используем только в очень редких случаях, когда это очень legacy код. Иначе стараемся переделать все в Simulink. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kirill70674 5 23 февраля Опубликовано 23 февраля · Жалоба Если речь идёт про ЦОС, то без MATLAB не обойтись. И есть проверенный способ подружить MATLAB с симулятором HDL. Это DPI. 1) MATLAB предоставляет API для C++. См. https://www.mathworks.com/help/matlab/matlab_external/matlab-engine-api-for-c.html. Т.е. управляешь консолью, читаешь/пишешь переменные в MATLAB из C++. 2) После определения некоторых функций для работы с API MATLAB создаёшь DPI-C библиотеку для вызова этих функций из SystemVerilog. 3) И вот у Вас уже есть возможность синхронизировать модель RTL и модель MATLAB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 27 февраля Опубликовано 27 февраля · Жалоба On 2/23/2024 at 11:02 PM, kirill70674 said: Если речь идёт про ЦОС, то без MATLAB не обойтись. И есть проверенный способ подружить MATLAB с симулятором HDL. А есть проверенный способ подружить симулятор и GNU Octave? Не у всех есть возможность покупки лицензии Matlab (ограничение бюджета либо просто пет-прoжект). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться