由于 HPS EMAC 1 和 HPS EMAC 2 的设计问题,启用精确时间协议 (PTP) 时时间戳数据输出信号将不会显示数据。使用英特尔® Quartus® Prime Pro Edition 软件版本 17.1 及更高版本时,发生这种情况时,将发生以下行为:
- HPS EMAC1 时间戳数据输出 (a10_hps_emac1_ptp_tstmp_data) 显示在 HPS EMAC2 时间戳数据输出信号 (a10_hps_emac2_ptp_tstmp_data) 上。
- HPS EMAC2 时间戳数据输出 (a10_hps_emac2_ptp_tstmp_data) 显示在 HPS EMAC1 时间戳数据输出信号 (a10_hps_emac1_ptp_tstmp_data) 上。
- HPS EMAC0 不受影响。
要变通解决此问题:
- 在系统中启用 EMAC1 时,无论是连接到 HPS IO 还是FPGA,并且您想在 FPGA 结构中对 EMAC1 使用 PTP 时间戳数据,都必须启用 EMAC2 PTP FPGA接口,并在结构内导出和使用 HPS EMAC2 时间戳数据输出信号 (a10_hps_emac2_ptp_tstmp_data), 获取与 EMAC1 关联的真实时间戳数据。
- 在系统中启用 EMAC2 时,无论是连接到 HPS IO 还是FPGA,并且您想在 FPGA 结构中使用 EMAC2 的 PTP 时间戳数据,都必须启用 EMAC1 PTP FPGA接口,并在结构内导出和使用 HPS EMAC1 时间戳数据输出信号 (a10_hps_emac1_ptp_tstmp_data), 获取与 EMAC2 关联的真实时间戳数据。