exponenta event banner

Задание свойств входов функции точки входа

Когда задавать входные свойства

При вводе тестового стенда для алгоритма MATLAB ® нет необходимости указывать входы первичной функции вручную. Программное обеспечение HDL Coder™ использует тестовый стенд для определения типов данных.

Почему необходимо указать входные свойства

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

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

Свойства для указания

Если основная функция имеет входы, необходимо указать следующие свойства для каждого входа.

ДляУкажите свойства
 КлассРазмерСложностьnumerictypefimath
Вводы с фиксированной точкой

Прочие вводы

  

Следующие типы данных не поддерживаются для входов первичных функций, хотя их можно использовать в основной функции:

  • структура

  • матрица

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

Значения свойств по умолчанию

Кодер HDL присваивает следующие значения по умолчанию для свойств входов первичных функций.

СобственностьДефолт
классdouble
размерscalar
сложностьreal
numerictypeПо умолчанию нет
fimathhdlfimath

Поддерживаемые классы

В следующей таблице представлены имена классов, поддерживаемые кодером HDL.

Имя классаОписание
logicalЛогический массив значений true и false
charСимвольный массив
int88-битный целочисленный массив со знаком
uint88-битный беззнаковый целочисленный массив
int1616-битный целочисленный массив со знаком
uint1616-битный беззнаковый целочисленный массив
int3232-разрядный целочисленный массив со знаком
uint3232-разрядный беззнаковый целочисленный массив
singleМассив чисел с плавающей или фиксированной точкой с одинарной точностью
doubleМассив чисел с плавающей или фиксированной точкой с двойной точностью
embedded.fiМассив чисел с фиксированной точкой

Правила определения свойств первичных входных данных

При задании свойств первичных входных данных следуйте следующим правилам:

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

  • Для каждого входа первичной функции, класс которой является фиксированной точкой (fi), необходимо указать входные данные numerictype и fimath свойства.

Методы определения свойств первичных вводов

МетодПреимуществаНедостатки
   

Определение входных свойств по примеру в командной строке

Примечание

При программном определении входных свойств в файле MATLAB использовать этот метод невозможно.

  • Простота в использовании

  • Не изменяет исходный код MATLAB

  • Предназначен для прототипирования функции, имеющей несколько первичных входов

  • Необходимо указывать в командной строке при каждом вызове (если не используется сценарий)

  • Неэффективно задавать вводы с интенсивной памятью, такие как большие структуры и массивы

Программное определение входных свойств в файле MATLAB

  • Интегрирована с кодом MATLAB; нет необходимости переопределять свойства при каждом вызове кодера HDL

  • Предоставляет документацию по спецификациям свойств в коде MATLAB

  • Эффективное определение вводов с интенсивной памятью, таких как большие структуры

  • Использует сложный синтаксис

  • Файлы проекта кодера HDL в настоящее время не распознают свойства, определенные программным путем. При использовании проекта необходимо повторно ввести типы ввода в проект.