Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Combinatorial Logic

  • ライブラリ:
  • Simulink / Logic and Bit Operations

  • Combinatorial Logic block

説明

Combinatorial Logic ブロックは、プログラマブル ロジック アレイ (PLA)、論理回路、決定表、その他の Boolean 式をモデル化するための標準の真理値表を実現します。このブロックを Memory ブロックと組み合わせて使用することにより、有限状態マシンやフリップフロップを実装できます。

端子

入力

すべて展開する

入力信号。ベクトルとして指定します。Combinatorial Logic ブロックが受け入れる信号のタイプは、[Boolean 論理信号] オプション (boolean データ (対 double) として論理信号を処理を参照) を選択したかどうかによって異なります。このオプションが有効になっている場合、ブロックは Boolean または double データ型の実数信号を受け入れます。

データ型: double | Boolean

出力

すべて展開する

出力信号。真理値表に double データ型の非ブール値が含まれている場合は double です。それ以外の場合は Boolean です。出力のデータ型は入力のデータ型と同じですが、入力が Boolean であり、真理値表が非ブール値を含んでいる場合、ブロックは double を出力します。

データ型: double | Boolean

パラメーター

すべて展開する

[真理値表] パラメーターとして、すべての可能なブロック出力を定義する行列を指定します。行列の各行には、さまざまな入力要素の組み合わせに対する出力が含まれます。入力の組み合わせのすべてに対して出力を指定する必要があります。列数はブロックの出力数です。

[真理値表] パラメーターは、任意のデータ型 (固定小数点データ型を含む) のブール値 (0 または 1) をとります。表に非ブール値が含まれる場合、表のデータ型は double でなければなりません。

入力数と行数の関係は次のとおりです。

number of rows = 2(number of inputs)

Simulink® は、入力ベクトル要素から行のインデックスを計算することによって、行列の 1 行を返します。Simulink はゼロの値をもつ入力ベクトル要素が 0 であり、非ゼロの値をもつ要素が 1 である 2 進数を作成し、結果を 1 に加算することによってインデックスを計算します。m 個の要素をもつ入力ベクトル u の場合は、次のようになります。

row index = 1 + u(m)*20 + u(m-1)*21 + ... + u(1)*2m-1

プログラムでの使用

ブロック パラメーター: TruthTable
: 文字ベクトル
: 行列
既定の設定: '[0 0;0 1;0 1;1 0;0 1;1 0;1 0;1 1]'

モデルの例

ブロックの特性

データ型

Boolean | double

直接フィードスルー

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2006a より前に導入