Проверки Simulink Design Verifier

Обзор проверок Simulink Design Verifier

Эти проверки помогают вам подготовить модель к Simulink® Design Verifier™ анализ. Когда вы запускаете проверку Simulink Design Verifier, Model Advisor проверяет лицензию Simulink Design Verifier.

Для получения дополнительной информации о Model Advisor, смотрите Запуск проверок Model Advisor и Автоматизация выполнения проверки Model Advisor.

Проверяйте совместимость с Simulink Design Verifier

Проверяйте идентификатор: mathworks.sldv.compatibility

Идентифицируйте элементы, которые не поддерживаются анализом Simulink Design Verifier.

Описание

Эта проверка оценивает вашу модель на совместимость с Simulink Design Verifier.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Несовместимый

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

Частично совместимый
СовместимыйSimulink Design Verifier может анализировать вашу модель.

См. также

Обнаружение мертвой логики

Проверяйте идентификатор: mathworks.sldv.deadlogic

Идентифицируйте логику, которая остается неактивной во время симуляции.

Описание

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

Можно запустить более подробный анализ, который идентифицирует как мертвую логику, так и активную логику с помощью поиска ошибок проектирования Simulink Design Verifier. Для получения дополнительной информации смотрите Обнаружение мертвой логики, вызванной неправильным значением.

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений, а также кода, который соответствует стандартам CERT C и CWE

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. См.:

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

Мертвая логика найдена в моделиSimulink Design Verifier доказал, что эти решения и результаты условия не могут произойти и являются мертвой логикой в модели. Мертвая логика может также быть побочным эффектом заданных ограничений на параметры или заданных минимальных и максимальных ограничений на входных портах. В редких случаях мертвая логика может быть результатом приближений, выполненных Simulink Design Verifier. Вполне возможно, что есть цели, которые этот анализ не решил. Чтобы расширить результаты этого анализа, используйте поиск ошибок проектирования Simulink Design Verifier, чтобы также идентифицировать активную логику. В редакторе Simulink выберите Apps > Design Verifier > Settings. В Configuration Parameters окне на панели Design Verifier > Design Error Detection выберите как Dead logic, так и Identify active logic.
Мертвая логика не найдена в моделиSimulink Design Verifier не нашел в модели мертвой логики. Вполне возможно, что есть цели, которые этот анализ не решил. Чтобы расширить результаты этого анализа, используйте поиск ошибок проектирования Simulink Design Verifier, чтобы также идентифицировать активную логику. В редакторе Simulink выберите Apps > Design Verifier > Settings. В Configuration Parameters окне на панели Design Verifier > Design Error Detection выберите как Dead logic, так и Identify active logic.

См. также

Обнаружение несвязанного доступа к массиву

Проверяйте идентификатор: mathworks.sldv.arraybounds

Обнаруживает операции, которые получают доступ за пределами индекса массива

Описание

Эта проверка обнаруживает образцы внешнего доступа к массиву в Simulink Design Verifier.

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений, а также кода, который соответствует стандартам CERT C, CWE, ISO/IEC TS 17961.

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

Доступ за пределами связанного массива найден в модели

Чтобы просмотреть условия, которые вызывают несвязанный доступ к массиву, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение деления на нуль

Проверяйте идентификатор: mathworks.sldv.divbyzero

Обнаруживает ошибки деления на нули в вашей модели

Описание

Эта проверка идентифицирует операции в вашей модели, которые вызывают ошибки деления на нули.

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений, а также кода, который соответствует стандартам CERT C, CWE, ISO/IEC TS 17961.

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

Деление на нуль найдено в модели

Чтобы просмотреть условия, вызывающие деление на нуль, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение целочисленного переполнения

Проверяйте идентификатор: mathworks.sldv.integeroverflow

Обнаруживает целое число или ошибки переполнения данных с фиксированной точкой в вашей модели

Описание

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

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений, а также кода, который соответствует стандартам CERT C, CWE, ISO/IEC TS 17961.

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

Целочисленное переполнение найдено в модели

Чтобы просмотреть условия, которые вызывают целочисленное переполнение, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение не конечных значений и значений с плавающей точкой NaN

Проверяйте идентификатор: mathworks.sldv.infnan

Обнаруживает Нефинитные и NaN значения с плавающей точкой в вашей модели

Описание

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

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

В модели найдены нефинитные и NaN значения с плавающей точкой

Чтобы просмотреть условия, которые вызывают вхождение нефинитных и NaN значений с плавающей точкой, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение субнормальных значений с плавающей точкой

Проверяйте идентификатор: mathworks.sldv.subnormal

Обнаруживает субнормальные значения с плавающей точкой в вашей модели

Описание

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

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

В модели найдены субнормальные значения с плавающей точкой

Чтобы просмотреть условия, которые вызывают вхождение субнормальных значений с плавающей точкой, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение заданных нарушений минимального и максимального значений

Проверяйте идентификатор: mathworks.sldv.minmax

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

Описание

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

Следование рекомендациям этой проверки увеличивает вероятность генерации MISRA C:2012 совместимого кода для встраиваемых приложений, а также кода, который соответствует стандартам CERT C и CWE.

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. Посмотрите

Также см. Раздел «Несовместимость указателей с автоматическим упрямством».

Нарушение минимума и/или максимума, обнаруженных в модели

Чтобы просмотреть условия, вызывающие нарушение, создайте модель тестовой обвязки. Когда вы моделируете обвязку, входы реплицируют ошибку. Щелкните View test case в отчете Model Advisor.

См. также

Обнаружение нарушений доступа к хранилищу данных

Проверяйте идентификатор: mathworks.sldv.dsmaccessviolations

Обнаружение нарушений доступа к хранилищу данных в вашей модели.

Описание

Эта проверка обнаруживает следующие нарушения доступа к хранилищу данных:

  • Чтение-перед-записать

  • Запись после чтения

  • Запись-после-запись

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. См.:

Обнаружены нарушения доступа к хранилищу данных

В отчете Model Advisor нажмите View test case. Программа создает модель тестовой обвязки, а блок Signal Builder отображает тест, который наследует ошибку.

См. также

Обнаружение нарушений входной области значений блоков

Проверяйте идентификатор: mathworks.sldv.blockinputrangeviolations

Обнаружите нарушения входной области значений блоков в вашей модели.

Описание

Эта проверка обнаруживает нарушения входной области значений для блоков с этими настройками:

Примечание

Проверка не помечает нарушения входной области значений для блоков n-D Lookup Table, когда Interpolation method установлено на Akima spline или Cubic spline.

Результаты и рекомендуемые действия

РезультатРекомендуемое действие
Неудачно, модель несовместима

Устраните несовместимость модели. См.:

Найдены нарушения входной области значений блоков

В отчете Model Advisor нажмите View test case. Программа создает модель тестовой обвязки, а блок Signal Builder отображает тест, который наследует ошибку.

См. также

Проверяйте использование блоков Math Function (rem и обратные функции)

Проверяйте идентификатор: mathworks.sldv.hismviolationshisl_0002

Описание

Определяет использование блоков Math Function с помощью rem и reciprocal функций, которые вызывают не конечные результаты.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Модель или подсистема содержит Math Function - обратную (reciprocal) или оставшиеся (rem) блоки, которые могут привести к не конечным выходным сигналам. Не конечные сигналы не поддерживаются во встраиваемых системах в реальном времени.При использовании блока Math Function с rem или reciprocalфункциональные блоки, защитите вход в блок от того, что меньше или равен нулю.

См. также

Проверяйте использование блоков Sqrt

Проверяйте идентификатор: mathworks.sldv.hismviolationshisl_0003

Описание

Идентифицируйте Sqrt блоки с входами, которые могут быть отрицательными.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Sqrt в модели имеют входы, которые могут пойти отрицательными во время симуляции.Ремодель для защиты входов блоков Sqrt от отрицательного изменения.

См. также

Проверяйте использование блоков Math Function (журнала и log10)

Проверяйте идентификатор: mathworks.sldv.hismviolationshisl_0004

Описание

Определяет блоки Math Function, используя log и log10 функции, которые вызывают не конечные результаты.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Math в модели используют натуральный/базовый 10 логарифм (Log и Log10) блокирует и может потребовать поддержки без конечных чисел, которая не поддерживается во встраиваемых системах в реальном времени.Рассмотрите защиту входа блоков таким образом, чтобы он не был меньше или равен нулю.

См. также

Проверяйте использование Возвратных блоков Sqrt

Проверяйте идентификатор: mathworks.sldv.hismviolationshisl_0028

Описание

Идентифицирует Reciprocal Sqrt блоки с входами, которые могут быть нулевыми или отрицательными.

Результаты и рекомендуемые действия

СостояниеРекомендуемое действие
Один или несколько блоков Reciprocal Sqrt в модели имеют входы, которые могут перейти к нулю или отрицательному значению во время симуляции.Ремодель для защиты входов блоков Reciprocal Sqrt от отрицательного изменения.

См. также