FPGA中IDELAY+ISERDES的作用_fpga idelay
IDELAY
模块(输入延迟模块)是FPGA(如Xilinx、Intel等主流厂商器件)中常用的基础I/O原语,用于对输入信号进行精细的相位(时钟)延迟调整,其主要作用是对外部输入(input)的信号采样相位进行精确对齐或平移。常与ISERDES
(串并转换器,Input SERializer/Deserializer)组合,用于高速接口采集数据。









1.IDELAY模块的主要作用
- 时序校正 & 相位调整
外部输入信号的到达时序,因走线长短、PCB信号质量、上升沿延迟、温度等影响,实际到达FPGA引脚的时序常常并不理想。IDELAY为输入信号路径插入可控的“延迟”单元,以皮秒(ps)级为粒度,动态调整输入信号的相位或到达时间,使其与采样时钟沿(或采样窗口)更好对齐。 - 抗噪声/抗抖动
通过调整采样位置到信号“眼图”的最佳采样点(数据稳定区),以提升数据采样的可靠性。
常见应用场景:
- DDR/DDR2/DDR3/DDR4 SDRAM接口的数据线DQ/DQS延迟对齐
- Camera MIPI、LVDS高速数据采集接口
- JESD204B,SPI接口中的高速采样
- 通用IO时序优化
2.IDELAY+ISERDES的作用
- “串并转换”+“输入延迟控制”=高速数据高可靠采集
- 高速数据总线:如DDR、LVDS、SDR/DDR输入,数据线多且速率高(如400Mbps、800Mbps、1600Mbps或更高)
- 采样窗口极窄,如果直接用普通IO采样,容易因为板级延迟/抖动导致采样失败。
- ISERDES负责将高速“串行数据”分转换为FPGA可处理的“并行数据”(降低内部处理时钟速率)。
- IDELAY则作用于ISERDES的前级,微调信号采样时刻,使采样点处于输入数据信号的最佳“稳定区”。
- 通常FPGA厂商推荐配套使用,软硬件协同调整IDELAY的tap值到最佳点,获得最大的采样裕度。
典型结构图(逻辑关系)
输入信号
│
┌───────┐
│ IDELAY│──┬─►(调整后的信号)
└───────┘ │
│
┌──────┐
│ISERDES│──► 并行数据输出
└──────┘
3.采样时刻具体指什么?为什么要进行相位调整?如何得到最佳调整范围?
采样时刻指的是什么?
在数字系统中,“采样时刻”通常指**用时钟沿对输入信号进行采样(Latch、寄存)**的具体时刻。
- 在FPGA中,IO口往往由采样时钟(如系统时钟或从属接收时钟)驱动采样触发器(例如D触发器)。
- 对于高速串行信号(如LVDS、DDR、MIPI等),采样时刻=时钟沿到达采样单元的时刻。
- 这个时刻如果正好对应于串行数据中的“稳定区”(也就是眼图的开口处),则采样到高/低电平的概率更高、误码率更低;反之,若采样时刻落在信号跳变时,容易采样到错误的数据。
形象地说:
就像你要在高速运动物体上拍一个清晰照片,快门必须在物体静止的一瞬间。如果快门提前或延后,拍到的可能是模糊边缘,这相当于采样到错误数据。
串行数据为何还要做相位调整?
即使输入的是串行数据(例如每秒传输几百兆/几G比特),你依然必须在合适的时刻对数据做采样,因为:
- 串行数据本质是高频的“1/0”电平序列(如101011…),但由于PCB走线、上升/下降时间、抖动等原因,实际每一位的稳定期间可能很短。
- FPGA内部的采样时钟可能与外部数据的边沿并不对齐,有“相位差”。
- 只有把采样时钟的沿(采样时刻)对齐到数据的“稳定窗”区域,采到的数据才可靠。
- IDELAY的作用就是用来“推迟/提前”输入信号,在逻辑上将数据的有效区与采样时钟沿对准。
所以,无论并行还是串行,只要是高速数字采集,就一定要关心“采样相位是否对齐”!
如何判断并设置最佳采样相位?
这一点是实际调试的重点。
理论依据
- 一个串行比特周期内,只有一小段数据是静稳不变的,称为“眼图开口”或者“裕度窗口”。
- FPGA采样信号的时钟/采样点落在这个窗口内最理想。
实践流程
a) 扫IDELAY tap
- IDELAY模块通常有多个“tap”值(如32、64、256级,每级约10~20ps延迟),你可以用控制信号逐步调节输入信号的延迟。
- 每调一次tap,实际上就是让采样信号在一个比特周期内往后/前推一点。
b) 边扫描边采样观测
- 固定一串输入数据,边调整IDELAY tap,一边在FPGA里采样记录,比较是否采样数据错误。
- 画出错误率 vs IDELAY tap曲线,会发现只有一段tap值下错误率最低(甚至为零)。
c) 选择“最佳采样点”
- 在“没有错误”的tap区间正中间,就是“最佳采样位置”。这时候采样时钟沿最对齐输入数据稳定区,抗噪声抖动最强。
这种过程就叫做“窗口扫描”或“眼图扫描”
工具辅助
- Xilinx/Intel等都有对应的硬件原厂“眼图扫描”实验工具,也可以用soft IP核实现自动化过程。
- DDR控制器、LVDS采集IP通常内建这类自动训练功能。
举例
假设串行信号一比特周期为1200ps,IDELAY支持0-31共32级,每级约40ps延迟。
- 当调节IDELAY tap = 0~31时,FPGA每采样点都落在数据周期不同的地方,我们希望采样点落在离信号跳变最远的中间。
- 扫完后在tap=10~18时,数据可靠无误,于是最终取tap=14为最佳值。