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

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

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

Почему вы должны задать входные свойства

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

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

Свойства, которые нужно задать

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

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

Другие входы

  

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

  • структура

  • матрица

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

  • Легкий в использовании

  • Не изменяет оригинальный код MATLAB

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

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

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

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

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

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

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

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

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