マルチレート モデルの HDL コード生成に関する要件
モデル コンフィギュレーション パラメーター
HDL コードを生成する前に、hdlsetup
コマンドを使用してモデルのパラメーターを設定します。これにより、HDL コード生成用のマルチレート モデルが設定されます。この節では、マルチレート コード生成に関して hdlsetup
によりモデルに適用される設定をまとめています。これには、次が含まれます。
HDL コード生成で推奨または必須の [ソルバー] オプションは次のとおりです。
タイプ:
固定ステップ
。ソルバー:
離散 (連続状態なし)
。他の固定ステップ ソルバーを選択することもできますが、離散システムのシミュレーションには通常このオプションが最適です。各離散レートを個別のタスクとして扱う: オフにしてシングル タスク モードにします。
hdlsetup
はすべてのモデルに対して、次の [診断]/[サンプル時間] オプションを設定します。マルチタスク データ転送:
エラー
シングルタスク データ転送:
エラー
HDL コード生成用のマルチレート モデルでは、異なるレートで実行されているブロックを連結する際に Rate Transition ブロックを明示的に挿入しなければなりません。[マルチタスク データ転送] と [シングルタスク データ転送] を
[エラー]
に設定すると、コードの生成前に無効なレート変換を検出できます。
hdlsetup
で構成される設定の詳細については、HDL コード生成に適したモデル パラメーターのチェックを参照してください。
サンプルレート
HDL Coder™ では、モデル内に有効なサンプルレート (サンプル時間 > 0) が少なくとも 1 つ必要です。すべてのレートが 0、-1、-2 のいずれかである場合、コード ジェネレーター (makehdl
) と互換性チェッカー (checkhdl
) が終了し、エラー メッセージが表示されます。
レート変換に使用するブロック
HDL コード生成用のモデルでレート変換を作成する場合は、次のブロックは使用せず、Rate Transition ブロックを使用します。
Delay
Tapped Delay
Unit Delay
Unit Delay Enabled
Zero-Order Hold
上記の Delay ブロックは、同じ入力および出力サンプルレートをもつよう設定する必要があります。
Zero-Order Hold ブロックには、継承した (-1) サンプル時間を設定しなければなりません。