(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910913543.5
(22)申请日 2019.09.25
(71)申请人 天津大学
地址 300072 天津市南开区卫津路92号
(72)发明人 谢生 郭晓东 
(74)专利代理机构 天津市北洋有限责任专利代
理事务所 12201
代理人 李林娟
(51)Int.Cl.
G04F  10/00(2006.01)
G01R  31/28(2006.01)
(54)发明名称
用于时间数字转换器的温度计码转二进制
码电路
(57)摘要
本发明公开了一种用于时间数字转换器的
温度计码转二进制码电路,所述电路包括:LUT筛
选电路和RAM存储电路,温度计码作为输入信号,
接入LUT筛选电路,筛选电路中的LUT单元对输入
信号的高5位取反,将取反结果与输入信号的最
低位相与,得到输出信号,并将输出信号作为控
制信号接入RAM存储电路的读使能端;当读使能
端拉高时,对应RAM存储电路中的二进制码在下
一个时钟上升沿被读出,实现温度计码向二进制
码的转换。本发明解决了基于FPGA的时间数字转
换器中译码过程中存在的“冒泡”问题,提高了
FPGA型时间数字转换器的整体性能。权利要求书1页  说明书4页  附图3页CN 110703582 A 2020.01.17
C N  110703582
A
1.一种用于时间数字转换器的温度计码转二进制码电路,其特征在于,所述电路包括:LUT筛选电路和RAM存储电路,
温度计码作为输入信号,接入LUT筛选电路,筛选电路中的LUT单元对输入信号的高5位取反,将取反
结果与输入信号的最低位相与,得到输出信号,并将输出信号作为控制信号接入RAM存储电路的读使能端;
当读使能端拉高时,对应RAM存储电路中的二进制码在下一个时钟上升沿被读出,实现温度计码向二进制码的转换。
2.根据权利要求1所述的一种用于时间数字转换器的温度计码转二进制码电路,其特征在于,所述电路还包括:将各温度计码对应二进制码存入RAM存储电路中。
3.根据权利要求1所述的一种用于时间数字转换器的温度计码转二进制码电路,其特征在于,所述LUT筛选电路通过逻辑运算过滤掉冒泡的码段,并输出读使能信号。
4.根据权利要求3所述的一种用于时间数字转换器的温度计码转二进制码电路,其特征在于,所述LUT筛选电路通过逻辑运算过滤掉冒泡的码段具体为:
从第0位开始到最高位,依次将每相邻的6位输入到对应LUT中;
LUT筛选电路只在以000001码段为输入的LUT上输出逻辑1,其它LUT输出逻辑0,进而使能对应的RAM读出二进制数。
权 利 要 求 书1/1页CN 110703582 A
用于时间数字转换器的温度计码转二进制码电路
技术领域
[0001]本发明涉及集成电路测量领域,尤其涉及一种应用在基于FPGA的时间数字转换器中将温度计码转换成二进制码的译码电路。
背景技术
[0002]时间间隔测量技术对国民经济与国防工业建设意义重大,精确的时间间隔测量技术,尤其是皮秒(1ps=1012s)量级的技术更为重要。不论是在分子生物学、核物理探测、天文观测等理论研究领域,还是激光测距、高精度定位、食品药品安全监测等工程实践领域,都有着非常重要的应用。
[0003]目前,应用最广泛的高精度时间间隔测量技术是时间数字转换(time to digital converter,TDC)技术,其最重要的技术指标是测量精度。大多数工业级时间数字转换器主要是使用专用集成电路(application specific integrated circuit,ASIC)实现的。相比于ASIC型TDC,基于FPGA的TDC有着开发成本低、周期短等优点。同时,随着集成电路制造技术的进步,FPGA的制造工艺有了很大的提升,其内部连线以及逻辑单元的延迟越来越小,使得该类型TDC同样可以达到很高的测量精度。
[0004]在基于FPGA的时间数字转换器中,延迟链输出的抽头信号是一种温度计码,需要一种译码电路
将温度计码转换为二进制码才能用于后续数值计算。译码电路的精度与速度在很大程度上影响着时间数字转换器的测量精度和速度。然而由于各种原因,抽头输出的温度计码可能会出现不规则现象,即所谓“冒泡”,比如:FPGA芯片在制造过程中存在工艺偏差,使进位链中进位单元的延迟时间不一致,以Xilinx Artix 7系列FPGA为例,每4个相邻的进位单元中就会出现一个进位时间为91ps的大延迟,由于该进位单元的进位时间较大,可能不满足触发器建立时间,导致抽头值不能被正常锁存。而其下一级进位单元的进位时间比较小,抽头信号可以被触发器正确锁存,导致温度计码有效位的末端出现冒泡现象;又如:FPGA时钟网络中的时钟信号不可能同时到达每一个触发器,而是存在一定的时钟偏移(clock skew),如果进位链中用于锁存进位信号的相邻两级触发器的时钟偏移较大,后一级触发器比前一级触发器提前进行锁存,同样会导致冒泡现象。
[0005]严重的冒泡现象会大幅降低温度计码转二进制码(译码)的精度,进而影响时间数字转换器精度,给温度计码转二进制码电路的设计带来很大困难。文献[1]提出了一种基于FPGA芯片的温度计码到二进制码的译码转换方法和装置。其原理是通过一个滑动窗口将温度计码划分成多个窗口值,并通过对窗口值所对应的真值进行排序,得到与温度计码对应的独热码,从而实现冒泡纠错。同时,通过使用一种流水线结构的编码算法将独热码转换为二进制码。该文献所述温度计码转二进制码电路可以较好实现对温度计码“冒泡”码段的过滤,但是其译码算法复杂,对FPGA资源利用率不高,译码时间较长。同时,该文献所述译码器的时序特性较差,使用流水线结构才能消除逻辑路径延迟太大带来的时序问题,占用了更多的触发器资源。
[0006]参考文献:
[0007][1]Wang Y,Kuang J,Liu C,et al.A 3.9-ps RMS Precision Time-to-Digital Converter Using Ones-Counter Encoding Scheme in a Kintex-7 FPGA[J].IEEE Transactions on Nuclear Science,2017,64(10):2713-2718.
发明内容
[0008]为了解决基于FPGA的时间数字转换器中译码过程中存在的“冒泡”问题,本发明从具体硬件电路层面出发,设计出一种容错能力强、译码速度快、时序特性好的温度计码转二进制码电路,从而提高了FPGA型时间数字转换器的整体性能,详见下文描述:
[0009]一种用于时间数字转换器的温度计码转二进制码电路,所述电路包括:LUT筛选电路和RAM存储电路,
[0010]温度计码作为输入信号,接入LUT筛选电路,筛选电路中的LUT单元对输入信号的高5位取反,将取反结果与输入信号的最低位相与,得到输出信号,并将输出信号作为控制信号接入RAM存储电路的读使能端;
[0011]当读使能端拉高时,对应RAM存储电路中的二进制码在下一个时钟上升沿被读出,实现温度计
码向二进制码的转换。
[0012]其中,所述电路还包括:将各温度计码对应二进制码存入RAM存储电路中。[0013]进一步地,所述LUT筛选电路通过逻辑运算过滤掉冒泡的码段,并输出读使能信号。
[0014]其中,所述LUT筛选电路通过逻辑运算过滤掉冒泡的码段具体为:万能在线进制转换器转换器网
[0015]从第0位开始到最高位,依次将每相邻的6位输入到对应LUT中;
[0016]LUT筛选电路只在以000001码段为输入的LUT上输出逻辑1,其它LUT输出逻辑0,进而使能对应的RAM读出二进制数。
[0017]本发明提供的技术方案的有益效果是:
[0018]1、本发明使用RAM单元实现温度计码向二进制码转换,没有用到复杂组合逻辑,即使不插入流水线结构,也能保持良好的时序特性;
[0019]2、本发明通过使用LUT(查表)筛选电路对温度计码中每相邻的6位进行逻辑非和逻辑与运算,准确识别出000001码段,过滤“冒泡”码段,可对最大存在4个“冒泡”位的温度计码进行容错译码;
[0020]3、本发明通过初始化存储器,提前将各温度计码对应的二进制码存入对应RAM中,通过读RAM的方式,只用一个时钟周期即可读出二进制码,实现温度计码向二进制码的转换,故有效提高了译码速度。
[0021]综上所述,本发明设计的温度计码转二进制码电路可以有效提高译码的精度和速度,有利于提高FPGA型时间数字转换器的整体性能。
附图说明
[0022]图1为温度计码转二进制码电路的原理图;
[0023]图2为温度计码转二进制码电路的结构图;
[0024]图3为LUT内部实现的逻辑图;
[0025]图4为温度计码的示意图;
[0026]图5为RAM单元的结构图。
具体实施方式
[0027]为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
[0028]实施例1
[0029]1、本发明设计的温度计码转二进制码电路包括两部分:LUT筛选电路和RAM存储电路。
[0030]其中,LUT筛选电路用于识别最高位01交替处的位置,过滤温度计码冒泡码段;RAM 存储电路用于预存二进制数,通过读取RAM中预存的二进制数,实现温度计码向二进制码的转换。
[0031]2、在本发明中,将温度计码作为输入信号,接入LUT筛选电路。筛选电路中的LUT单元首先对输入信号的高5位取反,然后再将取反结果与输入信号的最低位相与,得到输出信号,并将输出信号作为控制信号接入RAM存储电路的读使能端。
[0032]3、在译码器执行译码动作之前,先对RAM存储电路初始化,将各温度计码对应二进制码存入RAM存储电路中,当来自LUT筛选电路的读使能拉高时,对应RAM存储电路中的二进制码在下一个时钟上升沿被读出,实现温度计码向二进制码的转换。
[0033]实施例2
[0034]图1为温度计码转二进制码的电路原理图。该电路主要包括两部分:LUT筛选电路和RAM存储电路。前者的作用是过滤温度计码中的冒泡码段,后者的作用是将温度计码转换为二进制码。
[0035]具体过程是:首先,将温度计码输入到LUT筛选电路,通过逻辑运算“过滤”掉“冒泡的码段,并输出读使能信号。然后,将读使能信号输入到RAM存储电路,控制读出二进制码,完成译码过程。
[0036]图2为温度计码转二进制码电路结构图。LUT筛选电路由FPGA中的LUT资源构成。LUT本质是一个有6位地址线,深度为64,位宽为1bit的静态随机存储器,可以实现不超过6位输入的组合逻辑运算,其实现逻辑函数的原理如下:将逻辑函数的所有可能结果存入LUT 中,逻辑函数的输入作为地址线,控制LUT输出对应逻辑值。
[0037]在本发明中,使用LUT对温度计码进行逻辑处理,从而过滤掉“冒泡”码段。具体实施过程为:
[0038]在n位温度计码tap[n-1:0]中,从第0位开始到最高位,依次将每相邻的6位输入到对应LUT中。例如,将tap[0]、tap[1]、tap[2]、tap[3]、tap[4]和tap[5]接到LUT0的输入端,tap[1]、tap[2]、tap[3]、tap[4]、tap[5]和tap[6]接到LUT1的输入端,以此类推,直到tap [n-1]。
[0039]LUT内部的实现逻辑如图3所示。将输入信号的高5位分别取反,然后再将取反结果与最低位相与。例如,在LUT0中,将tap[1]、tap[2]、tap[3]、tap[4]和tap[5]分别取反,然后将取反结果和tap[0]进行逻辑与;在LUT1中,将tap[2]、tap[3]、tap[4]、tap[5]和tap[6]分别取反,然后将取反结果和tap[1]进行逻辑与,以此类推。
[0040]图4为温度计码示意图。时间数字转换器测得的时间信息包含在温度计码最高位