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

Моделирование и верификация ЦОС

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 и посмотреть по себе

Указанные там результаты по нашему опыту внедрения у себя, достаточно достоверны.

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


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

13 minutes ago, syoma said:

Можно запрограммировать кастомную плату, но надо смотреть для каких ПЛИСовых фамилий Matlab способен сгенерировать System-on-Chip.

По идее вам не нужно запускать HIL именно на своей плате, а достаточно взять плату с тем же чипом на борту, но подходящую для HIL.

Понял. посмотрю Интересно. А эвалборд надо еще найти, но это детали.

А про свою плату, интересно было бы в реальном устройстве с ЦАП и АЦП поработать, пусть даже в пакетном режиме. Есть у меня некоторые идеи, но их проверка в чистом симуляторе фикция, т.к. модели того что я хочу сделать не отражают всей картины реального устройства (ну либо я не умею их готовить), вот снять бы реальные сигналы по ансамблю и посмотреть.

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


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

18 minutes ago, des00 said:

А про свою плату, интересно было бы в реальном устройстве с ЦАП и АЦП поработать, пусть даже в пакетном режиме.

Я вот этот вопрос сейчас с Mathworks и обсуждаю и мне ихние ответы пока не нравятся. HIL в их понимании это так: Matlab скармливает вашему блоку кусок данных, дергает клок блока, считывает его выходы и передает их обратно в Matlab. То есть это не исполнение реалтайме от слова вообще. Поэтому подключение внешней периферии теряет всяческий смысл. Но может я что-то не понимаю, поэтому и мучаю их.

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


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

26 минут назад, syoma сказал:

Я вот этот вопрос сейчас с Mathworks и обсуждаю и мне ихние ответы пока не нравятся. HIL в их понимании это так: Matlab скармливает вашему блоку кусок данных, дергает клок блока, считывает его выходы и передает их обратно в Matlab. То есть это не исполнение реалтайме от слова вообще. Поэтому подключение внешней периферии теряет всяческий смысл. Но может я что-то не понимаю, поэтому и мучаю их.

Matlab может работать с реал-тайм сигналами

https://www.mathworks.com/hardware-support.html?q=SDR&page=1

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


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

55 minutes ago, k2i said:

Matlab может работать с реал-тайм сигналами

https://www.mathworks.com/hardware-support.html?q=SDR&page=1

Матлаб много чего может, только это не относится к данной теме. 

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


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

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?

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


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

А как вы  собираетесь менять производительность после написания кода?

Еще до написания RTL идет дизайн архитектуры. Исходя из требуемой производительности и возможностей выбирается рабочая частота. Но также возможны специфические особенности, такие как мощность.

Если после написания пайплайна прийти к тому, что по частоте оно не проходит, то есть шанс получить огромные проблемы. Так что лучше изначально оценивать размеры колличество арифметики и размеры логики.

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


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

1 hour ago, lexx said:

А как вы  собираетесь менять производительность после написания кода?

например fanout уменьшить, что-то усечь, какую-то память в блочную перекинуть, модуль переписать, если он в тяжелом проекте разводится хуже, чем в пустом. Много вариантов.

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


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

Сначала разрабатываются те спецификации системы, которые видны потребителю. Потом, используя их, как тех. задание, все стараются сделать максимально дешевую реализацию. Наверное есть другие подходы, другие последовательности этапов, но я в них не силен.  

Этап разработки архитектуры системы, а также структурных схем блоков может начаться после того, как будет ясность с алгоритмами. Но, я так понимаю, в данной ветке речь идет о какой-то простой системе, поэтому ad-hoc архитектура будет вполне рабочим решением. 

7 hours ago, Tpeck said:

А в какой момент, на ваш взгляд, имеет смысл оптимизировать RTL по производительности, Fmax?

В процессе написания RTL или после того как будет закончена черновая версия RTL?

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


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

8 hours ago, Tpeck said:

например fanout уменьшить, что-то усечь, какую-то память в блочную перекинуть, модуль переписать, если он в тяжелом проекте разводится хуже, чем в пустом. Много вариантов.

То что вы упомянули относиться к оптимизации реализации, а не повышение производительности.

В любом случае всегда планируйте наперед, чтобы потом не остаться в тупике. Сделать можно практически всё, но иногда это очень сложно.

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


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

On 3/9/2019 at 2:26 PM, Tpeck said:

А в какой момент, на ваш взгляд, имеет смысл оптимизировать RTL по производительности, Fmax?

В процессе написания RTL или после того как будет закончена черновая версия RTL?

Мы делаем еще в Матлабе, зная какие блоки будут тяжелыми для разводки. Так можно моделировать дизайн с учетом изменений в пайплайнах и т.д. . Также Матлаб умеет делать тайминг анализ вплоть до синтеза схемы и выдавать слабые места по частотам. 

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


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

On 3/10/2019 at 3:14 AM, lexx said:

То что вы упомянули относиться к оптимизации реализации, а не повышение производительности.

 

Оптимизация реализации с целью повышения производительности. Когда тайминги не сходятся :)

Есть небольшая путаница в терминах :(

40 minutes ago, syoma said:

Мы делаем еще в Матлабе, зная какие блоки будут тяжелыми для разводки. 

С помощью Simulink и System Generator, или просто black box со своим описанием?

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


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

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.

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


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

Если речь идёт про ЦОС, то без 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.

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


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

On 2/23/2024 at 11:02 PM, kirill70674 said:

Если речь идёт про ЦОС, то без MATLAB не обойтись. И есть проверенный способ подружить MATLAB с симулятором HDL.

А есть проверенный способ подружить симулятор и GNU Octave?

Не у всех есть возможность покупки лицензии Matlab  (ограничение бюджета либо просто пет-прoжект).

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


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

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

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

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

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

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

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

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

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

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