При вводе тестового стенда для алгоритма MATLAB ® нет необходимости указывать входы первичной функции вручную. Программное обеспечение HDL Coder™ использует тестовый стенд для определения типов данных.
Кодер HDL должен определять свойства всех переменных в файлах MATLAB во время компиляции. Чтобы определить переменные свойства в файлах MATLAB, кодер HDL должен быть способен идентифицировать свойства входов в основную функцию, также известную как функция верхнего уровня или начального уровня. Поэтому, если основная функция имеет входы, необходимо указать свойства этих входов для кодера HDL. Если основная функция не имеет входных параметров, кодер HDL может компилировать файл MATLAB без изменений. Нет необходимости задавать свойства входов для локальных функций или внешних функций, вызываемых основной функцией.
Если для указания неиспользуемых входных данных функций в проекте кодера HDL используется символ тильды (~) и требуется, чтобы в создаваемом коде отображался другой тип, укажите тип. В противном случае входные значения по умолчанию становятся вещественными, скалярными и удваиваются.
Если основная функция имеет входы, необходимо указать следующие свойства для каждого входа.
| Для | Укажите свойства | ||||
|---|---|---|---|---|---|
| Класс | Размер | Сложность | numerictype | fimath | |
| Вводы с фиксированной точкой |
|
|
|
|
|
| Прочие вводы |
|
|
| ||
Следующие типы данных не поддерживаются для входов первичных функций, хотя их можно использовать в основной функции:
структура
матрица
Данные переменного размера не поддерживаются в тестовом стенде или основной функции.
Кодер HDL присваивает следующие значения по умолчанию для свойств входов первичных функций.
| Собственность | Дефолт |
|---|---|
| класс | double |
| размер | scalar |
| сложность | real |
numerictype | По умолчанию нет |
fimath | hdlfimath |
В следующей таблице представлены имена классов, поддерживаемые кодером HDL.
| Имя класса | Описание |
|---|---|
logical | Логический массив значений true и false |
char | Символьный массив |
int8 | 8-битный целочисленный массив со знаком |
uint8 | 8-битный беззнаковый целочисленный массив |
int16 | 16-битный целочисленный массив со знаком |
uint16 | 16-битный беззнаковый целочисленный массив |
int32 | 32-разрядный целочисленный массив со знаком |
uint32 | 32-разрядный беззнаковый целочисленный массив |
single | Массив чисел с плавающей или фиксированной точкой с одинарной точностью |
double | Массив чисел с плавающей или фиксированной точкой с двойной точностью |
embedded.fi | Массив чисел с фиксированной точкой |
При задании свойств первичных входных данных следуйте следующим правилам:
Необходимо указать класс всех первичных входов. Если размер или сложность первичных входных данных не указаны, по умолчанию используются вещественные скаляры.
Для каждого входа первичной функции, класс которой является фиксированной точкой (fi), необходимо указать входные данные numerictype и fimath свойства.
| Метод | Преимущества | Недостатки |
|---|---|---|
Определение входных свойств по примеру в командной строке Примечание При программном определении входных свойств в файле MATLAB использовать этот метод невозможно. |
|
|
|
|