Обратная связь в вашем Simulink® проект может запретить балансировку задержки и оптимизацию, такую как разделение ресурсов и потоковая передача.
Чтобы найти обратную связь в вашем проекте, которая запрещает оптимизацию, можно сгенерировать и запустить MATLAB® скрипт, который подсвечивает одну или несколько обратной связи в вашей исходной модели и сгенерированной модели. Когда вы запускаете скрипт, различная обратная связь подсвечена в различных цветах. Скрипт выделения обратной связи сохранен в той же целевой папке как HDL-код.
После того, как вы генерируете код, если обратная связь запрещает оптимизацию, командное окно показывает ссылку, что можно щелкнуть, чтобы подсветить обратную связь. Если вы генерируете Отчет Оптимизации, отчет также содержит ссылку, по которой можно щелкнуть, чтобы подсветить обратную связь.
Скрипт может подсветить обратную связь, которая запрещает следующую оптимизацию:
Разделение ресурсов
Потоковая передача
Конвейеризация переменной MATLAB
Задержите балансировку
По умолчанию выделение обратной связи включено. Эта установка доступна:
В диалоговом окне Configuration Parameters, на вкладке HDL Code Generation> Global Settings> Advanced, выбирают Highlight feedback loops inhibiting delay balancing and optimizations.
Чтобы сгенерировать скрипт выделения обратной связи программно, используйте HighlightFeedbackLoops
свойство с makehdl
или hdlset_param
. Например, чтобы сгенерировать обратную связь подсвечивают скрипт для модели, myModel
, Введите:
hdlset_param ('myModel', 'HighlightFeedbackLoops', 'on');
По умолчанию HDL Coder™ генерирует скрипт, чтобы подсветить обратную связь и скрипт, чтобы очистить выделение обратной связи в вашей модели. Можно выключить выделение с помощью любого из этих путей:
Нажмите clearhighlighting
скрипт в командном окне MATLAB
В Панели инструментов Simulink выберите Debug> Trace Signal.
Выделение обратной связи не может подсветить блоки, которые имеют имена, которые содержат одинарную кавычку ('
).
В некоторых случаях выделение обратной связи может подсветить подсистему или один блок вместо блока самого низкого уровня.