UG-20040 用於 PCIe 的 Arria 10 和 Intel Cyclone 10 Avalon 記憶體對映接口

快速入門指南

適用於 PCI Express* IP 核心的英特爾® Arria® 10 或英特爾 Cyclone® 10 GX 硬體 IP 包括可程式 I/O (PIO) 設計擴展ample 來幫助您理解用法。 PIO 前amp檔案將資料從主機處理器傳輸到目標裝置。它適用於低頻寬應用。設計前amp文件包含 Avalon-ST 到 AvalonMM 橋接器。此元件將 PCIe* 鏈路接收到的 TLP 轉換為 AvalonMM 記憶體讀取和寫入片上記憶體。

這個設計前ample 自動創建 file需要在 Quartus® Prime 軟體中進行仿真和編譯。您可以將編譯後的設計下載到英特爾 Arria 10 GX FPGA 開發套件。設計前amp這些文件涵蓋了廣泛的參數。然而,自動產生的設計 examp這些文件並未涵蓋 PCIe IP 核的所有可能的參數化。如果您選擇不支援的參數集,生成將失敗並提供錯誤訊息。

此外,許多靜態設計amp用於仿真的檔案僅在 /ip/altera/altera_pcie/altera_pcie_a10_ed/ ex 中可用ample_design/a10 和 /ip/altera/altera_pcie/ altera_pcie_a10_ed/example_design/c10 目錄。

目錄結構

Avalon®-MM 端點的設計組件

生成設計
  1. 啟動平台設計器。
    • 如果您有現有的.qsys file 在您的目錄中,將出現「開啟系統」對話方塊。點選 新的 為您的設計指定 Quartus Prime 專案名稱和自訂 IP 變體名稱。然後,點擊 創造。
    • 如果沒有,則會自動建立一個新項目。在進行下一步之前保存它。
  2. 在 IP 目錄中,找到並選擇 適用於 PCI Express 的英特爾 Arria 10/Cyclone 10 硬派 IP。 出現參數編輯器。
  3. IP 設定選項卡, 指定您的 IP 變體的參數。
  4. 在 Connections 面板中,進行下列虛擬連線:rxm_bar0 到 txs 從介面。
    Platform Designer 透過與 Avalon-MM 從裝置的連接來確定 Avalon®-MM BAR 主裝置的大小。當你產生 ex 時amp根據設計,該連接已被刪除。
  5. 刪除預設實例化的clock_in和reset_in組件。
  6. Examp設計 選項卡, 聚氧乙烯醚 設計適合您的我
  7. 為了 Examp設計 Files,選擇 模擬 合成
  8. 為了 生成的 HDL 格式, 僅有的 Verilog i
  9. 為了 目標開發套件,選擇 英特爾 Arria 10 GX FPGA 開發套件 目前,沒有選項可以選擇 英特爾 Cyclone 10 GX 開發套件 當產生前任時amp設計
  10. 點選 生成前amp設計。該軟體產生所有 file需要在上運行模擬和硬體測試 英特爾 Arria 10 FPGA 開發套件.
模擬設計

  1. 更改為測試平台模擬目錄。
  2. 為您選擇的模擬器運行模擬腳本。 請參閱下表。
  3. 分析結果。

表 1. 運行仿真的步驟

模擬器 工作目錄 指示
模型模擬* <例如ample_design>/ PCIe_example_design_tb/ PCIe_example_design_tb/sim/導師/
  1. 呼叫vsim
  2. 做msim_setup.tcl
  3. ld_調試
  4. 運行-全部
  5. 成功的模擬以以下訊息結束:“模擬因成功完成而停止!”
風控系統* <例如ample_design>/ PCIe_example_design_tb/ PCIe_example_design_tb/sim/synopsys/vcs
  1. sh vcs_setup.sh USER_DEFINED_SIM_OPTIONS=””””””
  2. 成功的模擬以以下訊息結束:“模擬因成功完成而停止!”
NCSim* <例如ample_design>/ PCIe_example_design_tb/ PCIe_example_design_tb/sim/節奏
  1. sh ncsim_setup.sh USER_DEFINED_SIM_OPTIONS=””””””
  2. 成功的模擬以以下訊息結束:“模擬因成功完成而停止!”
Xcelium* 平行模擬器 <例如ample_design>/ PCIe_example_design_tb/ PCIe_example_design_tb/sim/xcelium
  1. sh xcelium_setup.sh USER_DEFINED_SIM_OPTIONS=”” USER_DEFINED_ELAB_OPTIONS=”-NOWARN\ CSINFI”
  2. 成功的模擬以以下訊息結束:“模擬因成功完成而停止!”

在硬體中編譯和測試設計


用於測試 PCI Express Design Ex 的軟體應用程式amp英特爾 Arria 10 GX FPGA 開發套件上的檔案可在 32 位元和 64 位元 Windows 7 平台上使用。該程式執行以下任務:

  1. 列印配置空間、通道速率和通道寬度。
  2. 將 0x00000000 寫入指定 BAR 偏移量 0x00000000 處以初始化記憶體並將其讀回。
  3. 在指定 BAR 的偏移量 0x1234 處寫入 0xABCD00000000。讀回來並進行比較。

如果成功,測試程序將顯示訊息“PASSED”
請依照以下步驟編譯設計exampQuartus Prime 軟體中的檔案:

  1. 啟動 Quartus Prime 軟體並開啟 pcie_example_design.qpf file 對於前任amp上面創建的設計。
  2. 加工 > 選單,選擇 開始編譯。
    設計的時序限制amp文件和設計組件在編譯期間自動載入。

按照以下步驟測試設計 examp硬件中的文件:

  1. 在 /software/windows/interop 目錄中,解壓縮 Altera_PCIe_Interop_Test.zip。
    筆記: 也可以參考readme_Altera_PCIe_interop_Test.txt file 在同一目錄中,了解有關執行硬體測試的說明。
  2. 使用 altera_pcie_win_driver.inf 在 Windows 主機上安裝適用於 PCIe 的英特爾 FPGA Windows 演示驅動程式。
    筆記: 如果您修改了組件參數編輯器 GUI 中指定的預設供應商 ID (0x1172) 或裝置 ID (0x0000),則也必須在 altera_pcie_win_driver.inf.
    a. 在裡面ample_design>目錄,啟動Quartus Prime軟體並編譯設計(加工 > 開始編譯).
    b. 將開發板連接到主機
    c.  使用產生的.sof在開發板上設定FPGA file (工具 > 程式設計師).
    d. 開啟 Windows 裝置管理員並掃描硬體
    e. 選擇列為未知 PCI 裝置的 Intel FPGA 並指向對應的 32 位元或 64 位元驅動程式(資訊)在 Windows_驅動程式 目錄。
    f. 驅動程式載入成功後,會出現一個新設備,名為 Altera PCI API 設備 出現在 Windows 裝置中
    g. 確定總線、設備和功能號 Altera PCI API 設備 在 Windows 裝置中列出
    我。展開選項卡, Altera PCI API 驅動程式 根據
    二.右鍵單擊 Altera PCI API 設備 並選擇 特性.
    iii.記下設備的匯流排、設備和功能編號。下圖顯示了一個前ample
  3. 在 /software/windows/interop/ Altera_PCIe_Interop_Test/Interop_software 目錄中,按一下 Alt_Test.exe。
  4. 出現提示時,鍵入匯流排、裝置和功能編號,並選擇您在參數化 IP 核時指定的 BAR 編號 (0-5)。 筆記: 您的硬體設定的匯流排、設備和功能編號可能不同。
  5. 如果測試成功,測試將顯示訊息「PASSED」。

筆記: 有關其他設計實現步驟(例如進行引腳分配和添加時序約束)的更多詳細信息,請參閱“設計實現”章節。

相關資訊
英特爾 Arria 10 GX FPGA 開發套件

設計防爆amp文件說明

建立 Signal Tap 調試 File 搭配您的設計層次結構

對於 Intel Arria 10 和 Intel Cyclone 10 GX 裝置,Intel Quartus Prime 軟體產生兩個 files、build_stp.tcl 和 .xml。你可以使用這些 files 生成 Signal Tap file 探針點與您的設計層次結構相符。

Intel Quartus Prime 軟體儲存這些 file位於/synth/debug/stp/目錄下。

使用 Intel Quartus Prime 軟體綜合您的設計。

  1. 若要開啟 Tcl 控制台,請按一下 View 實用程式視窗 TCL控制台.
  2. 在 Tcl 控制台中鍵入以下命令:source <IP核心目錄>/synth/debug/stp/build_stp.tcl
  3. 產生 STP file,鍵入以下命令:main -stp_file <output stp file 名稱>.stp -xml_file <input xml_file 名稱>.xml -模式構建
  4. 新增此訊號點擊 file (.stp)到您的項目,選擇 專案 新增/刪除 File項目中的s。然後,編譯你的
  5. 若要對 FPGA 進行編程,請按一下 工具 程式設計師.
  6. 若要啟動 Signal Tap 邏輯分析器,請按一下 Quartus Prime 工具 信號抽頭邏輯分析儀.
    軟體產生腳本可能不會指派 Signal Tap 擷取時鐘 file 名稱>.stp。因此,Intel Quartus Prime 軟體會自動建立一個名為 auto_stp_external_clock 的時鐘引腳。您可能需要手動替換適當的時脈訊號作為 Signal Tap samp每個 STP 實例的 ling 時鐘
  7. 重新編譯喲
  8. 若要觀察 IP 核的狀態,請按一下 運行分析.
    您可能會看到紅色的訊號或 Signal Tap 實例,表示它們在您的設計中不可用。在大多數情況下,您可以安全地忽略這些訊號和實例。它們的存在是因為軟體產生了更寬的總線和您的設計不包含的一些實例。
英特爾 Arria 10 開發套件管道接口

Intel Arria 10 開發套件管道介面訊號是可選訊號,可讓您將設計連接到 Intel Arria 10 FPGA 開發套件。 透過選擇啟用 Intel Arria 10 FPGA Development Kit 連接來啟用此接口配置、調試和擴展選項 組件 GUI 的選項卡。 devkit_status 輸出埠包含對偵錯有用的訊號。

表 2. Intel Arria 10 開發套件管道接口

訊號名稱 方向 描述
devkit_status[255:0] 輸出 devkit_status[255:0]匯流排包含下列狀態訊號:
  • devkit_status[1:0]:當前速度
  • devkit_status[2]:derr_cor_ext_rcv
  • devkit_status[3]:derr_cor_ext_rpl
  • devkit_status[4]:derr_err
  • devkit_status[5]:rx_par_err
  • devkit_status[7:6]:tx_par_er
  • devkit_status[8]:cfg_par_er
  • devkit_status[9]:dlup
  • devkit_status[10]:dlup_exit
  • devkit_status[11]:ev128ns
  • devkit_status[12]:ev1us
  • devkit_status[13]:hotrst_exit
  • devkit_status[17:14]:int_status[3:0]
  • devkit_status[18]:l2_exit
  • devkit_status[22:19]:lane_act[3:0]
  • devkit_status[27:23]:ltssmstate[4:0]
  • devkit_status[35:28]:ko_cpl_spc_header[7:0]
  • devkit_status[47:36]:ko_cpl_spc_data[11:0]
  • devkit_status[48]:rxfc_cplbuf_ov
  • devkit_status[49]:重置狀態
  • devkit_status[255:50]:保留
devkit_ctrl[255:0] 輸入 devkit_ctrl[255:0]匯流排包含下列狀態訊號。您可以選擇將這些引腳連接到板載交換器以進行 PCI-SIG 合規性測試,例如旁路合規性測試。
  • devkit_ctrl[0]:test_in[0] 通常設定為 1'b0
  • devkit_ctrl[4:1]:test_in[4:1] 通常設定為 4'b0100
  • devkit_ctrl[6:5]:test_in[6:5] 通常設定為 2'b0
  • devkit_ctrl[31:7]:test_in[31:7] 通常設定為 25'h3
  • devkit_ctrl[63:32]:通常設定為 32'b0
  • devkit_ctrl[255:64]:通常設定為 192'b0

A. 用於 PCIe Design Ex 的 Intel Arria 10 和 Intel Cyclone 10 GX Avalon 記憶體對映硬核心 IP 的文件修訂歷史amp用戶指南

日期 版本 所做的更改
2022.01.13 17.1 新增了說明,用於測試設計的軟體應用程式amp該文件可在 Windows 7 平台上使用。
2017.11.06 17.1 進行了以下更改:
  • 添加了對 Intel Cyclone 10 GX 器件的支持。
  • 新增了對生成設計中所做的虛擬連接的解釋 話題。
2017.03.15 16.1.1 更名為英特爾。
2016.10.31 16.1 初次發布。

文件/資源

適用於 PCIe 的英特爾 UG-20040 Arria 10 和英特爾 Cyclone 10 Avalon 記憶體映射接口 [pdf] 使用者指南
UG-20040 用於 PCIe 的 Arria 10 和 Intel Cyclone 10 Avalon 記憶體映射接口,UG-20040、Arria 10 和用於 PCIe 的 Intel Cyclone 10 Avalon 記憶體映射接口

參考

發表評論

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