簡介

嵌入式VisualApplets 讓您能夠使用圖形化 FPGA 開發 環境VisualApplets 來編寫機器視覺應用程式,這些應用程式將在您硬體平台上的 FPGA 上執行。

您並非使用「VisualApplets 」來編程整個 FPGA,而是僅編程一個 IP 核心(Intellectual Property Core)。此 IP 核心 嵌入 於您周邊的 FPGA 設計中:

FPGA 上影像處理應用程式的圖形化程式設計

圖 186. 基於 FPGA 的影像處理應用之圖形化程式設計


要將影像處理管線的邏輯填入 IP 核心中,無需具備 HDL 知識, 因為VisualApplets 是一個圖形化環境。VisualApplets 亦會處理整個 實作流程。透過VisualApplets ,您可以讓軟體工程師和影像處理 專家在您的硬體上對 IP 核心進行程式設計。

在您能夠使用VisualApplets 為硬體上的 FPGA 編寫應用程式之前,您 需要將 IP 核心整合至 FPGA 設計中,並產生一個 eVA(嵌入式 VisualApplets )外掛程式,該外掛程式會向VisualApplets 提供您 硬體平台的所有硬體相關細節。

整合工作流程

您只需將「VisualApplets (VA)」IP 核心整合一次。VA IP 核心:這是您 FPGA 中的 IP 核心,可透過VisualApplets 為其編程以實現影像處理功能。整合 完成後,您可以隨心所欲地重新編程該 VA IP 核心,並可套用任意數量的 機器視覺應用程式。

硬體與軟體整合的關鍵步驟會由 工具 eVA Designer (該工具為VisualApplets Embedder 套件的一部分)自動執行。此舉不僅能加速工作流程,更能實現 結構上正確的實作。

您只需幾個步驟,即可將「VisualApplets 」整合至您的硬體設計中:

  • 請安裝VisualApplets 。

  • 您可以 eVA Designer 在 VHDL 中生成一個 IP 核心黑盒。該 直觀的圖形化使用者介面(GUI)可協助您指定未來 VA IP 核心的詳細規格:

    • 請輸入有關您硬體的相關資料(硬體名稱、FPGA 類型、您的 供應商名稱等)。

    • 您需指定希望 VA IP 核心具備的埠(影像輸入埠、影像 輸出埠、寄存器介面、記憶體介面、GPI 及 GPO)。

    • 您可以讓 eVA Designer 系統會根據您的輸入,自動產生空的 VA IP 核心(VHDL 黑盒)。

  • 您將生成的 IP 核心(黑盒模式)整合至您的 FPGA 設計(VHDL)中。

  • 您會針對包含整合式黑盒子的 FPGA 設計產生一份網表。

  • 您建立一個約束條件檔案。

  • 您提供網表和約束條件檔案給 eVA Designer ,並讓其產生針對特定硬體平台的 eVA 外掛程式 安裝程式 ,適用於VisualApplets 。

  • 您執行 eVA 外掛程式安裝程式。安裝完成後, 針對特定硬體平台的 eVA 外掛程式 將可在VisualApplets 中使用,並可讓您在 FPGA 上為 VA IP 核心進行設計開發。

完成上述步驟後,您即可使用圖形化開發環境 VisualApplets 來為您的 FPGA 編寫 VA IP 核心程式。關於 這些步驟的詳細分步指南,請參閱「定義 IP 核心屬性」。

針對新硬體平台的「僅執行一次」實作流程:

針對新硬體平台的「僅執行一次」整合流程

圖 187. 適用於新硬體平台的「僅此一次」整合流程


FPGA 設計與 IP 核心內容作為位元流生成的建構模組

圖 188. 作為位元流產生基礎組件的 FPGA 設計與 IP 核心內容


快速瀏覽 VisualApplets

透過將 VA IP 核心整合至您的 FPGA 設計中,您便能讓軟體工程師與 影像處理專家在您的硬體上對 VA IP 核心進行程式設計。

VisualApplets 用於設計基於 FPGA 的影像 處理程式(小程式)。使用VisualApplets 設計小程式非常簡單, 是在圖形化開發環境中進行的。無需具備任何硬體描述語言的知識。在 VisualApplets 中,影像處理解決方案是以流程圖的形式開發——完全不 需要使用任何 HDL。

以下是在VisualApplets 中設計的外觀:

VisualApplets 包含影像處理設計的程式視窗

圖 189. 顯示影像處理設計的VisualApplets 程式視窗


如上圖所示的設計,日後(在合成為位元流之後) 將會載入至您硬體上的 VA IP 核心中。

VisualApplets 提供超過 200 個運算子。每個運算子都提供一項特定功能, 可用於影像處理流程中。

部分運算子需要直接連接到周邊的 FPGA 環境。這些 包括:

  1. 從相機/感測器接收影像的操作員

  2. 在處理管線末端輸出已處理影像的操作元(例如, 將已處理影像傳送至 DMA 的操作元)

  3. 使用 RAM 資源的緩衝運算子

  4. 允許訊號輸入與輸出的運算子(GPIO)

包含需介面操作的運算子的簡易影像擷取小程式的範例

圖 190. 包含需透過介面執行的運算子的簡易影像擷取小程式的範例


為了讓這些運算單元與周邊的 FPGA 設計之間進行資料通訊,VA IP 核心需要提供相應的介面。

IP 核心介面概念

您可以極具彈性地配置 VA IP 核心的介面埠。 VA IP 核心的 I/O 由多個靈活且易於使用的介面所組成,這些介面連接 IP 核心與您的(周邊)FPGA 設計。外部硬體資源(例如感測器 介面、記憶體控制器等)會透過您 FPGA 設計中的膠合邏輯進行連結,如下圖 所示:

VA IP 核心介面的概念

圖 191. VA IP 核心介面的概念圖


使用先入先出緩衝區(FIFO)的介面會標示為綠色:

介面有以下幾種類型:

  • 時鐘: 該 IP 核心採用兩個相位同步的設計時鐘運作, 其中第二個時鐘的頻率是第一個時鐘的兩倍。

  • ImgIn: 影像資料輸入串流介面 影像資料透過簡單的 FIFO 介面進入 IP 核心,其中額外的「行結束」與「幀結束」標誌 用以標示幀邊界。ImgIn 埠的數量以及透過這些埠傳輸的資料 佈局皆可進行配置。

  • ImgOut: 用於影像資料輸出串流的介面 影像資料透過一個簡單的 FIFO 介面從 IP 核心傳出,其中「行尾」與 「幀尾」的額外標誌用於標示幀的邊界。ImgOut 埠的數量以及 透過這些埠傳輸的資料佈局皆可進行配置。

  • MemWr/Rd: 用於連接外部記憶體的介面 該 IP 核心可 透過抽象化的記憶體介面連接至外部記憶體,透過此介面,任何類型的記憶體 皆可透過單一介面機制進行連接。外部膠合邏輯需將 IP 核心的記憶體介面協定適應於所使用的記憶體控制器。可用的 記憶體介面埠數可進行配置。 對於每個埠,皆可 個別定義介面屬性(例如:位址寬度與資料位寬)。

  • GPI、GPO: 通用訊號 I/O 透過 GPI/GPO,訊號可進入或離開 IP 核心。此類訊號可用於觸發及製程控制。 GPIO 訊號的數量可進行設定。

  • 從屬 IF: 用於執行時存取設計參數的寄存器從機介面 該 從機介面是一種簡單的寄存器介面,由與設計時鐘同步的位址、資料及控制 訊號所控制。IP 核心中已實作的 影像處理管線之重置與啟用控制,亦是透過從機介面來實現。

效能等級

VisualApplets Embedder 支援 12 種效能等級。各效能 等級的定義依據為:感測器的最大頻寬、影像處理應用程式可 使用的最大 FPGA 資源,以及定義記憶體介面的選項:

請選擇效能等級。有關定價事宜及授權程序,請參閱 「授權模式」一節。您需要特定的目標硬體。

若要將資料輸入至XML 檔案(即硬體描述檔),應依照「定義 IP 核心屬性」一節的說明,使用 圖形化使用者介面 (GUI) 工具eVA Designer 。針對每個 效能類別,皆提供一個XML 範本。請使用XML 範本来輸入

  • 您的硬體平台的硬體規格,

  • 關於您在 VA IP 核心中所需介面的說明,

  • 特定於硬體的VisualApplets 運算子,其從 VA IP 核心內部連接至介面。

[注意] 可用範本

您的VisualApplets 安裝套件附帶了兩個範例平台描述檔(XML ), 以及一個可讓您從頭開始輸入自身硬體詳細資訊的 範本。這些XML 檔案是用於 測試用途。它們允許 產生受限制的 eVA 外掛程式。使用這些外掛程式所建立的小程式將 受到執行時限制。您可在XML 執行時 安裝套件的以下資料夾中找到範例平台描述檔與範本:

  • VisualApplets_<version_number>\Examples\EmbeddedVisualApplets\DemoTemplate

  • VisualApplets_<version_number>\Examples\EmbeddedVisualApplets\SVDK

  • VisualApplets_<version_number>\Examples\EmbeddedVisualApplets\ZC702

Basler 將直接為您提供適用於各效能級別的、專屬且針對特定供應商的XML 範本。

Requirements

若要將 VA IP 核心整合至您的 FPGA 設計中,並產生一個 eVA 外掛程式, 該外掛程式可向VisualApplets 提供您硬體平台的所有硬體特定詳細資訊,您需要 以下元件:

硬體與作業系統:

  • 運行 MicrosoftWindows 7、Windows 8 或Windows 10(64 位元)作業系統的個人電腦

  • PC Memory:最低 4 GByte,建議:8 GByte 或更高

  • 可用硬碟空間下限:500 MByte

  • 已實作 FPGA 的目標硬體平台。在 VisualApplets 3.2 發佈之際,已支援Xilinx Inc. 自第 6 系列起的所有 FPGA(包括 Zynq7000、第 7 系列 FPGA、Ultrascale、Ultrascale+ 以及 Zynq Ultrascale+)。

軟體:

  • VisualApplets 3.0(或更高版本)

  • VisualApplets 3 份授權

  • VisualApplets 3. 嵌入式授權

  • XML 用於建立硬體描述的範本(由 Basler 提供)

用於開發影像處理應用程式的第三方軟體:

  • 若要編譯 SDK 範例,必須安裝 C++ Compiler。

  • 若要根據您的設計產生實際的位元流,您需要一套 由 FPGA 製造商提供的工具套件。整個工具流程完全由 VisualApplets 所控制。您只需安裝該軟體即可。視您所實作的 FPGA 類型而定 ,您需要(在VisualApplets 3.0 發佈之時)以下其中一種:

    1. Xilinx Vivado(免費的 WebPACK 版本或 Design Suite),或

    2. Xilinx ISE(免費版 WebPACK 或 Design Suite)。

    有關詳細資訊,請參閱您在硬體上實作的 該 FPGA 型號的相關文件。