Важный набор сгенерированных функций, что места сборки модели в разделяемой служебной папке являются функциями поддержки фиксированной точки. На основе модели и свойств блока, существует много возможных версий сервисных функций фиксированной точки, которые делают невозможным обеспечить полный набор как статические файлы. Генерация только необходимых служебных функций фиксированной точки во время процесса генерации кода является эффективной альтернативой.
Разделяемый служебный механизм контрольной суммы убеждается, что несколько критических свойств идентичны для моделей, которые используют разделяемые утилиты. Для функций фиксированной точки существуют дополнительные свойства, которые определяют функциональное поведение. Механизм кодирует эти свойства в функции и имена файлов, чтобы поддержать требования. Дополнительные свойства включают:
Категория | Функция/Свойство |
---|---|
Блокируйте свойства |
|
Образцовые свойства | get_param(bdroot, 'NoFixptDivByZeroProtection') |
Основанное на свойстве соглашение о присвоении имен для утилит фиксированной точки следующие:
operation + [zero protection] + output data type + output bits + [input1 data] + input1 bits + [input2 data type + input2 bits] + [shift direction] + [saturate mode] + [round mode]
Показанные имена файлов являются примерами сгенерированных сервисных файлов фиксированной точки. Функциональные или макро-имена в файле идентичны имени файла без расширения.
FIX2FIX_U12_U16.c FIX2FIX_S9_S9_SR99.c ACCUM_POS_S30_S30.h MUL_S30_S30_S16.h div_nzp_s16s32_floor.c div_s32_sat_floor.c
Для этих примеров таблица показывает, как соответствующие поля соответствуют.
Пример ACCUM_POS
использует выходную переменную в качестве одной из входных переменных. Так, файл и макрос называют, только содержат вывод и второй вход.
Второй пример div
имеет идентичный тип данных и биты для обоих входных параметров и вывода. Так, имя файла и имя функции только включают вывод.
Операция | FIX2FIX | FIX2FIX | ACCUM_POS | MUL | отделение | отделение |
---|---|---|---|---|---|---|
Нулевая защита | NULL | NULL | NULL | NULL | _nzp | NULL |
Тип выходных данных | _U | _S | _S | _S | _s | _s |
Выведите биты | 12 | 9 | 30 | 30 | 16 | 32 |
Тип входных данных | _U | _S | _S | _S [and _S] | s | NULL |
Введите биты | 16 | 9 | 30 | 30 [and 16] | 32 | NULL |
Переключите направление | NULL | SR99 | NULL | NULL | NULL | NULL |
Режим Saturate | NULL | NULL | NULL | NULL | NULL | _sat |
Круглый режим | NULL | NULL | NULL | NULL | _floor | _floor |