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

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

  1. На вкладке Design Verifier, в разделе Mode, выберите Design Error Detection.

  2. Нажмите Error Detection Settings.

  3. В диалоговом окне Параметров конфигурации на Design Error Detection панели:

    1. Установите флажок для значений Non-finite и NaN с плавающей точкой.

    2. Установите флажок «Субнормальные значения с плавающей точкой».

    3. Чтобы применить эти настройки, нажмите OK и закройте диалоговое окно Параметров конфигурации.

  4. Нажмите Detect Design Errors.

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

После завершения анализа:

  • Программа подсвечивает модель с результатами анализа.

  • В окнах Сводка результатов (Results Summary) отображаются сводные данные анализа.

Допущения и ограничения

Когда вы анализируете модель и выбираете Non-конечные и NaN значения с плавающей точкой, программа принимает, что значения входа с плавающей точкой и настраиваемым параметром значения конечны.

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

Модели, которые используют сигналы с плавающей точностью с двойной точностью, занимают больше времени, чем аналогичные модели, которые используют сигналы с плавающей точностью с одной точностью. В результате модели, которые используют сигналы с плавающей точностью с двойной точностью, могут тайм-аутом, в то время как аналогичные модели, которые используют сигналы с плавающей точностью с одной точностью, завершают свой анализ. Чтобы улучшить эффективность анализа, рассмотрите определение минимальных и максимальных значений, которые имитируют ограничения окружающей среды на блоках Inport корневого уровня.

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

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

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

1. Откройте модель

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

open_system('sldvexFloatingPointErrorChecks');

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

Модель предварительно сконфигурирована с Non-конечными и NaN значениями с плавающей точкой и опциями Субнормальных значений с плавающей точкой, установленными на On. Дополнительные сведения см. в разделе Панель Design Verifier: Поиск ошибок проектирования.

Чтобы выполнить анализ поиска ошибок проектирования, на вкладке Design Verifier, в разделе Mode, выберите Поиск Ошибок Проектирования. Щелкните Обнаружить ошибки проекта (Detect Ошибки Проектирования).

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

3. Просмотр результатов анализа

A. Нажмите Highlight analysis results on model. Блоки модели, которые приводят к ошибкам с плавающей точкой, подсвечиваются красным цветом.

б. Щелкните на блоке Add, выделенном красным цветом. Result Inspector отображает сводные данные целей ошибок с плавающей точкой.

c. Щелкните блок Division, выделенный красным цветом. Result Inspector отображает сводные данные целей ошибок с плавающей точкой.

4. Просмотр Детального анализа отчета

Чтобы просмотреть детальный анализ отчет, в окне Сводных данных результатов щелкните HTML. Отчет отображает сводные данные всех вхождений ошибок с плавающей точкой в модели.

5. Очистка

Чтобы завершить этот пример, закройте модель.

close_system('sldvexFloatingPointErrorChecks', 0);

Похожие темы