LVDS与IDELAY

摘要:LVDS(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术;LVDS会被经常使用到,使用的过程中难免会碰到时序问题,需要借助IDELAY进行简单的时序调整;我在使用4*4lane LVDS传输数据时碰到了很多问题,本篇文章作为记录;

一、LVDS

LVDS对于FPGA侧来说无非就是一对差分线,直接用就行;我使用的场景中,需要用到24对LVDS(外部有4路芯片,每路6对LVDS)

二、IDELAY的使用

2.1 差分转单端

把需要用到的所有差分信号,转单端信号,后面会用到:

2.2 IDELAY CTRL

i_clk_delay目前来看并没有什么特殊要求,这里我给的是主时钟MMCM分出来的300MHz时钟;需要注意这里的IODELAY_GROUP貌似要统一名字;

2.3 IDELAY3

里面连接的i_idelay_clk使用的是芯片2243过来的随路时钟,这个时钟应该是300MHz,2243传送过来的的数据速率是600Mbps;

2.4 IDDRE1

IDELAY3的输出接到IDDRE上面;

i_bitclk是300Mhz时钟;

iddre的输出就可以拿来用了,但是时钟域依旧是i_bitclk;

三、调试

3.1 LVDS时序问题

一般LVDS出现时序问题,会出各种各样的情况,但是总结下来无非就是两点,数据本身和数据量有问题;也就是说,数据要么就是错误的,要么数据量不对,两者很有可能同时出现;

按照经验,在确保物理硬件布线没有问题的情况下,LVDS出现时序问题,很有可能就是布局布线导致的,所以异常的现象并不是固定一致的,应该会随着版本的变化而变化;此时此刻,通过调整idelay是很有希望解决这个问题的。如果物理硬件布线有问题(没遇到过),很难调试;

如图所示,理论上收到的数据应该是1,2,3,4,5,6,7,8,但是现在出现了16,12,0e,0a;理论上收到的数据量是786432个,并且图中784383对应的应该是1,现在对应的是2,证明了数据量也少了(在测试LVDS时序问题的时候,一定要有一套标准证明数据本身不对或者数据量少了);

我的验证标准:

由于雷达2243会传过来bitclk、valid、frameclk、data0、data1、data2、data3;可以选择用valid去计算数据量,理论上valid应该和四路data是严格对齐的;所以可以用多个计数器从不同角度计数valid,可以对比计数器,保证每个计数位置的唯一性,从而验证出数据量是否正确;要验证数据本身正确,一定要让对端发送有规律的数据,才能够比较清晰的判断数据本身有没有发生错误(2243有testpattern模式、testsource模式、真实数据模式);

调节idelay:

调节idelay基本上可以盲试,因为9bit的位宽,一共就512个数,我认为一路data能够对齐的情况下,相邻几路data数据的延时,基本一致;但是芯片和芯片间的LVDS延时或许会有不同;但是即便如此,调delay就是一个尝试的过程,有了标准,多试几次,就能够测出正确的结果;

总结

很久以前做过的东西,写出来加深印象

参考文章:

FPGA内部资源(Xilinx) ---- IDELAY(延时)_idelaye2原语-CSDN博客

相关推荐
小眼睛FPGA2 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分/紫光同创 IP core 的使用及添加
科技·嵌入式硬件·ai·fpga开发·gpu算力
forgeda7 小时前
如何将FPGA设计验证效率提升1000倍以上(2)
fpga开发·前沿技术·在线调试·硬件断点·时钟断点·事件断点
9527华安18 小时前
FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
fpga开发·架构·网卡·ethernet·nic·40g·pcie4c
search720 小时前
写Verilog 的环境:逻辑综合、逻辑仿真
fpga开发
search71 天前
Verilog 语法介绍 1-1结构
fpga开发
小眼睛FPGA1 天前
【RK3568+PG2L50H开发板实验例程】Linux部分/FPGA dma_memcpy_demo 读写案例
linux·运维·科技·ai·fpga开发·gpu算力
幸运学者1 天前
xilinx axi datamover IP使用demo
fpga开发
搬砖的小码农_Sky1 天前
XILINX Zynq-7000系列FPGA的架构
fpga开发·架构
热爱学习地派大星2 天前
FPGA矩阵算法实现
fpga开发
热爱学习地派大星2 天前
Xilinx FPGA功耗评估
fpga开发·verilog·vivado·fpga功耗·xpe