由於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. 再次執行模擬或編譯流程。