Main Content

マルチレート モデルの 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) サンプル時間を設定しなければなりません。