このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Truth Table
条件、判定、アクションを伴う論理的意思決定動作を表現

ライブラリ:
Stateflow
説明
Truth Table ブロックは、組み合わせ論理設計を表形式で表現します。Truth Table ブロックを使用して、一連の条件に基づいて論理判定の動作をモデル化できます。詳細については、真理値表を使用して組み合わせ論理をモデル化を参照してください。
Truth Table ブロックで制御ロジックを実装するには、MATLAB® をアクション言語として使用します。
端子
入力
[シンボル] ペインを使用して Stateflow® 真理値表で入力データを作成すると、Stateflow により Truth Table ブロックに対応する入力端子が作成されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
出力
[シンボル] ペインを使用して Stateflow 真理値表で出力データを作成すると、Stateflow により Truth Table ブロックに対応する出力端子が作成されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| string
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メモ
Truth Table ブロックには Subsystem (Simulink) ブロック パラメーターもあり、これらのパラメーターにアクセスするには、ブロックを右クリックして [ブロック パラメーター (Subsystem)] をクリックします。ただし、これらのブロック パラメーターを更新することは推奨されません。
Stateflow 真理値表を更新または起動する方法。[継承]
、[離散]
、または [連続]
として指定します。
継承
Simulink モデルからの入力によって、シミュレーション中に真理値表を起動するタイミングが決定されます (既定)。
真理値表の入力イベントを定義した場合、Stateflow 真理値表は、接続している Simulink ブロックから派生するトリガー端子の信号によって明示的にトリガーされます。このトリガー入力イベントを、Simulink 信号に応答して発生するように設定できます。Simulink 信号は、
[立ち上がり]
、[立ち下がり]
、または[両方]
(立ち上がりと立ち下がり) か、[関数呼び出し]
に応答するものになります。詳細については、入力イベントの送信による Stateflow チャートのアクティブ化を参照してください。入力イベントを定義していない場合、Stateflow 真理値表は暗黙的に Stateflow モデルからのトリガーを継承します。これらの暗黙的なイベントは、入力を真理値表に渡す Stateflow 信号の離散サンプル時間または連続サンプル時間です。データ入力を定義している場合、真理値表は最速のデータ入力のレートで起動します。真理値表のデータ入力を定義していない場合は、真理値表は親サブシステムの実行動作の定義に従って起動します。
離散
Simulink モデルは、一定の時間間隔で暗黙的イベントを生成し、[サンプル時間] 真理値表パラメーターで指定したレートで Stateflow 真理値表を起動します。Simulink モデルの他のブロックは、サンプル時間が異なる場合があります。
連続
Stateflow 真理値表がそのステートを更新するのはメジャー タイム ステップ中のみですが、出力およびローカル連続変数はメジャー タイム ステップ中とマイナー タイム ステップ中に計算されます。詳細については、Stateflow の連続時間モデルを参照してください。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | ChartUpdate |
値: | "INHERITED" (既定値) | "CONTINUOUS" | "DISCRETE" |
シミュレーション中に真理値表が起動する時間間隔。スカラーまたはベクトルとして指定します。既定の時間間隔は -1
で、これは Stateflow 真理値表が Simulink からサンプル時間を継承することを示します。
Subsystem ブロック パラメーターの [サンプル時間] パラメーターは使用しないでください。代わりに、プロパティ インスペクターを使用してください。
依存関係
このパラメーターを有効にするには、[更新方法] を [離散]
に設定します。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | SampleTime |
値: | "-1" (既定値) | string scalar | character vector |
データ型: | string | char |
詳細設定
真理値表内のデータが整数オーバーフローで飽和するかどうか。このパラメーターをオフにすると、真理値表内のデータは整数オーバーフローでラップします。詳細については、チャート データの整数オーバーフローと列挙オーバーフローの処理を参照してください。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | SaturateOnIntegerOverflow |
値: | true or 1 (既定値) | false or 0 |
データ型: | logical |
真理値表が可変サイズ データをサポートするかどうか。詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | SupportVariableSizing |
値: | true or 1 (既定値) | false or 0 |
データ型: | logical |
R2023a 以降
真理値表が長さ 1 の次元をもつ非スカラー データを固定サイズとして扱うかどうか。このパラメーターをオンにすると、[可変サイズ] データ プロパティを有効にしたかどうかに関係なく、真理値表は少なくとも 1 つの次元の長さが 1 である非スカラー データを固定サイズとして扱います。このパラメーターをオフにすると、真理値表は [可変サイズ] プロパティが有効になっている非スカラー データを可変サイズとして扱います。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | TreatDimensionOfLengthOneAsFixedSize |
値: | true or 1 (既定値) | false or 0 |
データ型: | logical |
真理値表が過剰指定されているときの診断アクションのレベル。"Error"
、"Warning"
、または "None"
として指定します。詳細については、真理値表の過剰指定と過少指定の修正を参照してください。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | OverSpecDiagnostic |
値: | "Error" (既定値) | "Warning" | "None" |
固定小数点プロパティ
Fixed-Point Designer™ fi
オブジェクトとして扱う、継承された Simulink 信号。次のいずれかの値として指定します。
Fixed-point
— 真理値表はすべての固定小数点入力をfi
オブジェクトとして扱います。Fixed-point & Integer
— 真理値表はすべての固定小数点および整数の入力をfi
オブジェクトとして扱います。
このパラメーターは、MATLAB をアクション言語として使用する真理値表にのみ適用されます。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | TreatAsFi |
値: | "Fixed-point" (既定値) | "Fixed-point & Integer" |
真理値表の既定の fimath
オブジェクト プロパティ。次のいずれかの値として指定します。
Same as MATLAB
— 真理値表は、現在の既定のfimath
オブジェクトと同じfimath
オブジェクト プロパティを使用します。テキスト ボックスが淡色表示され、現在のグローバルfimath
オブジェクトが読み取り専用で表示されます。Specify other
— テキスト ボックスで独自のfimath
オブジェクトを指定します。
詳細については、fimath オブジェクトの作成 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロックのパラメーター値をプログラムで設定するには、ブロックの Stateflow.TruthTableChart
オブジェクトにアクセスし、ドット表記を使用してオブジェクト プロパティを変更します。
パラメーター: | EmlDefaultFimath |
値: | "Same as MATLAB Default" (既定値) | "Other:UserSpecified" |
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加の構成オプションがあります。
調整可能なパラメーターを HDL コード生成用の Truth Table ブロックで使用できます。詳細については、調整可能なパラメーターの DUT 端子を生成する (HDL Coder)を参照してください。
このブロックには既定の HDL アーキテクチャが 1 つあります。
ConstMultiplierOptimization | 正準符号付き桁数 (CSD) または因数分解された CSD による最適化。既定の設定は |
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することで、出力に配置されるレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
DistributedPipelining | パイプライン レジスタの分散、あるいはレジスタのリタイミング。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
ResetType | リセット ロジックの生成を抑制。既定値は |
SharingFactor | 単一の共有リソースにマッピングされる、機能的に等価なリソースの数。既定の設定は 0 です。リソース共有 (HDL Coder)も参照してください。 |
このブロックは、速度と面積を最適化するために次の HDL 最適化に使用されます。
速度と面積の最適化
最適化 | 説明 |
---|---|
分散型パイプライン方式 (HDL Coder) | "分散型パイプライン方式"、つまりレジスタのリタイミングとは、設計の既存の遅延を移動して、機能的動作を維持しながらクリティカル パスを低減する速度の最適化です。 |
リソース共有 (HDL Coder) | "リソース共有" とは、HDL Coder によって行われる面積の最適化の 1 つです。機能的に等価な複数のリソースが特定され、単一のリソースに置き換えられます。 |
HDL Coder での遅延の均衡化の理解 (HDL Coder) | 最適化やブロック実装のオプションによってモデルのクリティカル パスに遅延が導入された場合、"遅延の均衡化" によって特定のパスで新しい遅延が導入されたことが検出されると、他のパスに同じ遅延が挿入されます。 |
クロックレート パイプライン (HDL Coder) | "クロックレート パイプライン" は、他の速度と面積の最適化でクロック レートでのレイテンシを導入できるようにする HDL Coder の最適化フレームワークです。 |
適応パイプライン (HDL Coder) | "適応パイプライン" 最適化では、設計内のブロックにパイプライン レジスタを挿入して、ブロックとレジスタのパターンまたは組み合わせを作成することにより、達成可能なクロック周波数を向上し、FPGA ボード上の使用面積を削減できます。 |
クリティカル パスの推定 (HDL Coder) | クリティカル パスの可能性が最も高いパスを設計内で簡単に特定するには、"クリティカル パスの推定" を使用します。クリティカル パスの推定は、クリティカル パスを検出する反復的プロセスを高速化します。クリティカル パスの推定で特徴付けられるブロックについては、特徴付けられるブロック (HDL Coder)を参照してください。 |
制限の詳細については、Stateflow HDL コード生成の紹介 (HDL Coder)を参照してください。
最適化を適用する場合、このブロックには以下の制限があります。
Trigger 端子をもつブロックでは、HDL 最適化はサポートされません。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入新しいパラメーター [長さ 1 の次元を固定サイズとして扱う] を使用すると、少なくとも 1 つの次元の長さが 1 である場合に真理値表が非スカラー データをどのように扱うかを指定できます。R2023a より前は、[可変サイズ] データ プロパティを有効にしたかどうかに関係なく、真理値表は少なくとも 1 つの次元の長さが 1 である非スカラー データを固定サイズとして扱っていました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)