一种基于FPGA快速进位链的时间数字转换电路

2016-09-02 08:08来金梅
复旦学报(自然科学版) 2016年1期
关键词:双链延迟时间寄存器

王 丹,王 健,来金梅

(复旦大学 专用集成电路与系统国家重点实验室,上海 201203)



一种基于FPGA快速进位链的时间数字转换电路

王丹,王健,来金梅

(复旦大学 专用集成电路与系统国家重点实验室,上海 201203)

设计了一种基于FPGA快速进位链的时间-数字转换电路.该电路采用延迟内插技术,引入双链结构消除建立/保持时间对寄存器阵列输出结果的影响,并采用半周期平均延迟测试法,在Xilinx Virtex-4芯片上实测获得了59.19ps的分辨率.该电路采用使能控制模块将寄存器阵列输出结果的锁定时间控制在一个时钟周期内.使用FPGA Editor软件对该电路中单级延迟宏单元进行配置,并利用用户约束文件替代传统的手工布局布线,使得电路具有可移植性.此外,利用该电路对实测芯片中的CLB组合开关参数进行了测试,结果满足数据手册中提供的参数值的范围.

时间数字转换器; 时间间隔测量; 现场可编程门阵列

时间间隔测量技术,尤其是皮秒(1ps=10-12s)级测量技术,在航天航空、激光测距、原子物理实验、集成电路(Integrated Circuit, IC)参数测量等领域有着重大意义和广泛应用,国内外学者对该技术做了大量的学术研究,并利用IC方式实现了各种时间数字转换器(Time-to-Digital Converter, TDC).

早期的数字化TDC电路主要基于专用集成电路(Application Specific Integrated Circuit, ASIC)技术,根据用户需求设计信号的传播路径,并且该路径在芯片制成后不会受到综合和布局布线的影响,因此可以达到1.25ps分辨率[1].然而,ASIC芯片的设计周期长、开发成本高、灵活性差,而基于现场可编程门阵列(Field-Programmable Gate Array, FPGA)电路虽然受到芯片制造工艺和布局布线策略的影响导致较低的分辨率,但其设计周期短、开发成本低、灵活性高,并且随着半导体技术的创新和进步,FPGA的集成度越来越高、内部基本逻辑单元的尺寸和时延越来越小,使得基于FPGA技术的TDC电路也能达到皮秒级分辨率.

文献[2]利用锁存器延迟和缓存器延迟的差异在QuickLogic FPGA器件上获得了100ps的分辨率,文献[3]基于二维延迟矩阵在Xilinx XCV300器件上实现了150ps分辨率,文献[4]采用FPGA中的级联链结构在Altera ACEX 1K器件上得到了400ps分辨率.文献[5]在文献[4]基础上,采用两步延迟链结构作延迟内插,第一步延迟链将工作时钟周期分割,第二步延迟链进一步分割第一级延迟链无法分割的部分,并最终在Xilinx Vertex-Ⅱ器件上实测获得75ps分辨率,其测试样本容量为5000.同样地,文献[6]基于时间内插技术,以FPGA中的一个专用的快速超前进位单元作为TDC电路的一级内插延迟,利用数字时钟管理资源(Digital Clock Manager, DCM)输出多个相位时钟,将一个TDC通道由2个相位时钟触发两条延迟链[7]构成增加到4个相位时钟触发4条延迟链构成,最终在Xilinx Virtex-5器件上实现了7通道TDC电路,将分辨率为由80ps[7]提高到55ps[6];然而其转换时间高达12.6ns、7个时钟周期[6].快速超前进位逻辑一般是通过定制一个具有进位输入和输出的多位加法器产生的,对于每一级由查找表(LUT)、快速超前进位逻辑和寄存器构成的TDC延迟单元结构来说,需要手工对逻辑单元进行布局布线来实现这一结构[6-7].另外,文献[8]提到了建立/保持时间对寄存器阵列的输出结果的影响,并提出两种处理方案: 采用方案一不做处理则会引入1~2级量化误差,而采用方案二压缩设计则同样会增加译码电路的设计难度和转换时间.

TDC延迟链的分辨率(resolution/bin size/LSB)一般可采用延迟线测试法[2,4,6-7]实现板级测试,其原理是将已知时间间隔的信号送入到TDC电路中,根据TDC电路的测试结果求得延迟单元的平均延迟时间.这种方法的测试响应速度非常快.然而,实际测试中不同的信号传输线存在延时差别,而受到信号发生器分辨率的影响,该方法测得的TDC延迟链的分辨率本身即存在测量误差,这对于实际应用无疑又增加了误差来源.

本文设计了一种用于CLB组合开关参数测试的双链TDC电路.采用两条TDC延迟链将“开始”和“停止”信号分布在两条延迟链的输入端,在不增加转换时间的情况下消除建立/保持时间对寄存器阵列输出结果的影响;该电路创新引入使能控制模块,在一个时钟周期内实现对寄存器阵列输出结果的锁定,降低译码难度;该电路额外引入一组双链TDC电路作为参考电路,在响应速度更快的延迟线测试法和内建自测基础上,采用半周期平均延迟测试法测量延迟单元的平均延迟时间;该电路中单级延迟宏单元以及本次测试中所有组合开关参数的配置均在FPGA Editor中实现,并利用约束文件替代了传统的手工布局布线.在Xilinx Virtex-4 XCX4VLX15芯片上验证了该电路的功能,其分辨率为59.19ps;并利用TDC电路对该芯片中的CLB组合开关参数进行了测试.

1 TDC电路的基本架构

TDC电路的基本架构如图1所示,它主要由两条结构完全相同、分别用于参考和测试的双链TDC电路组成,此外还包括时钟倍频电路、以输入时钟为测量频率的粗测量计数器、用于产生半周期时间间隔的半周期时间间隔发生器和对TDC电路输出进行选择的多路选择器.

双链TDC结构是该电路的主要组成部分,如图2所示,由两条完全相同的单链TDC电路构成.采用双链结构是为了消除寄存器输出端相对于时钟信号的建立/保持时间的影响.双链结构中的每一条链上均存在这样的误差,利用两条链输出的相减结果可以达到消除建立/保持时间影响的目的.

时钟倍频电路用于产生4倍于输入时钟频率的高频率时钟信号,并通过全局时钟资源布线到寄存器输入端.

粗测量计数器基于直接计数法,用于测量“开始”和“停止”信号之间存在的时钟周期的“个数”.“个数”的计数范围由计数器的位宽决定,如依据测试需要,本文设计的计数器的位宽为4位,则其测试范围为0~16个时钟周期;改变计数器的位宽可以动态调节电路的测试范围,满足不同测试的量程的需求.粗测量计数器与双链TDC结构共同完成对信号的测试.

半周期时间间隔发生器利用时钟信号的正负边沿对两个寄存器进行触发,分别产生时间间隔为半周期的两个信号,将信号注入“用于参考的双链TDC结构”后可以求得延迟单元的平均延迟时间.这种内建自测方式可以消除不同信号传输线的延时差别产生的测量误差.

多路选择器利用“输出选择信号”可以选择输出待测信号的输出结果或延迟单元的平均延迟时间.

1.1单链TDC结构

单链TDC结构如图3所示,它由一条基于快速进位链的TDC延迟链、使能端控制电路和译码电路组成.由于特别设计了使能端控制电路用来快速锁定TDC延迟链的输出结果,本文的译码电路采用结构简单、设计方便的“二分法”译码电路,对延迟链输出1…1100…0中1—0跳变的发生位置进行检索.TDC延迟链基于目前学术界主流的时间内插法,将SLICE结构中的查找表、快速进位单元和寄存器配置为一级基本延迟单元,将基本延迟单元级联实现一条TDC延迟链,如图4所示.

1.2使能端控制电路

使能端控制电路的电路结构如图5所示,它利用TDC延迟链的输出结果,在第一级基本延迟单元输出高电平后通过一定的逻辑将整条TDC延迟链的使能信号失效,其工作原理如图6(见第62页)所示.如果没有使能端控制电路,寄存器的使能信号默认为一直有效,则对于TDC延迟链的每一级输出,总会在几个时钟周期之后全部输出高电平,这对于后面的译码电路的工作时间有很高的要求.引入使能端控制电路,通过逻辑控制在一个周期内使得全部寄存器的使能信号失效,则能保持当前时钟下的寄存器输出,有利于简化后面的译码电路,从而降低芯片资源的利用率.需要注意的是,逻辑控制的时间应小于一个时钟周期,否则结果输出仍然不正确.

1.3基本工作原理

本文采用平均延迟测试法来简化测量过程,既能保证测量精度,又能够随时反映环境因素对延迟单元的延迟时间的影响,其基本思路为: 启动半周期时间间隔发生器,该电路利用时钟信号的正负边沿对两个寄存器进行触发,分别产生时间间隔为半周期的“开始”和“停止”信号,将两个信号注入“用于参考的双链TDC结构”中,输入到TDC延迟链的输入端,延迟链的抽头给出信号相对于时钟沿的位置信息,这些位置信息经过译码电路转换成二进制码(REF0和REF1),从而获得延迟单元的平均延迟时间(tdelay):

(1)

将待测信号的“开始”和“停止”信号注入“用于测试的双链TDC结构”中,经译码后获得TDC电路的输出结果(N0和N1),其测量时间为(ttest):

(2)

由于平均延迟测试法的测试方法简单,在实际测试过程中又可以实时更新当前电路中延迟单元的延迟时间,因此有着很高的可行性.

2 CLB组合开关参数测试电路架构

由于本文采用的器件资源有限,不能对每一个组合开关参数做单独的TDC时间间隔测试,因此将所有参数配置到同一个“CLB组合开关参数配置电路”中,如图7所示.外部的“选择”信号和“高电平使能”信号每次仅选择一个参数进行测试,所有参数的“开始”和“停止”信号分别连结到一个或门,两个或门的输出作为TDC电路的“开始”和“停止”信号.需要注意的是,从每一个参数的输出端到两个或门的输入端可能存在互连不匹配的情况(如图中一对灰线),因此需要利用FPGA资源的重复性进行配置以保证互连匹配.

另外,考虑内建自测试的便利性和稳定性等优势,设计一种用于组合开关参数测试的TDC电路架构,如图8所示,引入“状态控制机”控制“CLB组合开关参数配置电路”中的路径选择、“TDC电路”的输出和“存储单元”的数据存储.

3 仿真与测试结果

3.1半周期平均延迟测试法的测试误差仿真

本文采用半周期平均延迟法测量TDC电路的分辨率,该方法在延迟线测试法的基础上,采用内建自测方式消除不同信号传输线的延迟差别.为了验证对比半周期平均延迟测试法与延迟线测试法引入的测量误差,本文使用MATLAB作为仿真对比工具,其实现方法为: 随机产生一条含有80级延迟单元的TDC延迟链,每一级延迟单元的延迟时间的取值范围为(70±30)ps;计算该延迟链的平均延迟时间,用TDC_REF表示;输入半时钟周期,计算半周期平均延迟测试法的平均延迟时间,用TDC_AVG表示;输入10000个已知时间间隔分别求平均延迟时间,分别计算前1000个和10000个平均延迟时间的样本计算平均延迟时间,用TDC_DL1K和TDC_DL10K表示;重复1000次以上步骤,将第i次的测量结果用TDC_REF[i]、TDC_AVG[i]、TDC_DL1K[i]和TDC_DL10K[i]表示,如图9所示.

从图中可以观察到: 整体来看,半周期平均延迟测试法测得的平均延迟时间更接近TDC延迟链真实的平均延迟时间,而延迟线测试法的测试结果则不如半周期平均延迟测试法所得,并且延迟线测试法还未考虑不同的信号传输线产生的延迟差别.

以TDC_REF[i]为参考,计算1000条随机产生的TDC延迟链在不同测试方法下的测量误差.

半周期平均延迟测试法的测量误差:

1000样本容量延迟线测试法的测量误差:

10000样本容量延迟线测试法的测量误差:

经公式计算可得,以上3种测量误差分别为2.33ps,8.60ps和8.36ps.半周期平均延迟测试法的测量误差最小,并且采用内建自测方式还可以消除不同的信号传输线产生的延迟差别、测试环境更为稳定.因此,本文采用半周期平均延迟测试法不仅能够获得更小的皮秒级的测量误差,还能够使实验测试过程更为方便.

3.2布局布线后的仿真结果

基于Virtex4 XC4VLX15器件,对布局布线后的TDC电路进行了功能仿真: 在160MHz工作时钟频率下,采用半周期平均延迟测试法测试延迟单元的平均延迟时间,“用于参考的双链TDC结构”的输出结果分别为65和18,根据公式1可得该TDC电路的分辨率为66.5ps;对于CLB其中一个组合开关参数TILO,“用于测试的双链TDC结构”的输出结果为32和42,如图10所示,根据公式2可得其参数(含互连延迟)为664.9ps.另外,对寄存器阵列中各个寄存器的使能信号的失效时间进行仿真,其范围为 0.364~3.414ns,小于一个时钟周期(6.25ns),满足逻辑控制时间的要求.

此外,仿真结果中还对寄存器违反建立/保持时间提出报错,指出部分寄存器的输入跳变沿没有在规定的建立/保持时间内保持稳定.因此,如果不消除建立/保持时间的影响,就会在最终输出中引入最多4级延迟单元的量化误差(约为4×66.5ps=266ps),如图11和图12所示,而采用双链结构则能够通过相减相消有效消除建立/保持时间的影响,使得TDC的输出结果更为准确.

3.3板级测试结果

本文在Xilinx Virtex-4 XCX4VLX15芯片对TDC电路进行板级功能测试,工作时钟为192MHz.

对于Virtex-4 XCX4VLX15芯片,选择“用于参考的双链TDC结构”测量延迟单元的平均延迟时间(分辨率).如图13所示,B1和B2分别表示双链TDC的译码结果REF0和REF1,正弦波表示当前电路的工作频率: REF0和REF1分别为65和21,由公式(1)可得TDC电路的测量分辨率,为59.19ps.对该芯片中的CLB组合开关参数进行测量.以参数TILO为图示例,经TDC电路测量的结果如图14所示,B1和B2分别表示双链TDC的译码结果N0和N1,正弦波表示当前电路的工作频率: N0和N1分别为53和63,由公式(2)可得其测量值为591.86ps.

板级测试的输出结果包含了参数延迟和互连延迟,利用公式(3)对输出结果进行修正可以求得板级测试中的参数延迟:

参数延迟[测试]=整体延迟[测试]×参数延迟[仿真]/整体延迟[仿真].

(3)

将Xilinx Virtex-4 XCX4VLX15芯片的参考值、仿真值和板级测试修正值进行对比,如表1所示.该表中包含所有参数在数据手册中的参考值、布局布线后的仿真结果、芯片测试结果、经过修正后得到的参数延迟修正值以及修正值相对于参考值的百分比.对比CLB组合开关参数的参考值和仿真值,除TOPCYG以外其他参数相差无几,对于TOPCYG,确认配置路径与手册要求相同;对比CLB组合开关参数的参考值、仿真值和测量值,实际测量结果明显小于数据手册中的参考值和布局布线后的仿真值,这是因为数据手册中给出的参考值一般为最坏测试条件下的测试值.

表1 CLB组合开关参数的手册、仿真及板级测试结果

注: 除“与参考值比较”一列外,其他数据的单位为ps.

3.4与文献比较

将本文设计的TDC电路与文献[6]中的TDC电路进行对比,如表2(见第66页)所示.文献[6]实现了7链64级TDC电路,在Xilinx Virtex-5上采用延迟线测试法完成板级测试,其分辨率为55ps;本文实现了双链80级TDC电路,在Xilinx Virtex-4上采用半周期平均延迟测试法实现板级测试,其分辨率为59.19ps.由于二者基于不同工艺,可认为分辨率相当.本文采用的测试方法是在延迟线测试法上改进而得的,采用内建自测方式、利用寄存器的触发结果产生时间间隔,这种方法不仅能够降低样本容量、更为方便地测得TDC电路的分辨率,还能够消除信号发生器的分辨率和不同信号传输线的延迟差别的影响,其测量误差小于延迟线测试法的测量误差.两种此外,本文设计的TDC电路通过调用已配置好的基本延迟单元来实现不同级数的TDC延迟链,这种方式不仅能够减少文献[6-7]因延迟链长度和链数产生的手工布局布线的工作量,还能够减小综合和布局布线策略对电路的影响,降低了电路设计难度,使得电路具有可移植性.在转换时间方面,本文设计的使能端控制电路使得TDC电路的转换时间被锁定在1个时钟周期以内,而文献[6]需要7个时钟周期才能完成一次转换,这说明本文的转换时间更短.

表2 本设计与文献[6]设计的比较

4 结 论

本文介绍了一种用于CLB组合开关参数测试的双链TDC电路,板级测试所得分辨率为59.19ps.该电路不仅能够在不增加转换时间的情况下消除了建立/保持时间对寄存器阵列输出结果的影响,还引入使能控制模块在小于一个时钟周期的时间内实现对寄存器阵列输出结果的锁定.在整个电路设计中,对TDC基本延迟单元、使能端控制电路和CLB组合开关参数进行配置,并利用约束文件替代传统的手工布局布线、减小综合和布局布线策略对电路的影响,使得电路具有可移植性.本文还对比了半周期平均延迟测试法和Code Density Test方法引入的测量误差,仿真证明前者的测量误差要小于样本容量为1万的后者,并且其测试过程更为简单、方便实际测试.此外,本文还对Xilinx Virtex-4 XCX4VLX15芯片中的CLB组合开关参数进行了测试.

[1]LEE M, ABIDI A A. A 9-b, 1.25-ps resolution coarse-fine time-to-digital converter in 90 nm CMOS that amplifies a time residue [J].IEEEJofSolid-StateCircuits, 2007,43(4): 769-777.

[2]SZPLET R, KALISZ J, SZYMANOWSKI R. Interpolating time counter with 100 ps resolution on a single FPGA device [J].IEEETransactionsonInstrumentationandMeasurement, 2000,49(4): 879-883.

[3]ANDALOUSSI M S, BOUKADOUM M, ABOULHAMID E. A novel time-to-digital converter with 150 ps time resolution and 2.5 ns pulse-pair resolution [C]∥International Conference on Microelectronics. Nis, Yugoslavia: IEEE Press, 2002: 123-126.

[4]WU J, SHI Z, WANG I Y. Firmware-only implementation of time-to-digital converter (TDC) in Field-Programmable Gate Array (FPGA) [C]∥IEEE Nuclear Science Symposium Conference Record. Norfolk, Virginia, USA: IEEE Press, 2003(1): 177-181.

[5]XIE D K, ZHANG Q C, QI G S,etal. Cascading delay line time-to-digital converter with 75 ps resolution and a reduced number of delay cells [J].ReviewofScientificInstruments, 2005,76(1): 14701-14703.

[6]ALOISIO A, BRANCHINI P, GIORDANO R,etal. High-precision time-to-digital converter in a FPGA device[C]∥IEEE Nuclear Science Symposium Conference Record Nuclear Science Symposium. Orlando, Florida, USA: IEEE Press, 2009: 283-286.

[7]ALOISIO A, BRANCHINI P, CICALESE R,etal. FPGA implementation of a high-resolution time-to-digital converter [C]∥IEEE Nuclear Science Symposium Conference Record: Nuclear Science Symposium. Honolulu, HI: IEEE Press, 2007(1): 504-507.

[8]FAVI C, CHARBON E. A 17 ps time-to-digital converter implemented in 65nm FPGA technology[C]∥ACM/SIGDA International Symposium on Field Programmable Gate Arrays. Monterey, California, USA: ACM, 2009: 113-120.

A FPGA-Based Time-to-Digital Converter(TDC)Using Carry Chains

WANG Dan, WANG Jian, LAI Jinmei

(State Key Laboratory of ASIC & System, Fudan University, Shanghai 201203, China)

A Time-to-Digital Converter(TDC) is implemented in a Field Programmable Gate Array(FPGA) using carry chains. The proposed architecture, based on the interpolation method, has double delay lines to eliminate the impact of setup time on the register array. It achieves 59.19 ps resolution with a self-test method presented by this paper. The dead time is limited within one period by an enable control module. This TDC is easy to implement in hardware with configured a macro delay cell and user constraints instead of manual place and route. Moreover, the combinational delays of CLB switching characteristics are tested using this TDC.

Time-to-Digital Converter(TDC); time interval measurement; Field Programmable Gate Array(FPGA)

0427-7104(2016)01-0059-09

2015-04-01

王丹(1989—),女,硕士研究生;来金梅,教授,博士生导师,通讯联系人,E-mail: jmlai@fudan.edu.cn.

TN 402

A

猜你喜欢
双链延迟时间寄存器
等离子体对CH4-空气着火特性的影响因素分析
昆虫共生细菌活体制造双链RNA
Lite寄存器模型的设计与实现
常用电子测速法在某数字信号处理器中的应用*
高职思政课“双链”教学模式的构建与实践
高职思政课“双链”教学模式的构建与实践
移位寄存器及算术运算应用
DRAM中一种延迟时间稳定的时钟树驱动电路
输电线路容量的混沌特性及预测
碱基互补配对原则的推论及例析