文章 ID: 000080836 內容類型: 疑難排解 最近查看日期: 2021 年 05 月 05 日

為何在程式設計超過 8 個描述元時,Intel® Stratix® 10 PCI Express* Avalon®MM 硬 IP 與外部描述器控制器範例設計會掛上?

環境

  • Intel® Quartus® Prime Pro Edition 軟體
  • 適用於 PCI Express* 的 Avalon-MM Intel® Stratix® 10 硬 IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    由於Intel® Quartus® Prime Pro Platform Designer 工具所產生的路由器邏輯的位址對應錯誤,Intel® Stratix® 10 PCIe* Avalon®-MM 硬 IP 搭配外部描述器控制器範例設計,程式化超過 8 個描述元時就會掛機。

    解決方法

    若要解決此問題,請手動修正由 Intel® Quartus® Prime Pro Platform Designer 工具所產生的 RTL 檔案

    1. 在專案工作空間搜尋 *altera_merlin_router*.sv,並尋找下列檔案

    ../altera_merlin_router_xxx/sim/altera_merlin_router_xxx(模擬流程)

    ../altera_merlin_router_xxx/syn/altera_merlin_router_xxx(實作流程)

    2.開啟每個檔案以確認下列行是否存在,然後據此修改

    原始行應該是:

     //-------------------------------------------------------

    找出每個從屬範圍遮蓋的位數

    位址解碼期間

    //-------------------------------------------------------

    localparam PAD0 = log2ceil(64'h2000 - 64'h0);

    localparam PAD1 = log2ceil(64'h1000100 - 64'h10000000);

    localparam PAD2 =log2ceil(64'h1002100 - 64'h1002000);

    變更為:       

            //-------------------------------------------------------

    找出每個從屬範圍遮蓋的位數

    位址解碼期間

    //-------------------------------------------------------

    localparam PAD0 = log2ceil(64'h2000 - 64'h0);

    localparam PAD1 = log2ceil (64'h1001000 - 64'h1000000);

    localparam PAD2 = log2ceil(64'h1003000 - 64'h1002000);

    3. 再次執行模擬或編譯流程

    相關產品

    本文章適用於 1 產品

    Intel® Stratix® 10 FPGA 與 SoC FPGA

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。