Build

Applet 建置步驟是您設計 Applet 的最後一個步驟。 在建置步驟中,VisualApplets 的實作會被轉換為硬體 Applet(HAP)。 此步驟亦稱為合成或編譯。 建置步驟的輸出為硬體 Applet 檔案 *.HAP,該檔案可載入至幀擷取卡硬體中。

VisualApplets 將調用 FPGA 製造商 XILINX 的外部工具來產生 HAP。 請確保已安裝正確版本的這些工具,並已據此配置VisualApplets 。

[注意] Xilinx 安裝

如需了解所需Xilinx 工具的詳細說明,以及其正確安裝方法, 請參閱《VisualApplets 安裝指南》。

[注意] microEnable 5 的建置設定

在為 microEnable 5marathon 進行設計時,請務必依需求設定VisualApplets ,詳見「建置設定」一節。

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

偵測到Xilinx 工具

圖 142. 偵測到的Xilinx 工具


開啟 建立硬體小程式 點擊此處進行對話 Build → Build Hardware Applet, 透過點擊「建立硬體小程式」按鈕 從工具列或使用快捷鍵 F7.

[注意] 生成的硬體小程式預設儲存目錄

VisualApplets 系統不會詢問使用者應將生成的硬體小程式 (*.hap 檔案) 儲存於何處。 該檔案會自動產生,並儲存於「系統設定」 / 「 全域建置設定」/「硬體小程式產生」/「硬體小程式 (*.hap) 儲存路徑」中指定的目錄內。 預設情況下,此處為VisualApplets 的安裝目錄。

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

若已安裝與設計目標執行環境相符且能被VisualApplets 識別的Framegrabber SDK 執行個體,則該檔案將被複製至Framegrabber SDK 安裝目錄中。 輸出檔名等同於 *.va 檔案的檔名,即: myDesignName.hap. 專案名稱不會影響小程式的檔案名稱(*.hap 檔案)。

Build Settings

為了實際產生(建置)硬體小程式, VisualApplets 會使用一套在後台運作的完整工具鏈。

針對每個硬體平台,VisualApplets 皆提供一套預設的建置設定,該設定已 針對該特定硬體平台進行了最佳化。

根據您在設計設定中為設計所選定的硬體平台, VisualApplets 會建議相應的預設建置設定。此設定無法 由使用者變更,但可替換為使用者自訂的設定。

[注意] 若……,您必須將預設的建置設定替換為自訂設定……
  • 您正在為 microEnable 5 marathon 平台建立設計。

  • 您使用 Xilinx Vivado 工作。

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

[注意] 推薦的Xilinx 工具

請參閱《Xilinx 工具鏈與版本對應各幀擷取卡平台》一文, 以獲取詳細資訊,了解需使用哪種Xilinx 工具來為哪些 硬體平台編譯小程式。

mE5marathon : 雖然可以使用 ISE 14.7 為 mE5 marathon 建立 Applet,但 Basler 建議使用Xilinx Vivado,因為在這些平台上,使用 Vivado 進行 Applet 建置(合成)的速度會快得多。

Defining Build Settings

Using one Parameter Set as Active Configuration

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

VisualApplets 內建了數組建置參數。您可以 新增其他參數組。

在建置 Applet 時,必須將其中一組設定指定為「Active 配置」。系統將採用此配置,並據此 控制工具鏈。

所有設定資訊皆儲存於您 本地安裝目錄中的「SynthesizeSettings.xml」檔案中。

[注意] 已啟用及當前參數集

若要開啟「建置設定」對話方塊,請按一下 「設定」 → 建置 設定。

對話方塊開啟。顯示已啟用的參數集:

  • 已啟用的參數集會在 「建置設定」對話方塊的左側面板中以綠色勾號標示。

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

  • 即使您選取 另一組參數集來顯示,已啟用的參數集仍會保持啟用狀態。(若要顯示某組參數集, 請在「建置設定」對話方塊的左側面板中點擊其名稱。 所選的參數集將顯示於 「建置設定」對話方塊的右側面板中。)

  • 您可對顯示的參數集進行編輯、複製、儲存或刪除(請參閱 下文)。

以下,我們將把顯示的參數集稱為 「當前參數集」。

Defining New Parameter Sets

這組參數本身包含用於啟動外部 應用程式(Xilinx 工具)的參數——這些工具負責執行工作流程中的特定步驟——以及 用於控制這些工具的參數。 您可以透過勾選 「活躍配置」,將某個參數集定義為 預設配置(用於啟動當前設計的建置),並可新增註解來說明此 特定參數集的用途。

  1. 要開啟「建置設定」對話方塊,請按一下選單 「設定」 → 建置 設定。

    對話方塊開啟。顯示已啟用的參數集。

    [注意] 在新增第一組替代參數之前

    只要尚未為您的 設計所針對的目標硬體建立額外的參數集,系統便會顯示預設的建置設定。

    您無法變更這些預設設定,因此所有 輸入欄位均已停用。

    此外,您也無法取消勾選「啟用設定」,因為目前尚無 其他選項可替代預設設定。

  2. 點擊 新增 以建立一套新的參數。

    系統將要求您提供硬體平台資訊。您可以在此處指定 要載入哪一套參數集,作為建立您自己的 參數集的基礎。在大多數情況下,在此處選擇您設計的 目標硬體是相當合理的做法。

    硬體平台的選型

    圖 143. 硬體平台選型


  1. 按一下 OK。

    現在,您可以編輯前幾個欄位。

「建置設定」視窗

圖 144. 「建置設定」視窗


  1. 名稱: 為您的新屬性集指定一個名稱,以便 進行識別。此名稱將顯示於設定對話方塊及 建置協議中。

  2. 主動配置: 若您希望在建構 Applet 時使用這組 參數,請勾選「主動 設定」方塊。

    [重要] 主動配置

    您定義為 「Active configuration」 所定義的參數集,將在您每次執行 建置時被使用。

    當您變更設計中選為目標硬體 平台的硬體平台時:請為此新平台定義新的建置設定。

  3. 先決條件檢查: 在預設模式下,「先決條件 檢查」功能已啟用。此檢查功能會驗證您的設計所使用的目標硬體上的 FPGA 類型 是否受您的Xilinx 工具鏈所支援。 此外,針對所有 mE5marathon 平台之設計:當此 核取方塊被勾選時,操作元 AppletProperties中的資訊會在每次建置時更新,即 BuildTime與 AppletUid。因此,當建置完成後, 該設計將處於「未儲存」模式,因為在建置過程中, AppletProperties中的參數值已被變更。

    [注意] 避免更新 AppletProperties

    在特定情況下,您可能不希望透過建置來更新 AppletProperties運算子。在這種 情況下,只需取消勾選「先決條件 檢查」核取方塊即可。

  4. Xilinx ISE/Xilinx Vivado: 選擇您即將使用的Xilinx 工具鏈 。Vivado 受所有marathon 平台支援。若開放式設計的目標硬體 不支援 Vivado,GUI 會直接顯示此訊息:

    Vivado 受目標硬體設計支援

    圖 145. 目標硬體設計所支援的 Vivado


    目標硬體設計不支援 Vivado

    圖 146. 目標硬體設計不支援 Vivado


  5. 建置環境:

    • 當使用較新的「Xilinx 」工具時(即使用 Xilinx Vivado 或Xilinx ISE 且版本高於 9.2 進行開發時):

      • 取消勾選「使用系統環境」 核取方塊,並

      • 從您的檔案系統中,選取Xilinx 設定批次檔,該批次檔會設定環境變數以 啟動外部工具。

      請參閱Xilinx 的文件,以做出 最佳選擇。

      您可以在「Xilinx 」的安裝資料夾中找到這個批次檔:

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

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

      Basler 建議在為 microEnable 5 平台開發小程式時, 使用 64 位元版Windows 作業系統。 請確保 您選擇的批次檔與您 所使用的作業系統相符,例如「settings64.bat」即為適用於 64 位元Windows 作業系統的檔案。

    • 若您使用的是較舊版的Xilinx ISE(版本 9.2 或更早) 且 所有環境變數均已 在作業系統層級設定完成,請勾選「使用系統環境」 核取方塊。

  6. 建置流程: 啟用 「建置流程」下的所有選項。通常,所有步驟都應 被啟用。

    Basler 建議將系統設定為「多點」模式,並 將迭代次數設定為 20 次。

    請將「指令模式」維持為「使用平台」 的預設值。

  7. 小程式生成: 啟用Applet 生成功能。

  8. 註解: 請輸入一則說明您剛建立的 參數集的註解。您在此處輸入的內容不會影響 實際的建置流程。

  9. 點擊 「確定」 按鈕。

範例:在為 microEnable 5marathon 進行開發時,需設定以下 參數值:

參數集範例:針對 microEnable 5 進行開發marathon

圖 147. 參數集範例:針對 microEnable 5 進行開發marathon


[重要] 停用建置流程步驟

預設情況下,所有建置流程步驟(翻譯、映射等)均 已啟用:

預設:所有建置流程步驟均已啟用

圖 148. 預設:所有建置流程步驟均已啟用


您可以取消選取個別步驟。不過,建置步驟之間是相互 依賴的。它們會依照相互依賴的順序列出:

  • 翻譯是始終可以 執行的第一步。

  • 只有在先前已執行「轉換」步驟的情況下, 才能執行映射。

  • 只有在先前已執行「映射」 這一步驟的情況下,才能執行佈置與佈線,以此類推。

後續建置步驟已停用

圖 149. 後續建置步驟已停用


然而,前一個步驟無需在同一次建置 執行過程中執行。它同樣可能已在較早的建置執行中執行過。 只要 先前建置執行過程中所產生的檔案(追蹤檔案) 仍然可用,便可以停用位於 「建置流程」清單中較前方的步驟,並啟用清單中較後方的步驟。

若要保留先前建置執行過程的追蹤檔案:請前往選單 「設定」 → 系統 設定 →全局建置。在「建置追蹤檔案」下方,啟用 「保留建置追蹤檔案」。停用 「壓縮建置追蹤檔案」。

保留各個建置步驟的建置檔案

圖 150. 保留各建置步驟的建置檔案


如果您保留了建置追蹤檔案,並且先前已完整執行過所有 建置流程步驟一次,您也可以僅啟用後續步驟,例如:

保留各個建置步驟的建置檔案

圖 151. 保留各建置步驟的建置檔案


[重要] 命令模式選項

您可以變更 指令模式。

若要變更 命令模式,請前往 建置流程區域右上角的「指令模式 」。

命令模式選項

圖 152. 指令模式選項


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

  • 使用平台的預設值(預設)

  • 附加至平台的預設值

  • 覆寫平台的預設值

----------

使用平台的預設值 (預設):

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

VisualApplets 在執行Xilinx 工具時,也會使用這些預設值 (也就是說,當實際的小程式是根據開啟的設計進行建構(合成)時)。

由於預設集無法修改,因此在「使用平台預設 值」模式下,無法編輯 「參數」欄位。

指令模式「使用平台預設值」

圖 153. 指令模式「使用平台預設值」


附加至平台的預設值:

若您選取此選項,即可將 映射及佈局與佈線工具 的相關資訊,新增至VisualApplets 所提供的基本參數中。

在建置過程中,VisualApplets 會在 呼叫該工具時,將您在「參數」欄位中定義的參數 加入平台的預設值中。 此設定僅適用於 經驗豐富的使用者。

指令模式「追加至平台預設值」

圖 154. 指令模式「追加至平台預設值」


覆寫平台的預設值:

若您選取此選項,VisualApplets 會在您建立新的 Applet 套件後,立即顯示針對 您所選目標硬體平台的「映射」及「佈置與佈線」 的預設參數。您可在此處定義(覆寫) 佈局與佈線參數。VisualApplets 現在在呼叫工具時,僅會使用您在這些「參數」 欄位中指定的參數。 此設定僅適用於 具經驗的使用者。

指令模式「覆寫平台預設值」

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


Re-Using Parameter Sets

在「建置設定」視窗中,您有幾種選項可用於 處理參數集:

處理選項

圖 156. 處理選項


點擊

  • 新增 將建立一個新的參數集,您可以 根據需求進行修改(視您選用的硬體平台而定)。

  • 複製 複製當前集合的參數, 建立一個新集合,並將複製的集合參數貼入該新 集合中。

  • 匯入 可將特定參數集 匯入當前的VisualApplets 安裝環境中。

  • 「匯出選取項目」 將當前參數集儲存至 檔案。此檔案可用於將資料傳輸至另一台電腦或 其他安裝環境,或作為備份之用。系統將顯示一個對話方塊,您可在其中 指定檔案名稱及儲存位置。

  • 刪除 刪除當前參數集。

僅限有經驗的使用者:針對不同作業系統建立 *.hap 檔案 使用相同的建置版本 (mE5marathon)

針對 mE5marathon ,該核取方塊 先決條件檢查 提供了一項特定功能:

  • 若 「先決條件檢查」 已啟用,則在每次 合成(建置)開始時,會更新 BuildTime 和 AppletUid 的資料。若 您要執行完整的建置(從網表生成到 Applet 生成),則需啟用 先決條件 檢查。否則,在後續階段(於 幀擷取器上使用小程式時),執行時 環境將無法可靠地驗證所載入的小程式。

  • 特定選項:如果您已經完全建置完一個小程式,但 決定需要另一個 *.hap 檔案來支援其他目標作業系統:您可以 從完整的建置結果中,建置一個新的、針對特定作業系統的 hap 檔案,讓您的 設計能在其他目標作業系統上運作(即適用於另一種目標 執行環境)。操作步驟如下:

    1. 在選單中 「設定」中,選擇 系統 設定。

    2. 在彈出的視窗中,選擇類別 全域 建置。

    3. 在此,位於 「建立追蹤檔案」下,啟用 選項 保留建置追蹤檔案 ,並 指定一個路徑。

    4. 前往選單 設定,選單項目 建置設定。

    5. 停用 選項 停用選項 檢查。

    6. 停用 Xilinx 建置 流程下的所有其他選項。

    7. 啟用 小程式生成.

    8. 在「預設值」下,啟用 啟用 設定。

    9. 開始編譯適用於特定作業系統的 *.hap 檔案。

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

Selecting the Build Configuration

在VisualApplets 中,可在「建置設定」對話方塊中建立多個建置設定, 這些設定會儲存於應用程式中。

在「Xilinx 」設定中的 「建置硬體小程式」對話方塊中,您可以選擇其中一項在「建置設定」對話方塊中定義的建置設定。 您在此處選取的建置設定將用於您即將開始的建置。 預設值為您在「建置設定」對話方塊中指定為「有效設定」的配置。

  1. 在「Xilinx 」設定中,請選擇您要 用於建置的建置設定。

為 Applet 建置選取建置設定

圖 157. 為 Applet 建置選擇建置配置


Target Runtime Selection

在同一個「建置硬體小程式」對話方塊中,您可以指定所需的目标執行環境。 預設情況下,會選取設計檔的目标執行環境。 (請參閱「目標執行環境」) 然而,有時小程式會用於多個目標執行環境。 在這種情況下,可以選取多個目標執行環境,如下一圖所示。 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 這兩款平台各增加了一項建置設定: 網表合成引擎。

imaFlex CXP-12 Quad 的建置設定以及imaFlex CXP-12 Penta

圖 159. imaFlex CXP-12 Quad 的建置設定與imaFlex CXP-12 Penta


此設定會影響建置速度及裝置資源。

標準:

  • 約一小時即可完成您的設計。

  • 在建置完成後,確實會提供資源估算。

  • 是否 不 若您的設計中包含Blob函式庫的操作子,此方法將無法運作。在此情況下,建置過程將會因錯誤訊息而中止。

增強型:

  • 大約三小時即可完成您的設計。

  • 這種建築設計的資源消耗較少。

  • 是否 是否 在建置完成後不會提供資源估算。

  • 適用於所有電信業者。

Basler 建議始終使用 增強型 網表合成引擎。

Errors during Build

建置程序將始終執行第 1 級和第 2 級的設計規則檢查。 若其中任一級檢查失敗,建置程序將中止。 有關設計規則檢查的更多資訊,請參閱「設計規則檢查」。

此外,建置過程可能會引發其他幾種錯誤。 最常見的錯誤是資源映射過度或時序錯誤。 若小程式包含過多的邏輯元件,XILINX 工具將無法將所有必要的元件映射至實體上可用的 元件。 若發生資源映射過度,則必須優化您的設計,使其能容納於 FPGA 之中。

若發生時序錯誤,XILINX 工具將無法在允許的限制範圍內進行所有訊號的佈線。 這種情況通常發生在幾乎所有邏輯資源都被使用時。 在這種情況下,必須對設計進行優化,以減少資源的使用量。 即使存在時序錯誤,設計仍可完成。 請注意,未符合時序要求的硬體小程式可能無法正常運作。 若實際使用,可能會導致超時、資料錯誤或其他意外行為。 因此,使用未符合時序要求的小程式時應格外謹慎,且相關風險由使用者自行承擔。 若您的設計所需資源遠低於 100%,卻仍出現時序錯誤,請聯絡Basler 技術支援。

其他錯誤可能是由於 XILINX 安裝不正確或磁碟分區存取權限問題所導致。

請注意,建置過程可能需要數小時才能完成。

Applet Run

關於硬體小程式檔案(HAP)的使用與執行方式,請參閱《Framegrabber SDK 》文件。 VisualApplets 網站上的 SDK 產生器可協助您完成執行小程式的初始步驟。 更多資訊請參閱「Framegrabber SDK 」。

microDisplay

microDisplay 是Framegrabber SDK 的一部分。 它是一款用於對生成的 Applet 進行初步測試的工具。 若已安裝Framegrabber SDK ,即可透過點擊VisualApplets 上的 「建置」 → microDisplay ( F5 )。 此外,您也可以從「建置」圖示列中使用microDisplay圖示。

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

您可以建立額外的 *.hap 檔案 來自一個已存在的 *.hap 檔案。 若您希望在首次建置前未曾指定的其他 作業系統上使用該小程式,這點尤其有用。

您無需重新啟動整個建置流程。 這能為您節省大量時間。重新打包僅需幾分鐘。 在重新打包過程中,VisualApplets 僅會將原始 *.hap 檔案中與作業系統相關的部分進行替換 。

[重要] 先決條件

要重新打包現有的 *.hap 若要為新作業系統提交檔案, 您必須使用與編譯 原始小程式時相同的VisualApplets 版本(VA 2.2 或更高版本)。

否則,系統將顯示相應的錯誤訊息。

要建立額外的 *.hap 其他作業系統的檔案:

  1. 從選單中選擇 「建置」 → 重新封裝硬體小程式檔案...。

    「重新封裝硬體小程式檔案」視窗隨即開啟:

    「重新打包硬體小程式檔案」視窗

    圖 160. 「重新封裝硬體小程式檔案」視窗


  2. 請使用「瀏覽」按鈕選取原始的 *.hap 檔案。

    VisualApplet 會立即檢查原始的 *.hap 檔案是否是使用 與您目前相同的VisualApplets 版本(2.2 或更高)所建立的(這是重新封裝程序的先決條件, 請參閱上文)。

    若VisualApplets 的版本不符,系統將顯示相應的錯誤訊息。

  3. 如果一切正常,請按一下「下一步」按鈕。

    已滿足重新包裝的先決條件

    圖 161. 已滿足的重新封裝先決條件


  4. 在「執行環境」下,請選擇您要為其建立新 *.hap 檔案的目標執行環境(即目標作業系統)。

    選擇目標作業系統

    圖 162. 選擇目標作業系統


    VisualApplets 提供新 *.hap 檔案的檔案名稱。

  5. 請根據您的需求調整新 *.hap 檔案的儲存位置及檔案名稱。

  6. 按下「下一步」。

    VisualApplets 顯示您為重新打包所指定的所有設定:

    指定重新包裝設定的顯示

    圖 163. 指定重新封裝設定的顯示畫面


    若需調整設定,您可以使用「返回」按鈕。

  7. 按一下「完成」以開始重新封裝程序。

    重新封裝成功後,您將收到相應的訊息:

    重新打包成功後的訊息

    圖 164. 重新封裝成功後的訊息