• 検索結果がありません。

xmcImportFunctionSettings コマンドの構文

ドキュメント内 Model Composer ユーザー ガイド (ページ 53-58)

xmcImportFunctionSettings コマンドでは、Model Composer のインポート関数のオプションを設定します。オ プションは、名前と値を対にして指定します。現在のオプションは、次のとおりです。

• build: Model Composer のビルド環境を指定します。有効な値は次のとおりです。

release: デフォルトのビルド モード。指定した出力を生成し、シミュレーションを実行できるようにしま

す。

debug: サードパーティのコンパイラに統合し、インポートした C/C++ 関数を標準的なデバッグ機能を使用し てステップスルーして確認できるようにします。

• compiler: デバッグに使用するサードパーティ コンパイラを指定します。有効な値は、次のとおりです。

default: GCC または MinGW コンパイラでコンパイルし、GDB デバッガーでデバッグします。GCC または MinGW、および GDB は、Model Composer の標準インストールに含まれます。

Visual Studio: Visual Studio で C/C++ コードをコンパイルおよびデバッグします。

• blocks: デバッグ プロセス中に確認するブロックを指定します。このオプションを指定しない場合は、現在のデ

ザインにインポートされている関数ブロックすべてがデバッグに含まれます。次のコマンド形式を使用すると、

任意の数のブロックを指定できます。

xmcImportFunctionSettings('blocks', {'block1','block2', ...})

第 3 章: C/C++ コードのカスタム ブロックとしてのインポート

次のコマンド形式を使用すると、ブロックの選択を解除できます。

xmcImportFunctionSettings('blocks', {})

MATLAB の gcb コマンドを使用すると、特定ブロックのブロック パスを取得できます。ブロックは、1 つのみ指

定する場合でも、リストとして指定する必要があります。次に例を示します。

xmcImportFunctionSettings('blocks', {'xmc_optical_flow/Lucas-Kanade'})

• Visual Studio Location: Visual Studio ツールへのパスを指定します。Model Composer ではデフォルトで 標準ディレクトリから Visual Studio を自動的に検索しますが、インストール ディレクトリが標準ディレクトリに ない場合は、このオプションでディレクトリを指定することもできます。

• vcvars: コマンド ライン処理用の Visual Studio 環境を設定するのに使用する vcvarsall.bat ファイルのディ レクトリを指定します。このオプションは、Visual Studio Locationオプションで標準ディレクトリにない ツールのディレクトリを指定した場合に、vcvarsall.bat ファイルを指定するために使用します。

ヒント: xmcImportFunctionSettings で指定した設定は、Model Composer を終了するまで設定されたま まになります。変更する場合は、xmcImportFunctionSettings を使用します。

第 4 章

出力の生成

概要

重要: Model Composer モデルから出力を生成するには、デザインの最上位にインスタンシエートされたサブシ ステムに Xilinx Model Composer ブロックとサポートされている Simulink ブロックセットのみを使用可能で す。Model Composer の出力生成に使用可能な Simulink ブロックは、Xilinx Model Composer ブロック ライブ ラリに含まれます。サポートされるブロックのリストは、サポートされる Simulink ブロックを参照してくださ い。

Model Composer モデルではデザインが自動的に下位表記にコンパイルされますが、コンパイルを設定して出力を生 成するには、Model Composer モデルに Model Composer Hub ブロックを追加する必要があります。Model

Composer では次の 3 つの出力タイプを作成でき、これは Model Composer Hub ブロックの [Export type] 設定で定義 できます。

• IP カタログ

• System Generator

• C++ コード

Model Composer Hub ブロックの追加

Model Composer Hub ブロックはザイリンクス Model Composer ライブラリの [Tools] ブロックセットに含まれ、ライ ブラリ ブラウザーから Simulink® Editor のキャンバスにドラッグ アンド ドロップするとモデルに追加できます。

Model Composer Hub ブロックは、Simulink® 環境では仮想ブロックであり、物理的な目的はなく、コンパイルおよ

び出力用の指示子を指定するために使用します。

Model Composer Hub ブロックのブロックパラメーターダイアログボックスは次のとおりです。

第 4 章: 出力の生成

図 22: Model Composer Hub ブロック

Model Composer Hub ブロックのダイアログ ボックスには、次の 3 つのタブが含まれています。

• [Compilation] タブ

[Target Directory]: コンパイルされた結果を書き込む出力フォルダーを指定します。Model Composer で生成

される出力には、多数のフォルダーおよびファイルが含まれることがあり、これらはすべて指定したディレク トリに書き込まれます。フォルダーは絶対パス (例: C:/Data/Code) か、現在の Model Composer モデルに相対 的なパス (例: ./code) で指定できます。

重要: Windows オペレーティング システムの場合は、[Target Directory] のディレクトリにスペースを 含 めることはできません。

[Subsystem name]: 出力を生成するのに必要なモデルの最上位に含まれる Model Composer サブシステムの名

前を指定します。詳細は、最上位サブシステム モジュールの作成 を参照してください。サブシステムには、

インターフェイス仕様の定義で説明するように、Interface Spec ブロックも必要です。このサブシステム名が 生成される出力ファイルの名前になります (例: <subsystem_name>.cpp、<subsystem_name>.h)。

ヒント: Interface Spec ブロックは、出力生成に必ず必要なわけではありませんが、デザインのインター フェイス仕様を完全に制御するためには推奨されます。

[Export type]: Model Composer から出力可能なファイル タイプの 1 つを選択します。選択肢には、Vivado

Design Suite IP カタログに追加できる IP パッケージ、RTL ブロック デザインで使用できる System Generator ブロック、Vivado HLS で使用できる C++ コードがあります。

[Create and execute testbench]: シミュレーション テストベンチを作成して起動します。シミュレーションで

- [Testbench stack size]: [Create and execute testbench] をオンにしている場合に、C シミュレーション (CSIM) で使用されるテストベンチ スタック フレームのサイズ (MB) を指定します。

ヒント: スタックに大型信号配列が割り当てられている場合やサブシステムの入れ子構造が深すぎ る場合など、テストベンチの実行用に割り当てられたデフォルトの 10 MB ではテストの実行には不 十分な場合があります。この場合、セグメントエラーや関連するエラーメッセージが表示され、テ ストがエラーになります。このような場合は、スタック フレームのサイズを増加して、テストを再 実行してください。

[Generate]: Model Composer モデルからの出力をコンパイルして書き出します。

• [Hardware] タブ

[Project device]: Model Composer モデルの現在のターゲット パーツまたはボード プラットフォームを定義し

ます。

参照ボタン ([…]): [Device Chooser] ダイアログ ボックスを表示します。詳細は、[Device Chooser] ダイアログ ボックス を参照してください。

[FPGA Clock Frequency]: ザイリンクス デバイスのクロック周波数を MHz で指定します。この周波数は、ダウ

ンストリームのツール フローに渡されます。

[Throughput Factor]: アプリケーションのデータ スループット要件を指定します。ハードウェアに関数をイン

プリメントするのに使用されるデータ リソース量が影響を受けます。

• [Feedback] タブ

[Connect]: ザイリンクス Model Composer ツールに関するフィードバックを送信したり、問題や困難な点を知

らせたり、ツールに対する改善点を提案したり、Model Composer ライブラリに新しいブロックを推奨したり できます。

ターゲットディレクトリ、サブシステムモジュール、エクスポートタイプを指定したら、[Generate] ボタンをクリ ックして指定した出力を作成します。Model Composer では、C++ コードだけでなく、コードを検証するのに必要な ファイルおよび RTL への高位コードを合成するのに必要な指示子も生成されます。

ヒント: Model Composer Hub ブロックの設定を変更した場合は、[Apply] をクリックしてから [Generate] をク リックする必要があります。

インプリメンテーションのスループットの制御

概要

システムのスループットは、最も重要なデザイン条件の 1 つです。たとえば、High Definition ビデオ フレーム (1920x1080) を毎秒 30 フレームで処理するシステムを設計する場合、アプリケーションに必要なスループットは毎 秒 62,208,000 ピクセル (1920x1080x30) です。毎クロック 1 ピクセルを処理する場合 (ハードウェア用語では開始

間隔 (II) = 1 のこと)、デバイスには 62.2 MHz を超えるクロックが必要です。要件が変わって、4K ビデオフレームを

毎秒 60 フレームで処理する必要がある場合、アプリケーションに必要なスループットは毎秒 497,664,000 ピクセル

(3840x2160x60) で、デバイスには 497 MHz を超えるクロックが必要です。

ただし、実際には開始間隔 1 (II=1) は達成できない可能性があるので、必要なスループットを達成するためには、デ バイスのクロックをより高いレートにする必要があります。ワイヤレス通信などのその他のアプリケーションでは、

必要なスループットを達成するために必要なクロック周波数がデバイスで許容される最大クロック周波数を簡単に超 えることがあります。

第 4 章: 出力の生成

デバイスが動作するクロック周波数を増加せずにデザインのスループットを増加する必要がある場合 (デバイスで使 用可能な最大周波数よりも低いクロック周波数で動作する目的または消費電力を削減する目的で)、ザイリンクス FPGA のプログラマブル ロジックの利点を生かして、毎クロックでより多くのサンプルが処理される並列手法が使用 されます。Model Composer でスループット制御をすると、Simulink でデザインに構造的な変更を加えなくても、ユ ーザーがそれを実行できます。

ドキュメント内 Model Composer ユーザー ガイド (ページ 53-58)