英特爾徽標AN 987:靜態更新部分
重新配置教程

英特爾® ™ Agilex F 系列 FPGA 開發板靜態更新部分重新配置教程

本應用筆記演示了英特爾® F 系列 FPGA 開發板上的靜態更新部分重配置 (SUPR)。 部分重新配置 (PR) 允許您動態重新配置英特爾 FPGA 的一部分,而其餘 FPGA 繼續運行。 PR 在設計中的特定區域實現多個角色,而不會影響該區域以外區域的操作。 該方法提供了以下優點tag在多個功能分時共享相同 FPGA 資源的系統中:

  • 允許運行時重新配置
  • 提高設計可擴展性
  • 減少系統停機時間
  • 在設計中支持動態時間復用功能
  • 通過有效利用電路板空間降低成本和功耗

什麼是靜態更新部分重新配置?

在傳統 PR 中,對靜態區域的任何更改都需要重新編譯每個角色。 但是,使用 SUPR,您可以定義允許更改的專門區域,而無需重新編譯角色。 此技術對於您可能想要更改以降低風險但永遠不需要運行時重新配置的設計部分很有用。

1.1. 教程要求
本教程需要以下內容:

  • 基本熟悉英特爾 Quartus® Prime 專業版 FPGA 實施流程和項目 files.
  •  安裝 Intel Quartus Prime Pro Edition 版本 22.3,並支持 Intel Agilex 設備。
  • 對於 FPGA 實現,JTAG 與工作台上的 Intel Agilex F 系列 FPGA 開發板連接。
  • 下載參考設計 Files。 相關信息
  • 部分重配置用戶指南
  • 部分重新配置教程
  • 部分重構在線培訓

英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。
ISO 9001:2015 註冊
1.2. 參考設計結束view
該參考設計由一個 32 位計數器組成。 在板級,該設計將時鐘連接到 50MHz 源,然後將輸出連接到板上的四個 LED。 按特定順序選擇計數器位的輸出會導致 LED 以特定頻率閃爍。 top_counter 模塊是 SUPR 區域。
圖 1. 扁平參考設計

英特爾徽標1.3. 靜態更新區域結束view
下圖顯示了包含 SUPR 區域的 PR 設計的框圖。 A 塊是頂部靜態區域。 B區是SUPR區域。 C 塊是 PR 分區。
圖 2. SUPR 區域的 PR 設計

英特爾 Agilex F 系列 FPGA 開發板 - 區域

  • 頂部靜態區域—包含不會更改的設計邏輯。 更改此區域需要重新編譯所有相關角色。 靜態區域包括不會因任何角色而改變的設計部分。 該區域可以包括外圍和核心設備資源。 您必須在靜態區域中註冊 SUPR 和 PR 分區之間的所有通信。 此要求有助於確保任何角色相對於靜態區域的時序收斂。
  • B SUPR 區域 — 包含可能會因風險緩解而更改的純核心邏輯,但從不需要運行時重新配置。 SUPR 區域與 PR 分區具有相同的要求和限制。 SUPR 分區只能包含核心資源。 因此,SUPR 分區必須是包含設計外設和時鐘的頂級根分區的子分區。 更改 SUPR 區域會生成 SRAM 對象 File (.sof) 與所有現有已編譯的原始二進製文件兼容 File (.rbf) files 代表 PR 分區 C。
  • C PR 分區—包含任意邏輯,您可以在運行時使用任何適合併在編譯期間實現時序收斂的設計邏輯重新編程。

1.4. 下載參考設計 Files
部分重新配置教程位於以下位置: https://github.com/intel/fpga-partial-reconfig
下載教程:

  1. 單擊克隆或下載。
  2. 單擊下載 ZIP。 解壓 fpga-partial-reconfig-master.zip file.
  3. 導航至tutorials/agilex_pcie_devkit_blinking_led_supr 子文件夾以訪問參考設計。
    平面文件夾由以下內容組成 files:
    表 1. 參考設計 Files
File 姓名 描述
頂部。 SV 頂級 file 包含設計的平面實現。 該模塊實例化blinking_led 子分區和top_counter 模塊。
t op_counter 。 SV 直接控制 LED [32] 的頂級 1 位計數器。 計數器的註冊輸出控制 LED [0],並通過眨眼 LED 模塊為 LED [2] 和 LED [3] 供電。
閃爍_led。 SDDC 定義項目的時間限制。
閃爍_led。 SV 在本教程中,您將此模塊轉換為父 PR 分區。 該模塊接收 top_counter 模塊的註冊輸出,控制 LED [2] 和 LED [3]。
閃爍_led.qpf 英特爾 Quartus Prime 項目 file 包含項目中所有修訂的列表。
閃爍 LED 。 qsf 英特爾 Quartus Prime 設置 file 包含項目的分配和設置。

筆記: supr 文件夾包含完整的集 file您使用此應用程序創建的 筆記。 參考這些 file在演練期間的任何時候。
1.5. 參考設計演練
以下步驟描述了採用扁平化設計實施 SUPR:

  • 第 1 步:開始
  • 第2步:創建設計分區
  • 步驟 3:分配佈局和佈線區域
  • 第 4 步:定義角色
  • 第 5 步:創建修訂
  • 第 6 步:編譯基礎修訂版
  • 第 7 步:設置 PR 實施修訂
  • 步驟 8:更改 SUPR 邏輯
  • 第 9 步:對電路板進行編程

圖 3. SUPR 編譯流程

英特爾 Agilex F 系列 FPGA 開發板 - 流程

1.5.1. 第 1 步:開始
複製參考設計 files 到您的工作環境並編譯 blinking_led 平面設計:

  1. 開始之前,請下載參考設計 File第 5 頁。
  2. 在您的工作環境中創建agilex_pcie_devkit_blinking_led_supr目錄。
  3. 將下載的tutorials/agilex_pcie_devkit_blinking_led/flat 子文件夾複製到agilex_pcie_devkit_blinking_led_supr 目錄。
  4. 在 Intel Quartus Prime Pro Edition 軟件中,點擊 File ➤ 打開項目並打開 /flat/blinking_led.qpf。
  5. 要編譯基本設計,請單擊“處理”➤“開始編譯”。 編譯完成後,時序分析器報告會自動打開。 您現在可以關閉時序分析器。

1.5.2. 第2步:創建設計分區
為要部分重新配置的每個區域創建設計分區。 您可以在項目中創建任意數量的獨立分區或 PR 區域。 按照以下步驟為 u_blinking_led 實例創建設計分區作為 PR 分區,為 u_top_counter 實例創建設計分區作為 SUPR 區域:

  1. 右鍵單擊 Project Navigator 中的 u_blinking_led 實例,然後單擊 Design Partition
    ➤ 可重新配置。 每個設置為分區的實例旁邊都會顯示一個設計分區圖標。
    圖 4. 創建設計分區英特爾 Agilex F 系列 FPGA 開發板 - 分區
  2. 重複步驟 1 為 u_top_counter 實例創建分區。
  3. 單擊“分配”➤“設計分區窗口”。 該窗口顯示項目中的所有設計分區。
    圖 5. 設計分區窗口
    英特爾 Agilex F 系列 FPGA 開發板 - 窗口
  4. 雙擊blinking_led Partition Name 單元格將其重命名為pr_partition。 同樣,將top_counter分區重命名為supr_partition。
    或者,將以下行添加到眨眼_led.qsf 中創建這些分區:
    set_instance_assignment -name PARTITION pr_partition \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTITION superr_partition \ -to u_top_counter -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_top_counter -entity top

1.5.3. 步驟 3:分配佈局和佈線區域
對於您創建的每個基礎修訂版,編譯器都會使用 PR 分區區域分配將相應的角色核心放置在保留區域中。 請按照以下步驟在設備佈局規劃中為您的基礎修訂版找到並分配 PR 區域:

  1. 在“項目導航器層次結構”選項卡中,右鍵單擊 u_blinking_led 實例,然後單擊 Logic Lock Region ➤ Create New Logic Lock Region。 該區域出現在 Logic Lock Regions 窗口中。
  2. 指定區域寬度為 5,高度為 5。
  3. 在 Origin 列中指定 u_blinking_led 的放置區域坐標。 原點對應於該區域的左下角。 將原點指定為 X166_Y199。 編譯器計算 (X170 Y203) 作為右上角坐標。
  4. 為該區域啟用“保留”和“僅核心”選項。
  5. 雙擊 Routing Region 選項。 出現 Logic Lock Routing Region Settings 對話框。
  6. 對於路由類型,選擇固定擴展。 此選項自動將擴展長度指定為 XNUMX。
  7. 重複前面的步驟為 u_top_counter 分區分配以下資源:
    • 高度—5
    • 寬度—5
    • 原點—X173_Y199
    • 路由區域— 通過擴展進行修復,擴展長度為一。
    • 保留—開啟
    • 僅核心—開啟
    圖 6. 邏輯鎖定區域窗口
    英特爾 Agilex F 系列 FPGA 開發板 - 區域窗口
    筆記: 佈線區域必須大於佈局區域,以便為編譯器的佈線提供額外的靈活性tage,當編譯器路由不同的角色時。
  8. 您的佈局區域必須包含眨眼 LED 邏輯。 要通過在 Chip Planner 中定位節點來選擇佈局區域,請右鍵單擊 Logic Lock Regions 窗口中的 u_blinking_led 區域名稱,然後單擊 Locate Node ➤ Locate in Chip Planner。
  9.  在“分區報告”下,雙擊“報告設計分區”。 Chip Planner 突出顯示該區域並對其進行顏色編碼。

圖 7. blinking_led 的 Chip Planner 節點位置
英特爾 Agilex F 系列 FPGA 開發板 -blinking_led或者,將以下行添加到眨眼_led.qsf 中創建這些區域:
set_instance_assignment -name PARTITION pr_partition -to \ u_blinking_led -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
set_instance_assignment -name PARTITION superr_partition -to u_top_counter \ -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to \ u_top_counter -entity top
set_instance_assignment -name PLACE_REGION “X166 Y199 X170 Y203” -to \ u_blinking_led
set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -名稱 REGION_NAME pr_partition -to u_blinking_led
set_instance_assignment -name ROUTE_REGION “X165 Y198 X171 Y204” -to \ u_blinking_led
set_instance_assignment -名稱 RESERVE_ROUTE_REGION OFF -to u_blinking_led
set_instance_assignment -name PLACE_REGION “X173 Y199 X177 Y203” -to \ u_top_counter
set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_top_counter
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_top_counter
set_instance_assignment -name REGION_NAME superr_partition -to u_top_counter
set_instance_assignment -name ROUTE_REGION “X172 Y198 X178 Y204” -to \ u_top_counter
set_instance_assignment -名稱 RESERVE_ROUTE_REGION OFF -to u_top_counter
1.5.4. 第 4 步:定義角色

該參考設計為單個 PR 分區定義了三個獨立的角色,為 SUPR 區域定義了一個 SUPR 角色。 按照以下步驟定義這些角色並將其包含在您的項目中。 如果使用 Intel Quartus Prime Text Editor,請禁用 Add file
保存時到當前項目 files.

  1. 創建新的blinking_led_slow.sv、blinking_led_empty.sv和top_counter_fast.sv SystemVerilog file位於您的工作目錄中。 確認blinking_led.sv 已存在於工作目錄中。
  2.  為 SystemVerilog 輸入以下內容 files:
    表 2. SystemVerilog 參考設計角色
    File 姓名 描述 程式碼
    閃爍_led_慢。 SV LED 閃爍速度變慢 時間刻度 1 ps / 1 ps 'default_nettype 無
    模塊blinking_led_slow //時鐘
    輸入線時鐘、輸入線復位、輸入線 [31:01 計數器、
    // LED 輸出線的控制信號 led_two_on,
    輸出線 led_two_on localparam COUNTER_TAP = 27;
    reg led_two_on_r; 腿 led_third_on_r; 賦值 led_two_on = led_two_on_r; 分配 led_ Three_on = led_ Three_on_r; always_ff @(kedge 時鐘) 開始 led_two_on_r <= 計數器[COUNTER_TAP]; led_two_on_r <= 計數器[COUNTER_TAP]; 終端模塊
    閃爍_led_空。 SV LED 保持亮起狀態 timescale 1 ps / 1 ps 'default_nettype none module flashing_led_empty( // 時鐘輸入線時鐘,輸入線復位,輸入線 [31:01 計數器, // LEC 輸出線 led_two_on 的控制信號,輸出線 led_ Three_on
    持續…
    File 姓名 描述 程式碼
    // LED 低電平有效分配 led_two_on = l'IDO; 分配 led_two_on = 11b0; 終端模塊
    top_counter_fast.sv 第二次SUPR '時間刻度 1 ps / 1 ps
    人格面具 Thdefault_nettype 無 模塊 top_counter_fast
    // LED 輸出線 led_one_on 的控制信號,輸出線 [31:0] count,// 時鐘輸入線時鐘
    ); 本地參數計數器點擊 = 23; reg [31:0] 計數_d; 分配計數=count_d; 分配 led_one_on = ount_d[COUNTER_TAP]; always_ff @(thoughtge 時鐘) 開始 count_d <= count_d + 2; 結尾
    。:模塊
  3.  點選 File ➤ 另存為並保存 .sv files 在當前項目目錄中。

1.5.5。 第 5 步:創建修訂
PR 設計流程使用 Intel Quartus Prime 軟件中的項目修訂功能。 您的初始設計是基礎修訂版,您可以在其中定義 FPGA 上的靜態區域邊界和可重新配置區域。 從基本修訂版開始,您可以創建附加修訂版。 這些修訂包含 PR 區域的不同實施。 但是,所有 PR 實現修訂版都使用基本修訂版中相同的頂級佈局和佈線結果。 要編譯 PR 設計,您需要為每個角色創建 PR 實施修訂版。 此外,您必須為每個修訂版分配“部分重新配置 - 基礎”或“部分重新配置 - 用戶角色實現”修訂類型。 下表列出了每個修訂的修訂名稱和修訂類型。 impl_blinking_led_supr_new.qsf 修訂版是 SUPR 角色實現。
表 3. 修訂名稱和類型

修訂名稱 修訂類型
閃爍 LED 部分重配置——基礎
閃爍 LED 默認值 部分重新配置——角色實現
慢速閃爍 部分重新配置——角色實現
閃爍 LED 空 部分重新配置——角色實現
impl_blinking_led_supr_new 部分重新配置——角色實現

1.5.5.1. 設置基礎修訂版
請按照以下步驟將blinking_led設置為基礎修訂版:

  1. 單擊項目 ➤ 修訂。
  2. 對於修訂類型,選擇部分重新配置 - 基礎。

英特爾 Agilex F 系列 FPGA 開發板 - 修訂此步驟將以下內容添加到眨眼_led.qsf:
##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
1.5.5.2。 創建實施修訂
請按照以下步驟創建實施修訂:

  1. 在“修訂”對話框中,雙擊 < >。
  2. 在修訂名稱中,指定blinking_led_default,並為基於修訂版本選擇blinking_led。
  3. 對於修訂類型,選擇部分重新配置 – 用戶角色實施。
  4. 禁用設置為當前修訂版選項。
  5. 重複步驟 2 到 5,設置其他實施修訂的修訂類型:
修訂名稱 修訂類型 基於Revision
慢速閃爍 部分重新配置——角色實現 閃爍 LED
閃爍 LED 空 部分重新配置——角色實現 閃爍 LED
impl_blinking_led_supr_new 部分重新配置——角色實現 閃爍 LED

圖 8. 創建實施修訂

英特爾 Agilex F 系列 FPGA 開發板 - 實施修訂每個.qsf file 現在包含以下作業:
set_global_assignment -名稱 REVISION_TYPE PR_IMPL
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_top_counter
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_blinking_led
1.5.6。 第 6 步:編譯基礎修訂版
請按照以下步驟編譯基本修訂版並導出靜態和 SUPR 區域,以便稍後在新 PR 角色的實施修訂版中使用:

  1. 如果尚未設置,請將blinking_led 設置為當前修訂版。
  2. 在“設計分區”窗口中,單擊最右側列旁邊的 (...) 並啟用“最終導出後” File 柱子。 您還可以禁用或更改列的順序。
  3. 要在每次編譯後自動導出 PR 實現設計分區的最終快照,請為“最終導出”指定以下內容 File 根分區和 SUPR 分區的選項。 .qdb file默認導出到項目目錄。
    • root_partition—blinking_led_static.qdb
    • supr_partition—blinking_led_supr_partition_final.qdb
    圖 9. 設計分區窗口中的自動導出intel Agilex F 系列 FPGA 開發板 - 分區窗口或者,以下 .qsf 分配會在每次編譯後自動導出分區:
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \眨眼_led_static.qdb -to | -實體頂部
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \眨眼_led_supr_partition_final.qdb -to u_top_counter \ -實體頂部
  4. 要編譯blinking_led 基礎修訂版,請單擊“處理”➤“開始”
    彙編。 或者,您可以使用以下命令來編譯此修訂版:
    quartus_sh –flowcompileblinking_led -cblinking_led 編譯成功後出現如下 files出現在項目目錄中:
    • 閃爍_led.sof
    •眨眼_led.pr_partition.rbf
    •眨眼_led.supr_partition.rbf
    • 閃爍_led_靜態.qdb
    •眨眼_led_supr_partition_final.qdb

1.5.7. 第 7 步:設置 PR 實施修訂
您必須先準備 PR 實現修訂版,然後才能生成用於器件編程的 PR 比特流。 此設置包括添加靜態區域 .qdb file 作為來源 file 對於每個實施修訂。 此外,您必須指定
PR區域的對應實體。 請按照以下步驟設置 PR 實施修訂:

  1.  要設置當前修訂版,請單擊“項目”➤“修訂版”,選擇“blinking_led_default”作為修訂版名稱,然後單擊“設置當前”。 或者,您可以在 Intel Quartus Prime 主工具欄上選擇當前版本。
  2. 要驗證此實施修訂版的正確來源,請單擊“項目”➤“添加/刪除” File項目中的 s。 確認blinking_led.sv file 出現在 file 列表。英特爾 Agilex F 系列 FPGA 開發板 - 分區窗口 1
  3. 驗證正確的來源 file 對於實施修訂,單擊項目 ➤ 添加/刪除 file在Project中添加以下源 file實施修訂。 如果存在,從項目列表中刪除blinking_led.sv files.
    I實施修訂名稱 來源 File
    閃爍 LED 空 閃爍_led_empty.sv
    慢速閃爍 閃爍_led_slow.sv
  4. 將blinking_led_default 設置為當前修訂版。
  5. 指定 .qdb file 作為 root_partition 的源,單擊“Assignments”➤“Design Partitions Window”。 雙擊分區數據庫 File 單元格並指定blinking_led_static.qdb file.
  6. 同樣,指定blinking_led_supr_partition_final.qdb作為分區數據庫 File 對於 super_partition。

    圖 10.intel Agilex F 系列 FPGA 開發板 - 指定或者,使用以下 .qsf 分配來指定 .qdb:
    set_instance_assignment -名稱 QDB_FILE_PARTITION \眨眼_led_static.qdb -to |
    set_instance_assignment -名稱 QDB_FILE_PARTITION\blinking_led_supr_partition_final.qdb - 至 u_top_counter

  7. 在“設計分區”窗口中,單擊最右側列旁邊的 (...) 並啟用“實體重新綁定”列。
  8.  在“實體重新綁定”單元格中,指定您要在當前實現修訂中更改的 PR 分區的新實體名稱。 對於blinking_led_default 實現修訂版,實體名稱為blinking_led。 在這種情況下,您將使用新實體blinking_led 覆蓋基礎修訂版編譯中的u_blinking_led 實例。 其他實施修訂請參見下表:

    修訂 實體重新綁定值
    慢速閃爍 慢速閃爍
    閃爍 LED 空 閃爍 LED 空

    圖 11. 實體重新綁定intel Agilex F 系列 FPGA 開發板 - 重新綁定或者,您可以在每個修訂版的 .qsf 中使用以下行來設置分配:
    ##blinking_led_default.qsf
    set_instance_assignment -name ENTITY_REBINDING flashing_led \ -to u_blinking_led
    ##blinking_led_slow.qsf
    set_instance_assignment -name ENTITY_REBINDING flashing_led_slow \ -to u_blinking_led
    ##blinking_led_empty.qsf
    set_instance_assignment -name ENTITY_REBINDING flashing_led_empty \ -to u_blinking_led

  9. 從supr_partition 的實體重新綁定單元格中刪除place_holder 文本。
  10. 要編譯設計,請單擊“處理”➤“開始編譯”。 或者,使用以下命令編譯該項目: quartus_sh –flowcompileblinking_led –cblinking_led_default
  11. 重複步驟 4 到 11,準備並編譯眨眼_led_slow 和眨眼_led_empty 實現修訂版。

1.5.8。 步驟 8:更改 SUPR 邏輯
要更改 SUPR 分區內的邏輯功能,您必須更改 SUPR 分區源。 完成以下步驟,將 SUPR 分區中的 u_top_counter 實例替換為 top_counter_fast 實體。

  1. 要將 SUPR 實現修訂版設置為當前修訂版,請單擊 Project > Revisions 並將 impl_blinking_led_supr_new 設置為當前修訂版,或者選擇
    Intel Quartus Prime 主工具欄上的修訂版。
  2. 驗證正確的來源 file 對於實施修訂,單擊項目 ➤
    新增/刪除 file項目中的 s,並驗證 top_counter_fast.sv 是 impl_blinking_led_supr_new 實現修訂版的源。 如果存在,請從項目列表中刪除 top_counter.sv files.intel Agilex F 系列 FPGA 開發板 - 作業
  3. 指定 .qdb file 與根分區關聯,單擊“分配”➤“設計分區窗口”,然後雙擊“分區數據庫” File 指定blinking_led_static.qdb 的單元格。
    或者,使用以下命令來分配此 file: set_instance_assignment -名稱 QDB_FILE_PARTITION \眨眼_led_static.qdb -to |
  4. 在 pr_partition 的實體重新綁定單元中,指定適當的實體名稱。 對於這個前任amp文件中,指定blinking_led_empty 實體。 在這種情況下,您將使用新實體 linking_led_empty 覆蓋基礎修訂版編譯中的 u_blinking_led 實例。 .qsf 中現在存在以下行:
    ##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING眨眼_led_empty \ -to u_blinking_led
  5. 在supr_partition 的實體重新綁定單元中,指定top_counter_fast 實體。 top_counter_fast 是完成 SUPR 時替換 u_top_counter 的靜態實體的名稱。英特爾 Agilex F 系列 FPGA 開發板 - SUPR##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING top_counter_fast \ -to u_top_counter
  6. 要編譯設計,請單擊“處理”➤“開始編譯”。 或者,使用以下命令編譯此項目修訂版: quartus_sh –flowcompileblinking_led –c \ impl_blinking_led_supr_new

1.5.9。 第 9 步:對電路板進行編程
請按照以下步驟連接英特爾 Agilex F 系列 FPGA 開發板並對其進行編程。

  1. 將電源連接到 Intel Agilex F 系列 FPGA 開發板。
  2. 在 PC USB 端口和開發板上的 USB 編程硬件之間連接 USB 電纜。
  3. 打開 Intel Quartus Prime 軟件,然後單擊 Tools ➤ Programmer。 請參閱對開發板進行編程。
  4. 在編程器中,單擊硬件設置,然後選擇 USB-Blaster。
  5. 單擊“自動檢測”,然後選擇 AGFB014R24B 設備。
  6.  單擊“確定”。 Intel Quartus Prime 軟件使用板上的三個 FPGA 設備檢測並更新編程器。
  7.  選擇AGFB014R24B設備,點擊Change File,並加載blinking_led_default.sof file.
  8. 為blinking_led_default.sof啟用程序/配置 file.
  9. 點擊開始,等待進度條達到100%。
  10.  觀察板上的 LED 閃爍。
  11. 要僅對 PR 區域進行編程,請右鍵單擊眨眼_led_default.sof file 在 Programmer 中點擊 Add PR Programming File。 選擇blinking_led_slow.pr_partition.rbf file.
  12. 禁用blinking_led_default.sof 的程序/配置 file.
  13.  為blinking_led_slow.pr_partition.rbf啟用程序/配置 file,然後單擊“開始”。 在板上,觀察 LED[0] 和 LED[1] 持續閃爍。 當進度條達到 100% 時,LED[2] 和 LED[3] 閃爍速度變慢。
  14. 要重新編程 PR 區域,請右鍵單擊 .rbf file 在 Programmer 中,然後單擊 Change PR Programing File.
  15.  選擇.rbf file讓其他兩個角色觀察板上的行為。 加載blinking_led_default.pr_partition.rbf file 使LED以原始頻率閃爍,並加載blinking_led_empty.pr_partition.rbf file 導致 LED 保持亮起狀態。 17. 要更改 SUPR 邏輯,請重複上述步驟 7 以選擇 impl_blinking_led_supr_new.sof。 改變這個之後 file, led [0:1] 現在閃爍的速度比以前更快。 另一個 PR .rbf files 還與新的 .sof 兼容。
    筆記: 彙編器生成一個 .rbf file 對於 SUPR 區域。 但是,您不應該使用這個 file 在運行時重新編程 FPGA,因為 SUPR 分區不會實例化整個系統中的 freeze 橋、PR 區域控制器和其他邏輯。 當您更改 SUPR 分區邏輯時,必須重新編程完整的 .sof file 來自 SUPR 實施修訂彙編。

圖 12. 對開發板進行編程
intel Agilex F 系列 FPGA 開發板 - 開發板1.5.9.1。 PR 編程錯誤故障排除
確保正確設置 Intel Quartus Prime Programmer 和連接的硬件有助於避免 PR 編程期間出現任何錯誤。
如果您遇到任何 PR 編程錯誤,請參閱《Intel Quartus Prime Pro Edition 用戶指南:部分重配置》中的“排除 PR 編程錯誤”,了解分步排除故障的提示。
相關資訊

PR 編程錯誤故障排除

1.5.10. 修改 SUPR 分區
您可以修改現有的 SUPR 分區。 修改SUPR分區後,必須編譯它,生成.sof file,並對電路板進行編程,而無需編譯其他角色。 對於前amp文件中,按照以下步驟更改 top_counter_fast.sv 模塊以加快計數速度:

  1. 將 impl_blinking_led_supr_new 設置為當前版本。
  2.  在top_counter_fast.sv中 file,將 count_d + 2 語句替換為 count_d + 4。
  3.  運行以下命令重新合成 SUPR 塊並生成新的 .sof file: quartus_sh –flow編譯blinking_led \ -c impl_blinking_led_supr_new
    生成的 .sof 現在包含新的 SUPR 區域,並使用眨眼_led 作為默認(開機)角色。

1.6. AN 987 的文檔修訂歷史:靜態更新部分重新配置教程修訂歷史

檔案版本 英特爾 Quartus Prime 版本 變化
2022.10.24 22. 該文檔的初始發布。

英特爾® Quartus®Prime 設計套件更新:22.3

常見問題解答:

傳送回饋

Q 什麼是靜態更新部分重配置

第 3 頁的靜態更新部分重新配置

問本教程需要什麼?

第 3 頁的教程要求

問:我在哪裡可以獲得參考設計?

下載參考設計 File第 5 頁

問:如何創建 SUPR 設計?

第 6 頁的參考設計演練

問什麼是公關角色?

定義角色(第 10 頁)

問:如何更改 SUPR 邏輯? A 更改 SUPR 邏輯(第 16 頁)

A 更改 SUPR 邏輯(第 16 頁)

問:如何對開發板進行編程?

A 對董事會進行編程(第 18 頁)

問 PR 的已知問題和限制有哪些?

英特爾 FPGA 支持論壇:PR

intel Agilex F 系列 FPGA 開發板 - 圖標 在線版
英特爾 Agilex F 系列 FPGA 開發板 - 圖標 154 傳送回饋

編號:749443
AN-987
版本:2022.10.24

文件/資源

英特爾 Agilex F 系列 FPGA 開發板 [pdf] 使用者指南
Agilex F 系列、Agilex F 系列 FPGA 開發板、FPGA 開發板、開發板、開發板

參考

發表評論

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