Main Content

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

State Control

状態をもつブロックの同期リセットおよびイネーブル動作の指定

ライブラリ

HDL Coder™/HDL Subsystems

  • State Control block

説明

State Control ブロックは、サブシステムの動作を既定の Simulink® シミュレーション動作と同期ハードウェア シミュレーション動作の間で切り替えるために使用します。

  • 既定の Simulink シミュレーション動作の場合、[状態制御][クラシック] に設定します。Classic モードのシミュレーション動作は、サブシステム内で State Control ブロックを使用しない場合と同じです。

  • 同期ハードウェア シミュレーション動作の場合、[状態制御][同期] に設定します。Synchronous モードの State Control ブロックは、状態をもつブロック、またはリセット端子やイネーブル端子をもつブロックの HDL シミュレーション動作を改善します。このブロックの Synchronous モードを使用すると、生成された HDL コードで使用されるハードウェア リソースが少なくなり、Simulink シミュレーション動作がデジタル ハードウェアの動作とほぼ一致します。

State Control ブロックを使用する同期サブシステムの動作を参照してください。

パラメーター

状態制御

同期セマンティクスとクラシック セマンティクスのどちらを使用するかを指定します。既定の設定は [同期] です。

制限

サブシステムレベルの制限

  • クラシック セマンティクスを使用する条件付きサブシステム内に同期セマンティクスをもつサブシステム含めることはできません。

  • 同期サブシステムをフラットにしてクラシック システムにすることはできません。

  • 同期モードで State Control ブロックを使用する場合、条件付きサブシステムはシングル レートにする必要があります。

  • Synchronous Enabled Subsystem にリセット サブシステムやリセット パラメーター端子を含めることはできません。たとえば、サブシステム内に外部リセット端子がある Delay ブロックを含めることはできません。

  • If ブロックおよび Switch Case ブロックに接続されたアクション サブシステムは、すべて同じセマンティクス (クラシックまたは同期のいずれか) にする必要があります。

  • 同期モードでは以下のブロックはサポートされません。

モデルレベルの制限

  • 同期セマンティクスでは可変サイズ信号はサポートされません。

  • 同期セマンティクスはモデル境界を越えて伝播されません。親モデルが同期セマンティクスをもつ場合、すべての参照モデルで同期セマンティクスを明示的に指定する必要があります。各参照モデルのルート レベルで、[状態制御] パラメーターが [同期] に設定された State Control ブロックを追加してください。

サポートされているブロックのモード

同期モードのブロックには次の制限が適用されます。

  • Delay ブロック: 外部リセット端子がある場合、[外部リセット][レベル保持] に設定します。

  • メソッド ssSetStateSemanticsClassicAndSynchronoustrue に設定する必要があります。

  • Stateflow® Chart (Stateflow): [ステート マシン タイプ][Moore] に設定します。

  • MATLAB Function ブロック:

    • MATLAB Function ブロック内に System objects を含めることはできません。

    • MATLAB Function ブロックで非直達を使用する場合、入力または更新された永続変数に依存する出力はプログラムしないでください。永続変数からの出力は MATLAB Function ブロックで駆動する必要があります。

      非直達を使用するには、[端子とデータの管理] で [直達を許可] チェック ボックスをオフにします。MATLAB Function ブロックでの非直達の使用を参照してください。

サポートされていないブロック

同期モードでは以下のブロックは許可されません。

  • Simulink の [Additional Math & Discrete][Additional Discrete] サブライブラリにある一連の単位遅延ブロック (Unit Delay Resettable ブロックや Unit Delay External IC ブロックなど)

  • [入力処理][チャネルとしての列 (フレーム ベース)] に設定された Simulink ブロック (このパラメーターが適用される場合)。

  • 連続時間ブロックおよび連続レートをもつブロック

  • リセット端子をもつ Discrete-Time Integrator

  • From Workspace

  • Trigger

  • LMS Filter

  • HDL Minimum Resource FFT

  • DC Blocker

  • PN Sequence Generator

  • Convolutional Interleaver および Convolutional Deinterleaver

  • General Multiplexed Interleaver および General Multiplexed Deinterleaver

  • Convolutional Encoder および Viterbi Decoder

  • Sample and Hold

拡張機能

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

バージョン履歴

R2016a で導入