Main Content

フィードバック ループの検出

Simulink® の設計に含まれるフィードバック ループにより、遅延の均衡化と、リソースの共有やストリーミングなどの最適化が抑制されることがあります。

最適化を抑制するフィードバック ループを設計内で見つけるには、元のモデルと生成されたモデルに含まれる 1 つ以上のフィードバック ループを強調表示する MATLAB® スクリプトを作成して実行します。このスクリプトを実行すると、異なるフィードバック ループが色分けされて強調表示されます。フィードバック ループを強調表示するスクリプトは、HDL コードと同じターゲット フォルダーに保存します。

フィードバック ループが最適化を抑制している場合は、コードの生成後に、コマンド ウィンドウにリンクが表示されます。このリンクをクリックすると、強調表示されたフィードバック ループに移動できます。最適化レポートを作成した場合、このレポートにも、強調表示されたフィードバック ループに移動できるリンクが含まれます。

スクリプトを実行すると、次の最適化を抑制しているフィードバック ループが強調表示されます。

  • リソース共有

  • ストリーミング

  • MATLAB 変数パイプライン

  • 遅延の均衡化

フィードバック ループの強調表示の指定

既定では、フィードバック ループの強調表示が有効になっています。フィードバック ループを強調表示するスクリプトをプログラミングで生成するには、HighlightFeedbackLoops プロパティを、makehdl または hdlset_param と共に使用します。たとえば、myModel モデル内のフィードバック ループを強調表示するスクリプトを生成するには、以下を入力します。

hdlset_param ('myModel', 'HighlightFeedbackLoops', 'on');

強調表示の削除

既定では、HDL Coder™ は、フィードバック ループを強調表示するスクリプトと、モデル内のフィードバック ループの強調表示をオフにするスクリプトを生成します。以下のいずれかの方法で強調表示をオフにできます。

  • MATLAB コマンド ウィンドウで、clearhighlighting スクリプトをクリックする。

  • Simulink ツールストリップで、[デバッグ][信号のトレース] を選択します。

制限

  • 名前に一重引用符 (') を含むブロックは強調表示されません。

  • 場合によっては、フィードバック ループの強調表示が、最下位のブロックの代わりに 1 つのサブシステムまたは 1 つのブロックを強調表示することがあります。

関連するトピック