首页> 中国专利> 周期预计算偏斜补偿电路及其FPGA片内延迟锁定环方法

周期预计算偏斜补偿电路及其FPGA片内延迟锁定环方法

摘要

本发明公开一种周期预计算偏斜补偿电路及其FPGA片内延迟锁定环方法,在原有的传统DLL锁定方法的基础上采用周期预计算与偏斜预处理技术对FPGA片内时钟偏斜进行两级处理,在保持系统稳定与不添加硬件开销的情况下,快速去除时钟偏斜实现锁定。本发明DLL结构在锁相过程中,由第一级数字逻辑根据移相延时链数字化的周期信息来计算和加载预处理偏斜值,在此基础上通过二级计数逼近处理完成时钟锁定。该方法能够有效缩短锁定时间,尤其适合低频、偏斜补偿需求大的场合,能够平衡DLL工作频率范围内的锁相时间,提高FPGA内部时钟管理性能。

著录项

  • 公开/公告号CN103905038A

    专利类型发明专利

  • 公开/公告日2014-07-02

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201410110889.9

  • 发明设计人 徐平平;王立超;

    申请日2014-03-24

  • 分类号H03L7/08(20060101);H03L7/081(20060101);

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人李玉平

  • 地址 214135 江苏省无锡市菱湖大道99号

  • 入库时间 2023-12-17 00:20:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-25

    授权

    授权

  • 2014-07-30

    实质审查的生效 IPC(主分类):H03L7/08 申请日:20140324

    实质审查的生效

  • 2014-07-02

    公开

    公开

说明书

技术领域

本发明涉及集成电路设计技术领域,用于改进现场可编程逻辑阵列(FPGA) 芯片内部数字时钟管理方法,具体是一种基于周期预计算偏斜补偿的FPGA片内 延迟锁定环方法和周期预计算偏斜补偿电路,主要是针对FPGA芯片内部DLL 去除时钟系统中的时钟偏斜所消耗的锁定时间长、已有DLL改进结构方案消耗 资源大等问题提出新的改进方法。

背景技术

缩略语和关键术语定义

时钟偏斜:在同步数字系统中,时钟沿到达不同空间的时间差别;

时钟偏斜补偿:采用延迟锁定环电路额外的引入一些延时,使得引入的延时加上原来的时钟 偏斜正好是输入时钟周期的整数倍,经过延时补偿后原来存在时钟偏斜的时钟信号边沿(上 升沿或者下降沿)对齐,达到时钟同步的目的;

可变延时链:由一系列延时单元组成,对输入时钟信号产生一定的相移,使延时链输出时钟 相对于输入时钟有相应的延时,根据DLL实现方式的不同,延时链结构种类也各不相同。

1、相关技术背景以及现有技术分析

1.1背景技术:用于方便读者理解本发明的技术背景

在大规模集成电路设计中,降低时钟偏斜是必不可少的环节,目前锁相技术 的实现方法主要包括PLL电路和DLL电路。时钟偏斜使数字系统各个区域的时钟 边沿产生偏差,这种偏差由时钟缓冲延迟、时钟网络传播延时等原因造成的。通 常PLL比较输入时钟和反馈时钟的相位关系不断调节压控振荡器输出时钟的频 率和相位,逐步补偿时钟分布网络产生的延时。DLL则在输入时钟和反馈时钟之 间插入可变延时链结构,通过DLL控制器调节可变延时链接入DLL的延时值,使 输入时钟和反馈时钟相位对齐,实现DLL锁定。

DLL根据实现方法不同又可以分为模拟DLL、数字DLL以及数模混合DLL。 模拟DLL和数模混合DLL电路采用压控可变延时链结构。数字DLL可变延时链延 时单元的延时值是固定不变的,它是通过控制模块改变输入时钟经过可变延时链 所产生延时的大小来调整反馈时钟和输入时钟的相位关系,数字DLL控制模块通 常包括鉴相器和数字控制逻辑电路,其中数字控制逻辑电路实现算法有很多种, 不同的的实现算法决定可变延时链的结构。全数字DLL的典型电路结构包括 RDLL、SARDLL以及TDCDLL,其中RDLL实现方法又包括SRDLL和CRDLL。

出于对时钟系统稳定性的考虑,FPGA片内数字时钟管理采用计数器控制型 延迟锁定环结构(CRDLL),CRDLL与其他结构的DLL相比不容易出现失锁的 情况,拥有更加出色的稳定性能,从而能够满足FPGA对抗环境变化的要求。但 是CRDLL结构相对简单,通常采用逐级鉴相方式接入分立的延时单元,当时钟 处于相对较低的工作频率范围之内,CRDLL要花费上百个甚至上千个时钟周期 来完成DLL锁定,尤其在需要较大时钟偏斜补偿的场合,FPGA片内时钟管理性 能有待优化。

1.2与本发明相关的现有技术

1.2.1现有技术方案

1.2.1.1FPGA片内延迟锁定环

FPGA片内DLL在保证时钟稳定性和可靠性的基础上,要能够为众多的应 用需求提供丰富的时钟资源,如图1所示,可变延时链用来去除时钟偏斜,移相 延时链用来产生四个正交的移相的时钟,第一级移相延时链的输入与第四级移相 延时链的输出相差一个时钟周期,所以每一级移相延时链的输出相对于前一级相 差90度相位,其中移相延时链和可变延时链采用相同的的延时单元结构。DLL 在输入时钟CLK_IN和反馈时钟CLK_FB之间插入可变延时链结构,通过控制 器调节可变延时链接入DLL的延时值使输入时钟CLK_IN和反馈时钟CLK_FB 相位对齐实现锁定。输入时钟CLK_IN经过DLL输出时钟为DLL_CLK,再经 过时钟网络提供给FPGA内部逻辑单元使用,同时到达局部时钟网络的时钟作为 反馈时钟CLK_FB输入到DLL的反馈时钟输入端,所以CLK_FB即为FPGA内 部逻辑单元真正使用到的时钟信号,在DLL完成锁定之后CLK_IN和CLK_FB 边沿对齐,即FPGA内部逻辑单元使用的时钟信号已经去除了时钟偏斜。

假设CLK_IN的输入时钟周期用T表示,当DLL可变延时链产生的延时为 0(不考虑DLL内部固有延时)时,DLL_CLK和CLK_IN边沿对齐,DLL_FB 与它们之间会有一个相位偏差tskew,tskew即为时钟偏斜。当DLL完成相位锁定 之后,CLK_FB的上升沿比CLK_IN的上升沿晚一个或者多个时钟周期n*T, DLL由可变延时链产生的延时值tdelay为(1)所示,

tdelay=n×T–tskew   (1)

传统的FPGA片内DLL锁相的基本原理:

(1)四条移相延时链接入DLL的延时单元级数由四个计数器控制,DLL开始 工作后移相控制器同时调节四条移相延时链对应的计数器,逐步增加延时, 当CLK0时钟和CLK360时钟之间相差一个时钟周期时,DLL完成移相, 由于DLL的四条移相延时链的结构完全相同,在完成移相之后四个计数 器产生相等数量的延时值,CLK0到CLK360依次相差90度相位;

(2)可变延时链接入DLL延时单元的级数由锁相控制器内部的计数器控制, 移相完成之后,锁相控制器调节可变延时链计数器的计数值, DLL_CLK_SEL选通CLK0,当CLK_IN与CLK_FB的上升沿对齐之后, DLL实现锁定;

(3)在频率较低、需要补偿偏斜较大的场合,如果可变延时链全部用完DLL 仍然未锁定,锁相控制器通过设置DLL_CLK_SEL选通信号,DLL选择 CLK90输入到时钟网络产生CLK_FB反馈时钟,完成锁定之后DLL环路 相当于接入移相延时链1和一定数量延时单元的可变延时链;

(4)如果接入移相延时链之后仍未达到锁定要求,DLL会依次接入移相延时 链2、移相延时链3和移相延时链4,直到实现锁定。

1.2.1.2现有的改进FPGA片内延迟锁定环技术方案

在文献1(王忠涛.FPGA片内延时锁相环架构研究与设计[D].合肥工业大 学,2010.)中,提出了一种适合FPGA应用的快速逼近数字锁相环结构,它通过2 个工作模式依次完成对输入时钟和反馈时钟之间时钟偏斜进行测量和补偿,实现 DLL锁定。在偏斜测量的工作模式下,DLL通过控制模块产生时钟网络的偏斜值, 即DLL延时链需要接入的延时量。在偏斜补偿的工作模式下,DLL在输入时钟和 反馈时钟之间插入延迟单元产生这些额外的延迟量,使得输出时钟与输入时钟同 步。这种结构的优点在于仅需要通过一次逼近尝试就可以得到需要补偿的时钟偏 斜量,再由控制器控制计数器实现锁定,与传统的FPGA片内DLL相比,其锁定 时间大大减少。

1.2.2现有技术方案的缺点

(1)在原有传统的FPGA片内DLL方案中,可变延时链的延时单元采用一级 一级鉴相比较的方式逐级接入DLL,每个计数周期完成一次计数,并且每个计数 周期通常需要有多个输入时钟周期边沿来触发以完成包括复位、鉴相、延时链调 节等操作,所以对于低频的场合,时钟周期自身就比较大,较大的时钟偏斜会使 DLL花费几百个计数周期完成锁定,这样的方案需要很长的锁定时间;

(2)已有的改进方案中,在偏斜测量工作模式下,每级延时单元的测量结 果需要相应的存储单元锁存,整体上需要的锁存器数目与延迟链中的延时单元级 数相同,当频率调节范围扩大或者精度提高时,这种结构的DLL需要采用大量的 延迟链、锁存器、译码器和多路选择器,从而消耗大量的逻辑资源及面积,对FPGA 芯片而言,如此大的面积和资源占用是不切实际的;

(3)同时在已有的改进方案中,DLL控制器对偏斜测量依耐性较强,如果 偏斜测量计算产生误差时,FPGA片内时钟可能出现失锁的风险,这对高稳定性 和可靠性的应用是难以接受的。

发明内容

发明目的:本发明主要是针对FPGA芯片内部DLL去除时钟系统中的时钟 偏斜所消耗的锁定时间长、已有DLL改进结构方案消耗资源大等问题,提出新 的一种基于周期预计算偏斜补偿的FPGA片内延迟锁定环方法和一种周期预计 算偏斜补偿电路。在原有的传统DLL锁定方法的基础上设计了周期预计算与偏 斜预处理模块对FPGA片内时钟偏斜进行两级处理,在保持原有锁定精度和稳定 性的基础上,以添加小于千分之一的硬件开销为代价实现快速去除时钟偏斜的目 的。本发明DLL结构在锁相过程中,由第一级数字逻辑根据移相延时链数字化 的周期信息来计算和加载预处理偏斜值,在此基础上通过二级计数逼近处理完成 时钟锁定。能够有效缩短锁定时间,尤其适合低频、偏斜补偿需求大的场合,能 够平衡DLL工作频率范围内的锁相时间,提高FPGA内部时钟管理性能。

技术方案:一种基于周期预计算偏斜补偿的FPGA片内延迟锁定环的改进方 法,具体步骤如下:

步骤1,DLL通过移相控制器调节四条移相延时链产生正交的时钟信号,这 一步和传统的FPGA内部DLL移相原理一致。

步骤2,移相完成之后,DLL进入本发明所提出的周期预计算和偏斜预处理 流程,移相延时链接入DLL延时单元的数目由内部四个计数器确定,由于每条 移相延时链结构相同,所以移相完成之后的四个计数值CNT_SFT相等,以4条 移相延时链为例,当需要更多的相移时钟时,可以设置多条结构相同的移相延时 链,这里为了分析的普适性,将移相延时链的条数用Lsft来表示,每条移相延 时链内部延时单元级数用Csft来表示,移相锁定完成后移相延时链对应的计数 器计数值用CNT_SFT来表示,所以由移相延时链计数器可以计算出输入时钟周 期对应于延时单元的级数,这里用CYCLE来表示,QOC表示四分之一个时钟 周期对应的延时单元的数量,其中QOC满足(2),

QOC=14×CYCLE=Lsft×CNT_SFT4---(2)

QOC计算电路可以根据DLL移相延时链的计数值计算出QOC、2QOC以及 3QOC的数值。

步骤3,由于时钟具有周期性,超前滞后信号的判定都是在半个周期内进行 的,FB_LEAD_IN表示反馈时钟CLK_FB的边沿超前于输入时钟CLK_IN,并 且超前时间小于时钟周期的一半。FB_LEAD_IN的判断依据:选择最靠近 CLK_FB上升沿的两个CLK_IN上升沿,如果CLK_FB上升沿与它之前的 CLK_IN上升沿较近,则表示反馈时滞后于输入时钟,此时FB_LEAD_IN无效, 否则表示反馈时钟超前于输入时钟,FB_LEAD_IN有效。在计算完QOC之后, 首先对输入时钟和反馈时钟的相位关系进行判断,如果FB_LEAD_IN有效则跳 到步骤9。否则FB_LEAD_IN无效表示CLK_FB时钟的边沿滞后CLK_IN时钟, 并且时钟沿相对差值在二分之一个时钟周期内。在这种情况下,锁相控制器可以 确定输入时钟的时钟上升沿与反馈时钟的下一个上升沿之间的偏斜补偿值大于 2QOC数量的延时单元对应的延时值,用DESKEW表示要补偿的延时值,其中 DESKEW满足范围(2QOC,4QOC)锁相控制器尝试插入3QOC数量的延时单元 到DLL。

步骤4,在插入3QOC数量的延时单元之前,需要对时钟频率进行判定,因 为可变延时链的延时单元级数可能小于3QOC,即可能存在(3)所示的情况, 其中用Csync表示可变延时链所有的延时单元级数,用NQOC信号表示选择器的 输出,

NQOC>Csync   (3)

如果不是(3)所示的情况则跳到步骤5,否则需要借用移相延时链的延时单元, 并对NQOC进行调节,对延时链进行调节可以用(4)表示,其中CNT_SYNC 表示借用M条移相延时链之后可变延时链补偿NQOC还需要接入延时单元的数 量,

NQOC=CNT_SYNC +M×Csft   (4)

由于CNT_SYNC满足(5),

0≤CNT_SYNC ≤Csync   (5)

锁相控制器将会根据(6)设定M值,即产生反馈时钟选通器选择信号 DLL_CLK_SEL,

NQOC-CsyncCsftMNQOCCsft---(6)

由于借用了M条移相延时链,所以要调节补偿的NQOC值,新产生的NQOC用 NQOC_C表示,有(7)所示的关系;

NQOC_C =NQOC-M×Csft   (7)

步骤5,移相延时链和可变延时链采用相同的延时链结构,所以如图3所示, 可以直接将QOC_FINAL直接加载到可变延时链对应的计数器;

步骤6,加载QOC_FINAL之后再对DLL进行锁相判定,如果DLL进入同 步窗则锁定完成,跳到步骤12,否则对鉴相器的超前滞后信号进行判断,如果 FB_LEAD_IN有效,表示补偿3QOC之后还未实现锁定,由于DESKEW小于 CYCLE,即小于4QOC,所以还需要计数器逐次计数完成剩余的延时单元接入 工作,剩余的偏差补偿量用DELTA_DESKEW来表示如(8)所示,

DELTA_DESKEW =DESKEW -3QOC <QOC   (8) 在这种情况下,采用周期预计算偏斜补偿的改进方案可以一次性补偿相当于四分 之三个输入时钟周期的延时量,补偿了大部分时钟偏斜,大大缩短DLL的锁定 时间,接下来跳到步骤11。

步骤7,如果步骤6中相位比较FB_LEAD_IN无效,表示补偿的3QOC的 延时量大于需要补偿DESKEW值,由于步骤3判断相位关系确定需要补偿的延 时单元级数大于2QOC,所以这时可以确定DESKEW处于2QOC和3QOC之间, 锁相控制器会决定重新插入2QOC个延时单元作为一级偏斜预补偿值,即相当 于从已经插入的3QOC延时单元中减少QOC个延时单元。

步骤8,在加载2QOC之前需要对2QOC与Csync的大小关系进行比较,具 体操作与步骤4相似,减少QOC处理和对DLL_CLK_SEL设置完成之后重新加 载2QOC到计数器,这种情况下该方案一次性补偿2QOC的时钟延时量,接下 来跳到步骤11;

步骤9,步骤3相位判定FB_LEAD_IN有效,表示输入时钟和反馈时钟需 要补偿的偏斜值DESKEW处于0到2QOC之间,所以锁相控制器尝试作1倍 QOC个延时单元的偏斜补偿,如果QOC可能大于可变延时单元级数Csync,这 里需要频率检测决定是否借用移相延时链,在FPGA的DLL应用中可变延时链 延时单元的级数通常大于QOC,这里不作频率检测,锁相控制器加载QOC值到 计数器;

步骤10,加载QOC后对DLL进行锁相判定,如果DLL进入同步窗则锁定 完成,跳到步骤12,否则判断相位关系,如果FB_LEAD_IN有效,即反馈时钟 超前于输入时钟,表示需要补偿的时钟偏斜值DESKEW处于QOC和2QOC之 间,DLL延时链接受补偿的QOC值,并且跳到步骤11,否则表示时钟偏斜值处 于0到QOC之间,这种情况表明需要补偿的时钟偏斜较小不需要偏斜预加载, DLL重新加载0到计数器,跳转到步骤11。

步骤11,一级偏斜预补偿完成之后,DLL由内部计数器继续完成式(8)所 示的剩余的偏斜补偿值的计数周期,直到完成锁定,由于周期预计算和偏斜预补 偿已经完成了大部分延时,剩余的偏斜值小于输入时钟四分之一个时钟周期,所 以本方案可以大大缩短FPGA内部DLL的锁定时间。

步骤12,输入时钟和反馈时钟进入同步窗,DLL完成锁定,DLL_LOCKED 有效。

一种周期预计算和偏斜补偿控制电路,电路结构包括:QOC计算电路模块、 左移器、加法器、四选一多路器、二选一多路器、偏斜范围预估电路、带置位的 可逆计数器、鉴相器以及控制状态机逻辑。

有益效果:与现有技术相比,本发明针对FPGA芯片内部DLL去除时钟系 统中的时钟偏斜所消耗的锁定时间长、已有DLL改进结构方案消耗资源大等问 题,提出了一种基于周期预计算偏斜补偿的改进方法和电路。在原有的传统DLL 锁定方法的基础上采用周期预计算与偏斜预处理技术对FPGA片内时钟偏斜进 行两级处理,在保持系统稳定与不添加硬件开销的情况下,快速去除时钟偏斜实 现锁定。本发明DLL结构在锁相过程中,由第一级数字逻辑根据移相延时链数 字化的周期信息来计算和加载预处理偏斜值,在此基础上通过二级计数逼近处理 完成时钟锁定。该方案能够有效缩短锁定时间,尤其适合低频、偏斜补偿需求大 的场合,能够平衡DLL工作频率范围内的锁相时间,提高FPGA内部时钟管理 性能。

附图说明

图1为传统的FPGA片内DLL电路示意图;

图2为基于周期预计算偏斜补偿的FPGA片内延迟锁定环的改进方法电路示 意图;

图3为周期预计算偏斜补偿方案的锁相流程图;

图4为周期预计算与偏斜预补偿电路示意图;

图5为场景1.1的锁相时序示意图;

图6为场景1.2的锁相时序示意图;

图7为场景1.3的锁相时序示意图;

图8为场景2.1的锁相时序示意图;

图9为场景2.2的锁相时序示意图;

图10为本发明方案与原方案性能仿真图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本 发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发 明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如图2-3所示,DLL内部基于周期预计算和偏斜补偿控制电路的锁相控制器, 电路结构包括:QOC计算电路模块、左移器、加法器、四选一多路器、二选一 多路器、偏斜范围预估电路、带置位的可逆计数器、鉴相器以及控制状态机逻辑;

QOC计算电路模块输入移相控制器提供的移相延时链接入地址,并且在状 态机逻辑控制下由GET_QOC信号锁存和输出QOC计算结果;

左移器和加法器负责完成2QOC和3QOC的运算操作,其中左移器完成左 移一位操作,即完成乘2运算,左移器输出为2QOC,加法器完成QOC加2QOC 的运算,输出3QOC;

四选一多路器的输入为0、QOC、2QOC以及3QOC数据,由控制状态机逻 辑产生选通信号QOC_SEL;

偏斜范围预估电路判断需要加载到带置位可逆计数器的NQOC值是否在锁 相延时链的加载范围内,如果NQOC超出锁相延时链的加载范围,则通过产生 NQOC_C、CHANGE_QOC和ADD_SFT_LINE信号对NQOC进行调节;

二选一多路器输出QOC_FINAL到带置位可逆计数器的置位端,如果NQOC 在锁相延时链的加载范围内,偏斜预估电路输出的CHANGE_QOC无效,

QOC_FINAL等于NQOC,如果NQOC超出锁相延时链的加载范围,偏斜预估 电路通过ADD_SFT_LINE信号来指示状态机控制逻辑借用移相延时链来辅助锁 相,并且计算出借用移相延时链后新的NQOC值,即NQOC_C,同时输出的 CHANGE_QOC有效使二选一多路器的输出QOC_FINAL选择NQOC_C;

鉴相器比较CLK_IN和CLK_FB的相位关系,输出超前/滞后信号 FB_LEAD_IN到状态机控制逻辑;

控制状态机逻辑负责为各个模块产生控制信号,GET_QOC是QOC锁存信 号,QOC_SEL表示在不同的场景下选择0、QOC、2QOC或3QOC到四选一多 路器的输出端,产生NQOC信号,CNT_EN表示计数使能信号,CNT_UP等于 1/0表示加/减计数,LOAD_QOC表示对计数器进行置位操作;

带置位可逆计数器在控制状态机的控制下进行置位操作或者加减计数操作。

实施例采用如图2所示的四级移相延时链,每条移相延时链包含128级延时 单元,可变延时链包含256级延时单元,即满足式(9)所示,

Csft=128,Lsft=4,Csync=256   (9)

场景设置1:时钟周期对应于延时单元的级数CYCLE=200,延时单元延时tcell= 100ps,则200个延时单元对应的时钟频率为50MHz,QOC=CYCLE/4=50,时 钟偏斜SKEW分别设置为SKEW=40、90、190,对应的偏差补偿DESKEW分 别等于160、110、10。

场景1.1:当SKEW=40时,需要DLL延时链补偿的延时级数DESKEW=CYCLE –SKEW=160,如图5所示,锁相步骤如下所述:

步骤1,GET_Q有效表示移相控制器锁存QOC值,本场景下QOC锁存等 于50;

步骤2,FB_LEAD_IN等于0表示延时链需要补偿的延时链级数DESKEW 在(2QOC,4QOC)之间,即DESKEW=160处于(100,200)的范围之间,延 时链将要尝试插入3QOC=150的偏斜预补偿,可变延时链由256级延时单元组 成,所以150级延时单元没有超过可变延时链级数范围,不需要借用移相延时 链的延时单元,通过判断逻辑得到QOC_FINAL等于150;

步骤3,可变延时链插入150级延时单元到DLL,CNT_SYNC等于150, 反馈时钟边沿后移150*100ps=15ns,即后移四分之三个时钟周期,若这时输入 时钟和反馈时钟进入同步窗,则完成预加载和计数周期的操作,DLL微调后完 成锁定;

步骤4,如果还未进入同步窗,则再次相位关系判定,FB_LEAD_IN有效 表示DLL还需要接入延时单元完成同步,即延时链需要补偿的延时链级数 DESKEW在(3QOC,4QOC)之间,即DESKEW=160处于(150,200)范围之 间,剩下的偏斜补偿由计数器计数完成,实现原理与文献2(Goetting F E,Logue J  D,Percey A K.Synchronized multi-output digital clock manager:U.S.Patent7,187,742[P]. 2007-3-6.)实现的原理相同,直至完成时钟同步,DLL_LOCKED有效,在这种 场景下,由周期预计算和偏斜预补偿方案接入的延时单元级数等于150,计数 器完成计数周期为10,实际花费的计数周期等于11,而传统的实现方案采用逐 级计数方式需要花费160个计数周期,锁相时间大大减少。

场景1.2:当SKEW=90时,DESKEW=CYCLE–SKEW=110,如图6所示, 锁相步骤如下所述:

步骤1-3,与场景1.1相同;

步骤4,FB_LEAD_IN无效表示DLL需要接入延时单元数量小于3QOC, 所以延时链需要补偿的延时链级数DESKEW在(2QOC,3QOC)之间,即 DESKEW=110处于(100,150)的范围之间,可变延时链重新加载2QOC个延 时单元到计数器,此时CNT_SYNC等于100,反馈时钟边沿后移100*100ps=10ns, 即与初始状态相比后移二分之一个时钟周期,剩下的偏斜补偿由计数器计数完 成,直至完成时钟同步。在这种场景下,由周期预计算和偏斜预补偿方案接入 的延时单元级数等于100,计数器完成计数周期为10,实际花费的计数周期等 于12,而传统的实现方案采用逐级计数方式需要花费110个计数周期。

场景1.3:当SKEW=190时,DESKEW=CYCLE–SKEW=10,如图7所示, 锁相步骤如下所述:

步骤1,GET_Q有效表示移相控制器锁存QOC值,本场景下QOC锁存等 于50;

步骤2,与场景1.1和场景1.2不同,初次相位关系判定时FB_LEAD_IN 等于1表示需要补偿的延时链级数DESKEW在(0,2QOC)之间,即DESKEW=10 处于(0,100)的范围之间,延时链将要尝试插入QOC=50的偏斜预补偿,通过 判断逻辑得到QOC_FINAL等于50;

步骤3,可变延时链插入50级延时单元到DLL,CNT_SYNC等于50,反 馈时钟边沿后移50*100ps=5ns,即后移四分之一个时钟周期,若这时输入时钟 和反馈时钟进入同步窗,则完成预加载和计数周期的操作,DLL微调后完成锁 定;

步骤4,如果还未进入同步窗,则再次判定相位关系,FB_LEAD_IN等于 0表示DLL需要接入延时单元数量小于QOC,所以延时链需要补偿的延时链级 数DESKEW在(0,QOC)之间,即DESKEW=10处于(0,50)的范围之间, 可变延时链重新加载0到计数器使得CNT_SYNC等于0,返回到初始状态,10 个单位的补偿值全部由计数器计数完成,直至完成时钟同步。在这种场景下, 周期预计算和偏斜预补偿方案不接入延时单元级数,虽然该场景下消耗的计数 周期比原始DLL方案多,但由于该场景自身需要补偿的延时单元级数较少,计 数周期较短,本方案可以接受这样的额外开销。

场景设置2:此场景需要借用移相延时链实现相位锁定,时钟周期对应延时单 元的级数CYCLE=400,延时单元延时tcell=100ps,则400个延时单元对应的时 钟频率为25MHz,QOC=100,时钟偏斜分别设置为SKEW=40和140。

场景2.1:当SKEW=40,DESKEW=CYCLE–SKEW=360,如图8所示,锁相 步骤如下所述:

步骤1,GET_Q有效表示移相控制器锁存QOC值,本场景下QOC锁存等 于100;

步骤2,FB_LEAD_IN等于0表示延时链需要补偿的延时链级数DESKEW 在(2QOC,4QOC)之间,即DESKEW=260处于(200,400)的范围之间,延 时链将要尝试插入3QOC=300的偏斜预补偿,可变延时链由256级延时单元组 成,所以300级延时单元超过可变延时链级数范围,需要借用1条128级移相 延时链,如图3所示,所以通过判断逻辑得到3QOC_FINAL=3QOC-128=172, DLL_CLK_SEL=1;

步骤3,可变延时链插入172级延时单元、移相延时链插入128级延时单 元到反馈环路,CNT_SYNC等于172,反馈时钟边沿后移300*100ps=30ns,即 后移四分之三个时钟周期;

步骤4,此时FB_LEAD_IN有效表示DLL还需要接入延时单元完成同步, 即延时链需要补偿的延时链级数DESKEW在(3QOC,4QOC)之间,即 DESKEW=360处于(300,400)的范围之间,剩下的偏斜补偿由计数器计数完 成,直至完成时钟同步。在这种场景下,由周期预计算和偏斜预补偿方案接入 的延时单元级数等于300,计数器完成计数周期为60,实际花费的计数周期等 于61,而传统的实现方案采用逐级计数方式需要花费360个计数周期。

场景2.2:当SKEW=140,DESKEW=CYCLE–SKEW=260,如图9所示,锁 相步骤如下所述:

步骤1-3与场景2.1相同;

步骤4,FB_LEAD_IN无效表示DLL需要接入延时单元数量小于3QOC, 即延时链需要补偿的延时链级数DESKEW在(2QOC,3QOC)之间,即 DESKEW=260处于(200,300)的范围之间,可变延时链重新加载2QOC到计 数器,由于2QOC=200在可变延时链的调节范围之内,所以由可变延时链接入 200个延时单元到DLL,不需要借用移相延时链,所以DLL_CLK_SEL等于0, 此时CNT_SYNC等于200,反馈时钟边沿后移200*100ps=20ns,即与初始状态 相比后移二分之一个时钟周期,剩下的偏斜补偿由计数器计数完成,直至完成 时钟同步。需要注意的是由于需要补偿的延时单元级数大于256,所以最终还 需要借用移相延时链的四个延时单元完成时钟同步。在这种场景下,由周期预 计算和偏斜预补偿方案接入的延时单元级数等于200,计数器完成计数周期为 60,实际花费的计数周期等于62,而传统的实现方案采用逐级计数方式需要花 费260个计数周期。

在该实施例设置的同样实验场景下,原有FPGA内部DLL方案与本发明改 进技术方案分别对时钟锁定时间进行了仿真比较。图10是两种方案在不同的时 钟偏斜补偿需求和时钟周期下的锁定时间的性能比较,偏斜补偿需求用 DESKEW来表示,时钟周期用CYCLE来表示,它们的单位用各自所对应延时 单元级数来表示。

本发明的技术关键点

1、QOC周期预计算方法

采用该方法使DLL对输入时钟的周期进行数化,能够有针对性的对不同的 输入时钟频率进行偏斜预补偿,而不是盲目的采用逐级延时链接入方法,从而使 DLL在同步时钟过程中能够根据时钟周期信息有效的选择最佳的偏斜补偿方式, 减少锁相时间,提高时钟同步的效率;

2、可重复加载的可逆计数器结构

该方法如2.2节所述,采用该结构能够以QOC为单位进行长延时的偏斜补 偿尝试,使得大部分偏斜补偿值能够通过重复加载的方式一次性的获得,减少锁 相过程中实际消耗的周期数,减少接入延时单元的时间;

3、根据相位关系预估偏斜范围方法

该方法如2.2节所述,采用该方法能够根据鉴相器的相位判定结果预估DLL 时钟偏斜的范围,通过两级相位比较确定输入时钟和反馈时钟边沿的位置关系, 指示DLL正确的进行偏斜补偿预加载;

4、基于周期预计算偏斜补偿的FPGA片内延时锁定环的改进方法

该方法包括2.2节所述的12个步骤、图3所示的流程图以及图4~图9所示 的场景波形示意图。主要包括QOC周期预计算获取、延时链补偿范围判断、采 用相位关系预估偏斜范围、基于周期的补偿方法4大部分。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号