适用于 PCI Express® IP 内核的 Arria® V 和 Cyclone® V 硬核 IP 不会从 x4 或 x8 配置限制为 x1 或 x2。
变通方法是更正altpcie_av_hip_128_bit_atom.v中设置通道数的 Verilog HDL 代码。应对位于 Quartus® II 安装目录>\ip\altera\altera_pcie\altera_pcie_av_hip_ast 中的文件进行更正。 确保由于 MegaWi™ 或 Qsys 工具而位于项目文件夹中的此文件夹的任何副本都已删除,并且 PCIe 变体已重新生成。
更换此不正确的代码:
电线rxstatus_err;
分配rxstatus_err = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2]] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);
分配 rxstatus_err = pld8grxstatus0[2];
使用此正确的版本:
电线rxstatus_err rxstatus_err_x1、rxstatus_err_x4、rxstatus_err_x8;
分配rxstatus_err_x8 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);
分配 rxstatus_err_x4 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] );
分配 rxstatus_err_x1 = pld8grxstatus0[2] ;
分配 rxstatus_err = (lane_act=4\'b1000)?rxstatus_err_x8:(lane_act==4\'b0100)?rxstatus_err_x4:rxstatus_err_x1;
此问题将在 PCI Express IP 内核的 Arria V 和 Cyclone V 硬核 IP 版本中修复。