关键问题
英特尔® Quartus® Prime Pro 软件版本 18.0 中,如果英特尔 Stratix® 10 SoC 设备已配置为结合FPGA和 HPS JTAG 选项,则 Quartus Prime 编程工具在尝试执行 JIC 文件编程时可能会崩溃。这是因为FPGA最初是 JTAG 链(在 HPS 之后)中的第二台设备,但是一旦对 SFL 帮助程序映像进行编程,HPS 便被移除,而FPGA现在成为 JTAG 链中的第一台设备。
JTAG 设备编号的差异会导致 Quartus 编程工具崩溃,因为预计在整个过程中,FPGA设备将保留在 JTAG 链的同一位置。
在以下情况下,此问题不影响您:
- 英特尔® Stratix® 10 SoC 设备在 JIC 文件编程开始之前仍无法配置
- 英特尔 Stratix 10 SoC HPS JTAG 使用 HPS 专用 I/O 引脚,不与 FPGA 共享同一个 JTAG 链。
使用以下变通方法之一来在主板上执行闪存编程:
- 使用 MSEL[2:0] 设置为 111 (JTAG) 为主板通电源。通过这种方式,设备在 JIC 文件编程之前仍不会配置,而 JTAG 链将仅包含一个设备 (FPGA)。Quartus Prime 编程工具完成 JIC 文件编程后,您可以将 MSEL[2:0] 设置回 100,以便设备在下一个电源周期从 QSPI 自动启动。
- 在电路板供电时,外部将 nCONFIG 拉低,以防止设备使用 QSPI 进行配置。使用 JTAG 启动 JIC 编程 - 一旦编程了 SFL 帮助器映像,就可以释放 nCONFIG 引脚。
- 使用在 HPS 中运行的软件(例如 U-boot)对 QSPI 设备进行编程。此方法使用 Raw Programming Data (.rpd) 文件格式, 而不是 JIC 文件。请参阅 英特尔 Stratix 10 配置用户指南 了解生成 .rpd 编程文件的步骤。
此问题将在 英特尔 Quartus Prime Pro 软件的将来版本中修复。