フィードバック ループの検出
Simulink® の設計に含まれるフィードバック ループにより、遅延の均衡化と、リソースの共有やストリーミングなどの最適化が抑制されることがあります。
最適化を抑制するフィードバック ループを設計内で見つけるには、元のモデルと生成されたモデルに含まれる 1 つ以上のフィードバック ループを強調表示する MATLAB® スクリプトを作成して実行します。このスクリプトを実行すると、異なるフィードバック ループが色分けされて強調表示されます。フィードバック ループを強調表示するスクリプトは、HDL コードと同じターゲット フォルダーに保存します。
フィードバック ループが最適化を抑制している場合は、コードの生成後に、コマンド ウィンドウにリンクが表示されます。このリンクをクリックすると、強調表示されたフィードバック ループに移動できます。最適化レポートを作成した場合、このレポートにも、強調表示されたフィードバック ループに移動できるリンクが含まれます。
スクリプトを実行すると、次の最適化を抑制しているフィードバック ループが強調表示されます。
リソース共有
ストリーミング
MATLAB 変数パイプライン
遅延の均衡化
フィードバック ループの強調表示の指定
既定では、フィードバック ループの強調表示が有効になっています。以下の設定が利用できます。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] 、 [グローバル設定] 、 [詳細設定] タブで、[遅延の均衡化と最適化を抑制するフィードバック ループを強調表示] を選択します。
フィードバック ループを強調表示するスクリプトをプログラミングで生成するには、
HighlightFeedbackLoops
プロパティを、makehdl
またはhdlset_param
と共に使用します。たとえば、myModel
モデル内のフィードバック ループを強調表示するスクリプトを生成するには、以下を入力します。hdlset_param ('myModel', 'HighlightFeedbackLoops', 'on');
強調表示の削除
既定では、HDL Coder™ は、フィードバック ループを強調表示するスクリプトと、モデル内のフィードバック ループの強調表示をオフにするスクリプトを生成します。以下のいずれかの方法で強調表示をオフにできます。
MATLAB コマンド ウィンドウで、
clearhighlighting
スクリプトをクリックする。Simulink ツールストリップで、[デバッグ] 、 [信号のトレース] を選択します。
制限
名前に一重引用符 (
'
) を含むブロックは強調表示されません。場合によっては、フィードバック ループの強調表示が、最下位のブロックの代わりに 1 つのサブシステムまたは 1 つのブロックを強調表示することがあります。