首页 / 国际专利分类库 / 电学 / 基本电子电路 / 用于在延迟线中生成多个延迟的方法和延迟电路

用于在延迟线中生成多个延迟的方法和延迟电路

申请号 CN201310135973.1 申请日 2013-04-18 公开(公告)号 CN103378827B 公开(公告)日 2017-09-08
申请人 德克萨斯仪器股份有限公司; 发明人 K·C·巴克塔瓦特孙; N·S·B·阿尔马拉普尔;
摘要 本 发明 提供了配置用于在延迟线中生成多个延迟的延迟 电路 的方法以及可配置用于生成多个延迟的延迟电路的各种 实施例 。该方法包括通过与延迟线组耦合的控制电路来确定对应于该延迟线组的多个延迟线之中的延迟线的固有延迟的第一延迟步骤数量。该固有延迟是由该延迟线贡献的最小延迟。该方法还包括基于该第一延迟步骤数量通过所述控制电路确定第二延迟步骤数量以提供经过该延迟线的延迟。该方法还包括通过与延迟线组耦合的配置电路配置该延迟线以便生成对应于经过该延迟线的第二延迟步骤数量的延迟。
权利要求

1.一种用于在延迟线中生成多个延迟的方法,其包括:
通过与延迟线组耦合的控制电路确定对应于所述延迟线组的多个延迟线之中的延迟线的固有延迟的第一延迟时间数量,所述固有延迟是由所述延迟线贡献的最小延迟;
基于所述第一延迟时间数量通过所述控制电路确定通过所述延迟线提供一延迟的第二延迟时间数量;以及
通过与所述延迟线组耦合的配置电路配置所述延迟线以便通过所述延迟线生成对应于所述第二延迟时间数量的该延迟。
2.根据权利要求1所述的方法,其中确定所述第一延迟时间数量包括:
通过针对第一延迟校准所述延迟线确定用于提供所述第一延迟的延迟时间数量;
通过针对第二延迟校准所述延迟线确定用于提供等同于所述第一延迟与每个延迟线的所述固有延迟之差的所述第二延迟的延迟时间数量;以及
基于对应于所述第一延迟的延迟时间数量和对应于所述第二延迟的延迟时间数量,计算对应于所述延迟线的所述固有延迟的第一延迟时间数量。
3.根据权利要求2所述的方法,其中针对所述第二延迟校准所述延迟线包括:
将时钟信号延迟所述延迟线的固有延迟。
4.根据权利要求2所述的方法,其中计算所述第一延迟时间数量包括:
确定对应于所述第一延迟的延迟时间数量与对应于所述第二延迟的延迟时间数量之差;以及
基于所述差确定所述第一延迟时间数量。
5.根据权利要求1所述的方法,其中确定所述第一延迟时间数量包括:
确定用于通过所述多个延迟线中的每个延迟线提供第一延迟的延迟时间数量;
确定用于通过所述多个延迟线中的每个延迟线提供第二延迟的延迟时间数量;以及基于对应于所述第一延迟的延迟时间数量、对应于所述第二延迟的延迟时间数量以及所述第一延迟和所述第二延迟的比率,计算对应于所述固有延迟的所述第一延迟时间数量。
6.根据权利要求5所述的方法,其中确定对应于所述第一延迟的延迟时间数量包括:
针对所述第一延迟校准所述延迟线组的第一预定数量的延迟线。
7.根据权利要求5所述的方法,其中确定对应于所述第二延迟的延迟时间数量包括:
针对所述第二延迟校准所述延迟线组的第二预定数量的延迟线。
8.根据权利要求5所述的方法,其中计算所述第一延迟时间数量包括:
基于所述第一延迟与所述第二延迟的比率,将对应于所述第一延迟的延迟时间数量和对应于所述第二延迟的延迟时间数量进行比较;以及
基于所述比较,确定对应于所述固有延迟的所述第一延迟时间数量。
9.一种延迟电路,其包括:
包括多个延迟线的延迟线组,所述多个延迟线中的每个延迟线被配置为提供多个延迟,所述延迟线组包括被配置为接收时钟信号的输入端子和输出端子;
与所述延迟线组的所述输入端子耦合的恒定延迟,所述恒定延迟块被配置为将所述时钟信号延迟所述多个延迟线的固有延迟;
与所述延迟线组耦合的控制电路,所述控制电路被配置为确定对应于所述多个延迟线中每个延迟线的所述固有延迟的第一延迟时间数量,以及基于所述第一延迟时间数量确定第二延迟时间数量以通过所述多个延迟线中每个延迟线提供所述多个延迟,所述固有延迟是由所述多个延迟线中每个延迟线贡献的最小延迟;以及
与所述恒定延迟块和所述延迟线组耦合的配置电路,所述配置电路被配置为基于所述延迟时间数量配置所述多个延迟线中每个延迟线以生成所述多个延迟,并由此使得能够通过所述多个延迟线中每个延迟线提供所述多个延迟。
10.根据权利要求9所述的延迟电路,其中所述配置电路包括:
选择电路,其被配置为提供所述时钟信号和所述恒定延迟块的输出之一作为所述选择电路的输出;
相位比较器,其与所述选择电路和所述延迟线组的输出端子耦合,并且其被配置为确定所述选择电路的输出与所述延迟线组的输出之间的相位差;以及
延迟控制块,其与所述延迟线组和所述相位比较器耦合,并且其被配置为基于所述相位差控制通过所述多个延迟线中每个延迟线生成的延迟。
11.根据权利要求9所述的延迟电路,其中所述控制电路被进一步配置为:
确定通过所述多个延迟线中的每个延迟线提供第一延迟的延迟时间数量;
确定通过所述多个延迟线中的每个延迟线提供等同于所述第一延迟与所述多个延迟线中每个延迟线的固有延迟之差的第二延迟的延迟时间数量;以及
基于对应于所述第一延迟的延迟时间数量和对应于所述第二延迟的延迟时间数量,计算对应于每个延迟线的所述固有延迟的所述第一延迟时间数量。
12.一种延迟电路,其包括:
包括多个延迟线的延迟线组,所述多个延迟线中的每个延迟线被配置为提供多个延迟,所述延迟线组包括被配置为接收时钟信号的输入端子和被配置为提供延迟信号的输出端子;
与所述延迟线组耦合的控制电路,所述控制电路被配置为确定对应于所述延迟线组的固有延迟的第一延迟时间数量,并且基于所述第一延迟时间数量确定第二延迟时间数量,以便通过所述多个延迟线中的每个延迟线提供多个延迟,所述固有延迟是由所述多个延迟线中的每个延迟线贡献的最小延迟;以及
与所述延迟线组耦合的配置电路,所述配置电路被配置为基于所述第二延迟时间数量配置所述多个延迟线中的每个延迟线以生成所述多个延迟,由此使得能够通过所述多个延迟线中的每个延迟线提供所述多个延迟。
13.根据权利要求12所述的延迟电路,其中所述配置电路包括:
与所述延迟线组耦合的选择电路,其被配置为提供来自所述延迟线组的输出端子的延迟信号和来自包括一个或更多个延迟线的一部分所述延迟线组的信号输出之一作为所述选择电路的输出;
相位比较器,其与所述选择电路耦合并被配置为确定所述选择电路的输出与所述时钟信号之间的相位差;以及
延迟控制块,其与所述延迟线组和所述相位比较器耦合,用于基于所述相位差控制通过所述多个延迟线中每个延迟线生成的延迟。
14.根据权利要求12所述的延迟电路,其中所述控制电路被进一步配置为:
确定通过所述延迟线提供第一延迟的延迟时间数量;
确定通过所述延迟线提供第二延迟的延迟时间数量;以及
基于对应于所述第一延迟的延迟时间数量、对应于所述第二延迟的延迟时间数量以及所述第一延迟和所述第二延迟的比率,确定对应于所述固有延迟的所述第一延迟时间数量。

说明书全文

用于在延迟线中生成多个延迟的方法和延迟电路

技术领域

[0001] 本公开一般涉及延迟电路及其方法。

背景技术

[0002] 根据示例性方案,延迟线组能够提供独立于电压温度和/或进程变化的固定延迟(例如,可编程延迟)。延迟线组采用基准(例如,基准时钟)来校准和确保固定延迟。一些示例性延迟线组包括彼此串联连接或耦合的一个或更多延迟线。多个延迟线中的每个延迟线具有输入端和输出端,使得在输入节点处施加的输入信号在这些延迟线的每个延迟输出端产生延迟信号。延迟线中的每一个包括一个或更多延迟路径。多个延迟路径之中的每个延迟路径可以包括零个或更多延迟元件。延迟元件的示例可以包括例如缓冲器、触发器、逻辑以及类似元件。多个延迟路径之中的每个延迟路径可配置为基于零个或更多延迟步骤产生预定的延迟。多个延迟路径之中的每个延迟路径提供对应于零个或最少数量的延迟步骤的固有延迟。固有延迟可以是例如独立于延迟步骤数量的由每个延迟路径贡献的最小延迟。
[0003] 此外,在例如去歪曲、时钟定中心以及时钟平衡的应用中,示例性方案提供固定延迟被配置为或被实施以确保最大化的余量。某些示例性延迟线可以被配置为通过分别在四个或五个延迟元件中建模时钟周期来提供四分之一或五分之一参考时钟周期的固定延迟。然而,在例如在电路中去歪曲的应用中,可以实施不同于四分之一或五分之一参考时钟周期的固定延迟。在某些示例性方案中,通过使用计算机实施技术来配置每个延迟线以便产生不同于四分之一或五分之一参考时钟周期的多个延迟,可以缓和上述问题。然而,这样的计算机实施技术可能涉及大量的计算密集型数据处理软件硬件支持。而且,为了上述目的,这样的计算机实施技术也可能涉及使用专用处理器。
发明内容
[0004] 本文公开了在延迟线中生成多个延迟的若干示例性方法和延迟电路。在一个实施例中,一种方法包括通过与延迟线组耦合的控制电路确定对应于该延迟线组的多个延迟线之中的延迟线的固有延迟的第一延迟步骤数量。固有延迟是由该延迟线贡献的最小延迟。在一个实施例中,通过校准针对第一延迟的延迟线来确定或选择延迟步骤数量以便提供第一延迟。此外,通过校准针对第二延迟的延迟线来确定或选择延迟步骤数量以便提供等同于所述第一延迟和每个延迟线的固有延迟之差的第二延迟。
[0005] 基于对应于第一延迟的延迟步骤数量、对应于第二延迟的延迟步骤数量以及第一延迟和第二延迟的比率,计算对应于固有延迟的第一延迟步骤数量。在一个实施例中,在进程节点处,第一延迟步骤数量被跟踪到该延迟线的固有延迟。该固有延迟被映射到第一延迟步骤数量。该固有延迟被硬编码为跟踪的第一延迟步骤数量。在一个实施例中,基于第一延迟步骤数量通过控制电路确定提供经过该延迟线的延迟的第二延迟步骤数量。该延迟可以是时钟信号的分数或倍数。该延迟线被配置为通过与延迟线组耦合的配置电路来生成经过该延迟线的对应于第二延迟步骤数量的延迟。此外,通过该延迟线生成的延迟被缩放,并且缩放延迟被提供给多个伺服延迟线。不同的缩放因数被用于向多个伺服延迟线提供不同的延迟,从而允许使用单个延迟线(或使用单个延迟线的一个或一组部件)作为多个伺服延迟线的主延迟线。
[0006] 此外,在一个实施例中,一种延迟电路包括延迟线组、恒定延迟、控制电路以及配置电路。该延迟线组包括多个延迟线,其中所述多个延迟线中的每个延迟线被配置为接收时钟信号并提供多个延迟,并且其中该延迟线组包括输入端子和输出端子。恒定延迟块与该延迟线组的输入端子通信地关联或耦合,并且被配置为将时钟信号延迟多个延迟线的固有延迟。恒定延迟块是多个延迟线的固有延迟的复制。控制电路与该延迟线组通信地关联或耦合,以便被定位或被配置为确定对应于多个延迟线中每个延迟线的固有延迟的第一延迟步骤数量。控制电路还被配置为基于第一延迟步骤数量确定第二延迟步骤数量,以便通过多个延迟线中的每个延迟线提供多个延迟。配置电路与恒定延迟块和延迟线组通信地关联或耦合,以便被定位或被配置为基于步骤数量来配置多个延迟线中的每个延迟线以生成多个延迟。
[0007] 此外,在一个实施例中,一个延迟电路包括延迟线组、控制电路以及配置电路。该延迟线组包括多个延迟线,其中所述多个延迟线中的每个延迟线被配置为提供多个延迟。该延迟线组包括被配置为接收时钟信号的输入端子以及被配置为提供延迟信号的输出端子。控制电路与延迟线组通信地关联或耦合,以便被定位或被配置为确定对应于该延迟线组的固有延迟的第一延迟步骤数量,并且基于第一延迟步骤数量确定第二延迟步骤数量,以便提供经过多个延迟线中的每个延迟线的多个延迟。配置电路与该延迟线组通信地关联或耦合,以便被定位或被配置为基于步骤数量来配置多个延迟线中的每个延迟线以生成多个延迟。
附图说明
[0008] 图1是根据示例性方案的示例性可配置延迟电路;
[0009] 图2示出根据示例性方案的示例性延迟线;
[0010] 图3是示出根据一个实施例的第一示例性延迟电路的框图
[0011] 图4是示出根据一个实施例的第二示例性延迟电路的框图;
[0012] 图5是示出根据一个实施例的图3和图4的延迟电路的示例性粒度可配置性的示例性图表;
[0013] 图6是根据一个实施例在延迟线中生成多个延迟的示例性方法的流程图
[0014] 图7是根据一个实施例确定对应于延迟线组的多个延迟线之中的延迟线的固有延迟的延迟步骤数量的第一示例性方法的流程图;
[0015] 图8是根据一个实施例确定对应于延迟线组的多个延迟线之中的延迟线的固有延迟的延迟步骤数量的第二示例性方法的流程图;以及
[0016] 图9是根据一个实施例横跨进程节点跟踪对应于延迟线的固有延迟的延迟步骤数量的示例性方案的曲线图。

具体实施方式

[0017] 根据示例性方案,一种可配置延迟电路包括彼此串联连接或耦合的一个或更多延迟线。多个延迟线之中的每个延迟线具有输入端和输出端,使得被施加到输入节点的输入信号在每个延迟线的输出端产生多个延迟信号。多个延迟线之中的每个延迟线的延迟可以被调整以便产生预定延迟。
[0018] 图1是根据示例性方案的示例性可配置延迟电路100。如图1所示,可配置延迟电路100包括延迟线组102,其包括彼此串联连接或耦合的多个延迟线102A-102D。延迟线组102在输入端子104A处接收时钟信号,并且在输出端子104B处输出延迟信号。延迟线组102与选择电路108通信地关联或耦合。来自延迟线组102的输出端子104B的延迟信号被馈送到选择电路108作为第一输入106A,并且延迟线102C的输出被馈送到选择电路108作为第二输入
106B。选择电路108选择第一输入106A或第二输入106B中的一个,并将选择的第一输入106A或选择的第二输入106B输出到相位比较器110。相位比较器110被配置为确定选择电路108的输出(例如,第一输入106A或第二输入106B)与时钟信号之间的相位差
[0019] 相位比较器110将时钟信号的相位与从选择电路108接收的延迟信号(例如,第一输入106A或第二输入106B)进行比较以便确定相位差。相位比较器110使延迟信号的相位与时钟信号的相位同步。在一个实施例中,如果相位差等于或大于第一预定相位差,则相位比较器110生成第一信号,该信号表示延迟信号比时钟信号超前不止第一预定相位差。在一个实施例中,如果相位差等于或小于第二预定相位差,则相位比较器110生成第二信号,该信号表示延迟信号比时钟信号滞后不止第二预定相位差。相位比较器110与延迟控制块112通信地关联或耦合。相位比较器110的输出114(例如,第一信号或第二信号)被路由以便作为延迟控制块112的输入。
[0020] 延迟控制块112被配置为基于相位比较器110的输出114校准延迟线(102A-102D)以产生等同于时钟信号的时钟周期的三分之一或四分之一的延迟。延迟控制块112的示例包括向上/向下计数器。在一个实施例中,延迟控制块112通过增加延迟线(102A-102D)中每个延迟线的延迟来对第一信号做出响应以便减少相位差。然而,在一个实施例中,延迟控制块112通过减少延迟线(102A-102D)中每个延迟线的延迟来对第二信号做出响应以便减少相位差。如果相位差在第一预定相位差与第二预定相位差之间,则相位比较器110既不生成第一信号,也不生成第二信号。延迟控制块112基于所述相位差控制延迟线(102A-102D)的延迟,以便校准延迟线(102A-102D)中的每个延迟线,从而提供三分之一或四分之一时钟周期的延迟。
[0021] 延迟线(102A-102D)中每个延迟线的三分之一或四分之一时钟周期的延迟可以被提供给伺服延迟线。在某些应用中,例如电子电路中的去歪曲,可以实施不同于三分之一或四分之一时钟周期的延迟值的应用。然而,根据一个示例性实施方式,在没有添加一个或更多延迟线(例如,提供更高延迟)或去除用于延迟线组102(使得可以实现芯片面积的折衷)的一个或更多延迟线(例如,提供更低延迟)或没有改变被实施的一个或更多延迟元件的尺寸的情况下,延迟电路100不能使提供不同于三分之一或四分之一时钟周期的延迟的延迟线组102的延迟线(102A-102D)的配置可行。在一个实施例中,延迟线(102A-102D)中的每个延迟线包括一个或更多延迟元件。通过一个或更多延迟步骤,延迟元件是可编程的,以便提供预定延迟。
[0022] 图2示出根据示例性方案的示例性延迟线200。延迟线200包括输入端子202A和输出端子202B。延迟线200包括能够配置以分别提供四个不同延迟的一组四个延迟路径204A-204D。延迟线也包括选择电路205。在一个实施例中,四个延迟路径204A-204D中的每个延迟路径与选择电路205通信地关联或耦合。选择电路205被配置为将从四个延迟路径204A-
204D中的一个或更多路径接收的信号选择性地路由到输出端子202B。应当注意到,延迟路径204B、204C和204d包括延迟元件206A-206F,而延迟路径204A没有延迟元件。延迟路径的示例可以包括例如缓冲器、触发器、逻辑门以及类似元件。零个或更多延迟元件可以被选择性地包括在每个延迟路径中,以便调整由四个延迟路径之中的每个延迟路径提供的总延迟。四个延迟路径表示延迟线200的四个可调整延迟步骤。
[0023] 延迟线200可以被配置为生成对应于四个延迟步骤的一组四个延迟。由四个延迟路径中的每个延迟路径提供的延迟包括延迟线200的固有延迟以及等同于零个或更多延迟步骤的延迟。考虑例如使用20皮秒(ps)的延迟步骤和100ps的固有延迟,其中延迟路径204A、204B、204C和204D可以被配置为分别提供例如100ps、120ps、140ps和160ps的延迟。由于延迟路径204A不包括延迟元件,延迟路径204A提供100ps的延迟,其等同于延迟线200的固有延迟。固有延迟可以被定义为由每个延迟路径(204A-204D)贡献的最小延迟,其独立于延迟步骤数量。
[0024] 延迟路径204A、204B、204C和204D分别对应于0个延迟步骤、1个延迟步骤、2个延迟步骤和3个延迟步骤。在接收0个延迟步骤时,由延迟线200通过延迟路径204A提供的延迟是100ps,其构成固有延迟。100ps的固有延迟映射到5个延迟步骤。在上述示例中,如果延迟线
200被编程为2个步骤,对于期望的40ps延迟,延迟线200可以提供140ps而不是40ps。同样,在上述示例中,由于固有延迟映射到5个延迟步骤,如果要实现160ps的延迟,(例如,通过映射到每个20ps的8个延迟步骤),则要提供给延迟线200的实际延迟步骤数量是3(即8个延迟步骤减去5个延迟步骤)。为了提供实际的延迟步骤数量,固有延迟以延迟步骤的形式被建模。此外,根据一个示例性实施方式,延迟线200由于固有延迟而提供100ps的最小延迟,并且延迟线200不能被用于提供小于100ps的延迟。
[0025] 应当注意,本技术的各个实施例通过以一个或更多延迟步骤的形式模拟延迟线的固有延迟来使能延迟线的粒度配置性。延迟线可以被编程为提供从几乎零到选定值的延迟,其可以包括但不限于经过单次校准的时钟信号的时间段(例如,时钟周期)的分数或倍数。此外,若干实施例的各个方法和延迟电路可以被用于电路中的细微粒去歪曲和/或平准化。
[0026] 根据一个实施例,延迟线组的多个延迟线之中的延迟线被配置为提供通过初始校准的多个延迟。图3是根据一个实施例的第一示例性延迟电路300的框图。在一个实施例中,延迟电路300包括延迟线组302。延迟线组302包括多个延迟线,例如302A、302B、302C和302D。延迟线(302A-302D)中的每个延迟线被配置为提供多个延迟。延迟线(302A-302D)中的每个延迟线包括通过多个延迟步骤可配置的一个或更多延迟元件(例如,图2的延迟元件
206A-206F),使得可以通过每个延迟线(302A-302D)提供多个延迟。延迟步骤包括例如精细延迟步骤。延迟线组302包括输入端子302E和输出端子302F。延迟线组302在输入端子302E处接收时钟信号304A,并且在输出端子302F处输出第一延迟信号304B。
[0027] 延迟电路300还包括恒定延迟块306、控制电路308以及配置电路310。恒定延迟块306与延迟线组302的输入端子302E通信地关联或耦合。恒定延迟块306被配置为将时钟信号延迟延迟线(302A-302D)的固有延迟。恒定延迟块306提供延迟线(302A-302D)的固有延迟的复制。例如,如果延迟线组302包括四个延迟线,恒定延迟块306可以被配置为提供等同于延迟线(302A-302D)中每个延迟线的固有延迟的四倍的延迟(例如,如果固有延迟是D,则恒定延迟块306生成4×D的延迟)。在一个实施例中,恒定延迟块306包括被配置为生成延迟线(302A-302D)的固有延迟的一个或更多延迟线。在一个实施例中,恒定延迟块306的一个或更多延迟线被配置为在接收到零个或最小数量的延迟步骤后生成延迟线(302A-302D)的固有延迟。在一个实施例中,控制电路308与延迟线组302通信地关联或耦合,以便被定位或被配置为确定对应于延迟线(302A-302D)中每个延迟线的固有延迟的第一延迟步骤数量。
[0028] 在一个实施例中,如本文所述,控制电路308可以具体化为专门被配置为执行控制电路308的若干操作或其组合的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一个实施例中,控制电路308还可以包括存储器装置(例如,高速缓存器)、计时装置(例如,实时时钟(RTC))、可配置逻辑块(CLB)的阵列、可编程输入/输出块(IOB)的阵列和/或附加线路或信号传输信道。在一个实施例中,CLB和IOB可以由可编程互连结构彼此互连或耦合。在一个实施例中,控制电路308可以通过加载配置数据流(例如,比特流)到与存储器装置关联的内部配置存储器单元中而被编程,其中该配置数据可以包括各种配置的限定。配置数据也可以从外部存储器(例如,可编程只读存储器(PROM))读取或通过外部装置写入到FPGA中。然后各个存储器单元的总体状态确定FPGA的功能。
[0029] 控制电路308被配置为基于第一延迟步骤数量(对应于固有延迟)确定第二延迟步骤数量,以便通过延迟线(302A-302D)中的每个延迟线提供对应于第二延迟步骤数量的延迟。考虑延迟线的固有延迟是100ps的示例。如果步骤大小是20ps,则延迟线的固有延迟对应于5个延迟步骤。如果要实现160ps的延迟,则该延迟对应于8个延迟步骤。考虑到固有延迟映射到5个延迟步骤,为了实现160ps的延迟,要实施的实际延迟步骤数量是8个延迟步骤与5个延迟步骤的差值(例如,3个延迟步骤)。控制电路308确定固有延迟映射到5个延迟步骤,并且基于这点,控制电路308确定可以给延迟线提供3个延迟步骤,以便通过每个延迟线实现160ps的延迟。在一个实施例中,控制电路308可以与缩放电路314通信地关联或耦合,该缩放电路被配置为通过缩放第二延迟步骤数量来缩放通过延迟线组302生成的多个延迟中的每个延迟并将缩放的延迟提供给多个伺服延迟线(316A-316N)。对于伺服延迟线(316A-316N)中的每个延迟线,缩放比例可以是不同的。为了图示说明的目的,缩放电路314被显示为在控制电路308内,但是几个实施例提供了缩放电路314可以在控制电路308的外面。
[0030] 在一个实施例中,配置电路310与恒定延迟块306和延迟线组302通信地关联或耦合。配置电路310可操作以基于第二延迟步骤数量配置延迟线(302A-302D)中的每个延迟线,以便生成多个延迟。配置电路310还使得控制电路308能够确定要实施的步骤的数量,以便通过延迟线(302A-302D)中的每个延迟线提供多个延迟。配置电路310包括选择电路310A、相位比较器310B以及延迟控制块310C。选择电路310A被配置为提供时钟信号304A和来自恒定延迟块306的第二延迟时钟信号312A中的一个作为选择电路310A的输出312B。第二延迟时钟信号312A可以包括基本等同于通过恒定延迟块306延迟了延迟线(302A-302D)的固有延迟的时钟信号304A的信号。应当注意,选择电路310A可以包括例如多路复用器。
[0031] 相位比较器310B与选择电路310a和延迟线组302通信地关联或耦合。相位比较器310B接收选择电路310A的输出312B以及延迟线组302的输出端子302F的第一延迟信号
304B。相位比较器310B被配置为确定选择电路310A的输出312B与第一延迟信号304B之间的相位差。在一个实施例中,如果相位差等于或大于第一预定相位差,则相位比较器310B生成第一信号,其表示第一延迟信号304B比选择电路310A的输出312B超前不止第一预定相位差。
[0032] 在一个实施例中,如果相位差等于或小于第二预定相位差,则相位比较器310B生成第二信号,其表示第一延迟信号304B比选择电路310A的输出312B滞后不止第二预定相位差。如果相位差在第一预定相位差与第二预定相位差之间,则相位比较器310B不生成第一信号和第二信号。在一个实施例中,相位比较器310B可以生成不同于第一信号和第二信号的第三信号,其表示在第一与第二预定相位差之间的相位差。
[0033] 相位比较器310B与延迟控制块310C通信地关联或耦合。相位比较器310B的输出信号312C(例如,第一信号或第二信号)被路由以便作为延迟控制块310C的输入。延迟控制块310C可操作以基于相位比较器310B的输出信号312C控制通过延迟线(302A-302D)生成的多个延迟。延迟控制块310C可以包括例如向上/向下计数器。在一个实施例中,延迟控制块
310C通过增加每个延迟线(302A-302D)的延迟来对第一信号做出响应以便减少相位差。
[0034] 然而,在一个实施例中,延迟控制块310C通过减少延迟线(302A-302D)中每个延迟线的延迟来对第二信号做出响应以便减少相位差。在一个实施例中,通过增加或减少延迟线(302A-302D)的延迟,延迟控制块310C校准延迟线(302A-302D)中的每个延迟线以便提供例如与时钟信号关联的四分之一时钟周期、六分之一时钟周期、四分之三时钟周期、两倍时钟周期等的延迟。在一个实施例中,控制电路308可操作以与延迟控制块310C关联或耦合。控制电路308被配置为基于通过延迟控制块310C对延迟线(302A-302D)的校准以第一延迟步骤数量的形式来模拟延迟线(302A-302D)的固有延迟。
[0035] 在一个实施例中,控制电路308被配置为确定被配置或选择为通过每个延迟线提供第一延迟(例如,时钟信号的四分之一时钟周期、六分之一时钟周期、两倍时钟周期等)的延迟步骤数量。通过校准延迟线(302A-302D)(例如,通过延迟控制块310C)以提供第一延迟来确定对应于第一延迟的延迟步骤数量。控制电路308还被配置为确定被配置或选择通过每个延迟线(302A-302D)提供第二延迟的延迟步骤数量,其中所述第二延迟等同于第一延迟与每个延迟线(302A-302D)的固有延迟之间的差异(例如,四分之一时钟周期-D、六分之一时钟周期-D、两倍时钟周期-D,其中“D”是延迟线的固有延迟)。此外,控制电路308还被配置为基于对应于第一延迟的延迟步骤数量和对应于第二延迟的延迟步骤数量计算对应于每个延迟线(302A-302D)的固有延迟的第一延迟步骤数量。
[0036] 例如,控制电路308计算对应于第一延迟的延迟步骤数量与对应于第二延迟的延迟步骤数量之间的差异。该差异映射到对应于每个延迟线(302A-302D)的固有延迟的第一步骤数量(例如,差异=四分之一时钟周期-(四分之一时钟周期-D))。在一个实施例中,控制电路308被配置为基于对应于每个延迟线(302A-302D)的固有延迟的第一延迟步骤数量确定被配置或选择为通过每个延迟线(302A-302D)提供延迟的第二延迟步骤数量。
[0037] 在一个实施例中,如果通过具有100ps固有延迟的延迟线生成160ps的延迟并且使用20ps的步骤大小,由于固有延迟(等于100ps)映射到5个延迟步骤,控制电路308计算对应于固有延迟的5个延迟步骤。基于20ps的步骤,对应于160ps的延迟步骤数量是8个步骤。控制电路308确定3个延迟步骤(例如,8-5)作为对应于要生成的160ps延迟的步骤数量。控制电路308将延迟步骤数量(例如,3)传输到延迟控制块310c,使得延迟控制块310c可以配置每个延迟线(302A-302D)以便提供160ps的延迟。当通过延迟线生成预定延迟时,通过延迟控制块310c提供合适的延迟步骤数量。对应于固有延迟的第一延迟步骤数量(例如,在上述示例中的5个延迟步骤)被添加(例如,通过使用控制电路308)到延迟步骤数量中(例如,3个延迟步骤),以便获得总数(例如,8个延迟步骤)。该总数(例如,8个延迟步骤)基于预定延迟被缩放以便获得缩放的延迟,并且从缩放的延迟中减去对应于固有延迟的第一延迟步骤数量,以便获得对应于预定延迟的合适的延迟步骤数量。
[0038] 基于该合适的延迟步骤数量,可以基于通过延迟控制块310C的校准(如上所述)通过每个延迟线(302A-302D)生成多个延迟。因此,延迟线(302A-302D)可以被配置为基于校准提供从几乎为零到选定值(例如,时钟周期的倍数)的延迟,并且由此通过考虑固有延迟,延迟电路300使得延迟线的粒度可配置性可行。延迟控制块310C控制通过每个延迟线(302A-302D)生成的多个延迟。在一个实施例中,来自每个延迟线(302A-302D)的多个延迟中的每个延迟可以被提供给伺服延迟线(316A-316N)。通过每个延迟线生成的多个延迟可以通过缩放延迟步骤的数量而被缩放并被添加到每个伺服延迟线(316A-316N)。对于不同的伺服延迟线,缩放比例可以不同,从而允许每个延迟线(302A-302D)被用作多个伺服延迟线的主延迟线。通过每个延迟线(302A-302D)生成的多个延迟可以独立于时钟周期。
[0039] 图4是示出根据一个实施例的第二示例性延迟电路400的框图。在一个实施例中,延迟电路400包括延迟线组402。延迟线组402包括多个延迟线,例如402A、402B、402C和402D。在一个实施例中,每个延迟线(402A-402D)被配置为提供多个延迟。在一个实施例中,每个延迟线(402A-402D)可以包括通过多个延迟步骤可配置以提供多个延迟的第一延迟线(例如,图2的延迟线200)。延迟步骤可以是例如精细延迟步骤。延迟线组402包括输入端子
402E和输出端子402F。在一个实施例中,在输入端子402E处施加时钟信号404A,并且在输出端子402F处生成延迟信号404B。此外,延迟电路400包括控制电路406以及配置电路408。控制电路406与延迟线组402通信地关联或耦合,以便被定位或被配置为确定对应于延迟线组
402的固有延迟的第一延迟步骤数量。
[0040] 在一个实施例中,控制电路406可以是类似于参考图3所解释的控制电路308的处理块。在一个实施例中,控制电路406是控制电路308的示例,并且被配置为基于第一延迟步骤数量确定第二延迟步骤数量,以便通过每个延迟线(402A-402D)提供对应于第二延迟步骤数量的延迟。在一个实施例中,控制电路406被配置为确定被配置或选择为通过延迟线组402的每个延迟线(402A-402D)提供第一延迟的延迟步骤数量。在一个实施例中,第一延迟可以是时钟信号的时钟周期的分数或倍数(例如,时钟信号的四分之一时钟周期、时钟信号的六分之一时钟周期、时钟信号的三倍时钟周期等)。控制电路406还被配置为确定被配置或选择为通过每个延迟线(402A-402D)提供第二延迟的延迟步骤数量。第二延迟可以不同于第一延迟。在一个实施例中,第二延迟可以是时钟信号的时钟周期的分数或倍数(例如,二分之一时钟周期、时钟信号的八分之一时钟周期等)。控制电路406被配置为基于对应于第一延迟的延迟步骤数量和对应于第二延迟的延迟步骤数量确定对应于固有延迟的第一延迟步骤数量。
[0041] 例如,如果第一延迟是四分之一时钟周期,而第二延迟是一半时钟周期,由于一半时钟周期(或(时钟周期)/2)是四分之一时钟周期(或(时钟周期)/4)的两倍,对应于一半时钟周期的延迟步骤数量是对应于四分之一时钟周期的延迟步骤数量的两倍。基于第一延迟与第二延迟的比率,控制电路406将对应于第一延迟的延迟步骤数量和对应于第二延迟的延迟步骤数量进行比较(其中第一延迟=1/2×第二延迟,并且其中第一延迟的延迟步骤数量=1/2×第二延迟的延迟步骤数量)。该比较产生对应于固有延迟的第一延迟步骤数量。
[0042] 配置电路408与延迟线组402通信地关联或耦合,以便被定位或被配置为配置每个延迟线(402A-402D)以生成多个延迟。配置电路408配置每个延迟线(302A-302D)以便生成对应于第二延迟步骤数量的延迟。该延迟可以包括例如二分之一时钟周期的延迟、四分之一时钟周期的延迟、三倍时钟周期的延迟等。配置电路408包括选择电路408A、相位比较器408B以及延迟控制块408C。在一个实施例中,选择电路408A与延迟线组402通信地关联或耦合。选择电路408A被配置为提供延迟信号404B,或通过包括一个或更多延迟线的延迟线组
402的一部分(例如,在图4中示出的延迟线402A和402B)延迟时钟信号404A而生成的信号
410A,以此作为选择电路408A的输出410B。应当注意,选择电路408A可以包括例如多路复用器。
[0043] 相位比较器408B被配置为确定选择电路408A的输出410B与时钟信号404A之间的相位差。相位比较器408B基于该相位差生成输出信号410C。相位比较器408B的输出信号410C被路由以作为延迟控制块408C的输入。延迟控制块408C与延迟线组402和相位比较器
408B通信地关联或耦合,以便校准延迟线(402A-402D)并基于该相位差控制通过每个延迟线(402A-402D)生成的多个延迟。应当注意,延迟控制块408C可以包括例如向上/向下计数器。在一个实施例中,控制电路406可操作以与延迟控制块408C关联或耦合。控制电路406被配置为基于通过延迟控制块408C对延迟线的校准以第一延迟步骤数量的形式模拟延迟线的固有延迟。
[0044] 在一个实施例中,配置电路408通过用于模拟延迟线(402A-402D)的固有延迟的两个步骤比较过程来进行操作。在第一比较期间,相位比较器408B将时钟信号404A与信号410A进行比较,以便确定时钟信号404A与包括被串联的延迟线402A和402B延迟的时钟信号
404A的信号410A之间的相位差。在一个实施例中,如果相位差等于或大于第一预定相位差,则相位比较器408B生成第一信号,其表示信号410A比时钟信号404A超前不止第一预定相位差。在一个实施例中,如果相位差等于或小于第二预定相位差,则相位比较器408B生成第二信号,其表示信号410A比时钟信号404A滞后不止第二预定相位差。如果相位差在第一预定相位差与第二预定相位差之间,则相位比较器408B不生成第一信号或第二信号中的任意一个。在一个实施例中,相位比较器408B可以生成不同于第一信号和第二信号的第三信号,其表示相位差在第一与第二预定相位差之间。
[0045] 延迟控制块408C通过增加每个延迟线(402A-402D)的延迟来对第一信号做出响应以便减少相位差。然而,在一个实施例中,延迟控制块408C通过减少每个延迟线(402A-402D)的延迟来对第二信号做出响应以便减少相位差。在一个实施例中,通过在第一比较期间增加或减少延迟线(402A-402D)的延迟,延迟控制块408C校准每个延迟线(402A-402D)以便提供时钟信号408F的二分之一时钟周期的延迟。控制电路406确定对应于延迟线(402A-
402D)二分之一时钟周期延迟的延迟步骤数量。
[0046] 在第二比较期间,相位比较器408B确定时钟信号404A与包括被延迟线402A、402B、402C和402D延迟的时钟信号404A的延迟信号404B之间的相位差。延迟控制块408C配置每个延迟线(402A-402D)以便提供四分之一时钟周期的延迟。控制电路406确定对应于延迟线的四分之一时钟周期延迟的延迟步骤数量。基于第一延迟(二分之一时钟周期延迟)与第二延迟(四分之一时钟周期延迟)的比率,控制电路406将对应于二分之一时钟周期延迟的延迟步骤数量与对应于四分之一时钟周期延迟的延迟步骤数量进行比较,以便得到线性方程。
控制电路406计算线性方程的解,以便确定对应于固有延迟的一个或更多步骤。可以通过使用多个延迟线(402A-402D)之中的合适数量的延迟线来选择第一延迟和第二延迟以生成信号410A和延迟信号404B。在一个实施例中,第一延迟和第二延迟可以是时钟信号404A的时钟周期的分数或倍数,例如,六分之一时钟周期、三倍时钟周期等。
[0047] 在一个实施例中,控制电路406将延迟步骤数量发送给延迟控制块408C,以便配置每个延迟线(402A-402D),从而提供对应于延迟步骤数量的延迟。当将要通过每个延迟线(402A-402D)生成预定延迟时,通过延迟控制块408C提供合适的延迟步骤数量。对应于固有延迟的第一延迟步骤数量被添加到延迟步骤数量(例如,通过使用控制电路406)以获得总数。该总数基于预定延迟被缩放以获得缩放的延迟,并且从缩放的延迟中减去对应于固有延迟的第一延迟步骤数量以获得对应于预定延迟的合适的延迟步骤数量。基于该合适的延迟步骤数量,可以基于通过延迟控制块408C的单次校准(如上所述)通过每个延迟线(402A-402D)生成多个延迟。延迟线(402A-402D)可以被配置为基于该校准提供从几乎为零到任何选定值(例如,时钟周期的倍数)的延迟,并且因此通过考虑对应于固有延迟的步骤数量,延迟电路400以延迟步骤的形式使能延迟线(402A-402D)的粒度可配置性。
[0048] 延迟控制块408C控制通过每个延迟线(402A-402D)生成的多个延迟。在一个实施例中,控制电路406包括缩放电路412,其被配置为(1)通过缩放延迟步骤数量来缩放通过每个延迟线(402A-402D)生成的多个延迟中的每个延迟,以及(2)将缩放的延迟提供给多个伺服延迟线(414A-414N)。通过每个延迟线(402A-402D)生成的多个延迟可以被缩放并被施加到每个伺服延迟线(414A-414N)。对于不同的伺服延迟线,缩放比例可以不同,从而允许每个延迟线(402A-402D)被用作多个伺服延迟线的主延迟线。通过每个延迟线(402A-402D)生成的多个延迟可以独立于时钟周期。本技术的各个实施例使得几乎为零的延迟能够映射到代码中的零延迟步骤值,以便如本文中参考图5所解释的那样配置延迟线。
[0049] 图5是示出根据一个实施例的图3的延迟电路300和图4的延迟电路400的示例性粒度可配置性的示例性曲线图。图5是表示通过延迟线产生的延迟510(例如,以皮秒(ps)为单位可测量的时间性延迟)(沿着垂直轴或y轴)相对于针对该延迟510的延迟步骤形式的代码520(沿着平轴或x轴)的图表500。图表500包括对应于代码的第一曲线512,所述代码对应于延迟线的延迟,其中在以延迟步骤的形式配置延迟线时该延迟线的固有延迟未被考虑。
图表500还包括对应于延迟线的代码的第二曲线522,根据一个实施例,所述延迟线的代码具有针对该延迟线的固有延迟的补偿。延迟线的固有延迟的补偿使能要实现的延迟线的粒度可配置性。如图5所示,第一曲线512的延迟线在代码的0延迟步骤处向延迟线提供例如
100ps的延迟(参见524)。相反,第二曲线522的延迟线为0个延迟步骤提供几乎为0ps的延迟(参见526),并且为5个延迟步骤提供100ps的延迟(参见528),从而表示一旦用单次校准补偿固有延迟,则延迟电路使能从几乎为零到选定延迟值的延迟线的粒度可配置性。
[0050] 图6是根据一个实施例在延迟线中生成多个延迟的示例性方法的流程图600。延迟线可以是包括多个延迟线的延迟线组的组成部分。如图6所示,在操作602中,通过与延迟线组耦合的控制电路(例如,图3的控制电路308或图4的控制电路406)确定对应于延迟线的固有延迟的第一延迟步骤数量。在一个实施例中,通过(例如,通过使用图3的延迟控制块310C或图4的延迟控制块408C)针对第一延迟校准延迟线来确定(例如,通过使用图3的控制电路308或图4的控制电路406)被配置或选择以提供第一延迟的延迟步骤数量。例如,如果延迟线组包括四个延迟线,则每个延迟线被校准以提供等同于输入到延迟线组的时钟信号的1/
4时钟周期的第一延迟。此外,通过(例如,通过使用图3的延迟控制块310c或图4的延迟控制块408C)针对第二延迟校准延迟线,确定(例如,通过使用图3的控制电路308或图4的控制电路406)被配置或选择以提供第二延迟的延迟步骤数量,其中第二延迟等同于第一延迟与每个延迟线的固有延迟之差(例如,1/4时钟周期-D,其中D是延迟线的固有延迟)。在校准期间,时钟信号被延迟延迟线的固有延迟。
[0051] 时钟信号通过复制延迟线的恒定固有路径而被延迟。例如,如果延迟线组包括四个延迟线且每个延迟线的固有延迟为D,则时钟信号被延迟4×D,以便确定第二延迟步骤数量。基于对应于第一延迟的延迟步骤数量和对应于第二延迟的延迟步骤数量来计算对应于延迟线的固有延迟的第一延迟步骤数量。在一个实施例中,对应于第一延迟的延迟步骤数量(例如,对应于1/4时钟周期的延迟步骤)与对应于第二延迟的延迟步骤数量(例如,对应于1/4时钟周期的延迟步骤-D)之差被确定,并且如本文参考图3和图4所解释的,基于该差来计算对应于固有延迟(例如,D)的第一延迟步骤数量。在一个实施例中,延迟线组的第一预定延迟线数量(例如,四个延迟线)被校准以通过多个延迟线中的每个延迟线提供第一延迟(例如,1/4时钟周期)。基于该校准,确定被配置或选择以通过多个延迟线中的每个延迟线提供第一延迟的延迟步骤数量。
[0052] 随后,延迟线组的第二预定延迟线数量(例如,一对延迟线)被校准以通过多个延迟线中的每个延迟线提供第二延迟(例如,1/2时钟周期)。基于针对第二延迟的校准,确定被配置或选择以通过多个延迟线中的每个延迟线提供第二延迟的延迟步骤数量(例如,通过使用图3的控制电路308或图4的控制电路406)。此外,基于对应于第一延迟的延迟步骤数量、对应于第二延迟的延迟步骤数量以及第一延迟和第二延迟的比率,对应于延迟线的固有延迟的第一延迟步骤数量被确定。在一个实施例中,基于第一延迟与第二延迟的比率,将对应于第一延迟的延迟步骤数量与对应于第二延迟的延迟步骤数量进行比较(例如,通过使用图3的控制电路308和图4的控制电路406)。基于该比较,对应于固有延迟的第一延迟步骤数量被确定。例如,如果第一延迟是1/4时钟周期并且第二延迟是1/2时钟周期,由于1/2时钟周期=2×1/4时钟周期,则D+针对第二延迟的延迟步骤数量=2×(D+针对第一延迟的延迟步骤数量),因此这意味着D=针对第二延迟的延迟步骤数量-2×针对第一延迟的延迟步骤数量,其中D+针对第二延迟的延迟步骤数量与1/2时钟周期的第二延迟相对应,并且D+针对第一延迟的延迟步骤数量与1/4时钟周期的第一延迟相对应。
[0053] 在一个实施例中,如果固有延迟与精细延迟步骤的比率横跨工艺和电压以及温度变化紧密耦合,则第一延迟步骤数量在进程节点处被跟踪到延迟线的固有延迟。在跟踪期间,该固有延迟被映射为第一延迟步骤数量。该固有延迟被硬编码为跟踪的第一延迟步骤数量。本文使用的术语“硬编码”可以被解读为将可能回顾地被视为输入或配置数据的数据直接嵌入到程序的源代码或其他可执行对象中,或者固定格式化该数据,而不是从外部源获得该数据或生成数据或在程序自身中用输入进行格式化。
[0054] 在一个实施例中,在操作604中,通过控制电路(例如,图3的控制电路308和图4的控制电路406)来确定第二延迟步骤数量,以便基于第一延迟步骤数量提供经过延迟线的延迟。考虑例如固有延迟映射到5个延迟步骤的示例。相应地,如果要实施160ps的延迟(例如,8个延迟步骤),则要向延迟线提供的第二延迟步骤数量是3个步骤(例如,8-5个延迟步骤)。
在一个实施例中,在操作606中,通过配置电路(例如,图3的配置电路310和图4的配置电路
408)将延迟线配置为与延迟线组耦合,以便通过延迟线产生对应于第二延迟步骤数量的延迟。在一个实施例中,对应于固有延迟的第一延迟步骤数量被添加到延迟步骤数量中以获得总数。该总数基于预定延迟被缩放以获得缩放的延迟。从缩放的延迟中减去对应于固有延迟的第一延迟步骤数量以获得对应于预定延迟的延迟步骤数量。在一个实施例中,缩放的延迟被提供给多个伺服延迟线。可以使用不同的缩放因数来基于较早在操作602中解释的单次校准获得经过延迟线的不同延迟。
[0055] 延迟线可以被配置为基于该校准提供从几乎为零到选定值(例如,时钟周期的倍数)的延迟,由此通过补偿固有延迟来使得能够实现延迟线的粒度可配置性。在一个实施例中,来自延迟线的缩放延迟被施加到伺服延迟线。在一个实施例中,使用不同缩放因数通过每个延迟线生成的多个延迟可以被施加到多个伺服延迟线。每个延迟线可以被配置为起到多个伺服延迟线的主延迟线的作用。本技术的各个实施例可以被用于电子线路中的平准化和去歪曲的目的。
[0056] 图7是根据一个实施例确定对应于延迟线组的多个延迟线之中的延迟线的固有延迟的第一延迟步骤数量的第一示例性方法的流程图700。在一个实施例中,在操作702中,确定被配置或选择以通过延迟线提供第一延迟的延迟步骤数量(例如,通过使用图3的控制电路308或图4的控制电路406)。通过(例如,通过使用图3的延迟控制块310c或图4的延迟控制块408C)针对第一延迟校准延迟线,对应于第一延迟的延迟步骤数量被确定。例如,如果延迟线组包括四个延迟线,则每个延迟线被校准以提供等同于例如输入到延迟线组的时钟信号的1/4时钟周期的第一延迟。基于该校准,确定将要提供以实现1/4时钟周期的延迟的延迟步骤数量。
[0057] 在一个实施例中,在操作704中,确定被配置或选择以提供等同于第一延迟与每个延迟线的固有延迟之差的第二延迟的延迟步骤数量(例如,通过使用图3的控制电路308或图4的控制电路406)。通过(例如,通过使用图3的延迟控制块310c或图4的延迟控制块408C)针对第二延迟校准延迟线,对应于第二延迟的延迟步骤数量被确定。在校准期间,时钟信号被延迟延迟线的固有延迟。例如,如果第一延迟是1/4时钟周期并且D是每个延迟线的固有延迟,则每个延迟线被校准以提供基本等同于1/4时钟周期与D之差的延迟(例如,第二延迟=1/4时钟周期-D)。为了校准每个延迟线以提供第二延迟(例如,1/4时钟周期-D),通过复制延迟线的恒定固有路径来将时钟信号延迟多个延迟线的固有延迟,以便生成延迟信号。例如,如果延迟线组包括四个延迟线且每个延迟线的固有延迟为D,则时钟信号被延迟4×D以生成延迟信号。延迟信号经受与延迟线组的输出信号的相位比较,以便校准每个延迟线从而提供第二延迟。基于该校准,对应于第二延迟的延迟步骤数量被确定。
[0058] 在一个实施例中,在操作706中,基于对应于第一延迟的延迟步骤数量和对应于第二延迟的延迟步骤数量,计算对应于延迟线的固有延迟的第一延迟步骤数量。在一个实施例中,对应于第一延迟的延迟步骤数量(例如,对应于1/4时钟周期的延迟步骤)与对应于第二延迟的延迟步骤数量(例如,对应于1/4时钟周期的延迟步骤-D)之差被确定,并且如本文参考图3和图4所解释的,基于该差计算对应于固有延迟(例如,D)的第一延迟步骤数量。
[0059] 图8是根据一个实施例确定对应于延迟线组的多个延迟线之中的延迟线的固有延迟的第一延迟步骤数量的第二示例性方法的流程图800。在操作802中,确定被配置或选择以通过多个延迟线中的每个延迟线提供第一延迟的延迟步骤数量。多个延迟线的第一预定延迟线数量(例如,四个延迟线)被校准,以便通过多个延迟线中的每个延迟线提供第一延迟(例如,1/4时钟周期)。基于该校准,对应于第一延迟的延迟步骤数量被确定。在一个实施例中,在操作804中,确定被配置或选择以通过延迟线组的多个延迟线中的每个延迟线提供第二延迟的延迟步骤数量(例如,通过使用图3的控制电路308或图4的控制电路406)。在一个实施例中,延迟线组的第二预定延迟线数量被校准(例如,一对延迟线)以通过多个延迟线中的每个延迟线提供第二延迟(例如,1/2时钟周期)。基于该校准,对应于第二延迟的延迟步骤数量被确定。在一个实施例中,在操作806中,基于对应于第一延迟的延迟步骤数量、对应于第二延迟的延迟步骤数量以及第一延迟和第二延迟的比率,计算对应于多个延迟线中每个延迟线的固有延迟的第一延迟步骤数量。
[0060] 在一个实施例中,基于第一延迟与第二延迟的比率,对应于第一延迟的延迟步骤数量与对应于第二延迟的延迟步骤数量进行比较(例如,通过使用图3的控制电路308和图4的控制电路406)。例如,如果第一延迟是1/4时钟周期并且第二延迟是1/2时钟周期,则1/2时钟周期=2×1/4时钟周期。如果D是每个延迟线的固有延迟,则D+对应于1/2时钟周期的延迟步骤数量=2×(D+对应于1/4时钟周期的延迟步骤数量),因此这意味着D=对应于1/2时钟周期的延迟步骤数量-2×对应于1/4时钟周期的延迟步骤数量。基于通过获得方程式的解的比较,对应于固有延迟(D)的第一延迟步骤数量被确定(例如,使用图3的控制电路308或图4的控制电路406)。
[0061] 图9是基于根据一个实施例的延迟电路(例如,图3的延迟电路300和图4的延迟电路400)的仿真示出跟踪对应于进程节点之间的延迟线的固有延迟的延迟步骤数量的示例性方案的曲线900。在图9中,沿X轴902绘制多个进程节点,并且沿Y轴904绘制对应于延迟线的代码的延迟步骤数量。应当注意到,为了图示说明的目的,Y轴904被标记为表示延迟步骤的从5.00到15.00范围的单位。如图9所示,曲线900包括仿真代码的曲线906和将被硬编码的代码的曲线908。在延迟电路仿真后,观察到固有延迟映射到数值范围在11到13之间的延迟步骤,其中各个进程节点之间保持接近11的数值表示固有延迟与对应于固有延迟的延迟步骤数量的比率跨越进程、电压和温度变化紧密地耦合。由于固有延迟被跟踪为在进程节点之间对应于几乎11个延迟步骤,因此11个延迟步骤的数值被选择为将被硬编码的代码908。对应于固有延迟的11个延迟步骤被硬编码到延迟电路的延迟线中。
[0062] 虽然已经参考特定示例性实施例描述了本技术,但是应当认识到在没有偏离本技术广泛精神和范围的前提下,可以对这些实施例做出各种修改和改变。例如,在本文中描述的各种装置、模块、分析器、发生器等使用硬件线路(例如,基于互补金属化物半导体(CMOS)的逻辑线路)和/或硬件与软件的组合(例如,具体表现为机器可读介质)来使能和操作。例如,可以使用晶体管、逻辑门和电路(例如,ASIC线路和/或数字信号处理器(DSP)线路)来具体实现各种电气结构,并且附图应被理解为是说明性的而非限制性的。
[0063] 而且,在各个实施例中被描述为分立或单独的电路可以在没有偏离本技术的范围的前提下与其他系统、模块合并或整合。被示出或讨论彼此直接耦合或通信的其他项目可以通过某些接口或装置被耦合,使得该项目不再被认为彼此直接通信关联或耦合,而是通过电气的、机械的或除此以外的其他方式彼此非直接耦合或通信。在研究本文公开的示例性实施例后,本领域的技术人员可以确认在不偏离本技术的精神和范围的情况下,可以做出变化、替换和变更的其他示例。
QQ群二维码
意见反馈