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

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

В этом примере вы выполните поиск ошибок проектирования анализ на модели, а затем сгенерируете отчет, который показывает, какие целочисленное переполнение цели были действительными, а какие привели к ошибкам.

Шаг 1: Откройте модель

В командной строке введите:

open_system('sldvdemo_design_error_detection');

Шаг 2: Выполните Поиск ошибок проектирования анализ

Предварительно сконфигурирована модель с включенной опцией Целочисленным переполнением в диалоговом окне Параметры конфигурации на панели Design Verifier > Поиск Ошибок Проектирования.

На вкладке Design Verifier нажмите Detect Ошибки Проектирования.

Программа анализирует модель на целочисленное переполнение ошибки. После завершения анализа окно Сводных данных результатов сообщает, что пять целей действительны и две цели фальсифицированы.

Шаг 3: Обзор результатов анализа

Чтобы выделить результаты анализа на модели, в окне Сводка результатов (Results Summary) щелкните Подсветить результаты анализа на модели (Highlight analysis results on model). Действительные цели выделены зеленым цветом, а сфальсифицированные цели выделены красным цветом.

Дважды кликните Controller подсистема. Щелкните блок «Сумма», выделенный красным цветом. В окне Результатов Inspector отображаются целочисленное переполнение цели.

Чтобы просмотреть тест, которая приводит к ошибке, нажмите View теста. Откроется модель тестовой обвязки, и блок Signal Builder отобразит тест, которая приводит к ошибке.

Шаг 4: Исправьте ошибку Целочисленного переполнения

Для обоих блоков Sum, которые сгенерировали целочисленное переполнение, включите опцию Saturate on integer overflow. Также можно дважды кликнуть кнопку «Переключить насыщение при переполнении» в редакторе Simulink.

Чтобы подтвердить, что целочисленное переполнение ошибка была устраняемо, на вкладке Проекта Verifier нажатия кнопки Detect Ошибок проектирования. После завершения анализа программное обеспечение сообщает, что все цели действительны.

Похожие темы