Некоторые объекты Simulink ® могут иметь любой тип покрытия модели. Другие объекты Simulink могут получать только определенные типы покрытия, как показано в следующей таблице. Щелкните ссылку в первом столбце, чтобы получить более подробную информацию об охвате для определенных объектов модели.
Все объекты Simulink могут получать покрытие Execution, за исключением блоков, которые не инструментализированы в покрытии модели:
Объединить блоки
Блоки области
Блоки аутпорта
Блоки ввода
Блоки ширины
Блоки отображения
Для состояний, событий и временных логических решений Stateflow ® покрытие модели обеспечивает покрытие решений. Для переходов Stateflow покрытие модели обеспечивает решение, состояние и покрытие MCDC. Покрытие модели обеспечивает покрытие условий и MCDC для логических выражений в операторах назначения в состояниях и переходах. Дополнительные сведения см. в разделе Покрытие модели для диаграмм потока состояний.
Объект модели | Решение | Состояние | MCDC | Таблица подстановки | Verifier™ проектирования Simulink | Насыщение при переполнении целого числа | Реляционная граница |
|---|---|---|---|---|---|---|---|
Интегратор дискретного времени (при включении или сбросе пределов насыщения) | |||||||
| Вектор индекса | |||||||
См. также Инициированные модели. | |||||||
(Относительно скорости нарастания) | |||||||
Функции Simulink Design Verifier в функциональных блоках MATLAB | |||||||
Блок Abs принимает покрытие принятия решения. Охват принятия решений основывается на:
Вход в блок меньше нуля.
Тип данных входного сигнала.
Для ввода в блок, который меньше нуля, покрытие принятия решения измеряет:
Количество временных шагов ввода блока меньше нуля, что указывает на истинное решение.
Количество временных шагов ввода блока не меньше нуля, что указывает на ложное решение.
Если выбрать метрику Saturate on integer overflow coverage, блок Abs получит значение abrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Если входным типом данных для блока Abs является uint8, uint16, или uint32программное обеспечение Simulink Coverage™ сообщает об отсутствии покрытия для блока. Программное обеспечение устанавливает выход блока равным входу блока без принятия решения. Если входной тип данных блока Abs является логическим, возникает ошибка.
Блок Abs содержит неявное сравнение входного сигнала с нулем. Поэтому при выборе показателя покрытия реляционной границы блок Abs получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Если выбрана метрика Saturate on integer overflow coverage, блок Bidance получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок комбинаторной логики получает решение и покрытие условий. Охват решений основан на достижении каждой строки вывода таблицы истинности. Покрытие принятия решения измеряет количество временных шагов, в течение которых каждая выходная строка таблицы истинности устанавливается в блочный выходной сигнал.
Покрытие условий измеряет количество временных шагов, в течение которых каждый вход имеет значение false (равно нулю), и количество раз, когда каждый вход имеет значение true (не равно нулю). Если блок комбинаторной логики имеет один входной элемент, программное обеспечение Simulink Coverage сообщает только о покрытии решений, поскольку покрытие решений и условий эквивалентно.
Если все значения таблицы истинности заданы для вывода блока по меньшей мере в течение одного временного шага, охват принятием решения составляет 100%. В противном случае программное обеспечение сообщает о покрытии как о количестве значений таблицы истинности, выводимых в течение по меньшей мере одного шага времени, деленном на общее количество значений таблицы истинности. Поскольку этот блок всегда имеет, по крайней мере, одно значение в таблице истинности в качестве выходного значения, минимальный сообщаемый охват делится на общее число значений таблицы истинности.
Если все входы блока являются ложными по меньшей мере для одного временного шага и истинными по меньшей мере для одного временного шага, покрытие условия составляет 100%. В противном случае программное обеспечение сообщает о покрытии как о достижении ложного значения на каждом входе в течение, по меньшей мере, одного временного шага, плюс достижение истинного значения в течение, по меньшей мере, одного временного шага, деленного на два, возведенные в степень от общего числа входов (то есть 2 числа входов). Минимальный сообщаемый охват - это общее количество входов, деленное на два, увеличенное до мощности общего количества входов.
Блок Compare to Constant получает покрытие условий.
Показатели покрытия условий:
число раз, когда сравнение между входным значением и указанной константой было истинным.
число раз, когда сравнение между входным значением и указанной константой имело значение false.
Блок сравнения с константой содержит сравнение входных данных с константой. Поэтому при выборе метрики покрытия «Реляционная граница» блок «Сравнить с константой» получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок сравнения с нулем получает покрытие условий.
Показатели покрытия условий:
количество раз, когда сравнение между входом и нулем было истинным.
число раз, когда сравнение между входным и нулевым значениями было ложным.
Блок Сравнить с нулем (Compare to Zero) содержит сравнение входных данных с нулем. Поэтому при выборе метрики покрытия «Реляционная граница» блок «Сравнить с нулем» получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Если выбрана метрика Saturate on integer overflow coverage, блок Data Type Conversion получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок мертвой зоны получает покрытие для принятия решения. Программное обеспечение Simulink Coverage сообщает о покрытии решений по следующим параметрам:
Начало мертвой зоны
Конец тупиковой зоны
Параметр Start of dead zone определяет нижнюю границу зоны нечувствительности. Для параметра Start of dead zone (Начало зоны нечувствительности) принимаются следующие меры:
Количество временных шагов, которые введены блоком, больше или равно нижнему пределу, что указывает на истинное решение.
Количество временных шагов ввода блока меньше нижнего предела, что указывает на ложное решение.
Параметр Конец мертвой зоны определяет верхний предел мертвой зоны. Для конца мертвой зоны меры по покрытию решений:
Количество временных шагов ввода блока больше верхнего предела, что указывает на истинное решение.
Количество временных шагов ввода блока меньше или равно верхнему пределу, что указывает на ложное решение.
Если верхний предел равен true, программа не измеряет начало зоны ожидания для этого временного шага. Следовательно, общее число решений начала мертвой зоны равно количеству временных шагов, которые конец мертвой зоны является ложным.
Если выбрать метрику Saturate on integer overflow coverage, блок Dead Zone получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок мертвой зоны содержит неявное сравнение входных данных с верхним и нижним предельными значениями. Поэтому при выборе показателя покрытия реляционной границы блок мертвой зоны получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок таблицы прямого поиска (n-D) принимает покрытие таблицы поиска. Для n-мерной таблицы поиска количество выходных точек разрыва является произведением всего количества точек разрыва для каждого измерения таблицы.
Показатели покрытия таблицы подстановки:
Количество раз во время моделирования, когда каждая комбинация входных значений размеров находится между каждой из точек разрыва.
Количество раз во время моделирования, когда каждая комбинация входных значений измерения находится ниже самой низкой точки разрыва и выше самой высокой точки разрыва для каждого измерения таблицы.
Общее количество точек покрытия для n-мерной таблицы поиска является произведением количества точек разрыва в каждом измерении таблицы плюс один. В отчете об охвате увеличивающаяся цветовая шкала «от белого до зеленого» с шестью равномерно расположенными диапазонами данных, начинающимися с нуля, указывает количество временных шагов, на которых программное обеспечение измеряет каждую точку интерполяции или экстраполяции.
Программное обеспечение определяет процент от общего охвата путем измерения общих точек интерполяции и экстраполяции, которые достигают измерения, по меньшей мере, одного временного шага во время моделирования между точкой разрыва или за конечными точками.
Если выбрать метрику Saturate on integer overflow coverage, блок дискретного фильтра получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Если выбрать метрику Saturate on integer overflow coverage, блок Discreter FIR Filter получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок интегратора дискретного времени получает покрытие для принятия решения. Программное обеспечение Simulink Coverage сообщает о покрытии решений по следующим параметрам:
Внешний сброс
Предельный выход
Если для параметра Внешний сброс установлено значение none, программное обеспечение Simulink Coverage не сообщает о покрытии решения о сбросе. В противном случае при принятии решения принимаются следующие меры:
Количество временных шагов сброса вывода блока, указывающих на истинное решение.
Количество временных шагов, в течение которых вывод блока не сбрасывается, что указывает на ложное решение.
Если не выбран параметр «Ограничить вывод», программное обеспечение не сообщает о покрытии принятия решения. В противном случае программное обеспечение сообщает о покрытии решений для нижнего предела насыщения и верхнего предела насыщения.
Для верхнего предела насыщения измерения покрытия принятия решений:
Количество временных шагов, на которые результат интегрирования больше или равен верхнему пределу, что указывает на истинное решение.
Количество временных шагов, на которые результат интеграции меньше верхнего предела, что указывает на ложное решение.
Для нижнего предела насыщения, меры по покрытию решений
Количество временных шагов, по которым результат интеграции меньше или равен нижнему пределу, что указывает на истинное решение.
Количество временных шагов, на которые результат интеграции превышает нижний предел, указывая на ложное решение.
Для временного шага, когда верхний предел равен true, программное обеспечение не измеряет покрытие нижнего предела насыщения. Следовательно, общее число решений нижнего предела равно количеству временных шагов, которые верхний предел является ложным.
Если выбрать метрику Saturate on integer overflow coverage, блок Integrator дискретного времени получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
При выборе метрики Saturate on integer overflow coverage блок Discreter Transfer Fcn получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Если выбрать метрику Saturate on integer overflow coverage, блок Dot Product получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок включенной подсистемы принимает решение, состояние и покрытие MCDC.
Меры по обеспечению принятия решений:
Количество временных шагов включения блока, указывающих на истинное решение.
Количество временных шагов отключения блока, указывающих на ложное решение.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%.
Программное обеспечение Simulink Coverage измеряет покрытие условий для входа enable, только если вход enable является вектором. Для разрешающего ввода зона покрытия условия измеряет количество временных шагов для каждого элемента разрешающего ввода равно true, а количество временных шагов для каждого элемента разрешающего ввода равно false. Программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества истинных для, по меньшей мере, одного временного шага и количества ложных для, по меньшей мере, одного временного шага.
Программное обеспечение измеряет покрытие MCDC для входа разрешения только в том случае, если вход разрешения является вектором. Поскольку активизирована подсистема OR из векторных входов охват MCDC составляет 100%, если в течение по меньшей мере одного шага времени каждый вход разрешения вектора является исключительно истинным, и если в течение по меньшей мере одного шага времени все входы разрешения вектора являются ложными. Для измерения покрытия MCDC программное обеспечение рассматривает каждый элемент вектора как отдельное условие.
Блок включенной и запускаемой подсистемы получает решение, состояние и покрытие MCDC. Меры по обеспечению принятия решений:
Количество временных шагов, которые происходит на границе триггера во время включения блока, что указывает на истинное решение.
Количество шагов времени, в течение которых край триггера не выполняется, когда блок включен, или блок отключен, что указывает на ложное решение.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%.
Программное обеспечение измеряет покрытие условий для входа включения и входа триггера отдельно:
Для входного значения enable режим покрытия измеряет количество временных шагов, при которых входное значение enable равно true, и количество временных шагов, при которых входное значение enable равно false.
Для ввода триггера покрытие условия измеряет количество временных шагов, на которых происходит фронт триггера, что указывает на значение true, а количество временных шагов, на которых не происходит фронт триггера, указывает на значение false.
Программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества условий, истинных по меньшей мере для одного временного шага, и количества ложных по меньшей мере для одного временного шага. Программное обеспечение рассматривает каждый элемент вектора как отдельное измерение покрытия условий.
Программное обеспечение измеряет покрытие MCDC для входа разрешения и входа триггера в комбинации. Поскольку разрешающий вход подсистемы является AND из этих двух входов охват MCDC составляет 100%, если выполняются все следующие действия:
В течение по меньшей мере одного временного шага оба входных сигнала являются истинными.
В течение, по крайней мере, одного шага времени вход включения имеет значение true, а фронт триггера - false.
В течение одного временного шага входной сигнал enable имеет значение false, а граница триггера - true.
Программное обеспечение обрабатывает каждый векторный элемент как отдельное измерение покрытия MCDC. Он измеряет каждый элемент края триггера относительно каждого элемента ввода включения. Однако если количество элементов на входах триггера и включения превышает 12, программное обеспечение не сообщает о покрытии MCDC.
Блок Fcn принимает состояние и покрытие MCDC. Программное обеспечение Simulink Coverage сообщает о состоянии или покрытии MCDC для блоков Fcn, только если оператор верхнего уровня является логическим (&&, ||, или !).
Покрытие условий основано на входных значениях или арифметических выражениях, которые являются входами логических операторов в блоке. Показатели покрытия условий:
Число шагов времени, в течение которых каждый вход логического оператора является истинным (не равно нулю).
Количество временных шагов, которые каждый вход логического оператора имеет значение false (равно нулю).
Если все логические вводы оператора являются ложными по крайней мере для одного временного шага и истинными по крайней мере для одного временного шага, то покрытие условия составляет 100%. В противном случае программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества истинных для, по меньшей мере, одного временного шага и количества ложных для, по меньшей мере, одного временного шага.
Программное обеспечение измеряет охват MCDC для логических выражений в блоке Fcn. Если в течение по меньшей мере одного временного шага каждое условие независимо устанавливает выход выражения в значение true и если в течение по меньшей мере одного временного шага каждое условие независимо устанавливает выход выражения в значение false, охват MCDC составляет 100%. В противном случае программное обеспечение сообщает о покрытии MCDC на основе общего количества возможных условий и того, сколько раз каждое условие независимо устанавливает выходной сигнал в значение true в течение, по меньшей мере, одного временного шага и сколько условий независимо устанавливает выходной сигнал в значение false в течение, по меньшей мере, одного временного шага.
Если блок Fcn содержит реляционную операцию и выбрана метрика покрытия реляционной границы, блок Fcn получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок For Iterator и подсистема For Iterator получают покрытие для принятия решения. Программное обеспечение Simulink Coverage измеряет покрытие принятия решения для значения условия цикла, которое определяется одним из следующих параметров:
Значение итерации находится на уровне или ниже предела итерации, указанного как true.
Значение итерации, превышающее предел итерации, обозначается как false.
Программное обеспечение сообщает общее число раз, когда каждое условие цикла получает значение true и false. Если условие цикла имеет значение true по крайней мере один раз и false по крайней мере один раз, охват принятием решения составляет 100%. Если условия цикла не являются истинными или если условия цикла не являются ложными, покрытие принятия решения составляет 50%.
При выборе метрики Saturate on integer overflow coverage блок Gain получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок If, который вызывает выполнение подсистемы If Action, получает условия, решение и покрытие MCDC:
Программное обеспечение измеряет покрытие принятия решений для if состояние и все elseif условия, определенные в блоке «Если».
Если if условие или любое из elseif условия содержат логическое выражение с несколькими условиями, такими как u1 & u2 & u3, программное обеспечение также измеряет состояние и покрытие MCDC для каждого условия в выражении, u1, u2, и u3 в предыдущем примере.
Программное обеспечение не измеряет непосредственно else состояние. Когда нет elseif условия, else условие является прямым дополнением if условие или else условие является прямым дополнением последнего elseif состояние.
Программное обеспечение сообщает общее количество временных шагов, которые каждый if и elseif условие имеет значение true и false. Если if или elseif условие имеет значение true, по крайней мере, один раз, и имеет значение false, по крайней мере, один раз, охват принятием решения составляет 100%. Если нет if или elseif условия истинны, или если нет if или elseif условия ложные, покрытие решений 50%. Если предыдущий if или elseif условие никогда не оценивается как false, elseif условие может иметь 0% покрытия принятия решения.
Блок If содержит сравнение входных данных. Поэтому при выборе метрики покрытия реляционной границы блок If получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок вектора индекса принимает покрытие принятия решения на основании прохождения каждого элемента векторного сигнала, вводимого на выход блока.
Если каждый векторный индекс передается на блочный выход в течение по меньшей мере одного временного шага, охват принятия решения составляет 100%. В противном случае Simulink Coverage сообщает о покрытии в процентах от общего числа векторных индексов во входном сигнале, прошедшем через выход.
Если выбрать метрику Saturate on integer overflow coverage, блок Index Vector получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением.
Блок интерполяции с использованием Prelookup получает покрытие таблицы поиска. Для таблицы поиска n-D количество выходных точек разрыва равно произведению всех точек разрыва для каждого измерения таблицы. Показатели покрытия таблицы подстановки:
Количество раз во время моделирования, когда каждая комбинация входных значений размеров находится между каждой из точек разрыва.
Количество раз во время моделирования, когда каждая комбинация входных значений измерения находится ниже самой низкой точки разрыва и выше самой высокой точки разрыва для каждого измерения таблицы.
Общее количество точек покрытия для n-мерной таблицы поиска является произведением количества точек разрыва в каждом измерении таблицы плюс один. В отчете об охвате увеличивающаяся цветовая шкала «от белого до зеленого» с шестью равномерно расположенными диапазонами данных, начинающимися с нуля, указывает количество временных шагов, на которых программное обеспечение измеряет каждую точку интерполяции или экстраполяции.
Программное обеспечение определяет процент от общего охвата путем измерения общих точек интерполяции и экстраполяции, которые достигают измерения, по меньшей мере, одного временного шага во время моделирования между точкой разрыва или за конечными точками.
При выборе параметра Saturate on integer overflow блок Interpolation Using Prelookup получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блоки Simulink и диаграммы Stateflow, связанные с объектами библиотеки, получают тот же охват, что и если бы они не были связаны с объектами библиотеки. Программное обеспечение Simulink Coverage регистрирует покрытие индивидуально для каждого объекта библиотеки в модели. Если модель содержит несколько экземпляров одного объекта библиотеки, каждый экземпляр получает свои собственные данные покрытия.
Блок логического оператора принимает состояние и покрытие MCDC. Программное обеспечение Simulink Coverage измеряет покрытие условий для каждого входа в блок. Показатели покрытия условий:
Количество шагов времени, по которым каждый вход является истинным (не равно нулю).
Количество временных шагов, по которым каждый вход имеет значение false (равно нулю).
Если все входы блока являются ложными по меньшей мере для одного временного шага и истинными по меньшей мере для одного временного шага, то покрытие состояния программного обеспечения составляет 100%. В противном случае программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества истинных по меньшей мере на одном шаге времени и количества ложных по меньшей мере на одном шаге времени.
Программное обеспечение измеряет покрытие MCDC для всех входов в блок. Если в течение по меньшей мере одного временного шага каждое условие независимо устанавливает выход блока в значение true, и если в течение по меньшей мере одного временного шага каждое условие независимо устанавливает выход блока в значение false, охват MCDC составляет 100%. В противном случае программное обеспечение сообщает о покрытии MCDC на основе общего количества возможных условий и того, сколько раз каждый из них независимо устанавливал выходной сигнал равным true для по меньшей мере одного временного шага и сколько независимо устанавливал выходной сигнал равным false для по меньшей мере одного временного шага.
1-D блок Справочной таблицы получает освещение справочной таблицы; для одномерной таблицы поиска количество входных и выходных точек разрыва равно. Показатели покрытия таблицы подстановки:
Количество операций моделирования, при которых входные и выходные значения находятся между каждой из точек разрыва.
Количество раз во время моделирования, когда входные и выходные значения находятся ниже самой низкой точки разрыва и выше самой высокой точки разрыва.
Общее количество точек покрытия для одномерной таблицы поиска - это количество точек разрыва в таблице плюс один. В отчете об охвате увеличивающаяся цветовая шкала «от белого до зеленого» с шестью равномерно расположенными диапазонами данных, начинающимися с нуля, указывает количество временных шагов, на которых программное обеспечение измеряет каждую точку интерполяции или экстраполяции.
Программное обеспечение определяет процент от общего охвата путем измерения общих точек интерполяции и экстраполяции, которые достигают измерения, по меньшей мере, одного временного шага во время моделирования между точкой разрыва или за конечными точками.
Если Вы выбираете Насыщение на целочисленной водосливной метрике освещения, 1-D блок Справочной таблицы получает, насыщают на целочисленном водосливном освещении. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
2-й блок Справочной таблицы получает освещение справочной таблицы. Для двумерной таблицы поиска количество выходных точек разрыва равно количеству точек разрыва строки, умноженному на количество входов столбцов. Показатели покрытия таблицы подстановки:
Количество раз во время моделирования, когда каждая комбинация входных значений строк и столбцов находится между каждой из точек разрыва.
Количество раз во время моделирования, когда каждая комбинация входных значений строки и столбца находится ниже самой низкой точки разрыва и выше самой высокой точки разрыва для каждой строки и столбца.
Общее количество точек покрытия для двумерной таблицы поиска - это количество точек разрыва строки в таблице плюс одна, умноженное на количество точек разрыва столбца в таблице плюс одна. В отчете об охвате увеличивающаяся цветовая шкала «от белого до зеленого» с шестью равномерно расположенными диапазонами данных, начинающимися с нуля, указывает количество временных шагов, на которых программное обеспечение измеряет каждую точку интерполяции или экстраполяции.
Если Вы выбираете Насыщение на целочисленной водосливной метрике освещения, 2-й блок Справочной таблицы получает, насыщают на целочисленном водосливном освещении. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок n-D таблицы поиска принимает покрытие таблицы поиска. Для n-мерной таблицы поиска количество выходных точек разрыва равно произведению всех точек разрыва для каждого измерения таблицы. Показатели покрытия таблицы подстановки:
Количество раз во время моделирования, когда каждая комбинация входных значений размеров находится между каждой из точек разрыва.
Количество раз во время моделирования, когда каждая комбинация выходных значений измерения находится ниже самой низкой точки разрыва и выше самой высокой точки разрыва для каждого измерения таблицы.
Общее количество точек покрытия для n-мерной таблицы поиска является произведением количества точек разрыва в каждом измерении таблицы плюс один. В отчете об охвате увеличивающаяся цветовая шкала «от белого до зеленого» с шестью равномерно расположенными диапазонами данных, начинающимися с нуля, указывает количество временных шагов, на которых программное обеспечение измеряет каждую точку интерполяции или экстраполяции.
Программное обеспечение определяет процент от общего охвата путем измерения общих точек интерполяции и экстраполяции, которые достигают измерения, по меньшей мере, одного временного шага во время моделирования между точкой разрыва или за конечными точками.
При выборе метрики Saturate on integer overflow coverage блок n-D Lookup Table получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Если выбрать метрику Saturate on integer overflow coverage, блок Math Function получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Для получения информации о типе покрытия, о котором сообщает программное обеспечение Simulink Coverage для функционального блока MATLAB, см. Модель покрытия для функций MATLAB.
Функция Simulink Coverage регистрирует только решения, условия и покрытие MCDC для системных блоков MATLAB.
Блок MinMax принимает покрытие принятия решения на основе передачи каждого входного сигнала на выход блока.
Для покрытия принятия решения, основанного на передаче каждого входного сигнала на выход блока, покрытие измеряет количество временных шагов, на которые моделирование передает каждый входной сигнал на выход блока. Число точек принятия решения основано на количестве входов в блок и на том, являются ли они скалярными, векторными или матричными.
Если все входы передаются на блочный выход в течение по меньшей мере одного временного шага, программное обеспечение Simulink Coverage сообщает о покрытии принятия решения как о 100%. В противном случае программное обеспечение сообщает о покрытии как о количестве входов, переданных на выход в течение, по меньшей мере, одного временного шага, деленного на общее количество входов.
При выборе метрики Saturate on integer overflow coverage блок MinMax получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок модели не получает покрытие напрямую; модель, на которую ссылаются блоки, получает покрытие. Если для ссылочной модели установлен режим моделирования Normal, программное обеспечение Simulink Coverage сообщает о покрытии для всех объектов в ссылочной модели, которые получают покрытие.. Если для ссылочной модели установлен режим моделирования SIL или PIL и установлен Embedded Coder ®, программное обеспечение Simulink Coverage сообщает о покрытии кода, сгенерированного из модели. Normal, SIL, или PIL, программное обеспечение не может измерить покрытие для ссылочной модели.
На панели Покрытие (Coverage) диалогового окна Параметры конфигурации (Configuration Parameters) выберите ссылочные модели, для которых требуется сообщить покрытие. Программное обеспечение генерирует отчет о покрытии для каждой выбранной ссылочной модели.
Если модель содержит несколько экземпляров одной ссылочной модели, программа записывает покрытие для всех экземпляров этой модели, для которых установлен режим моделирования блока модели Normal. Отчет о покрытии для этой ссылочной модели объединяет данные покрытия для всех экземпляров нормального режима этой модели.
Отчеты о покрытии для всех проанализированных моделей в иерархии ссылок на модели связаны из сводного отчета.
Примечание
Дополнительные сведения о выборе ссылочных моделей для отчета об охвате см. в разделе Ссылочные модели.
Блок многопортового коммутатора принимает покрытие принятия решения на основе передачи каждого входного сигнала, исключая первый управляющий входной сигнал, на выходной сигнал блока.
Для покрытия принятия решения, основанного на передаче каждого входного сигнала, исключая первый управляющий входной сигнал, на выходной сигнал блока, покрытие измеряет количество временных шагов, которые каждый входной сигнал передается на выходной сигнал блока. Количество точек принятия решения основано на количестве входов в блок и является ли управляющий вход скалярным или векторным.
Если все входы, исключая первый управляющий вход, передаются на блочный выход в течение, по меньшей мере, одного временного шага, охват принятием решения составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии как о количестве входов, переданных на выход в течение по меньшей мере одного временного шага, деленного на общее количество входов минус один.
Если выбрать метрику Saturate on integer overflow coverage, блок мультипортового коммутатора получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Опорный блок Observer не получает покрытие напрямую; модель Observer, на которую ссылаются блоки, получает метрики покрытия для блоков внутри этой модели. Только модели наблюдателей в Normal анализируют режим на предмет покрытия.
Модели Observer для покрытия можно выбрать так же, как ссылочные модели. Дополнительные сведения о выборе моделей для анализа см. в разделе Ссылочные модели.
Только модели Observer, на которые вы ссылаетесь из верхней модели, активны во время моделирования и могут получать покрытие. Завершающие функциональные блоки, расположенные внутри моделей Observer, не получают покрытия.
Результаты покрытия для каждой модели Observer фиксируются отдельно. cvdata объекты. Каждая модель, на которую ссылается модель Observer, считается моделью Observer и имеет свою собственную cvdata объект. При записи покрытия для нескольких моделей в иерархии привязок модели результаты собираются в cv.cvdatagroup объект. Сводный отчет связан с отчетами покрытия для всех анализируемых моделей в иерархии.
Если выбрать метрику Saturate on integer overflow coverage, блоки PID Controller и PID Controller (2 DOF) будут насыщены при покрытии integer overflow. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Если выбрать метрику Saturate on integer overflow coverage, блок Product получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок подтверждения допущения получает покрытие Simulink Design Verifier. Покрытие Simulink Design Verifier основано на точках и интервалах, определенных в диалоговом окне блока. Покрытие Simulink Design Verifier измеряет количество временных шагов, которые удовлетворяют каждой точке или интервалу, определенному в блоке. Общее количество объективных результатов основано на количестве точек или интервалов, определенных в блоке Proof Summission.
Если все точки и интервалы, определенные в блоке, удовлетворяются по крайней мере в течение одного шага времени, охват Simulink Design Verifier составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии как о количестве точек и интервалов, удовлетворяемых в течение по меньшей мере одного временного шага, деленном на общее количество точек и интервалов, определенных для блока.
Блок Proof Objective получает покрытие Simulink Design Verifier. Покрытие Simulink Design Verifier основано на точках и интервалах, определенных в диалоговом окне блока. Покрытие Simulink Design Verifier измеряет количество временных шагов, которые удовлетворяют каждой точке или интервалу, определенному в блоке. Общее количество целевых результатов основано на количестве точек или интервалов, определенных в блоке Proof Objective.
Если все точки и интервалы, определенные в блоке, удовлетворяются по крайней мере в течение одного шага времени, охват Simulink Design Verifier составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии как о количестве точек и интервалов, удовлетворяемых в течение по меньшей мере одного временного шага, деленном на общее количество точек и интервалов, определенных для блока.
Блок ограничителя скорости принимает покрытие принятия решения. Программное обеспечение Simulink Coverage сообщает о покрытии решений для параметров Rising slew rate и Falling slew rate.
Для коэффициента увеличения Rising показатели покрытия принятия решений:
Количество временных шагов, при которых входное значение блока изменяется больше или равно скорости возрастания, что указывает на истинное решение.
Количество временных шагов, на которые входные данные блока изменяются меньше скорости роста, указывая на ложное решение.
Для падающей скорости роста, меры покрытия принятия решений:
Количество временных шагов, при которых входной блок изменяется меньше или равно падающей скорости, что указывает на истинное решение.
Количество временных шагов, на которые вход блока изменяется больше, чем скорость падения, указывая на ложное решение.
Программное обеспечение не измеряет покрытие падающей скорости нарастания в течение временного шага, когда скорость нарастания является истинной. Следовательно, общее число решений о скорости нарастания по падению равно количеству временных шагов, на которые скорость нарастания является ложной.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения для каждого из двух отдельных решений для блока составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок ограничителя скорости неявно сравнивает производную входного сигнала с верхним и нижним предельным значением. Поэтому при выборе метрики покрытия реляционной границы блок ограничителя скорости получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок реляционного оператора получает покрытие условий.
Показатели покрытия условий:
число раз, когда указанная реляционная операция была истинной.
число раз, когда указанная реляционная операция была ложной.
Блок реляционного оператора содержит сравнение между входами. Поэтому при выборе метрики покрытия реляционной границы блок реляционного оператора получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок ретрансляции получает покрытие для принятия решения. Программное обеспечение Simulink Coverage сообщает о покрытии решений для точки включения и параметров точки выключения.
Для точки включения мер покрытия принятия решений:
Количество последовательных временных шагов, которые блок вводит, больше или равно точке включения, что указывает на истинное решение.
Количество последовательных шагов времени ввода блока меньше точки включения, что указывает на ложное решение.
Для точки отключения меры по покрытию принятия решений:
Количество последовательных временных шагов, которые введены блоком, меньше или равно точке выключения, что указывает на истинное решение.
Количество последовательных шагов времени ввода блока больше точки выключения, что указывает на ложное решение.
Программное обеспечение не измеряет покрытие точки выключения в течение временного шага, когда пороговое значение включения является истинным. Таким образом, общее число решений о переключении точек равно количеству временных шагов, которые точка переключения является ложной.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения для каждого из двух отдельных решений для блока составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок реле содержит неявное сравнение его второго входа с пороговым значением. Поэтому при выборе показателя покрытия реляционной границы релейный блок получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Покрытие модели поддерживается для C/C + + S-функций. Отчет о покрытии для модели содержит результаты для каждого экземпляра S-функционального блока в модели. Результаты для связи блока S-Function с отдельным отчетом о покрытии для кода C/C + + в блоке.
Для создания отчета о покрытии для S-функций:
При создании S-функций активизируйте поддержку покрытия. Дополнительные сведения см. в разделе Обеспечение совместимости S-функции с покрытием модели.
При создании отчета о покрытии активизируйте поддержку S-функций. Дополнительные сведения см. в разделе Создание отчета о покрытии для S-функции.
Для S-функций отображаются следующие типы покрытия:
Данные покрытия для S-функциональных блоков получаются следующим образом:
Результатом покрытия для блока является средневзвешенное значение результата по всем файлам в блоке.
Например, блок S-Function имеет два файла, file1.c и file2.c. Покрытие решений для file1.c составляет 75% (охвачено результатами 3/4) и для file2.c составляет 50% (охвачено результатами 10/20). Покрытие принятия решения для блока составляет 13/24 ≈ 54%.
Для каждого файла результат покрытия представляет собой средневзвешенное значение результата по всем функциям в файле.
Для каждой функции результат покрытия представляет собой средневзвешенное значение результата по всем операторам в функции, которые получают это покрытие.
Примечание
Покрытие модели для S-функций имеет следующие ограничения:
Только Уровень 2 C/C ++ S-функции поддержан для освещения. Пример S-функции уровня 2 см. в разделе Создание базовой S-функции C MEX.
Шаблоны классов C++ не используются для покрытия.
Блок Насыщения получает покрытие принятия решения. Программное обеспечение Simulink Coverage сообщает о покрытии решений для параметров Нижний предел и Верхний предел.
Для верхнего предела, меры покрытия принятия решений:
Количество временных шагов, которые введены блоком, больше или равно верхнему пределу, что указывает на истинное решение.
Количество временных шагов ввода блока меньше верхнего предела, что указывает на ложное решение.
Для нижней границы меры по покрытию решений:
Количество временных шагов ввода блока больше нижнего предела, что указывает на истинное решение.
Количество временных шагов ввода блока меньше или равно нижнему пределу, что указывает на ложное решение.
Программное обеспечение не измеряет охват нижнего предела для временного шага, когда верхний предел является истинным. Следовательно, общее число решений нижнего предела равно количеству временных шагов, которые верхний предел является ложным.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения для каждого из двух отдельных решений для блока Насыщения составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок Насыщения содержит неявное сравнение входных данных с верхним и нижним предельными значениями. Поэтому при выборе показателя покрытия «Реляционная граница» блок «Насыщение» получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Если выбрать метрику Saturate on integer overflow coverage, блок Saturation Dynamic получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Следующие функции в функциональных блоках MATLAB получают покрытие Simulink Design Verifier:
sldv.condition (Simulink Design Verifier)
sldv.test (Simulink Design Verifier)
sldv.assume (Simulink Design Verifier)
sldv.prove (Simulink Design Verifier)
Каждая из этих функций вычисляет выражение expr, например, sldv.test(, где expr)expr является допустимым логическим выражением MATLAB ®. Охват Simulink Design Verifier измеряет количество временных шагов выражения expr возвращает значение true.
Если expr верно по крайней мере для одного шага времени, охват Simulink Design Verifier для этой функции составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии для этой функции как 0%.
Если выбрать метрику Saturate on integer overflow coverage, блоки Sqrt, Signed Sqrt и Reversal Sqrt будут насыщены при покрытии integer overflow. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
При выборе метрики Saturate on integer overflow coverage блоки Sum, Add, Subtract и Sum of Elements получают значения sustrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок переключения принимает покрытие принятия решения на основе управляющего ввода в блок. Меры по обеспечению принятия решений:
Число временных шагов, которые вычисляются на входе элемента управления как true.
Число шагов времени, в течение которых входной сигнал управления получает значение false.
Количество точек решения зависит от того, является ли управляющий вход скалярным или векторным.
Если выбрана метрика Saturate on integer overflow coverage, блок Switch получает значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок Switch содержит неявное сравнение его второго входа с пороговым значением. Поэтому при выборе показателя покрытия реляционной границы блок переключения получает покрытие реляционной границы. Дополнительные сведения см. в разделе Покрытие реляционных границ.
Блок SwitchCase и подсистема действий SwitchCase получают покрытие для принятия решений. Программное обеспечение Simulink Coverage измеряет покрытие решений индивидуально для каждого случая переключения, определенного в блоке, а также для случая по умолчанию. Количество результатов решения равно количеству условий дела плюс один для default регистр, если он определен.
Программное обеспечение сообщает общее количество шагов времени, которые каждый случай оценивает как true. Если каждый случай, включая случай по умолчанию, имеет значение true по крайней мере один раз, охват принятием решения составляет 100%. Программное обеспечение определяет охват принятия решения по количеству случаев, которые оценивают значение true по меньшей мере в течение одного временного шага, деленного на общее количество случаев.
Если блок SwitchCase не содержит default в случае, программное обеспечение измеряет охват принятия решения для количества временных шагов, в течение которых ни один из случаев не оценивается как истинный. В отчете о покрытии это покрытие сообщается как неявное покрытие по умолчанию.
Блок тестовых условий получает покрытие Simulink Design Verifier. Покрытие Simulink Design Verifier основано на точках и интервалах, определенных в диалоговом окне блока. Покрытие Simulink Design Verifier измеряет количество временных шагов, которые удовлетворяют каждой точке или интервалу, определенному в блоке. Общее количество целевых результатов основано на количестве точек или интервалов, определенных в блоке тестовых условий.
Если все точки и интервалы, определенные в блоке, удовлетворяются по крайней мере в течение одного шага времени, охват Simulink Design Verifier составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии как о количестве точек и интервалов, удовлетворяемых в течение по меньшей мере одного временного шага, деленном на общее количество точек и интервалов, определенных для блока.
Блок Test Objective получает покрытие Simulink Design Verifier. Покрытие Simulink Design Verifier основано на точках и интервалах, определенных в диалоговом окне блока. Покрытие Simulink Design Verifier измеряет количество временных шагов, которые удовлетворяют каждой точке или интервалу, определенному в блоке. Общее количество целевых результатов основано на количестве точек или интервалов, определенных в блоке тестовых целей.
Если все точки и интервалы, определенные в блоке, удовлетворяются по крайней мере в течение одного шага времени, охват Simulink Design Verifier составляет 100%. В противном случае программное обеспечение Simulink Coverage сообщает о покрытии как о количестве точек и интервалов, удовлетворяемых в течение по меньшей мере одного временного шага, деленном на общее количество точек и интервалов, определенных для блока.
Блок модели может ссылаться на модель, которая содержит краевые триггерные порты на корневом уровне модели. Запускаемые модели получают решение, условие и покрытие MCDC.
Меры по обеспечению принятия решений:
Количество временных шагов запуска ссылочной модели, указывающих на истинное решение.
Количество временных шагов, не запускаемых ссылочной моделью, что указывает на ложное решение.
Если хотя бы один временной шаг является истинным и хотя бы один временной шаг является ложным, покрытие принятия решения для блока модели, который ссылается на запускаемую модель, составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%.
Только если вход триггера является вектором, программное обеспечение Simulink Coverage измеряет покрытие условий для порта триггера в ссылочной модели. Для порта триггера измерения покрытия условий:
Количество шагов времени, в течение которых каждый элемент порта триггера имеет значение true.
Количество шагов времени, в течение которых каждый элемент порта триггера имеет значение false.
Программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества истинных для, по меньшей мере, одного временного шага и количества ложных для, по меньшей мере, одного временного шага.
Если порт триггера является вектором, программное обеспечение измеряет покрытие MCDC только для порта триггера. Поскольку порт триггера ссылочной модели является OR из векторных входов, если в течение по меньшей мере одного шага времени каждый порт триггера вектора является исключительно истинным, и если в течение по меньшей мере одного шага времени все входы порта триггера вектора являются ложными, охват MCDC составляет 100%. Программное обеспечение рассматривает каждый элемент вектора как отдельное условие для измерения покрытия MCDC.
Блок триггерной подсистемы принимает решение, состояние и покрытие MCDC.
Меры по обеспечению принятия решений:
Количество временных шагов запуска блока, указывающих на истинное решение.
Количество временных шагов, в течение которых блок не запускается, что указывает на ложное решение.
Если, по меньшей мере, один временной шаг является истинным и, по меньшей мере, один временной шаг является ложным, покрытие принятия решения составляет 100%. Если никакие временные шаги не являются истинными или если никакие временные шаги не являются ложными, покрытие принятия решения составляет 50%.
Программное обеспечение Simulink Coverage измеряет покрытие условий для входа триггера, только если вход триггера является вектором. Для ввода триггера измерения покрытия условий:
Количество шагов времени, в течение которых каждый элемент края триггера имеет значение true.
Количество шагов времени, в течение которых каждый элемент края триггера имеет значение false.
Программное обеспечение сообщает о покрытии условий на основе общего количества возможных условий и количества истинных для, по меньшей мере, одного временного шага и количества ложных для, по меньшей мере, одного временного шага.
Если вход триггера является вектором, программное обеспечение измеряет охват MCDC только для входа триггера. Поскольку край триггера подсистемы является OR из векторных входов, если в течение, по меньшей мере, одного шага времени каждый вход фронта триггера вектора является исключительно истинным, и если в течение, по меньшей мере, одного шага времени все входы фронта триггера вектора являются ложными, охват MCDC составляет 100%. Программное обеспечение рассматривает каждый элемент вектора как отдельное условие для измерения покрытия MCDC.
Блок «Таблица истинности» (Truth Table) - это блок Stateflow, который позволяет использовать логику таблицы истинности непосредственно в модели Simulink. Блок таблицы истинности получает условия, решение и покрытие MCDC. Дополнительные сведения о покрытии модели таблицами истинности Stateflow см. в разделе Покрытие модели таблицами истинности Stateflow.
Если выбрать метрику Saturate on integer overflow coverage, блок Unary Minus получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Если выбрать метрику Saturate on integer overflow coverage, блок Weighted Sample Time Math получит значение satrate on integer overflow coverage. Дополнительные сведения см. в разделе Насыщение при покрытии целочисленным переполнением. Программное обеспечение рассматривает каждый элемент вектора или матрицы как отдельное измерение покрытия.
Блок While Iterator и подсистема While Iterator получают покрытие для принятия решений. Охват принятия решений измеряется для while значение условия, которое определяется while условие выполняется (true), или while условие не выполняется (ложь). Программное обеспечение Simulink Coverage сообщает общее количество раз, которые каждый while условие имеет значение true и false. Если while условие, оцениваемое как true по крайней мере один раз, и как false по крайней мере один раз, покрытие принятия решения для while условие составляет 100%. Если нет while условия истинны, или если нет while условия ложные, покрытие решений 50%.
Если предел итерации превышен (true) или не превышен (false), программное обеспечение измеряет покрытие решений независимо. Если предел итерации имеет значение true по крайней мере один раз и false по крайней мере один раз, охват принятия решения для предела итерации составляет 100%. Если пределы итерации не являются истинными или если пределы итерации не являются ложными, покрытие принятия решения составляет 50%. Если задано значение Максимальное число итераций (Maximum number of iterations) -1 (без предела), покрытие решения для предела итерации является истинным для всех итераций и ложным для нулевых итераций, а покрытие решения составляет 50%.