由于英特尔® Quartus® Prime Pro Platform Designer 工具生成的路由器逻辑的地址映射不正确,因此,通过编程 8 个以上的描述符,英特尔® Stratix®具有外部描述符控制器示例设计的 英特尔® Stratix® 10 PCIe* Avalon®-MM 硬核 IP 将会挂起。
要解决此问题,手动纠正英特尔® 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'h1000000);
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. 再次运行模拟或编译流程。