英特爾標誌用於 OpenCL 板的 AN 824 FPGA SDK
支持包平面圖
使用者指南

 英特爾® FPGA SDK OpenCL™ 板級支持包佈局規劃優化指南
面向 OpenCL™ 板級支持包 (BSP) 佈局規劃優化指南的英特爾/® FPGA SDK 為 OpenCL) BSP 提供了佈局規劃指南。 它還提供了有關如何獲取具有最佳平均最大運行頻率的基本種子和評估 BSP 資源利用效率的指南。
本文檔假定您熟悉 Khronos Group 的 OpenCL 規範 2 版中描述的 OpenCL(1.0) 概念。

OpenCL BSP 編譯流程
OpenCL BSP 支持以下類型的編譯流程:

  • 平面編譯 [–bsp-flow flat]:對整個設計(BSP 以及內核生成的硬件)執行平面編譯。
  • 基礎編譯 [–bsp-flow base]:使用 base.qsf 中的 LogicLock 限制執行基礎編譯 file. 放寬了內核時鐘目標,以便 BSP 硬件有更多的自由來滿足時序。 創建一個 base.qar 數據庫來保存 BSP 硬件,這是靜態區域。
  • 導入編譯[ ]:從base.qar數據庫中恢復定時關閉的靜態區域,只編譯內核生成的硬件。 它還會增加內核時鐘目標以獲得最佳內核最大工作頻率 (fmax)。

OpenCL BSP 佈局規劃分區
OpenCL BSP floorplan主要分為以下兩個區域:

  • 靜態區域:表示具有保持靜態的 BSP 相關硬件的區域。 在基礎編譯期間,該區域的時序關閉。 通常,目標是最小化該區域使用的芯片資源以收斂時序。
  • 內核區域:表示為 freeze_wrapper_inst|kernel_system_inst 模塊保留的部分重新配置 (PR) 區域,其中包含內核。 總的來說,目標是最大限度地為該區域預留芯片資源。
  1. 面向 OpenCL 的英特爾 FPGA SDK 基於已發布的 Khronos 規範,並已通過 Khronos 一致性測試流程。 當前的一致性狀態可以在以下位置找到 www.khronos.org/conformance.
  2. OpenCL 和 OpenCL 標誌是 Apple Inc. 的商標,經 Khronos Group™ 許可使用。

英特爾公司。 版權所有。 英特爾、英特爾標識和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾保證其 FPGA 和半導體產品的性能符合英特爾的標准保證,符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 除非英特爾明確書面同意,否則英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務。 建議英特爾客戶在依賴任何已發布的信息以及下訂單購買產品或服務之前獲取最新版本的設備規格。
*其他名稱和品牌可能被聲稱為其他人的財產。

OpenCL BSP 佈局規劃指南

  • 從平面編譯開始,了解 BSP 的所有主要組件自然放置的位置(尤其是具有 I/O 連接的 IP 塊,如 PCIe 或 DDR)。 在設計 BSP 時,您可能必須考慮建立管道tages 在 IP 之間關閉時序。 您應該首先運行平面編譯種子掃描來識別反復出現的失敗路徑,然後嘗試修復它們。
    提示:— 與平面編譯種子掃描相比,良好的時序收斂率將有更高的機會關閉基本編譯時序。
    — 如果您在 mm_interconnect*(由 Qsys 添加的組件)中觀察到一致的故障,則打開帶有 Qsys Interconnect 的系統 view呃,觀察失敗互連的複雜性。 您可以在 view呃改善時機。 如果您仍然無法解決問題,您可能必須通過添加 Avalon 管道橋來分解 mm_interconnect* 關鍵路徑。
  • 在基礎編譯期間,從包含 freeze_wrapper_inst|kernel_system_inst 的內核區域上的 LogicLock 開始。 沒有其他限制,英特爾 Quartus Prime 可以將 BSP 硬件自由放置在芯片的剩余靜態區域中。 使用平面編譯和芯片規劃器確定 BSP 硬件(例如 PCIe 和 DDR)的大小和位置。 然後,使用 LogicLock 保留內核區域,同時避開 BSP 硬件的主要集群區域。
    提示:如果使用的芯片系列與參考平台相同並且 BSP 組件相似,則從 OpenCL 參考 BSP 附帶的 freeze_wrapper_inst|kernel_system_inst 的 LogicLock 區域開始並解決故障可能會更快。
  • 您可以將以下附加組件添加到 BSP:
    — Memory banks:如果您添加更多的 memory bank,您應該確定 I/O bank 的位置,因為您可能需要添加流水線橋接以滿足時序要求。
    — I/O 通道:您可以添加 I/O 通道,例如視頻、以太網或串行接口。 如果您添加 I/O 通道,您應該確定 I/O bank 位置,因為如果關閉時序困難,您可能需要為流水線應用新的 LogicLock 區域。
    提示:如果您需要添加管道橋(例如ample,由於較大的路由延遲導致時序失敗),然後考慮芯片中從源到目標邏輯的路由距離,並釋放一些為內核區域保留的空間。
  • 為內核保留 LogicLock 區域時遵循以下一般準則:
    — 嘗試將所有 DSP 列放在 kernel_system 中,除非 BSP 要求。
    — 嘗試為 kernel_system 保留更多資源。
    — 嘗試將內核區域中的缺口數量保持在最低限度。
    下圖說明了添加的槽口,用於在 PCIe 和 DDR 組之間放置流水線橋。

圖 1. 10 版本中英特爾 Arria® 17.0 GX 的 OpenCL BSP 佈局規劃

英特爾 AN 824 FPGA SDK,用於 OpenCL 板級支持包佈局規劃

最大工作頻率指南
內核實現的最大工作頻率 (fmax) 在很大程度上取決於 FPGA 速度,因為大多數 IP 應該已經過優化。 但是,根據 BSP 佈局規劃,可能會有一些 fmax 損失。 對於前ample,通常 BSP 內核區域中的切割數量會影響內核 fmax。
如下圖所示,獲取產生最佳平均 fmax 的最佳基種子:

  1. 對基礎編譯執行種子掃描,而不是選擇滿足時序的第一個基礎種子。
  2. 執行導入編譯(通過使用來自 ex 的少量內核ample designs)在所有傳遞的基礎種子上。
  3. 計算所有基本種子的平均 fmax。
  4. 選擇產生最高平均 fmax 的基礎種子。
    具有最佳平均 fmax 的基本種子非常適合與 BSP 一起發布。 如果您決定採用與推薦步驟不同的方法,您可能會觀察到內核導入編譯過程的 fmax 有 5-10% 的變化。

圖 2. 確定最佳基礎種子英特爾 AN 824 FPGA SDK,用於 OpenCL 板級支持包佈局規劃 - 圖

  • 要了解內核在沒有佈局規劃限制的情況下可以運行多快:
    1. 對內核進行平面編譯並觀察fmax。
    2. 在同一個內核上執行導入編譯並觀察 fmax。
    3. 比較 fmax 結果。
    由於佈局規劃的限制,import compile fmax 始終低於 flat compile fmax。 為避免種子噪聲,使用更多基本種子編譯內核並在比較 fmax 結果時考慮平均 fmax。
  • 永遠不要將基本編譯的內核 fmax 與平面編譯或導入編譯進行比較。 內核時鐘目標在基礎編譯期間放寬,因此您永遠不會獲得好的結果。
  • 觀察基本或導入編譯中的內核時鐘關鍵路徑。 如果關鍵路徑從內核穿過佈局規劃中的靜態區域,請更改佈局規劃或運行更多的基本種子以避免此關鍵路徑。

BSP 資源利用效率評估指南

資源利用率越高tage、BSP靜態區域的區域利用率越高。 資源利用率高tage 還意味著內核區域有更多資源可用。
按照以下步驟計算資源利用率百分比tag您的 BSP 的 e:

  1. 從 Fitter 報告的分區統計部分下可用的 top.fit.rpt 或 base.fit.rpt 獲取 FPGA 中所有資源的值。
  2. 減去“freeze_wrapper_inst|kernel_system_inst”(內核區域)的值。

提示:
更多地關注自適應邏輯模塊 (ALM) 的價值,而不是其他資源的價值。 確保資源利用率tagALM 的 e 更接近 OpenCL 參考 BSP。 非常高的百分比tagALM 的 e 可能導致擁塞,這會增加編譯時間並在復雜內核中引入路由擁塞。 但是,您始終可以增加或減少靜態區域區域,並觀察編譯時間和 fmax。
下表反映了 Arria ® 10 GX 器件在 17.0 版本中的 OpenCL BSP 資源利用率。

表 1.
10 版本中 IntelArria 17.0 GX 器件的 OpenCL BSP 資源利用

總可用 保留給內核 可用於 BSP 由 BSP 使用 0/0
ALM 427200 393800 33400 23818. 71.%
暫存器 1708800 1575200 133600 38913 29.%
M2OK 2713 2534 179 134 75.%
數位訊號處理器 1518 1518 0 0 不適用

觀察佈局規劃的執行方式,靜態區域將沒有任何 DSP 塊。

文件修訂歷史

表 2.
面向 OpenCL 板級支持包平面圖優化指南的英特爾 FPGA SDK 的文檔修訂歷史

日期 版本 變化
17 月 XNUMX 日 初次發布。

圖示 在線版
cardo 590878 Spirit 藍牙對講機-ICON 14 傳送回饋
編號:683312
AN-824
版本:2017.08.08
AN 824:用於 OpenCL™ 開發板的英特爾® FPGA SDK

支持包佈局規劃優化指南

文件/資源

英特爾 AN 824 FPGA SDK,用於 OpenCL 板級支持包佈局規劃 [pdf] 使用者指南
用於 OpenCL 板支持包平面圖的 AN 824 FPGA SDK,AN 824,用於 OpenCL 板支持包平面圖的 FPGA SDK,OpenCL 板支持包平面圖,板級支持包平面圖,支持包平面圖,封裝平面圖,平面圖

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *