Main Content

論理演算のショートサーキット

Simulink® Design Verifier™ は、デッド ロジックの解析の際、およびテストの生成時に、論理演算と論理式をショートサーキットとみなします。

Condition オブジェクティブおよび MCDC オブジェクティブの論理演算子と論理式は、デッド ロジックの解析時やテストの生成時に、ショートサーキットと見なされる場合と見なされない場合があります。次の表は、その違いについての考慮事項をまとめたものです。

Condition オブジェクティブまたは MCDC オブジェクティブのショートサーキットについての考慮事項

モデリング要素Condition オブジェクティブまたは MCDC オブジェクティブのショートサーキットについての考慮事項

MATLAB®、Stateflow® (C/MATLAB)、その他の Simulink ブロック (Fcn、If)

常にショートサーキット

論理ブロック (スタンドアロン/カスケード)

CovLogicBlockShortCircuit が ON の場合のみショートサーキット

Condition オブジェクティブについて、次の単純な論理演算子のモデル例で考えてみます。CovLogicBlockShortCircuit パラメーターが ON の場合、前の入力のみでブロック出力が決まると、残りのブロック入力は解析ですべて無視されます。Logical Operator ブロックの [演算子] パラメーターで AND が指定されており、その最初の入力が false の場合、解析は他の入力値を無視します。

CovLogicBlockShortCircuit パラメーターが OFF の場合、すべての入力が検討されます。

次の表は、Condition オブジェクティブについて、ショートサーキットの場合とショートサーキットなしの場合のオブジェクティブの違いをまとめたものです。MATLAB Function ブロックと同様の論理式を使用して示しています。

Condition オブジェクティブのショートサーキットについての考慮事項

条件 'F' の端子 3CovLogicBlockShortCircuit: "ON"CovLogicBlockShortCircuit: "OFF"

Logical Operator

(in1) && (in2) && (~in2) (デッド ロジック)

~ in2 (アクティブ ロジック)

論理式 (in1 && in2 && in2) をもつ MATLAB Function

(in1) && (in2) && (~in2) (デッド ロジック)

(in1) && (in2) && (~in2) (デッド ロジック)

MCDC オブジェクティブの場合は、ショートサーキット モードに加えて、CovMCDCMode (カバレッジ MCDC モード) がパラメーターとして設定されます。

次の表は、MCDC オブジェクティブについて、ショートサーキットの場合とショートサーキットなしの場合のオブジェクティブの違いをまとめたものです。

MCDC オブジェクティブのショートサーキットについての考慮事項

CovLogicBlockShortCircuitCovMCDCModeスタンドアロン ブロックカスケード回路網

オン

マスキング

ショートサーキットの MCDC

回路網の MCDC (ショートサーキット)

オフ

マスキング

ショートサーキットなしの MCDC

回路網の MCDC (ショートサーキットなし)

オン

ユニーク コーズ

ショートサーキットの MCDC

MCDC (ショートサーキット) のカバレッジ結果は Simulink Design Verifier と異なる場合があります。

オフ

ユニーク コーズ

ショートサーキットなしの MCDC

NA

メモ

covMCDCMode がユニーク コーズの場合、MCDC の定義がカバレッジと MCDC で異なります。

詳細については、カスケード論理ブロックの MCDC の解析 (Simulink Coverage)の「MCDC の論理式のショートサーキット」を参照してください。