摘要:针对八通道采样器AD9252的高速串行数据接口的特点,提出了一种基于FPGA时序约束 的高速解串方法。使用Xilinx公司的FPGA接收高速串行数据,利用FPGA内部的时钟管理模块DCM、位置约束和底层工具Planahead实现高速串并转换中数据建立时间和保持时间的要求,实现并行数据的正确输出。最后通过功能测试和时序测试,验证了设计的正确性。此方法可适用于高端和低端FPGA,提高了系统设计的灵活性,降低了系统的成本。
1引言
随着电子技术的发展,军用无线数传设备向着小型化、低功耗化的方向发展。无线数传设备需要在面积有限的印刷电路板上实现多路采样的需求,采用多通道高速ADC可以满足设备微型化的要求 [1] 。AnalogDevice公司的AD9252集成了八路模数转换,输出采用高速串行DDR(DoubleDataRate)方式,Xilinx公司高端FPGA中集成了片同步模块[2],利用这一模块可以满足串并转换的时序要求,正确地恢复出并行数据。但是低端的FPGA中无此模块,考虑到成本问题,系统采用兼容低端FP-GA设计方法,利用FPGA内部的寄存器来实现串并转换,通过内部时钟管理模块DCM(DigitalClock Management)、位置约束等来满足时序要求。
AD9252是一款八通道,14b的模数转换器,最高采样率为50Msample/s;内部集成了采样保持电路,输出采用高速串行DDR方式,输出端包含一个输出数据时钟(DCO)用于捕获数据和一个帧使能信号(FCO)表示新的数据位的开始;接收端通过串并转换,恢复并行数据。
2设计方案AD9252高速串行数据转换成并行数据是通过FPGA内部寄存器来实现。帧使能信号FCO生成上下沿使能信号,通过多个寄存器来寄存串行数据,下一个帧使能信号FCO到来之前,取走并行数据,完成串并转换, 具体实现如图1所示。
图1 FPGA解串的示意图
采样时钟为40MHz的系统,输出时钟DCO为 40×14/2=280MHz,串行输出采用DDR方式,数据率为280×2=560Mb/s,数据的时间窗口仅为1.79ns, 除去数据上升沿、下降沿时间和抖动时间,数据的有效窗口长度变得更小。采用FPGA内部寄存器完成串并转换时,寄存器之间的布线延迟时间与数据有效窗口时间相当,要实现系统稳定的工作, 必须满足数据的建立保持时间的要求。FPGA内部的时钟资源、时序约束以及位置约束为此实现提供了基础。
3时序设计FPGA内部时序设计通过时钟管理模块DCM、 位置约束和延迟单元IDELAY来实现。
3.1 DCM的时钟设计
AD9252输出280MHz时钟通过FPGA全局输入引脚进入FPGA内部的DCM, 产生两个相差180°的时钟,分别用来寄存上下沿数据。DCM除了倍频和分频时钟功能外,还能补偿时钟进入FPGA到DCM布线延迟和时钟经过全局网络到达触发器的延迟,保持时钟与数据原来的时序关系。
为了保证时钟到达各个触发器的延迟相同,DCM产生的两个时钟接入FPGA内部的全局时钟网络,全局时钟网络是一种全局布线资源,保证时钟信号到达各个目标逻辑单元的延迟基本相同。FP-GA内部全局时钟资源网络如图2所示。
图2FPGA内部全局时钟网络示意图
图2显示了FPGA内部全局时钟资源为一树形结构, 保证了全局时钟到达逻辑单元的布线长度相同。时钟接入全局时钟资源通过全局缓冲器来实现[3] , 如下所示:
FPGA内部布线前的全局时钟与触发器的关系可通过FPGA开发工具Planahead查看,全局时钟连接到触发器的关系如图3所示。
图3布局布线前全局时钟网络图
FPGA内部高速时钟必须加入周期约束来保证时钟布线满足时序要求,约束语句如下所示:
约束语句保证了全局时钟周期为280MHz,占 空比为50%,高电平有效。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)