Main Content

パススルー、No HDL、カスケード実装

パススルー実装および No HDL 実装

実装説明
パススルー実装

ブロックの入力が直接その出力に渡されるパススルーを実装します。HDL Coder™ は、次のブロックでパススルーの実装をサポートしています。

  • Convert 1-D to 2-D

  • Reshape

  • Signal Conversion

  • Signal Specification

No HDL

NoHDL の実装は、生成されるコードからブロックを完全に削除します。したがって、シミュレーションでブロックを使用できますが、HDL コード内では "ノーオペレーション" として扱われます。この実装は、シミュレーション内では重要でも HDL コード内では無意味な多くのブロック (Scope や Assertion など) で使用されます。

この実装をサブシステムの代替の実装としても使用できます。

NoHDL サブシステムを駆動するロジックにより、未接続のロジックが HDL コードで削除される可能性があります。詳細については、生成された HDL コードの冗長なロジックと未使用ブロッの削除を参照してください。

NoHDL サブシステムの出力端子は推奨されません。NoHDL サブシステムは生成されたモデルに表示されますが、このサブシステムの駆動のみを行うロジックと共にコード生成前に削除されます。NoHDL サブシステムの周囲にあるロジックの HDL を生成するには、代わりに Simulink® でこのサブシステムをコメント スルーします。詳細については、ブロックのコメント アウトとコメント スルーの使用を参照してください。

特殊用途の実装に関連する情報については、外部コンポーネントのインターフェイスを参照してください。

カスケードアーキテクチャのベスト プラクティス

HDL Coderは、Sum of Elements、Product of Elements および MinMax の各ブロックのカスケード実装をサポートしています。これらの実装ではクロックの入力を処理するために複数のクロック サイクルが必要です。したがって、入力はサンプル時間の期間中に変化がないように保持されなければなりません。生成されたテスト ベンチはレジスタを使用して入力を駆動することでこの処理を行います。

生成された HDL コードを他の HDL コードと統合する場合、入力でレジスタを提供することが設計法として推奨されます。厳密に必要とされてはいませんが、入力にレジスタを追加すると、タイミングが向上し、入力を処理するために複数のクロック サイクルが必要なブロックのデータの安定性に関する問題を避けることができます。