Генерация кода

hisl_0051: Параметры конфигурации> Генерация кода> Оптимизация> порог Развертывания цикла

ID: Заголовокhisl_0051: Параметры конфигурации> Генерация кода> Оптимизация> порог Развертывания цикла
Описание

Установить минимальный сигнал или ширину параметра для генерации for цикл, параметр конфигурации набора Loop unrolling threshold к 2 или больше.

Примечания

Loop unrolling threshold задает размер массивов, в котором генератор кода начинает использовать for цикл, вместо отдельных операторов присваивания, чтобы присвоить значения элементам или массива параметров сигнала. Значением по умолчанию является 5.

ОбъяснениеПоддержите однозначный сгенерированный код.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for Loop unrolling threshold

Для получения дополнительной информации проверки смотрите Проверку связанный с безопасностью цикл for настроек оптимизации, разворачивающий порог (Simulink Check).

Ссылки
  • Раздел DO-331 MB.6.3.4.e — Исходный код прослеживаем к низкоуровневым требованиям.

    IEC 61508-3, таблица A.3 (3) 'языковое подмножество'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) 'Использование языковых подмножеств'
    ISO 26262-6, Таблица 1 (1d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

  • MISRA C:2012, правило 6.1

Смотрите также

Порог развертывания цикла (Simulink Coder) в документации Simulink®

В последний раз измененныйR2018a

hisl_0052: Параметры конфигурации> Генерация кода> Оптимизация> инициализация Данных

ID: Заголовокhisl_0052: Параметры конфигурации> Генерация кода> Оптимизация> инициализация Данных
Описание

Чтобы поддержать полное определение данных и инициализировать внутренние и внешние данные, чтобы обнулить, очистите эти параметры конфигурации:

ARemove root level I/O zero initialization.
BRemove internal data zero initialization.
Примечание

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

Эти параметры конфигурации применимы только, когда Системный конечный файл является основанной на ERT целью.

ОбъяснениеA, B Поддержка полностью задала данные в сгенерированном коде.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for data initialization

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки оптимизации для инициализации данных (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.3.b 'Программная архитектура сопоставим’

  • IEC 61508-3, таблица A.4 (3) 'безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.3 (1) 'безопасное программирование'

Смотрите также

Информация о следующих параметрах в документации Simulink:

В последний раз измененныйR2018b

hisl_0053: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений

ID: Заголовокhisl_0053: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений
Описание

Чтобы поддержать верифицируемый код, выберите параметр конфигурации Remove code from floating-point to integer conversions that wraps out-of-range values

Примечания

Избегайте переполнения в противоположность обработке их с кодом обертки.

Для блоков, параметр конфигурации Saturate on integer overflow которых очищен, отменив выбор Remove code from floating-point to integer conversions that wraps out-of-range values, может добавить код, который переносится из значений области значений, приводящих к недостижимому коду, который не может быть протестирован.

ОбъяснениеПоддержите генерацию кода, который может быть проверен.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for data type conversions

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки оптимизации для преобразований типа данных (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.1.g 'Алгоритмы точен’
    DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен’

  • IEC 61508-3, таблица A.4 (3) 'безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.3 (1) 'безопасное программирование'

  • MISRA C:2012, правило 2.1

Смотрите такжеУдалите код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений (Simulink Coder) в документацию Simulink
В последний раз измененныйR2018b

hisl_0054: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код, который защищает от арифметических исключений деления

ID: Заголовокhisl_0054: Параметры конфигурации> Генерация кода> Оптимизация> Удаляет код, который защищает от арифметических исключений деления
Описание

Чтобы поддержать робастность операций, очистите параметр конфигурации Remove code that protects against division arithmetic exceptions.

Примечание

Избегайте исключений деления на нуль. Если вы очищаете Remove code that protects against division arithmetic exceptions, генератор кода производит код, который принимает меры против деления на нуль для данных фиксированной точки.

Этот параметр конфигурации применим только, когда Системный конечный файл является основанной на ERT целью.

ОбъяснениеЗащитите от исключений деления на нуль для фиксированной точки.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for division arithmetic exceptions

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки оптимизации для арифметических исключений деления (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.1.g 'Алгоритмы точен’
    DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен’

  • IEC 61508-3, таблица A.3 (3) 'языковое подмножество'
    IEC 61508-3 таблицы A.4 (3) 'безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (b) 'Использование языковых подмножеств'
    ISO 26262-6, Таблица 1 (d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'
    EN 50128, таблица A.3 (1) 'безопасное программирование'

  • MISRA C:2012, Dir 4.1

Смотрите такжеУдалите код, который защищает от арифметических исключений деления (Embedded Coder) в документации Simulink
В последний раз измененныйR2018b

hisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование заданных минимальных и максимальных значений

ID: Заголовокhisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование заданных минимальных и максимальных значений
ОписаниеЧтобы поддержать верифицируемый код, очистите параметр конфигурации Optimize using the specified minimum and maximum values.
ПримечанияВыбор Optimize using the specified minimum and maximum values может привести к требованиям без связанного кода и нарушает цели трассируемости.
ОбъяснениеПоддержите трассируемость между типовым кодексом и сгенерированным кодом.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related optimization settings for specified minimum and maximum values

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related optimization settings for specified minimum and maximum values

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related optimization settings for specified minimum and maximum values

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related optimization settings for specified minimum and maximum values

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related optimization settings for specified minimum and maximum values

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки оптимизации для заданных минимальных и максимальных значений (Simulink Check)

Ссылки
  • Раздел DO-331 MB.MB.6.3.4.e 'Исходный код прослеживаем к низкоуровневым требованиям’'

  • IEC 61508-3, таблица A.4 (3) 'безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1d) 'Использование защитных методов реализации

  • EN 50128, таблица A.3 (1) 'безопасное программирование'

Смотрите также
В последний раз измененныйR2018b

hisl_0038: Параметры конфигурации> Генерация кода> Комментарии

ID: Заголовокhisl_0038: Параметры конфигурации> Генерация кода> Комментарии
Описание

В диалоговом окне Configuration Parameters, на панели Code Generation > Comments, выбирают эти параметры:

A

Include comments.

B

Simulink block comments.

C

Show eliminated blocks.

D

Verbose comments for 'Model default' storage class.

E

Requirements in block comments.

ОбъяснениеA

Включая комментарии обеспечивает хорошую трассируемость между кодом и моделью.

B

Включая комментарии, которые описывают код для блоков, обеспечивает хорошую трассируемость между кодом и моделью.

C

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

D

Включая имена переменных параметра и исходных блоков как комментарии в описании структуры параметра модели в model_prm.h обеспечивает хорошую трассируемость между кодом и моделью.

E

Включая описания требования, присвоенные блокам Simulink как комментарии, обеспечивает хорошую трассируемость между кодом и моделью.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation settings for comments

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки генерации кода для комментариев (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.4.e 'Исходный код прослеживаем к низкоуровневым требованиям

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1e) 'Использование хорошо доверяемых принципов разработки

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

В последний раз измененныйR2017b

hisl_0039: Параметры конфигурации> Генерация кода> Интерфейс

ID: Заголовокhisl_0039: Параметры конфигурации> Генерация кода> Интерфейс
Описание

Для моделей, используемых, чтобы разработать системы высокой целостности, в диалоговом окне Configuration Parameters, на панели Code Generation > Interface, устанавливают Software environment, Code interface и параметры Data exchange interface можно следующим образом:

A

Очистите Support: non-finite numbers.

B

Очистите Support: absolute time.

C

Очистите Support: continuous time.

D

Очистите Support: non-inlined S-functions.

E

Очистите Classic call interface.

F

Выберите Single output / update function.

G

Очистите Terminate function required.

H

Выберите Remove error status field in real-time model data structure.

I

Очистите MAT-file logging.

ОбъяснениеA

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

B

Поддержка в течение абсолютного времени не рекомендуется для связанных с безопасностью систем в реальном времени.

C

Поддержка в течение непрерывного времени не рекомендуется для связанных с безопасностью систем в реальном времени.

D

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

E

Устранить вызовы функции модели, совместимые с основным программным модулем pre-2012a цели GRT, которая не рекомендуется для связанных с безопасностью систем в реальном времени; используйте ERT базирующаяся цель вместо этого.

F

Упростить интерфейс до операционной системы реального времени (RTOS) и упростить верификацию сгенерированного кода путем создания одного вызова обоих функции выхода и обновления.

G

Устранить model_terminate функция, которая не рекомендуется для связанных с безопасностью систем в реальном времени.

H

Устранить дополнительный код для логгирования и контроля ошибочного состояния, которое не может быть достижимо для тестирования.

I

Устранить дополнительный код для логгирования тестовых точек к файлу MAT, который не поддержан целевыми процессорами.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation interface settings

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки интерфейса генерации кода (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.1.c 'Требования высокого уровня совместим с целевым компьютером’
    DO-331, Раздел MB.6.3.2.c ‘Низкоуровневые требования совместим с целевым компьютером

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) 'Использование языковых подмножеств'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

В последний раз измененныйR2018b

hisl_0047: Параметры конфигурации> Генерация кода> Стиль кода

ID: Заголовокhisl_0047: Параметры конфигурации> Генерация кода> Стиль кода
Описание

В диалоговом окне Configuration Parameters, на панели Code Generation > Code Style, устанавливает эти параметры:

A

Установите Parenthesis level на Maximum (Specify precedence with parentheses).

B

Выберите Preserve operand order in expression.

ОбъяснениеA

Предотвратить неожиданные результаты.

B

Улучшить трассируемость сгенерированного кода.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation settings for code style

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки генерации кода для стиля кода (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.1.c 'Требования высокого уровня совместим с целевым компьютером’
    DO-331, Раздел MB.6.3.2.c ‘Низкоуровневые требования совместим с целевым компьютером
    DO-331, Раздел MB.6.3.4.e ‘Исходный код прослеживаем к низкоуровневым требованиям

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) 'Использование языковых подмножеств'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

  • MISRA C:2012, правило 12.1

В последний раз измененныйR2019b

hisl_0049: Параметры конфигурации> Генерация кода> Идентификаторы

ID: Заголовокhisl_0049: Параметры конфигурации> Генерация кода> Идентификаторы
ОписаниеМинимизировать вероятность, что параметр и имена сигнала изменятся во время генерации кода, когда модель изменится, параметр конфигурации набора Minimum mangle length к 4 или больше.
Объяснение

Уменьшите усилие выполнить рассмотрение кода.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Configuration> Check safety-related code generation identifier settings

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Configuration> Check safety-related code generation identifier settings

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Configuration> Check safety-related code generation identifier settings

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Configuration> Check safety-related code generation identifier settings

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Configuration> Check safety-related code generation identifier settings

Для получения дополнительной информации проверки смотрите Проверку связанные с безопасностью настройки идентификатора генерации кода (Simulink Check).

Ссылки
  • DO-331, Раздел MB.6.3.4.e ‘Исходный код прослеживаем к низкоуровневым требованиям

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) 'Использование языковых подмножеств'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'

В последний раз измененныйR2019a