建置

Applet 建立步驟是 Applet 設計過程中的最後一個步驟。 在建立步驟期間,VisualApplets 實作會被轉換成硬體 Applet (HAP)。 這也稱為合成或編譯。 建立步驟的輸出是硬體 Applet 檔案 *.HAP,可將其載入至擷取卡硬體中。

VisualApplets 將呼叫 FPGA 製造商 Xilinx 的外部工具來產生 HAP。 請確保已安裝正確版本的這些工具,並且已對 VisualApplets 進行相應的設定。

[備註] Xilinx 安裝

如需所需 Xilinx 工具的詳細說明,並深入了解其正確安裝方式, 請參閱 VisualApplets 安裝指南。

[備註] microEnable 5 的建置設定

針對 microEnable 5 marathon 進行設計時,請確保已對 VisualApplets 進行相應設定,請參閱「建置設定」一節。

專案資訊停駐視窗會顯示偵測到的 Xilinx 軟體版本(圖 142,「偵測到的 Xilinx 工具」)。

偵測到的 Xilinx 工具

圖 142. 偵測到的 Xilinx 工具


開啟 Windows 控制台中的 建置硬體 Applet 透過點擊對話方塊 建置 → 建立硬體 Applet,使用建置硬體 Applet 按鈕 從工具列或使用快速鍵 F7.

[備註] 產生的硬體 Applet 的預設目錄

VisualApplets 不會詢問使用者將產生的硬體 Applet(*.hap 檔案)儲存在哪裡。 該檔案會自動產生並儲存在 「系統設定」 / 全域建置設定 / 產生硬體 Applet / 儲存硬體 Applet 的路徑 (*.hap) 下指定的目錄中。 預設情況下,這是 VisualApplets 的安裝目錄。

如果 VisualApplets 安裝在系統中需要管理員權限的資料夾中(例如 C:\Programs), 您必須以管理員權限啟動 VisualApplets 才能使用預設路徑, 或者調整 「系統設定」 / 全域建置設定 / 產生硬體 Applet / 儲存硬體 Applet 的路徑 (*.hap) 下的路徑設定。

如果安裝了 Framegrabber SDK 實例,且該實例與設計目標執行階段相符並被 VisualApplets 識別, 則檔案會被複製到 Framegrabber SDK 安裝目錄中。 輸出檔名與 *.va 檔案的檔名相同,也就是 myDesignName.hap。 專案名稱對 Applet 的檔名(*.hap 檔案)沒有影響。

Build Settings

為了實際產生(建置)硬體 Applet, VisualApplets 使用了一整套在背景執行的工具鍊。

對於每個硬體平台,VisualApplets 都提供了一個針對特定硬體平台最佳化的預設建置設定。

根據您在設計設定中為設計選取的硬體平台,VisualApplets 會建議對應的預設建置設定。使用者無法變更此設定, 但可以將其取代為使用者自訂的設定。

[備註] 若發生以下情況,您必須以自己的設定取代預設建置設定:
  • 您正在為 microEnable 5 marathon 平台建立設計。

  • 您正在使用 Xilinx Vivado。

  • 您正在使用高於 9.2 版本的 Xilinx ISE。

[備註] 建議的 Xilinx Tools

請參閱 Which Xilinx Toolchain and Version for Which Frame Grabber Platform 以取得關於為哪個硬體平台建置 applet 需要哪個 Xilinx 工具的詳細資訊。

mE5 marathon:儘管可以使用 ISE 14.7 為 mE5 marathon 建置 applet,但 Basler 建議使用 Xilinx Vivado,因為使用 Vivado 為這些平台進行 applet 建置(綜合)的速度要快得多。

Defining Build Settings

Using one Parameter Set as Active Configuration

每次程式執行建置步驟時,都會使用特定的一組建置參數。

VisualApplets 附帶了幾組建置參數。您可以新增其他組參數。

為了建置 applet,必須將其中一組指定為「Active configuration」。系統將使用此組態並據此控制工具鍊。

所有設定資訊都儲存在您本機安裝中的「SynthesizeSettings.xml」檔案中。

[備註] 已啟動和目前的參數集

若要開啟 Build Settings 對話方塊,請按一下 Settings → Build Settings。

對話方塊隨即開啟。顯示的已啟動參數集:

  • 已啟動的參數集由「Build Settings」對話方塊左側面板中的綠色勾選標記表示。

  • 已啟動的參數集用於建置。

  • 即使您選取要顯示的其他參數集,已啟動的參數集仍保持啟動狀態。(若要顯示參數集,請按一下「Build Settings」對話方塊左側面板中的其名稱。所選的參數集將顯示在「Build Settings」對話方塊的右側面板中。)

  • 您可以編輯、複製、儲存或刪除顯示的參數集(見下文)。

在下文中,我們將顯示的參數集稱為「目前參數集」。

Defining New Parameter Sets

參數集本身由用於啟動執行工作流程某些步驟的外部應用程式(Xilinx 工具)的參數,以及用於控制這些工具的參數所組成。您可以透過勾選「Active configuration」將特定組定義為預設組態(用於啟動目前設計的建置),並且您可以新增註解來描述此特定組的用途。

  1. 若要開啟 Build Settings 對話方塊,請按一下功能表 Settings → Build Settings。

    對話方塊隨即開啟。將顯示已啟動的參數集。

    [備註] 新增第一個替代參數集之前

    只要尚未建立針對設計目標硬體的其他參數集,就會顯示預設建置設定。

    您無法對這些預設設定進行任何變更,因此所有輸入欄位都已停用。

    您也無法取消勾選「Active configuration」,因為目前還沒有預設值的替代方案。

  2. 按一下 Add 以建立新的參數集。

    系統會要求您提供硬體平台資訊。您可以在此指定要載入哪個參數集作為建立您自己的參數集的基礎。在大多數情況下,在此處選取設計的目標硬體是相當明智的。

    硬體平台的選擇

    圖 143. 選擇硬體平台


  1. 按一下 OK。

    現在,您可以編輯第一個欄位。

建置設定視窗

圖 144. 建置設定視窗


  1. Name:為您的新 Property 集合命名以便識別。此名稱將會顯示在設定對話方塊以及建置協定中。

  2. Active configuration:如果您希望在建置 Applet 時使用此參數集合,請勾選 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 工具鏈。所有 marathon 平台都支援 Vivado。如果開放設計的目標硬體不支援 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。

      Basler 建議在為 microEnable 5 平臺開發 Applet 時使用 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 進行開發


[重要] 停用 Build Flow 步驟

預設情況下,所有 Build Flow 步驟(轉譯、對應等)均已啟用:

預設:已啟用所有 Build Flow 步驟

圖 148. 預設:已啟用所有 Build Flow 步驟


您可以取消選取個別步驟。但是,建置步驟之間存在相互依賴關係。它們按依賴關係的順序排列:

  • 轉譯是可以隨時執行的第一個步驟。

  • 只有在先前已執行轉譯步驟的情況下,才能執行對應。

  • 只有在先前已執行對應步驟的情況下,才能執行佈局與繞線(Place and route),依此類推。

後續建置步驟已停用

圖 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,請前往 Command Mode 位於 Build Flow 區域的右上角。

命令模式選項

圖 152. 命令模式選項


在清單中,您有三種不同的選項:

  • 使用平台預設值 (Default)

  • 附加至平台預設值

  • 覆寫平台預設值

----------

Use platform default value (Default):

如果您保留或選取此選項,VisualApplets 將會顯示針對您指定為開啟設計之目標硬體平台所建議的預設值。

執行 Xilinx 工具時(即從開啟的設計建置(綜合)實際的 applet 時),VisualApplets 也會使用這些預設值。

由於無法修改預設集,因此無法在 Use platform default value 模式中編輯 Arguments 欄位。

命令模式「Use platform default value」

圖 153. 命令模式「Use platform default value」


Append to platform default value:

如果您選取此選項,您可以將 Mapping 和 Place and route 工具的資訊新增至 VisualApplets 提供的基本引數中。

在建置期間,VisualApplets 會在呼叫工具時,將您在 Arguments 欄位中定義的參數新增至平台預設值。此設定僅適用於有經驗的使用者。

命令模式「Append to platform default value」

圖 154. 命令模式「Append to platform default value」


Overwrite platform default value:

如果您選取此選項,VisualApplets 會直接在建立新的 applet 集之後,顯示您所選目標硬體平台的 Mapping 和 Place and route 預設引數。您可以定義(覆寫)此處列出的 Mapping 和 Place and route 引數。呼叫工具時,VisualApplets 現在僅會使用您在這些 Arguments 欄位中指定的參數。此設定僅適用於有經驗的使用者。

命令模式「Overwrite platform default value」

圖 155. 命令模式「覆寫平台預設值」


Re-Using Parameter Sets

在 Build Settings 視窗中,您擁有幾個用於處理參數集的選項:

處理選項

圖 156. 處理選項


按一下

  • Add 可建立一個新的參數集,您能根據所選的硬體平台隨意修改它。

  • Copy 會複製當前設定的參數,建立一個新設定,並將複製的設定參數貼到新設定中。

  • Import 允許將特定參數集匯入至當前的 VisualApplets 安裝中。

  • Export selected 會將當前參數集儲存至檔案。該檔案可用於將資料傳輸至不同的電腦或安裝,或用於備份。畫面上會顯示一個對話方塊,供您指定檔名與位置。

  • Delete 會刪除當前的參數集。

僅限經驗豐富的使用者:使用相同的建置為不同的作業系統建立 *.hap 檔案(適用於 mE5 marathon)

針對 mE5 marathon,Precondition Check 核取方塊提供了一項特定功能:

  • 如果啟用 Precondition Check,則每次開始綜合(建置)時,都會更新 BuildTime 與 AppletUid 的項目。如果您想要開始完整的建置(從網表產生一直到 applet 產生),則必須啟用 Precondition Check。否則,稍後(在影格擷取卡上使用 applet 時)執行環境將無法可靠地驗證載入的 applet。

  • 特定選項:如果您已經完全建置好一個 applet,但決定需要針對另一個目標作業系統使用另一個 *.hap 檔案:您可以從完整建置中建置出新的作業系統專屬 hap 檔案,以使您的設計能夠在其他目標作業系統上使用(亦即針對另一個目標執行階段)。請依照下列步驟操作:

    1. 在 Settings 功能表中,選取 System Settings。

    2. 在開啟的視窗中,選取 Global Build 類別。

    3. 在此處的 Build Trace Files 下方,啟用 Keep build trace files 選項並指定路徑。

    4. 前往 Settings 功能表,選取功能表項目 Build Settings。

    5. Deactivate Precondition Check 選項。

    6. 停用 Xilinx Build Flow 下的所有其他選項。

    7. 啟用 Applet Generation。

    8. 在 Defaults 下方,啟用 Active Configuration。

    9. 開始建置作業系統專屬的 *.hap 檔案。

    特別是對於複雜的設計,此選項可讓您節省時間。

Selecting the Build Configuration

在 VisualApplets 中,可以在 Build Settings 對話方塊中建立多個建置設定,並將其儲存在應用程式中。

在 Build Hardware Applets 對話方塊的 Xilinx configuration 下,您可以選擇您在 Build Settings 對話方塊中所定義的其中一個建置設定。 您此處選擇的建置設定將用於即將啟動的建置作業。 預設值為您在 Build Settings 對話方塊中指定為 Active configuration 的設定。

  1. 在 Xilinx configuration 下,選擇您要用於建置的建置設定。

為 Applet 建置選擇建置設定

圖 157:為 Applet 建置選擇建置設定


Target Runtime Selection

在相同的 Build Hardware Applets 對話方塊中,您可以指定所需的目標執行階段。 預設會選取設計檔案的目標執行階段。(請參閱 'Target Runtime') 不過,有時 Applet 會在多個目標執行階段上使用。 在這種情況下,可以選取多個目標執行階段,如下圖所示。 VisualApplets 將為所有選取的目標執行階段產生一個 HAP 檔案。

Applet 建置期間的目標執行階段選擇

圖 158:Applet 建置期間的目標執行階段選擇


對於您定義設計檔案的目標執行階段,輸出檔案位於如上所述的指定目錄中。 此輸出檔案的檔案名稱與 *.va 設計檔案的名稱相同,僅副檔名為 *.hap。 如果已安裝 Framegrabber SDK,該檔案將被複製到 Framegrabber SDK 安裝資料夾中。

所有額外的輸出檔案:VisualApplets 會將目標執行階段資訊新增至所有額外輸出檔案的檔案名稱中, 例如 “_Linux_AMD64”、“_Linux_IA32” 等。 這些額外的 HAP 檔案將 不會被複製到 Framegrabber SDK 安裝目錄中。

[提示] 稍後為其他目標執行階段重新封裝 *.hap 檔案

您可以輕鬆地在稍後為其他目標執行階段建立新的 *.hap 檔案,而無需重新啟動整個建置程序。 這可以為您節省大量時間,因為重新封裝只需要幾分鐘。有關如何為其他目標執行階段重新封裝 *.hap 檔案的詳細資訊, 請參閱「稍後為其他作業系統重新封裝 *.hap 檔案」一節。

Build Settings for 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:

  • 在大約一小時內完成您的設計建置。

  • 會在建置後提供資源估算。

  • 如果您的設計中包含 Blob 程式庫的運算子,則無法運作。在這種情況下,建置將會中止並顯示錯誤訊息。

Enhanced:

  • 在大約三小時內完成您的設計建置。

  • 建置完成的設計會使用較少的資源。

  • 在建置後不會提供資源估算。

  • 適用於所有運算子。

Basler 建議一律使用 Enhanced 網表合成引擎 (netlist synthesis engine)。

Errors during Build

建置程序將一律執行層級 1 與層級 2 的設計規則檢查。 若其中一項失敗,建置程序將會中止。 請參閱 'Design Rules Check' 以取得有關設計規則檢查的更多資訊。

此外,建置程序可能會導致其他數個錯誤。 最可能的錯誤是資源耗盡(資源超載)或時序錯誤。 如果 applet 包含過多的邏輯元素,Xilinx 工具將無法將所有要求的元素對應至實體可用的元素。 如果發生資源耗盡,您的設計必須經過最佳化才能放入 FPGA 中。

若發生時序錯誤,Xilinx 工具將無法在允許的條件約束內繞線所有訊號。 當幾乎所有邏輯資源都用盡時,通常會發生此情況。 在此情況下,必須對設計進行最佳化以使用較少的資源。 發生時序錯誤的設計仍然可以完成。 請記住,未符合時序要求的硬體 applet 可能無法正常運作。 使用時可能會導致逾時、資料失敗或其他非預期的行為。 因此,使用未符合時序的 applet 應格外小心,且風險由使用者自行承擔。 如果您的設計所需的資源遠低於 100% 但仍發生時序錯誤,請聯絡 Basler 支援中心。

其他錯誤可能是由 Xilinx 安裝不正確或磁碟區存取權限所引起。

請注意,建置程序可能需要幾個小時才能完成。

Applet Run

硬體 applet 檔案 (HAP) 的使用與執行方式說明於 Framegrabber SDK 說明文件中。 VisualApplets 的 SDK 產生器有助於執行 applet 的初始步驟。 請參閱 'Framegrabber SDK' 以取得更多資訊。

microDisplay

microDisplay 是 Framegrabber SDK 的一部分。 它是用於對產生的 applet 進行初步測試的工具。 如果已安裝 Framegrabber SDK,您可以直接從 VisualApplets 中按一下 Build → microDisplay ( F5 ) 來開啟 microDisplay。 或者,您也可以使用建置圖示列中的 microDisplay 圖示。

稍後為其他作業系統重新打包 *.hap 檔案

您可以從 *.hap 已存在的檔案中 建立額外的 *.hap 檔案。 如果您想要在首次建置之前未指定的其他作業系統上使用 applet,這會特別有幫助。

您不需要重新啟動整個建置程序。 這為您節省了大量時間。重新打包只需要幾分鐘的時間。 在重新打包過程中,VisualApplets 僅會取代原始 *.hap 檔案中特定作業系統的部分。

[重要] 先決條件

To repack an existing *.hap 檔案, 您必須使用用於建置原始 applet 的相同 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. 重新打包成功後的訊息