5 故障排除
5.1 实现过程中的错误
有时 Altera 工具的不同版本之间存在细微差异,这可能导致创建 SOF 文件的实现过程失败。
如果问题未能迅速解决,请通过 Xillybus 网站上公布的电子邮件地址寻求帮助。请附上失败过程的输出日志,特别是工具报 告的第一个错误附近的内容。此外,如果对设计进行了自定义修改(即偏离了 demo bundle),请详细说明这些修改。同时请说明所使用的 Quartus 工具版本。
5.2 PCIe 硬件问题
通常情况下,PCIe 卡会被主机的 BIOS 和/或操作系统正确检测到,并且主机的驱动程序会成功加载。
在大多数 PC 计算机上,BIOS 会在引导过程的早期简要显示检测到的外设列表。当 Xillybus 接口被成功检测时,列表中会 出现厂商 ID 为 1172、设备 ID 为 EBEB 的外设。
关于操作系统对卡的检测,请参考以下两个适用文档之一:
无法检测到卡(或计算机引导过程失败)与 Xillybus IP 核无关,该核依赖 Altera 的 PCIe IP 核与总线进行接口。
首先,建议验证以下事项:
-
计算机上电时(或根据 PCI-SIG 规范在上电后足够快的时间内)比特流已加载到 FPGA 中。
-
PCIe 线(包括参考时钟)的引脚定义正确(可在适配器报告(fitter’s report)中验证)。
-
开发板向 FPGA 提供正确的参考时钟。
如果问题未能立即发现,建议尝试开发板自带的 PCIe 示例项目。这可能会揭示错误的跳线设置或潜在的硬件缺陷。
如果使用该示例能检测到卡,但使用 Xillybus 不能,那么比较两个设计的引脚定义可能会有所帮助。如果它们相同,下一步 是通过分别调用相关的 GUI 工具来比较 Altera PCIe 核的属性。
可能需要调整的配置元素包括:
-
参考时钟的频率。
-
基类和子类(虽然可能性不大,但某些较旧的 PC 计算机如果认为类别未知,可能会在引导过程中失败)。
-
任何其他配置不同的属性,但基地址寄存器设置、厂商 ID、设备 ID 以及中断设置除外——这些不应更改。
如果问题仍然存在,请通过 Xillybus 网站上公布的电子邮件地址寻求帮助。
