Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

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

&& (AND) 演算子および || (OR) 演算子を含む論理式はショートサーキットを示します。

&& 演算子を含む論理式は、左辺の式が false と評価されると式全体も false と評価されます。この場合、左辺の式によって結果が既に確定しているため右辺の式は評価されません。

同様に、|| 演算子を含む論理式の場合、左辺の式が true と評価されると、左辺の式によって結果が確定するため右辺の式は評価されません。このショートサーキットを使用した論理式の評価は、結果が既に確定している場合の不要な評価を回避して実行を最適化するのに役立ちます。

Condition オブジェクティブおよび MCDC オブジェクティブのショートサーキットの動作

Simulink® Design Verifier™ を使用してテストの生成やデッド ロジックの解析を行うときは、Condition オブジェクティブおよび MCDC オブジェクティブの論理演算子と論理式でショートサーキットを示すことができます。次の表は、ショートサーキットの動作をまとめたものです。

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

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

Logical Operator ブロック (スタンドアロン/カスケード)

Condition オブジェクティブは常にショートサーキットです。

MCDC オブジェクティブはパラメーター CovLogicBlockShortCircuit が ON の場合のみショートサーキットです。

Enabled Subsystem または Triggered Subsystem

Condition オブジェクティブはショートサーキットです。MCDC オブジェクティブはショートサーキットなしです。

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

Condition オブジェクティブおよび MCDC オブジェクティブは常にショートサーキットです。

次の表に、さまざまなブロックの Condition オブジェクティブの例をいくつか示します。

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

ブロックCondition オブジェクティブ: ショートサーキットの式

3 つの端子をもつ論理 AND ブロック

Condition 'F'、端子 2

(in1) &&(~ in2)

3 つの端子をもつ論理 OR ブロック

Condition 'F'、端子 2

(~in1) &&(~ in2)

式 (u1 && u2 && u3) を含むチャートまたは MATLAB 関数

'u2' False

(u1) && (~u2)

次の表は、MCDC オブジェクティブについて、CovLogicBlockShortCircuit パラメーターによる違いをまとめたものです。

CovLogicBlockShortCircuit パラメーターに基づく MCDC オブジェクティブのショートサーキットについての考慮事項:

ブロックMCDC オブジェクティブCovLogicBlockShortCircuit が ON の場合の MCDC の式CovLogicBlockShortCircuit が OFF の場合の MCDC の式

3 つの端子をもつ論理 AND ブロック

入力端子 2 が false の出力の式

(in1 && ~in2)

(in1 && ~in2 && in3)

入力端子 2 が true の出力の式

(in1 && in2 && in3)

(in1 && in2 && in3)

式 (u1 && u2 && u3) を含むチャートまたは MATLAB 関数

入力変数 2 が false の出力の式

(in1 && ~in2)

(in1 && ~in2)

入力変数 2 が true の出力の式

(in1 && in2 && in3)

(in1 && in2 && in3)

メモ

カスケード ロジックを使用して MCDC の式を派生させると、Logical Operator ブロックと同様のショートサーキットの動作を示します。

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

MCDC の結果に対する CovLogicBlockShortCircuit パラメーターの影響

場合によっては、CovLogicBlockShortCircuit パラメーターに基づいて MCDC オブジェクティブのカバレッジ結果が変わることがあります。

CovLogicBlockShortCircuit パラメーターに基づく MCDC オブジェクティブのショートサーキットについての考慮事項:

ブロックMCDC オブジェクティブCovLogicBlockShortCircuit が ON の場合の MCDC の式CovLogicBlockShortCircuit が OFF の場合の MCDC の式

3 つの端子をもつ論理 AND ブロック

入力端子 2 が false の出力の式

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

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

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