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

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

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

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

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

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

Свойства задать

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

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

Другие входные параметры

  

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

  • структура

  • матрица

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

  • Использование объединяет синтаксис

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