ビルド

アプレットのビルドステップは、アプレット設計プロセスの最後のステップです。 ビルドステップ中、VisualAppletsの実装がハードウェアアプレット(HAP)に変換されます。 これは、合成またはコンパイルとも呼ばれます。 ビルドステップの出力は、フレームグラバーハードウェアにロードできるハードウェアアプレットファイル *.HAP です。

VisualAppletsは、HAP生成のためにFPGAメーカーであるXilinxの外部ツールを呼び出します。 これらのツールが適切なバージョンでインストールされており、VisualAppletsがそれに応じて設定されていることを確認してください。

[注] Xilinxのインストール

必要なXilinxツールの詳細な説明と、その正しいインストールの詳細については、 VisualApplets インストールガイドを参照してください。

[注] microEnable 5のビルド設定

microEnable 5 marathon向けに設計を行う場合は、VisualAppletsがそれに応じて設定されていることを確認してください。「ビルド設定」のセクションを参照してください。

プロジェクト情報ドックウィンドウには、検出されたXilinxソフトウェアのバージョンが表示されます(図142「検出されたXilinxツール」)。

検出されたXilinxツール

図142. 検出されたXilinxツール


Windowsコントロールパネルで ハードウェアアプレットのビルド クリックしてダイアログを開きます ビルド → ハードウェアアプレットのビルドツールバーの「ハードウェアアプレットのビルド」ボタンを使用するか、 ショートカットを使用します F7.

[注] 生成されたハードウェアアプレットのデフォルトディレクトリ

VisualAppletsは、生成されたハードウェアアプレット(*.hapファイル)の保存場所をユーザーに確認しません。 ファイルは自動的に生成され、「システム設定」の / グローバルビルド設定 / ハードウェアアプレットの生成 / ハードウェアアプレット保存パス (*.hap) で指定されたディレクトリに保存されます。 デフォルトでは、これはVisualAppletsのインストールディレクトリです。

VisualAppletsが管理者権限を必要とするフォルダー(C:\Programsなど)にシステムにインストールされている場合、 デフォルトパスを使用するか、「システム設定」 / グローバルビルド設定 / ハードウェアアプレットの生成 / ハードウェアアプレット保存パス (*.hap) のパス設定を変更するには、管理者権限でVisualAppletsを起動する必要があります。

Framegrabber SDKのインスタンスがインストールされており、設計ターゲットのランタイムと一致し、VisualAppletsによって認識されている場合、ファイルはFramegrabber SDKのインストールディレクトリにコピーされます。 出力ファイル名は *.va ファイルのファイル名と同じになります。すなわち、 myDesignName.hapです。 プロジェクト名は、アプレットのファイル名(*.hapファイル)には影響しません。

ビルド設定

実際にハードウェアアプレットを生成(ビルド)するために、 VisualAppletsはバックグラウンドで動作する一連のツールチェーンを使用します。

ハードウェアプラットフォームごとに、VisualAppletsは特定のハードウェアプラットフォームに最適化されたデフォルトのビルド設定を提供します。

デザイン設定で設計用に選択したハードウェアプラットフォームに基づいて、 VisualAppletsによって対応するデフォルトのビルド設定が提案されます。この設定はユーザーが変更することはできませんが、ユーザー定義の設定に置き換えることはできます。

[注] 次の場合、デフォルトのビルドセットアップを独自の設定に置き換える必要があります...
  • microEnable 5 marathonプラットフォーム用のデザインを作成する場合。

  • Xilinx Vivadoを使用する場合。

  • バージョン9.2より新しいXilinx ISEを使用する場合。

[注] 推奨されるXilinxツール

どのハードウェアプラットフォームに対してどのXilinxツールが必要になるかの詳細については、 どのフレームグラバープラットフォームにどのXilinxツールチェーンとバージョンを使用するかを参照してください。

mE5 marathon: mE5 marathonのアプレットビルドはISE 14.7でも可能ですが、これらのプラットフォームではVivadoを使用したアプレットビルド(合成)の方がはるかに高速であるため、BaslerではXilinx Vivadoの使用を推奨しています。

ビルド設定の定義

1つのパラメータセットをアクティブ設定として使用する

プログラムがビルドステップを実行するたびに、 特定のビルドパラメータのセットが使用されます。

VisualAppletsには複数のビルドパラメータセットが付属しています。追加のセットを 追加することもできます。

アプレットを構築するには、これらのセットのいずれかを「Active configuration」として指定する必要があります。この設定が使用され、ツールチェーンがそれに応じて制御されます。

すべての設定情報は、ローカルインストールの「SynthesizeSettings.xml」ファイルに保存されます。

[注] アクティブ化された現在のパラメータセット

Build Settings ダイアログを開くには、Settings → Build Settings をクリックします。

ダイアログが開きます。アクティブ化されたパラメータセットが表示されます:

  • 有効化されたパラメータセットは、Build Settings ダイアログの左側パネルにある緑色のチェックマークで示されます。

  • アクティブ化されたパラメータセットはビルドに使用されます。

  • アクティブ化されたパラメータセットは、表示する別のパラメータセットを選択した場合でも、アクティブなままになります。(パラメータセットを表示するには、Build Settings ダイアログの左側パネルでその名前をクリックします。選択したパラメータセットが Build Settings ダイアログの右側パネルに表示されます。)

  • 表示されているパラメータセットは、編集、コピー、保存、または削除できます(下記参照)。

以下では、表示されているパラメータセットを「現在のパラメータセット」と呼びます。

新しいパラメータセットの定義

パラメータセット自体は、ワークフローの特定の手順を実行する外部アプリケーション(Xilinx ツール)を起動するためのパラメータと、これらのツールを制御するためのパラメータで構成されています。「Active configuration」にチェックを入れることで、特定のセットをデフォルト設定(現在のデザインのビルドを開始するため)として定義でき、またこの特定のセットの目的を説明するコメントを追加できます。

  1. Build Settings ダイアログを開くには、メニューの Settings → Build Settings をクリックします。

    ダイアログが開きます。アクティブ化されたパラメータセットが表示されます。

    [注] 最初代わりのパラメータセットを追加する前に

    デザインのターゲットハードウェアに対する追加のパラメータセットが作成されていない限り、デフォルトのビルド設定が表示されます。

    これらのデフォルト設定に変更を加えることはできないため、すべての入力フィールドが無効になっています。

    また、デフォルトに代わるものがまだ存在しないため、「Active configuration」のチェックを外すこともできません。

  2. 新しいパラメータセットを作成するには、Addをクリックします。

    ハードウェアプラットフォーム情報の入力を求められます。ここでは、独自のパラメータセットを作成するための基礎として読み込むパラメータセットを指定できます。ほとんどの場合、ここでデザインのターゲットハードウェアを選択するのが非常に合理的です。

    ハードウェアプラットフォームの選択

    図 143. ハードウェアプラットフォームの選択


  1. OKをクリックします。

    これで、最初のフィールドを編集できるようになります。

ビルド設定ウィンドウ

図 144. Build Settings ウィンドウ


  1. Name: 識別用に、新しいプロパティセットに名前を付けます。この名は、設定ダイアログおよびビルドプロトコルに表示されます。

  2. Active configuration: アプレットのビルド時にこのパラメータセットを使用する場合は、Active Configuration チェックボックスをオンにします。

    [重要] アクティブな設定

    Active configuration として定義したパラメータセットは、ビルドを実行するたびに使用されます。

    デザインのターゲットハードウェアプラットフォームとして選択したハードウェアプラットフォームを変更する場合:この新しいプラットフォームの新しいビルド設定を定義します。

  3. Precondition Check: デフォルトモードでは、Precondition Check が有効になっています。Precondition Check は、デザインのターゲットハードウェア上の FPGA タイプが Xilinx ツールチェーンでサポートされていることを検証します。さらに、すべての mE5 marathon プラットフォームのデザインにおいて、このチェックボックスが有効な場合、ビルドごとにオペレーター AppletProperties の情報、具体的には BuildTime と AppletUid のフィールドが更新されます。したがって、ビルドが完了した後は、ビルド中にオペレーター AppletProperties のパラメータ値が変更されたため、デザインは「未保存」モードになります。

    [注] AppletPropertiesの更新の回避

    特定の状況下では、ビルドによって AppletProperties オペレーターを更新したくない場合があります。この場合は、Preconditions Check チェックボックスをオフにするだけです。

  4. Xilinx ISE/Xilinx Vivado: 使用する Xilinx ツールチェーンを選択します。Vivado はすべての marathon プラットフォームでサポートされています。オープンデザインのターゲットハードウェアで Vivado がサポートされていない場合は、GUI に直接表示されます。

    ターゲットハードウェアデザインでサポートされているVivado

    図 145. ターゲットハードウェアデザインでサポートされている Vivado


    ターゲットハードウェアデザインでサポートされていないVivado

    図 146. ターゲットハードウェアデザインでサポートされていない Vivado


  5. ビルド環境:

    • 新しい Xilinx ツールを使用する場合(つまり、Xilinx Vivado を使用して開発する場合、またはバージョン 9.2 より高い Xilinx ISE を使用して開発する場合):

      • 「Use system environment」チェックボックスをオフにし、

      • ファイルシステムから、外部ツールを起動するための環境を設定するXilinx設定バッチファイルを選択します。

      最適な選択を行うために、Xilinxのマニュアルに従ってください。

      バッチファイルは、Xilinxのインストールフォルダーにあります:

      • ISE: \Xilinx\14.7\ISE_DS\settings64.bat。

      • Vivado: \Xilinx\Vivado\2020.2\settings64.bat。

      microEnable 5プラットフォーム用のアップレットを開発する場合、Baslerでは64ビットWindowsオペレーティングシステムの使用を推奨しています。使用しているオペレーティングシステムに一致するバッチファイル(64ビットWindows用ファイルの「settings64.bat」など)を選択するようにしてください。

    • 古いXilinx ISEバージョン(バージョン9.2以前)を使用しておりかつすべての環境変数がオペレーティングシステムに設定されている場合は、「Use system environment」チェックボックスをオンにします。

  6. Build Flow: Build Flowの下にあるすべてのオプションを有効にします。通常は、すべてのステップを有効にする必要があります。

    Baslerでは、Multi place and routeの設定を20イテレーションにすることを推奨しています。

    Command ModeをUse platform default valueに維持します。

  7. Applet Generation: Applet Generationを有効にします。

  8. Comment: 作成したパラメータのセットを説明するコメントを入力します。ここに入力した内容は、実際のビルドプロセスには影響しません。

  9. OKボタンをクリックします。

例:microEnable 5 marathon向けに開発する場合、以下のパラメータ値を設定する必要があります:

パラメータセットの例:microEnable 5 marathon向けの開発

図147. パラメータセットの例:microEnable 5 marathon向けの開発


[重要] ビルドフローステップの無効化

デフォルトでは、すべてのビルドフローステップ(トランスレーション、マッピングなど)が有効になっています:

デフォルト:すべてのビルドフローステップが有効

図148. デフォルト:すべてのビルドフローステップが有効


個々のステップの選択を解除することができます。ただし、ビルドステップには依存関係があります。依存関係の順序でリストされています:

  • トランスレーションは、常に最初に実行できるステップです。

  • マッピングは、事前にトランスレーションステップが実行されている場合にのみ実行できます。

  • 配置配線は、事前にマッピングステップが実行されている場合などにのみ実行できます。

後続のビルドステップが無効になりました

図149. 後続のビルドステップが無効


ただし、先行するステップを同じビルド実行内で実行する必要はありません。以前のビルド実行で実行されていた場合でも構いません。以前のビルド実行中に生成されたファイル(トレースファイル)が利用可能である限り、「Build Flow」リストで前にあるステップを無効にし、リストで後ろにあるステップを有効にすることが可能です。

以前のビルド実行のトレースファイルを保持するには:メニューのSettings → System Settings → Global Buildに移動します。Build Trace Filesの下にあるKeep build trace filesを有効にします。Compress build trace filesを無効にします。

個々のビルドステップのビルドファイルを保持する

図150. 個々のビルドステップのビルドファイルの保持


ビルドトレースファイルを保持し、かつ以前のすべてのビルドフローステップを一度実行している場合は、後続のステップのみを有効にすることもできます(例:)。

個々のビルドステップのビルドファイルを保持する

図151:個々のビルドステップのビルドファイルの保持


[重要] コマンドモードのオプション

Command Modeを変更できます。

Command Modeを変更するには、Build Flowエリアの右上隅にあるCommand Mode に移動します。

コマンドモードのオプション

図152:Command Modeのオプション


リストには、3つの異なるオプションがあります。

  • プラットフォームのデフォルト値を使用する(Default)

  • プラットフォームのデフォルト値に追加する

  • プラットフォームのデフォルト値を上書きする

----------

Use platform default value(Default):

このオプションを保持または選択すると、VisualAppletsは、オープンデザインのターゲットプラットフォームとして指定したハードウェアプラットフォームに推奨されるデフォルト値を表示します。

VisualAppletsは、Xilinxツールを実行する際(つまり、オープンデザインから実際のアップレットをビルド(合成)する際)にもこれらのデフォルト値を使用します。

デフォルトセットは変更できないため、Use platform default valueモードではArgumentsフィールドを編集できません。

コマンドモード「Use platform default value」

図153:Command Mode「Use platform default value」


Append to platform default value:

このオプションを選択すると、VisualAppletsによって提供される基本引数に、MappingおよびPlace and routeツールの情報を追加できます。

ビルド中、VisualAppletsはツールを呼び出す際に、Argumentsフィールドで定義したパラメータをプラットフォームのデフォルト値に追加します。この設定は経験豊富なユーザー専用です。

コマンドモード「Append to platform default value」

図154:Command Mode「Append to platform default value」


Overwrite platform default value:

このオプションを選択すると、新しいアップレットセットの作成直後に選択したターゲットハードウェアプラットフォームのMappingおよびPlace and routeのデフォルト引数がVisualAppletsに表示されます。ここに記載されているMappingおよびPlace and route引数を定義(上書き)できます。VisualAppletsは、ツールを呼び出す際にこれらのArgumentsフィールドで指定したパラメータのみを使用するようになります。この設定は経験豊富なユーザー専用です。

コマンドモード「Overwrite platform default value」

図155:Command Mode「Overwrite platform default value」


パラメータセットの再利用

Build Settingsウィンドウでは、パラメータセットを処理するためのいくつかのオプションがあります:

処理オプション

図156:処理オプション


クリックすると

  • Addは、必要に応じて(選択したハードウェアプラットフォームに基づいて)変更できる新しいパラメータセットを作成します。

  • Copyは、現在のセットのパラメータをコピーし、新しいセットを作成して、コピーしたセットのパラメータを新しいセットに貼り付けます。

  • Importを使用すると、特定のパラメータセットを現在のVisualAppletsのインストールにインポートできます。

  • Export selectedは、現在のパラメータセットをファイルに保存します。このファイルは、データを別のPCやインストールに転送するため、またはバックアップの目的で使用できます。ファイル名と保存先を指定できるダイアログが表示されます。

  • Delete:現在のパラメータセットを削除します。

経験豊富なユーザー向け:同じビルド(mE5 marathon)を使用して異なるオペレーティングシステム用の*.hapファイルを作成する

mE5 marathonの場合、Precondition Checkチェックボックスには特定の機能があります:

  • Precondition Checkが有効になっている場合、合成(ビルド)の開始ごとに、BuildTimeおよびAppletUidのエントリが更新されます。(ネットリストの生成からアップレットの生成までの)完全なビルドを開始するには、Precondition Checkを有効にする必要があります。有効にしないと、後で(フレームグラバーでアップレットを使用する際に)ロードされたアップレットをランタイム環境によって信頼性高く検証できなくなります。

  • 特定のオプション:アップレットをすでに完全にビルドしているが、別のターゲットオペレーティングシステム用に別の*.hapファイルが必要であると判断した場合:完全なビルドから新しいOS固有のhapファイルをビルドして、デザインを他のターゲットオペレーティングシステムで使用可能にすることができます(つまり、別のターゲットランタイム用)。次のように進めます:

    1. Settingsメニューで、System Settingsを選択します。

    2. 開いたウィンドウで、Global Buildカテゴリを選択します。

    3. ここで、Build Trace Filesの下にあるKeep build trace filesオプションを有効にして、パスを指定します。

    4. SettingsメニューのBuild Settingsメニュー項目に移動します。

    5. Precondition CheckオプションをDeactivateします。

    6. Xilinx Build Flowの下にある他のすべてのオプションを無効にします。

    7. Applet Generation を有効化します。

    8. [Defaults]の下で、Active Configurationを有効にします。

    9. OS 固有の *.hap ファイルのビルドを開始します。

    特に複雑なデザインの場合、このオプションを使用することで時間を節約できます。

ビルド設定の選択

VisualAppletsでは、アプリケーションに保存される複数のビルド設定をBuild Settingsダイアログで作成できます。

Build Hardware AppletsダイアログのXilinx configurationの下で、Build Settingsダイアログで定義したビルド設定の1つを選択できます。 ここで選択したビルド設定は、開始しようとするビルドに使用されます。 デフォルト値は、Build SettingsダイアログでActive configurationとして指定した設定です。

  1. Xilinx configurationの下で、ビルドに使用するビルド設定を選択します。

アプレットビルドのためのビルド設定の選択

図 157. アプレットビルドのためのビルド設定の選択


ターゲットランタイムの選択

同じBuild Hardware Appletsダイアログで、必要なターゲットランタイムを指定できます。 デフォルトでは、デザインファイルのターゲットランタイムが選択されます('Target Runtime'を参照)。 ただし、アプレットが複数のターゲットランタイムで使用される場合もあります。 この場合、次の図に示すように複数のターゲットランタイムを選択できます。 VisualAppletsは、選択されたすべてのターゲットランタイムに対してHAPファイルを生成します。

アプレットビルド時のターゲットランタイムの選択

図 158. アプレットビルド時のターゲットランタイムの選択


デザインファイルに対して定義したターゲットランタイムの場合、出力ファイルは上記のように指定されたディレクトリに配置されます。 この出力ファイルのファイル名は、*.vaデザインファイルの名前と同じで、拡張子だけが*.hapになります。 Framegrabber SDKがインストールされている場合、ファイルはFramegrabber SDKのインストール先へコピーされます。

その他のすべての出力ファイル:VisualAppletsは、“_Linux_AMD64”、“_Linux_IA32”などのように、すべての追加出力ファイルのファイル名にターゲットランタイム情報を追加します。 これらの追加のHAPファイルは、Framegrabber SDKのインストールディレクトリにはNOTコピーされます。

[ヒント] 後段階での他のターゲットランタイムに向けた*.hapファイルの再パッケージ

ビルドプロセス全体をもう一度最初から開始することなく、後段階で追加のターゲットランタイム用の新しい*.hapファイルを簡単作成できます。 再パッケージには数分しかかからないため、これで大幅な時間を節約できます。追加のターゲットランタイム用に*.hapファイルを再パッケージする方法の詳細については、 セクション'Repacking the *.hap File for Other Operating Systems at a Later Stage'を参照してください。

imaFlex CXP-12 Quad および imaFlex CXP-12 Penta のビルド設定

imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaプラットフォームには、Netlist synthesis engineという追加のビルド設定があります。

imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaのビルド設定

図 159. imaFlex CXP-12 QuadおよびimaFlex CXP-12 Pentaのビルド設定


この設定は、ビルド速度とデバイスリソースに影響を与えます。

Standard:

  • 約1時間でデザインをビルドします。

  • ビルド後にリソースの推定値を提供します。

  • デザイン内に Blob ライブラリのオペレーターが含まれている場合は、動作しません。この場合、ビルドはエラーメッセージとともに中断されます。

Enhanced:

  • 約3時間でデザインをビルドします。

  • ビルドされたデザインは、より少ないリソースを使用します。

  • ビルド後のリソースの推定値を提供しません。

  • すべてのオペレーターで機能します。

Baslerでは、常に Enhanced ネットリスト合成エンジンを使用することをお勧めしています。

ビルド中のエラー

ビルドプロセスでは常に、デザインルールチェックのレベル1およびレベル2が実行されます。いずれかのチェックに失敗した場合、ビルドプロセスは中断されます。デザインルールチェックの詳細については、「Design Rules Check」を参照してください。

さらに、ビルドプロセスによって他のいくつかのエラーが発生する可能性があります。最も一般的なエラーは、リソースのオーバーマップまたはタイミングエラーです。アプレットに含まれるロジック要素が多すぎる場合、Xilinxツールは必要なすべての要素を物理的に利用可能な要素にマップできません。リソースがオーバーマップされた場合は、FPGAに収まるようにデザインを最適化する必要があります。

タイミングエラーが発生した場合、Xilinxツールは許容される制約内でレジスタのすべての信号をルーティングできません。これは通常、ほぼすべてのロジックリソースが使用されている場合に発生します。この場合、より少ないリソースを使用するようにデザインを最適化する必要があります。タイミングエラーが発生したデザインでも、完了させることは可能です。 タイミングを満たしていないハードウェアアプレットは、正しく動作しない可能性があることに注意してください。 使用した場合、タイムアウト、データの失敗、またはその他の予期しない動作を引き起こす可能性があります。 したがって、タイミングが一致しないアプレットの使用には十分注意が必要であり、ユーザー自身の責任において使用してください。 デザインに必要なリソースが100%を大幅に下回っているにもかかわらずタイミングエラーが発生する場合は、Basler Supportにお問い合わせください。

その他のエラーは、Xilinxの不適切なインストールまたはディスクボリュームのアクセス権限が原因で発生する可能性があります。

ビルドプロセスの完了には数時間かかる場合があることに注意してください。

アプレットの実行

ハードウェアアプレットファイル(HAP)の使用方法と実行については、Framegrabber SDK documentationに記載されています。VisualAppletsのSDKジェネレーターは、アプレットを実行するための最初のステップに役立ちます。詳細については、「Framegrabber SDK」を参照してください。

microDisplay

microDisplayはFramegrabber SDKの一部です。生成されたアプレットの初期テストを行うためのツールです。Framegrabber SDKがインストールされている場合、VisualAppletsから Build → microDisplay ( F5 ) をクリックして、microDisplayを直接開くことができます。または、ビルドアイコンバーの microDisplay アイコンを使用することもできます。

後で他のオペレーティングシステム用に *.hap ファイルを再パッケージ化する

既存の *.hap ファイルから *.hap ファイルを追加で作成することができます。これは、最初のビルド前に指定していなかった追加のオペレーティングシステムでアプレットを使用したい場合に特に便利です。

ビルドプロセス全体を再度開始する必要はありません。これにより多くの時間を節約できます。リパックには数分しかかかりません。リパックプロセス中に、元の *.hap ファイルのオペレーティングシステム固有の部分のみがVisualAppletsによって置き換えられます。

[重要] 前提条件

新しいオペレーティングシステム用に既存の *.hap ファイルをリパックするには、元のアプリのビルドに使用されたものと同じVisualAppletsバージョン(VA 2.2以降)を使用する必要があります。

そうしないと、対応するエラーメッセージが表示されます。

追加のオペレーティングシステム用の追加の *.hap ファイルを作成するには:

  1. メニューから、[Build] → [Repacking Hardware Applet Files...]を選択します。

    Repacking Hardware Applet Filesウィンドウが開きます:

    Repacking Hardware Applet Filesウィンドウ

    図 160:Repacking Hardware Applet Filesウィンドウ


  2. 参照ボタンを使用して、元の *.hap ファイルを選択します。

    VisualAppletsは、元の *.hap ファイルが、現在使用しているVisualAppletsのバージョン(2.2以降)と同じバージョンで作成されたかどうか(リパックプロセスの前提条件です。上記を参照)をただちに確認します。

    VisualAppletsのバージョンが一致しない場合は、対応するエラーメッセージが表示されます。

  3. 問題がなければ、[Next]ボタンをクリックします。

    リパックの前提条件が満たされた状態

    図 161:リパックの前提条件が満たされた状態


  4. [Runtime]で、新しい *.hap ファイルを作成するターゲットランタイム(つまり、ターゲットオペレーティングシステム)を選択します。

    ターゲットオペレーティングシステムの選択

    図 162:ターゲットオペレーティングシステムの選択


    VisualAppletsは、新しい *.hap ファイルのファイル名を提案します。

  5. 必要に応じて、新しい *.hap ファイルの出力先とファイル名を調整します。

  6. [Next]をクリックします。

    VisualAppletsに、リパック用に指定したすべての設定が表示されます:

    指定したリパック設定の表示

    図 163:指定したリパック設定の表示


    設定を調整する必要がある場合は、[Back]ボタンを使用できます。

  7. [Finish]をクリックして、リパックプロセスを開始します。

    リパックが成功すると、対応するメッセージが表示されます:

    リパック成功後のメッセージ

    図 164:リパック成功後のメッセージ