Отчеты генерации кода

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 Source. На панели кода, когда вы останавливаетесь на переменной или выражении, подсказка отображает информацию о ее размере, типе и сложности. Кроме того, подсветка синтаксиса помогает вам идентифицировать элементы синтаксиса MATLAB и некоторые атрибуты генерации кода, такие как является ли функция внешней или является ли аргумент постоянным.

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

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

Постоянные аргументы

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

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

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

Переменный MATLAB

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

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

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

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

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

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

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

Тип с фиксированной точкой

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

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

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

Ограничения по отчетам

  • В сводных данных точек входа показаны отдельные элементы varargin и varargout, но таблица переменных их не показывает.

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

  • В отчете не отображается информация о мертвом коде.

Похожие темы