|
本帖最后由 BOB_Sun 于 2021-11-22 14:45 编辑
使用Apollo S10 SOM开发板FMC接口外接sensor,进行开发验证,在LVDS信号输入上的一些问题:
1. 如果接一个sensor, sensor输出LVDS信号,频率为400MHz:
Q: (a) LVDS时钟是否一定要接到FMC时钟专用引脚(FMC_CLK_M2C_p0, FMC_HA_p0等) ? 是否可以接其他的引脚 (FMC_LA_p[1], FMC_LA_p[2]等?
A: 如果LVDS时钟要作为PLL source使用,就一定要接FMC时钟专用引脚(详见Apollo S10 SOM User manual的Table 2-11 FMC clock interface distribution和Table 2-16 FMCP clock input interface distribution),这些是时钟输入专用引脚;如果不做PLL source,可以接其他引脚,但是jitter&timing会比较差。
Q: (b) 是否一定要使用differential i/o buffer ip来接收LVDS信号?
A: 不一定要使用differential i/o buffer ip来接收LVDS信号,在Quartus软件的Pin Planner窗口中选择对应信号的I/O Standard为LVDS即可。
Q: (c) LVDS Clock 和Data 是否可以接到FMC_DP_M2C_p0~9这些引脚?
A: FMC_DP_M2C_p0~9是收发器引脚,不能接LVDS Clock和Data。
Q: (d) LVDS信号验证有沒有需要注意的地方, 使得LVDS信号质量和速率可以维持?
A: 要用时钟输入专用引脚;使用的I/O尽量在同一个FPGA I/O Bank;.sdc要做好约束clock speed 和input delay;Compiler Settings选择Speed最佳化,如下图所示。
Q: 2. 验证时发现source clock 和generated clock之间的skew非常大, 造成 timing violation, 有什么优化建议呢?
A: 可以参考Intel® Stratix® 10 High-Speed LVDS I/O User Guide, 文档的3.2. Source-Synchronous Timing Budget小节里有提到调整skew建议。
|
|