Режим моделирования Акселератора запускает следующие блоки, как будто вы запускали Режим normal mode, потому что эти блоки не генерируют код для сборки акселератора. Следовательно, если ваша модель содержит высокий процент этих блоков, Режим Accelerator не может значительно увеличить производительность. Все эти Simulink® блокируют использование интерпретированный код.
Inport (только корневой уровень)
Выходной порт (только корневой уровень)
В некоторых случаях Режим normal mode вывод не может точно совпадать с выводом от Режима Accelerator из-за незначительных различий в числовой точности между интерпретированными и скомпилированными версиями модели.
Следующие блоки могут вызвать плохую производительность времени выполнения моделирования, когда запущено в Режиме Accelerator JIT по умолчанию.
Блоки, которые не поддерживают генерацию кода (такую как SimEvents®) или блоки, которые генерируют код только для определенной цели, не могут быть моделированы в Быстром Режиме Accelerator.
Кроме того, Быстрый Режим Accelerator не работает, если ваша модель содержит какой-либо из следующих блоков:
S-функции драйвера устройства, такие как блоки от продукта Simulink Real-Time™ или тех, которые предназначаются для Freescale™ MPC555
В Режиме Accelerator JIT по умолчанию не поддержано встраивание написанных пользователем S-функций TLC. Если при запуске модель, содержащую S-функции TLC в Режиме Accelerator JIT, существует возможность сокращения скорости выполнения. Скорость генерации кода, однако, произойдет высоко из-за ускорения JIT.
Встраивание S-функций с помощью Компилятора Выходного языка увеличивает производительность с классическим Режимом Accelerator путем устранения ненужных вызовов Simulink API. По умолчанию, однако, классический Режим Accelerator игнорирует встраивание файл TLC для S-функции, даже при том, что файл существует. Быстрый Режим Accelerator всегда использует файл TLC, если вы доступны.
Блок s-function драйвера устройства, записанный, чтобы получить доступ к определенным аппаратным регистрам на плате ввода-вывода, является одним примером того, почему это поведение было выбрано в качестве значения по умолчанию. Поскольку программное обеспечение Simulink работает на хост-системе, а не цели, это не может получить доступ к целевым регистрам ввода-вывода и так перестало бы работать при попытке сделать так.
Чтобы направить классический Режим Accelerator, чтобы использовать файл TLC вместо файла MEX S-функции, задайте SS_OPTION_USE_TLC_WITH_ACCELERATOR
в функции mdlInitializeSizes
S-функции, как в этом примере:
static void mdlInitializeSizes(SimStruct *S) { /* Code deleted */ ssSetOptions(S, SS_OPTION_USE_TLC_WITH_ACCELERATOR); }
Быстрый Режим Accelerator использует файл MEX, если файл S-функции C не будет присутствовать в той же папке.
чтобы использовать.c или .cpp код для вашей S-функции, гарантируйте, что они находятся в той же папке как файл MEX S-функции, в противном случае, можно включать дополнительные файлы в S-функцию или обойти ограничение пути при помощи rtwmakecfg.m файла. Для получения дополнительной информации смотрите Использование rtwmakecfg.m API, чтобы Настроить Сгенерированные Make-файлы (Simulink Coder).
Режим Accelerator поддерживает сигналы фиксированной точки и векторы до 128 битов.
Быстрый Режим Accelerator поддерживает параметры фиксированной точки до 128 битов.
Быстрый Режим Accelerator поддерживает корневых входных до 32 битов фиксированной точки
Быстрый Режим Accelerator поддерживает корневые входные параметры Перечислимого типа данных
Быстрый Режим Accelerator не поддерживает данные фиксированной точки для блока From Workspace.
Быстрый Режим Accelerator игнорирует выбор данных фиксированной точки Журнала как флажок (FixptAsFi) объекта fi для блока To Workspace.
Быстрый Режим Accelerator поддерживает объекты шины как параметры.
Режим Accelerator и Быстрый Режим Accelerator хранят целые числа максимально сжато.
Фиксированная точка Designer™ не собирает min, макс., или переполняет данных в Акселераторе или Быстрых Режимах Accelerator.
Режим Accelerator поддерживает ограниченный набор диагностики во время выполнения, включая блок утверждения.
Быстрый Режим Accelerator поддерживает ограниченный набор диагностики во время выполнения, включая блок утверждения.
Выполнение моделирования из командной строки или меню определяет поведение осциллографов и средств просмотра в Быстром Режиме Accelerator.
Осциллограф или тип средства просмотра | Моделирование, запущенное из меню | Моделирование, запущенное из командной строки |
---|---|---|
Блоки Осциллографа Simulink | Та же поддержка как Режим normal mode |
|
Осциллографы средства просмотра сигнала Simulink | Графика обновляется, но журналирование не поддержано | Не поддерживаемый |
Другие осциллографы средства просмотра сигнала | Поддержка, ограниченная этим доступным в Режиме external mode | Не поддерживаемый |
Журналирование сигнала | Поддерживаемый, с ограничениями, перечисленными в Сигнале, Входящем в систему Быстрый Режим Accelerator | Поддерживаемый, с ограничениями, перечисленными в Сигнале, Входящем в систему Быстрый Режим Accelerator. |
Средства просмотра сигнала мультиуровня | Не поддерживаемый | Не поддерживаемый |
Блоки Графика Stateflow® | Та же поддержка анимации графика как Режим normal mode | Не поддерживаемый |
Быстрый Режим Accelerator не поддерживает средства просмотра сигнала мультиуровня, такие как Система DSP осциллограф спектра Toolbox™ или Коммуникации Toolbox™ scatterplot, траектория сигнала или осциллографы индикаторной диаграммы.
Несмотря на то, что осциллографы и средства просмотра не обновляют, когда вы запускаете Быстрый Режим Accelerator из командной строки, они действительно обновляют, когда вы запускаете модель из меню. Запуститесь Ускоряющий Режим от Пользовательского интерфейса показывает, как запустить Быстрый Режим Accelerator из меню. Взаимодействуйте с Ускоряющими Режимами, Программно показывает, как запустить моделирование из командной строки.
Вы не можете использовать Акселератор или Быстрый Режим Accelerator если ваша модель:
Параметры массива передач к S-функциям MATLAB®, которые не являются числовыми, логическими, или символьные массивы, являются разреженными массивами, или которые имеют больше чем две размерности.
Использование блоки Fcn, содержащие тригонометрические функции, имеющие комплексные входные параметры.
В некоторых случаях изменения, сопоставленные с внешним или пользовательским кодом, не заставляют Акселератор или Быстрые результаты симуляции Акселератора изменяться. Они включают:
Код TLC
Исходный код S-функции, включая rtwmakecfg.m файлы
Интегрированный пользовательский код
Разработчик S-функции
В таких случаях рассмотрите регенерацию силы кода для топ-модели. Также можно обеспечить регенерацию кода топ-модели путем удаления папок генерации кода, таких как slprj или сгенерированная образцовая папка кода.
С ускорением JIT ускоряющий целевой код находится в памяти. Это поэтому доступно для повторного использования, пока модель открыта, даже если вы удаляете папку slprj
.
Быстрый Режим Accelerator не поддерживает:
Алгебраические циклы.
Цели написаны в C++.
Невстроенные S-функции языка MATLAB или Фортрана. Необходимо написать S-функции в C или встроить их использующий Компилятор выходного языка (TLC), или можно также использовать файл MEX. Для получения дополнительной информации смотрите Запись Полностью Встроенные S-функции (Simulink Coder).
Отладчик или профилировщик.
Время выполнения возражает для Simulink. RunTimeBlock и Simulink. Блоки BlockCompOutputPortData.
Параметры модели должны быть одним из этих типов данных:
boolean
uint8
или int8
uint16
или int16
uint32
или int32
single
или double
Фиксированная точка
Перечислимый
Вы не можете приостановить моделирование в Быстром Режиме Accelerator.
Если Быстрая сборка Акселератора включает модели, на которые ссылаются (при помощи Блоков модели), настройте эти модели, чтобы использовать решатели фиксированного шага, чтобы сгенерировать код для них. Топ-модель, однако, может использовать решатель переменного шага, пока блоки в моделях, на которые ссылаются, дискретны.
В определенных случаях, изменяя блочные параметры может привести к структурным изменениям к вашей модели, которые изменяют образцовую контрольную сумму. Пример такого изменения изменяет количество задержек моделирования DSP. В этих случаях необходимо регенерировать код для модели. Смотрите Регенерацию Кода в Ускоренных Моделях для получения дополнительной информации.
Для корневого импорта Быстрый Режим Accelerator поддерживает только основу как Srcworkspace
.
Для корневого импорта, когда вы задаете минимальные и максимальные значения, которые должен вывести блок, Быстрый Режим Accelerator не распознает эти пределы во время моделирования.
В Быстром Режиме Accelerator, К Файлу или К блокам Рабочей области в подсистемах вызова функций не генерируют файлов журналирования, если порт вызова функции соединяется с Землей или несвязанный.
Определенные слова резервируются для использования кодовым языком Simulink Coder™ и Режимом Accelerator и Быстрым Режимом Accelerator. Эти ключевые слова не должны появляться как функция или имена переменных на подсистеме, или как экспортируемые глобальные имена сигнала. Используя результаты зарезервированных слов в программном обеспечении Simulink, сообщая об ошибке и модели не может быть скомпилирован или запущен.
Ключевые слова, зарезервированные для продукта Simulink Coder, перечислены в Конструкции Сгенерированных Идентификаторов (Simulink Coder). Дополнительные ключевые слова, которые применяются только к Акселератору и Быстрым режимам Accelerator:
muDoubleScalarAbs | muDoubleScalarCos | muDoubleScalarMod |
muDoubleScalarAcos | muDoubleScalarCosh | muDoubleScalarPower |
muDoubleScalarAcosh | muDoubleScalarExp | muDoubleScalarRound |
muDoubleScalarAsin | muDoubleScalarFloor | muDoubleScalarSign |
muDoubleScalarAsinh | muDoubleScalarHypot | muDoubleScalarSin |
muDoubleScalarAtan, | muDoubleScalarLog | muDoubleScalarSinh |
muDoubleScalarAtan2 | muDoubleScalarLog10 | muDoubleScalarSqrt |
muDoubleScalarAtanh | muDoubleScalarMax | muDoubleScalarTan |
muDoubleScalarCeil | muDoubleScalarMin | muDoubleScalarTanh |