原创 【博客大赛】基于FPGA的TDC那些事之再谈细时间

2013-5-16 12:06 8830 25 33 分类: FPGA/CPLD 文集: TDC

基于FPGATDC那些事之再谈细时间

王敏志

概述

         TDCFine TimeTDC的实际测量结果,目前实现TDC最常用的方法就是内插法。所以延时线(Delay Line)必然成了TDC的核心部件,通过Delay Line来实现在一个时钟周期内插入N个延时单元,TDC通过输出HIT和相邻时钟沿之间延时单元数目来输出测量结果即Fine Time。基于FPGATDC之延时线是通过FPGA的逻辑资源实现,由于其可编程性使得Fine Time需要一些特殊处理,本文就是讨论这些所谓的特殊处理。

 

延时线内插结构

         1是基于FPGA的内插结构TDC原理框图,理想情况下每个延时单元的延时时间τ1是一样的,而且非常小。ALTERA器件的组合逻辑的延时一般都是上百皮秒,不太适合于实现TDC的延时线。比如ALTERALCELL模块一般作为寄存器或者逻辑模块之间插入增加延时的基本模块,根据器件以及等级不同LCELL产生的延时时间会不同,但是基本都是在300ps左右。

         20130515164437862001.png

1:基于FPGATDC结构示意图

         实际实现TDC的时候,延时线不能通过逻辑直接实现,利用ALTERA器件内部逻辑的特殊结构,可以使得图1中的延时单元的延时保持在几十皮秒之间,并且整个延时线具有一定的一致性如图2所示。

         2是延时线的DNL测试结果,可以看出各个延时单元的延时时间具有一定规律,但是可以肯定的是图1τ1不是一个恒定值,τ1数值表现形式正如图2一样,利用统计学还可以将图2DNL进行进一步平滑,这不是本文的重点。仔细观察图2可以发现延时线的头四个延时单元没有延时时间,这是因为头四个延时单元在实现TDC功能的细时间编码的时候根本就没有使用。在实际测试的时候发现如果细时间编码从第一个延时单元开始的话会出现一些问题,后面一节会分析到底会出现什么问题,以及出现这些问题的具体原因。

20130515164444332002.png

2

延时线捕获HIT

按照正常逻辑,延时线的起始肯定是从第一个延时单元开始,由于延时线内部各个延时单元的延时时间是基本固定且均比较小,而临界位置,即第一个延时单元在捕获HIT的时候存在很大的“uncertainty”即不确定性,从而导致第一个延时单元的延时时间超大,如图3所示。

20130515164452495003.png

3

3中第一个延时单元的延时时间达到700ps左右,而剩下的延时单元和图2几乎无异。为了顺利“捕获”HIT,利用第五个和第六个延时单元里数值变化产生一个捕获信号即HITOK,如图4中信号inst25所示。图5显示了HITOKHITTrigger)以及时钟之间的关系。

20130515164458975004.jpg

4

20130515164504892005.png5

HIT从进入FPGA引脚直到被延时线捕获,这中间的逻辑布线路径以及走线延时不受控制,而且延时时间相对较长,一般都以纳秒级计算,图5中的Tdelay示意出了从HIT到达FPGA引脚到被延时线“捕获”之间的时间。这段路径(path)又大致分为两大部分,一部分是从FPGA引脚到延时线所在的第一个LAB(如图6所示);第二部分是从LAB的里LUT的输入端口(input port)到第一个延时单元的输入(如图7所示)。图7中的黑圈是HIT到达LABLUT的端口,从此端口到图7中紫色圈即为上述路径的第二部分,由此HIT才算进入到延时线,后面红色圈住的即延时线后面的Register阵列中的一个。HIT进入延时线后为了稳定地“捕获”它,所以在编码Fine Time的时候不使用头4个延时单元的数据,因为如果使用就会出现图3所示的状况。因为如果使用第一个延时单元,我们无法严格切割上述第二段路径和第一个延时单元,所以干脆将头4个延时单元一同“cut”掉,这样保留的延时线段是非常纯粹的“延时线”。

20130515164512362006.jpg

6HIT从引脚到LAB的路径

20130515164519990007.jpg

7HITLABLUT端口到延时单元路径

7所示的路径的延时时间,依据不同的LUT端口,会有不同,但是基本都在几百皮秒以上,所以必须要将其和延时线切割。图8显示了这段路径的具体延时时间,以及相邻部分延时线的各个延时单元的延时时间。可以看到这段路径的延时时间是782ps,而且延时单元的延时时间为51ps,当然这是TimeQuest报告出来的结果,实际运行出来的结果大同小异。

20130515164525366008.jpg

8

 

结论

    本文分析了基于FPGATDC测量结果即Fine Time具体构成,以及在利用FPGA的逻辑资源设计延时线的时候需要注意的一些事项。

PARTNER CONTENT

文章评论13条评论)

登录后参与讨论

用户444716 2013-8-26 08:51

谢谢你哈,这样就比较有底了,谢谢!!!!

coyoo 2013-8-24 17:47

可以

用户444716 2013-8-24 16:07

刚弄通了,我的链不能加长是因为在加长链的过程中,相关的另一个编码程序出了错,所以后面加长的链无法作用到输出中,从而出现lost fanout的情况,谢谢你哈。 最近开始在测延时链的延时,我搭的延时链是在LE的LUT中通过CARRY_IN到CARRY_OUT构成延时链,而链中每个LUT对应的register输出相应LE的CARRY_IN输入值,不知道这样可不可以~~~

coyoo 2013-8-22 09:35

你们没有仔细看我的相关文章,不过我可以提示你一下,LUT只是LE的一部分,还有一部分是Register。至于你的carry-chain为何不能搭太长,这个需要具体问题具体分析,我真的不清楚你遇到的是什么问题。理论上Altera应该不会限制carry-chain的length的

用户444716 2013-8-22 08:55

可是你说怎么测的呢?因为每个LUT的COUT只能接到另一个LUT的CIN端,要测的话,肯定得将COUT引出来,而只能通过对应COMBOUT引出,这时候从CIN-》COUT的延时跟CIN->COMBOUT的延时相差会很大的。 还有,想请教你个问题,为什么我搭这个CARRY_IN->CARRY_OUT延时链时,延时链后面部分会被Ignore掉,原因报出是lost fanout,可是你们就能搭很长的链呀?一直不明白。。。

coyoo 2013-8-15 13:32

当然是实测结果,似乎想仿真也仿真不出来吧

用户444716 2013-8-15 10:26

你好,请问这个延时线的DNL测试是怎么做的?是通过QUARTUS软件仿真出来的吗?还是实际上器件测试出来的统计结果?

coyoo 2013-5-24 09:23

keyou123@sina.com

用户1700348 2013-5-23 22:44

目前还在研究阶段,以后准备推产品!LZ方便留个email吗?

coyoo 2013-5-22 11:34

是的,你们是研究呢还是做产品?国内做PET的不多吧?!一般大学实验室研究这个比较多
相关推荐阅读
coyoo 2024-12-25 14:13
ALTERA Cyclone 10器件的使用-8:特定的上电顺序
概述 Intel 要求用户为其10代FPGA器件使用特定的上电和掉电顺序,这就要求用户在进行FPGA硬件设计的时候必须选择恰当的FPGA供电方案,并合理控制完整的供电上电顺序。经过在Cyclone 1...
coyoo 2024-12-22 11:46
AD9218子板在新处理板上表现的问题
概述 新的数据处理板融合了数字和数据处理功能模块,计划采用ADI的4通道串行ADC芯片代替之前的并行ADC。由于初次使用,所以初次设计时预留了AD9218的子板的插槽。 在调试AD9633功能的同时并...
coyoo 2024-12-14 17:15
在Cyclone 10 GX器件上实现高精度TDC探索
概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实...
coyoo 2024-12-10 13:28
Cyclone V GX FPGA设计TDC的优化问题
概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些...
coyoo 2024-12-03 12:20
比较器检测模拟脉冲说明(四)
概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解...
coyoo 2024-11-16 13:54
不同ADC采样同一前端模拟信号时转换用时差异分析
概述 同一组前端模拟信号接入由不同型号ADC组成的模数转换电路时,采样后在FPGA中发现采样用时差异较大。本文主要分析这个时间差异形成的原因,并记录该差异产生对系统造成的影响。系统数字化简介 项目前端...
EE直播间
更多
我要评论
13
25
关闭 站长推荐上一条 /1 下一条