OpenCL™ - BSP - 支援中心
OpenCL™ BSP 支援頁面提供如何規劃、設計和實作 OpenCL™ BSP 的資訊,並瞭解用於除錯目的的一些秘訣和技巧。
1. 修改參考設計
開始
若要開始開發 BSP,請確保您執行下列步驟:
- 確認已安裝適用于 OpenCL™ 和 Intel® Quartus® 軟體的 Intel® FPGA SDK。
- 請確認可用與 OpenCL™ 參考 BSP 相符的工具版本。
- 確認存取完整的Intel® Quartus®軟體授權。
選取參考設計
選擇適合您自訂平臺的參考設計
Intel 支援以下平臺的 OpenCL™ 參考 BSP 設計。您也可以針對特定平臺檢視 OpenCL™ BSP 埠指南:
- Stratix® V PCIe* 開發工具組 - 檢視 OpenCL™ Stratix® V 網路參考平臺移植指南的Intel® FPGA SDK
- Intel® Arria® 10 PCIe 開發工具組 - 查看 OpenCL™ Intel® Arria® 10 GX FPGA開發工具組參考平臺移植指南的Intel® FPGA SDK
- Intel® Arria® 10 SoC 開發工具組 - 查看 OpenCL™ Intel® Arria® 10 SoC 開發工具組參考平臺移植指南Intel® FPGA SDK
- Intel® Stratix® 10 PCIe* 開發工具組 - 查看 OpenCL™ Intel® Stratix® 10 GX FPGA開發工具組參考平臺移植指南的Intel® FPGA SDK
修改參考設計
按照 OpenCL BSP 埠取指南中的步驟,開始修改您的 Platf 的參考設計。建議在設計變更完成後,嘗試編譯第一核心。一般來說,我們使用名為 Boardtest的核心,該核心會測試 BSP 的不同介面。下列指南中提到主機板測試和一般 BSP 建物步驟的資訊:
Intel® FPGA適用于 OpenCL™ 自訂平臺工具組使用者指南 (PDF) 的 SDK
建立 BSP 的建議步驟:
- 在「平面」流程中編譯主機板測試,產生已關閉的時間「.aocx」檔案
- 執行主機板測試以驗證「.aocx」,並交叉檢查測試中的介面頻寬預期
- 開始針對「基本」組建進行平面規劃,以建立保證計時封閉的 OpenCL BSP
2. 平面規劃與計時關閉
開始
在 OpenCL 中,我們需要針對專案的兩種不同修訂程式(平面與基本修訂版)制定時間。平面修訂版是沒有任何分割區或邏輯鎖定區域,並使用硬體/flat.qsf 檔案來實作。雖然基本修訂是包含分割和邏輯鎖定,並使用硬體/base.qsf 檔案來實作。我們建議您先獲得時序乾淨的平面修訂版,作為良好的開端,然後進行平面規劃,以獲得設計時序乾淨的基礎修訂版。
如需編譯流程的詳細資訊,請參閱 OpenCL™ BSP 編譯流程 區段 Intel® FPGA SDK 以取得 OpenCL™ 主機板支援套件平面圖優化指南。
平面圖分割區
從平面編譯開始,瞭解 BSP 的所有主要元件自然放置在哪裡(尤其是具有 I/O 連線的智慧財產 (IP) 模組,例如 PCIe* 或 DDR 記憶體)。
如需此方面的更多準則,請參閱 OpenCL™ BSP 平面平面圖 的Intel® FPGA SDK 適用于 OpenCL™ 主機板支援套件平面圖優化指南中的指南。
如需詳細資訊,您也可以參閱 部分重新配置使用者指南。
修改 PR 區域
在基本編譯過程中,從包含 freeze_wrapper_inst|kernel_system_inst 的核心上的 Logic Lock 區域開始。使用平面編譯和晶片規劃器來識別 BSP 硬體的大小與位置。嘗試使用 Logic Lock Region,為kernel_system保留更多資源。
如需此方面的更多準則,請參閱 OpenCL™ BSP 平面平面圖 的Intel® FPGA SDK 適用于 OpenCL™ 主機板支援套件平面圖優化指南中的指南。
修正違規計時
若要修正設計中的時間違規問題,您可能需要在 IP 核心之間新增管道階段。
如需更多準則,請參閱下列連結:
設定/持有限制
輸出目錄中的 .failing_paths.rpt 和 .failing_clocks.rpt 列出了設計的主要故障。如果某些路徑有一致故障,您可能想要為 /hardware/top.sdc 檔案中的關鍵路徑設定最低或最大延遲限制。
對於相關問題,您可以在知識資料庫頁面上參閱下列解決方法:如何關閉競爭的擱置時間和違反Arria 10 的設定?
3. MMD 與 OpenCL™ 公用程式
MMD 來源開發或修改
MMD 軟體資料庫在主機與加速板之間執行基本輸入/輸出 (I/O),並提供介面,例如開啟、讀取和寫入。MMD 程式庫驅動程式會以 Windows* 64 或 Linux* 64 格式儲存,而原始碼則儲存在原始碼資料夾中。
如需詳細資訊,請參閱 OpenCL™ 自訂平臺工具組使用者指南 中 Intel® FPGA SDK 中的 建立 MMD 程式庫區段。
公用程式支援
OpenCL™ 公用程式可讓您使用 OpenCL™ 的 Intel® FPGA SDK 執行主機板存取。這包括 aocl 安裝、aocl 卸載、aocl 診斷、aocl 程式和 aocl 快閃。
如需詳細資訊,請參閱 OpenCL 自訂平臺工具組使用者指南 Intel® FPGA SDK 中的 OpenCL™ ™ 公用程式支援Intel® FPGA SDK 區段。
建立軟體公用程式和 MMD 層後,硬體設計必須經過測試。標準方法是產生主機板測試的核心,並在主機板上執行。
如需詳細資訊,請參閱 OpenCL™ 自訂平臺工具組使用者指南 Intel® FPGA SDK 中的「 測試硬體設計 」一節。
4. 除錯
主機板啟動
本節可協助您疑難排解問題,同時提出Intel® FPGA開發工具組或您自己的自訂主機板。
若要找出您在提出主機板時可能遇到的一些已知問題,請參閱 807 中的下列章節:為 OpenCL™ 應用程式說明的 Intel® FPGA SDK 設定 Intel® Arria® 10 GX FPGA開發工具組:
平面圖與計時
有關使用最社區域進行靜態邏輯,並為 OpenCL™ 核心留出更多空間的秘訣和訣竅,您可以參閱 OpenCL™ 主機板支援套件平面圖優化指南的 824:Intel® FPGA SDK。
執行時間除錯
在執行主機應用程式時,某些環境變數可以設定以取得更多除錯資訊。這些Intel® FPGA適用于 OpenCL™ 特定環境變數的 SDK,有助於診斷自訂平臺設計的問題。
下表列出了所有這些環境變數,並詳細說明這些變數。
環境變數 |
描述 |
ACL_HAL_DEBUG |
將此變數設定為 1 到 5 的值,以增加硬體抽象層 (HAL) 的除錯輸出,該層直接與 MMD 層介面。 |
ACL_PCIE_DEBUG |
將此變數設定為 1 至 10000 值,以增加 MMD 的除錯輸出。此變數設定有助於確認 ID 註冊版本讀取正確且 UniPHY IP 核心經過校準。 |
ACL_PCIE_JTAG_CABLE |
設定此變數以覆寫指定纜線編號的預設quartus_pgm參數。預設值為纜線 1。如果有多個Intel® FPGA Download Cable,您可以設定此變數來指定特定的纜線。 |
ACL_PCIE_JTAG_DEVICE_INDEX |
設定此變數以覆寫指定FPGA裝置索引的預設quartus_pgm論據。預設情況下,此變數的值為 1。如果FPGA不是 JTAG 鏈中的第一個裝置,您可以自訂價值。 |
ACL_PCIE_USE_JTAG_PROGRAMMING |
設定此變數以迫使 MMD 使用 JTAG 纜線重新程式設計FPGA,而不是部分重新配置。 |
ACL_PCIE_DMA_USE_MSI |
如果您想要在 Windows* 上使用 MSI 直接存取 (DMA) 傳輸,請設定此變數。 |
訊號點卡除錯
因為 OpenCL™ 設計不支援模擬功能,因此使用 Signal Tap Logic Analyzer 是除錯這些設計的最佳方式。
建議使用 Signal Tap Logic Analyzer 偵錯任何核心懸空或記憶體介面或診斷故障相關的問題的設計。
若要進一步瞭解 Signal Tap Logic Analyzer,請參閱 除錯工具使用指南中的 訊號 Tap 邏輯分析器區段進行設計除錯 。
執行下列步驟,將訊號點擊檔案新增到 BSP 設計中
1. 開啟訊號 Tap GUI 並新增所有要分析的訊號。
2. 將 STP 檔案儲存在與Intel® Quartus®軟體專案檔案相同的目錄中。
3. 在您的 flat.qsf 中新增下列命令列:
- set_global_assignment──名稱ENABLE_SIGNALTAP開啟
- set_global_assignment───名稱 USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment───名稱 SIGNALTAP_FILE <file_name>.stp
4. 從 AOCL 命令列重新電腦核心。
知識資料庫解決方案
Intel® Arria® 10 部裝置
Intel® Stratix® 10 部裝置
已知問題
5. 建議閱讀與訓練
OpenCL™ 影片
標題 |
描述 |
---|---|
這段影片說明使用 Windows* 機器在 Cyclone® V SoC 上執行兩個應用程式的開箱即用程式,OpenCL™ HelloWorld 和 OpenCL™ Fast Fourier 轉檔 (FFT)。 |
|
這段影片說明使用 Windows* 機器在 Cyclone® V SoC 上執行兩個應用程式的開箱即用程式,OpenCL™ HelloWorld 和 OpenCL™ FFT。 |
|
這段影片說明使用 Windows* 機器在 Cyclone® V SoC 上執行兩個應用程式的開箱即用程式,OpenCL™ HelloWorld 和 OpenCL™ FFT。 |
|
這段影片說明使用 Windows* 機器在 Cyclone® V SoC 上執行兩個應用程式的開箱即用程式,OpenCL™ HelloWorld 和 OpenCL™ FFT。 |
|
這段影片說明使用 Windows* 機器在 Cyclone® V SoC 上執行兩個應用程式的開箱即用程式,OpenCL™ HelloWorld 和 OpenCL™ FFT。 |
|
影片探討了客戶為何可能利用此功能在 OpenCL™ 核心代碼中使用自訂處理模組 (RTL)。影片說明設計範例,例如製作檔案、設定檔案,並說明編譯流程。影片亦顯示設計範例的展示。 |
|
OpenCL™ on Intel FPGA SoC FPGA (Linux Host) – 第 1 部分 – 工具下載與設定 |
此影片顯示您如何下載、安裝和設定開發 OpenCL™ 核心和主機代碼所需的工具,這些程式是針對 SoC Intel FPGA FPGAs。 |
OpenCL™ Intel FPGA SoC FPGA (Linux Host) – 第 2 部分 – 使用模擬器執行向量新增範例 |
此影片顯示您如何下載並編譯針對 Intel FPGA OpenCL 中內建模擬器的 OpenCL™™ 應用程式範例。 |
OpenCL™ on Intel FPGA SoC FPGA (Linux Host) – 第 3 部分 – SoC FPGA的核心與主機代碼編譯 |
此影片顯示您如何編譯以 Cyclone® V SoC FPGA FPGA與處理器為目標的 OpenCL™ 核心與主機代碼。 |
OpenCL™ Intel FPGA SoC FPGA (Linux Host) – 第 4 部分 – 執行時間環境的設定 |
此影片顯示您如何設定 Cyclone® V SoC 主機板以執行 OpenCL™ 範例,以及執行主機代碼和主機板上的核心。 |
6. 取得協助
OpenCL 認證服務供應商
Intel 建議下列經認證的服務供應商協助開發適用于 Intel® FPGA 主機板的 OpenCL™ 主機板支援套件。這些供應商在為Intel FPGA主機板開發高品質 OpenCL 主機板支援套件、驅動程式與設計移轉方面擁有豐富的經驗:
Terasic Inc
OpenCL 和 OpenCL 圖志是 Apple Inc. 的商標,經 Khronos 許可使用。
這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。