Генерация кода сообщает

HDL Coder™ представляет отчет генерации кода, который помогает вам к:

  • Отладьте проблемы генерации кода и проверьте, что ваш код MATLAB® подходит для генерации кода.

  • Просмотрите сгенерированный HDL-код.

  • Смотрите, как генератор кода определяет и распространяет информацию о типе для переменных и выражений в вашем коде MATLAB.

  • Доступ к дополнительным отчетам.

Сообщите о генерации

Когда вы включаете генерацию отчета, генератор кода представляет отчет генерации кода. Чтобы управлять генерацией и открытием отчета генерации кода, используйте настройки приложения, опции codegen или свойства объектов настройки.

В приложении HDL Coder:

  1. Откройте HDL Coder Workflow Advisor.

  2. В опциях шага генерации HDL-кода, на вкладке Coding Style, под Generated Code Comments, устанавливают флажок Generate report.

В командной строке используйте опции codegen:

  • Чтобы сгенерировать отчет, используйте опцию -report.

  • Чтобы сгенерировать и открыть отчет, используйте опцию -launchreport.

Также свойства объектов настройки использования:

  • Чтобы сгенерировать отчет, установите GenerateReport на true.

  • Если вы хотите, чтобы codegen открыл отчет для вас, установите LaunchReport на true.

Сообщите о местоположении

Отчет генерации кода называют report.mldatx. Это расположено в подпапке html генерации кода выходная папка. Если у вас есть MATLAB R2018a или позже, можно открыть файл report.mldatx путем двойного клика по нему.

Ошибки и предупреждения

Просмотрите ошибку генерации кода, предупреждение и информационные сообщения на вкладке All Messages. Чтобы подсветить исходный код для ошибки или предупреждения, кликните по сообщению. Это - лучшая практика обратиться к первому сообщению, потому что последующие ошибки и предупреждения могут быть связаны с первым сообщением.

Файлы и функции

Отчет перечисляет исходные функции MATLAB и сгенерированные файлы. В панели MATLAB Source представление Function List организует функции согласно содержанию файла. Чтобы визуализировать функции согласно структуре вызова, используйте представление Call Tree.

Чтобы просмотреть функцию в панели кода отчета, кликните по функции в списке. Нажатие на функцию открывает файл, который содержит функцию. Чтобы отредактировать выбранный файл в редакторе MATLAB, нажмите Edit in MATLAB или кликните по номеру строки в панели кода.

Специализированные функции или классы

Когда функция вызвана с различными типами входных параметров, или класс использует различные типы для своих свойств, генератор кода производит специализации. В панели MATLAB Source пронумерованные функции (или классы) указывают на специализации. Например:

Источник MATLAB

Чтобы просмотреть функцию MATLAB в панели кода, кликните по функции в панели MATLAB Source. Чтобы видеть информацию о типе переменной или выражения, сделайте паузу по переменной или выражению.

В панели кода подсветка синтаксиса исходного кода MATLAB помогает вам идентифицировать элементы синтаксиса MATLAB. Подсветка синтаксиса также помогает вам идентифицировать определенные атрибуты генерации кода такой как, является ли функция внешней или является ли аргумент постоянным.

Внешние функции

В коде MATLAB отчет идентифицирует внешнюю функцию с фиолетовым текстом. Информационное окно указывает, что функция является внешней.

Аргументы константы

В коде MATLAB оранжевый текст указывает на аргумент константы времени компиляции к функции точки входа или специализированной функции. Информационное окно включает постоянное значение.

Знание значения аргументов константы помогает вам понять сгенерированные функциональные подписи. Это также помогает вам видеть когда специализации эмпирической функции генерации кода для различных значений аргумента константы.

Чтобы экспортировать значение в переменную в рабочей области, щелкнуть.

Переменные MATLAB

Вкладка Variables предоставляет информацию о переменных для выбранной функции MATLAB. Чтобы выбрать функцию, кликните по функции в панели MATLAB Source.

Таблица переменных показывает:

  • Класс, размер и сложность

  • Свойства фиксированных точек

Эта информация помогает вам отладить ошибки, такие как ошибки несоответствия типов, и понять распространение типа.

Визуальные индикаторы на вкладке переменных

Эта таблица описывает символы, значки и другие индикаторы в таблице переменных.

Столбец в таблице переменныхИндикаторОписание
ИмярасширительПеременная имеет элементы или свойства, которые вы видите путем нажатия на расширитель.
Имя{:}Неоднородный массив ячеек (все элементы имеют те же свойства),
Имя{n}энный элемент неоднородного массива ячеек
Классv > nv снова используется с различным классом, размером и сложностью. Номер n идентифицирует каждое уникальное повторное использование (повторное использование с уникальным набором свойств). Когда вы делаете паузу по переименованной переменной, отчет подсвечивает только экземпляры этой переменной, которые совместно используют класс, размер и сложность.
КлассПрефикс complexКомплексное число
Класс

Фиксированная точка

Чтобы видеть свойства фиксированной точки, кликните по значку.

Дополнительные отчеты

Вкладка Summary может иметь ссылки на эти дополнительные отчеты:

Сообщите об ограничениях

  • Сводные данные точки входа показывают отдельные элементы varagin и vargout, но таблица переменных не показывает их.

  • Отчет не показывает полную информацию для развернутых циклов. Это отображает типы данных одной произвольной итерации.

  • Отчет не показывает информацию о мертвом коде.

Похожие темы