首页 / 专利库 / 电脑零配件 / 计算机系统 / 硬件 / 中央处理器 / 算术逻辑单元 / 片上自校准延迟监控电路

片上自校准延迟监控电路

阅读:424发布:2020-05-13

专利汇可以提供片上自校准延迟监控电路专利检索,专利查询,专利分析的服务。并且本公开涉及片上自校准延迟监控 电路 。,下面是片上自校准延迟监控电路专利的具体信息内容。

1.一种电路布置,包括:
发射触发器,其被配置为基于在其输入处的状态转变而输出从第一状态到第二不同状态的状态转变;
可编程延迟线路,其耦合到所述发射触发器,所述可编程延迟线路包括配置单元,其中所述可编程延迟线路被配置为传播通过其的来自所述发射触发器的状态转变,以及其中传播通过其的状态转变的时间与所述可编程延迟线路的延迟时间关联;
时间到数字转换器,其耦合到所述可编程延迟线路,所述时间到数字转换器包括耦合到相应采样触发器的至少一个延迟元件,其中所述时间到数字转换器被配置为测量所述可编程延迟线路的延迟时间;以及
反馈回路电路,其耦合到所述时间到数字转换器和所述配置单元,其中,所述反馈回路电路适用于比较所测量的延迟时间与预定阈值,并且如果所测量的延迟时间超过预定阈值,则提供表示可能的时序违规的输出信号
2.根据权利要求1所述的电路布置,其中,所述反馈回路电路包括评估电路,以用于从所述时间到数字转换器的相应采样触发器接收至少一个输出信号,并且将至少一个输入信号提供给所述配置单元。
3.根据权利要求1所述的电路布置,其中,所述反馈回路电路适用于在校准模式期间将至少一个输入信号提供给所述配置单元。
4.根据权利要求1所述的电路布置,其中,所述配置单元包括算术逻辑单元和配置寄存器,所述算术逻辑单元耦合到所述反馈回路电路并且耦合到所述配置寄存器,所述配置寄存器适用于存储所述可编程延迟线路的至少一个配置设置,并且所述算术逻辑单元适用于将至少一个信号提供给所述配置寄存器,以基于从所述反馈回路电路接收到的至少一个输入信号来改变所述可编程延迟线路的所述至少一个配置设置。
5.根据权利要求1所述的电路布置,其中,所述反馈回路电路、所述配置单元和所述可编程延迟线路被配置为提供数字到时间转换器。
6.根据权利要求1所述的电路布置,其中,所述反馈回路电路不适用于在测量模式期间将至少一个输入信号提供给所述配置单元。
7.根据权利要求1所述的电路布置,其中,在同一集成电路上集成所述发射触发器、所述可编程延迟线路、所述时间到数字转换器和所述反馈回路电路,并且其中,当所述集成电路被配置为执行多于一种类型的处理或其组合时,当所述集成电路所执行的处理从第一类型处理改变为第二类型处理时,激活校准模式。
8.根据权利要求7所述的电路布置,其中,所述集成电路被配置为使用不同供给电压、不同时钟频率或其组合执行所述第一类型处理和所述第二类型处理。
9.根据权利要求1所述的电路布置,其中,所述反馈回路电路还被配置为,如果所测量的延迟时间小于预定阈值,则提供表示松弛裕量的不同的输出信号,其中所述松弛裕量反映在所测量的延迟时间与预定阈值之间的差的大小。
10.一种用于利用根据权利要求1至9之一所述的电路布置来实现片上自校准延迟监控的方法,包括:
激活集成电路的延迟监控电路的可编程延迟线路的测量模式;
测量可编程延迟线路的延迟时间;
将所述可编程延迟线路的所测量的延迟时间与预定阈值进行比较;以及
响应于将所述可编程延迟线路的所测量的延迟时间与所述预定阈值进行比较而确定是否提供表示可能的时序违规的输出信号。
11.一种用于实现片上自校准延迟监控的装置,包括:
集成电路,其包括:
处理电路,用于执行所述集成电路的一个或多个处理;以及
延迟监控电路,用于估计所述处理电路的延迟,所述延迟监控电路包括:
配置单元;
可编程延迟线路,其耦合到所述配置单元;
时间到数字转换器,其耦合到所述可编程延迟线路,其中所述时间到数字转换器被配置为测量所述可编程延迟线路的延迟时间;以及
反馈回路,其耦合到所述时间到数字转换器并且耦合到所述配置单元,所述反馈回路包括耦合到所述配置单元的评估电路,其中,所述反馈回路适用于比较所测量的延迟时间与预定阈值,并且如果所测量的延迟时间超过预定阈值,则提供指示可能的时序违规的输出信号。

说明书全文

片上自校准延迟监控电路

[0001] 本申请是申请日为2011年1月28日、申请号为201110031003.8以及发明名称为“片上自校准延迟监控电路”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及集成电路的设计。

背景技术

[0003] 关于集成电路路径延迟的信息可以用于指定适当的供给电压设置,以保存能量,同时仍然提供足够的供给电压,以满足性能需求。随着金属化物半导体(MOS)晶体管的大小减少,集成电路路径的延迟以及时钟频率已经变得对供给电压和温度的瞬时变化更敏感。MOS晶体管的大小的减少还导致了提供给集成电路的供给电压的减少。例如,对于32/28nm互补金属氧化物半导体(CMOS)技术节点,供给电压VDD可以是大约1V,而对于22/20nm CMOS技术节点,VDD可以是大约0.9V。典型地由供给电压调节器提供集成电路的供给电压,可以在与集成电路相同的管芯上或分离的管芯上集成所述供给电压调节器。
[0004] 归因于计算设备的子系统的开/关循环、时钟频率改变以及工作量改变(例如使用集成电路所执行的应用的改变),集成电路所需的供给电压可以改变。这些类型的供给电压改变意图在于优化集成电路的功率耗散。通常由在集成电路上执行的操作系统发起的供给电压的期望改变已知为动态电压缩放或自适应电压缩放。通过将时钟频率适用于特定应用的实际时变性能需求,操作系统发起的供给电压改变可以优化集成电路的能量耗散。
[0005] 集成电路的总瞬时电流变化也可以引起供给电压改变。由于总电流变化转变为管芯上功率供给电压的总变化,因此这些不期望的总电流变化可以被称为IR-降。为了说明,由电流的总变化ΔI与将电源电压调节器连接到集成电路的电源管脚的所有导线之和的总电阻RSUM的乘积近似给出供给电压变化ΔV。归因于总瞬时电流变化的供给电压改变可以高达标称指定供给电压的20%。
[0006] 随着集成电路的供给电压减少,对供给电压的变化的延迟灵敏度会增加。例如,集成电路所需的供给电压的不期望的改变可以比供给电压调节器可以将供给电压适用于该改变而更快地出现。换句话说,供给电压调节器的瞬时响应可以比片上IR降事件的时间尺度更慢。因而,集成电路所需的供给电压可能不容易获得,从而引起集成电路执行的处理的延迟。此外,因为供给电压调节器不能够跟上集成电路所需的供给电压的改变,所以可能引入测量集成电路路径的延迟的不确定性。
[0007] 测量集成电路路径的延迟的不确定性可能导致难以确定芯片的状态是否为临界(例如,时序违规正出现还是逼近)。可以将时序违规定义为这样的状态:集成电路的速度临界路径的延迟超过集成电路的时钟周期。时序违规可以导致集成电路的临时或恒久故障。
[0008] 在特定示例中,包括由具有大约10-50 CMOS逻辑级的组合逻辑分离的时钟控制的触发器(flip-flop)或寄存器的管道式集成电路的速度临界路径的延迟可以具有若干分量。为了说明,管道式集成电路的速度临界路径的延迟可以包括第一数据发射触发器的时钟对输出延迟、组合逻辑的延迟、第二数据发射触发器的设置时间、以及用于覆盖时钟分布的非理想性(例如时钟偏斜和抖动)的时序裕量。管道式集成电路的这些时序参数的任何空间和/或时间变化可以产生时序违规。在本公开中,时钟偏斜可以包括归因于时钟分布电路中的不平衡而导致的在不同触发器处的时钟边缘的到达时间的空间变化,并且时钟抖动可以包括在不同触发器处的时钟边缘的到达时间的瞬时变化。
[0009] 不期望的温度变化也可以生成集成电路中的时序违规。归因于集成电路的功率耗散,衬底的发热也可以导致这些温度变化。也可以通过将附加功率耗散集成电路放置在与特定集成电路相同的印刷电路板上,或者将附加功率耗散集成电路和特定集成电路放置在一个封装内来产生温度变化,从而附加功率耗散集成电路所生成的热量扩散到特定集成电路,并且增加温度。温度变化可以出现在比不期望的电压变化更慢得多的时间尺度上。例如,温度变化在若干毫秒至几秒之间变化,而不期望的供给电压变化出现在100皮秒至大约10毫秒之间。
[0010] 在CMOS技术中,温度和供给电压变化二者皆可以改变MOS晶体管的速度。例如,在32/28nm CMOS技术中的大于1.1V的供给电压处,增加温度减少了MOS晶体管的驱动电流,并且因此减少了CMOS电路的速度。在另一示例中,在32/28nm CMOS技术中的小于0.9V的供给电压处,增加温度增加了MOS晶体管的驱动电流,并且因此增加了CMOS电路的速度。在CMOS电路设计的设计阶段期间,温度和供给电压变化的交互是在先不完全已知的。因此,可以将安全性裕量添加到目标电路速度。此外,为了为大量可能的温度和供给电压状态提供集成电路的无误差或基本上无误差功能性,在设计阶段期间可以执行假设独特供给电压和温度操作点的仿真。
附图说明
[0011] 参照附图阐述详细的描述。在附图中,参考标号的最左边(一个或多个)数字标识出参考标号首先出现的图。在描述和附图中在不同实例中使用相同参考标号可以指示相似或相同的项。
[0012] 图1是包括具有带有延迟监控电路的集成电路的计算设备的系统的示意图。
[0013] 图2是包括时间到数字转换器和反馈回路的延迟监控电路的示意图。
[0014] 图3是延迟监控电路的可编程延迟线路的示意图。
[0015] 图4是延迟监控电路的反馈回路的评估电路的第一实施例的示意图。
[0016] 图5是延迟监控电路的反馈回路的评估电路的第二实施例的示意图。
[0017] 图6是延迟监控电路的反馈回路的评估电路的第三实施例的示意图。
[0018] 图7是示出在测量模式期间出现的误差的延迟监控电路的评估电路的临界状态检测器的逻辑图。
[0019] 图8是示出在测量模式期间未检测到误差的延迟监控电路的评估电路的临界状态检测器的逻辑图。
[0020] 图9是示出测量延迟监控电路的可编程延迟线路的延迟的示例的时序图。
[0021] 图10A示出关于指示可编程延迟线路的延迟将要在校准模式期间增加的输出信号的目标值的时间到数字转换器的采样触发器的输出信号的值。
[0022] 图10B示出关于指示可编程延迟线路的延迟将要在校准模式期间减少的输出信号的目标值的时间到数字转换器的采样触发器的输出信号的值。
[0023] 图11示出在测量模式期间用于校准的可编程延迟线路并且在四个不同时间的时间到数字转换器的采样触发器的输出信号。
[0024] 图12是校准延迟监控电路的延迟的方法的流程图

具体实施方式

[0025] 通过在特定条件下估计集成电路的路径的延迟,延迟监控电路可以用于最小化或者避免通过对集成电路所需的供给电压的改变而产生的以及/或者通过集成电路的温度变化而产生的时序违规。集成电路的路径可以包括连接到与数据接收主从触发器连接的某个组合逻辑的数据发射主从触发器。主从触发器可以包括时钟存储元件,其仅在一个或两个时钟边缘处改变状态。
[0026] 在某些情况下,延迟监控电路可以集成到集成电路的一个或多个临界路径。该延迟监控电路可以在本公开中被称为“现场(in situ)”延迟监控电路。现场延迟监控电路可以需要大量触发器(例如20,000-50,000个)来代替正监控的路径的主从触发器布置。因而,现场延迟监控触发器消耗比主从触发器布置更大的集成电路面积。此外,当数据被收集以用于估计路径的延迟时,正监控的临界路径可能并非总是活动的。因此,对于路径的延迟的估计的精度可能会变小。
[0027] 延迟监控电路也可以被定位成片外的。例如,在集成电路的测试期间,可以基于测试条件来确定集成电路的配置设置。为了说明,可以将关于时钟操作和供给电压调节的配置设置保存在集成电路的配置寄存器中,以用于在芯片的测试期间评估的多个供给电压和时钟频率值。此外,可以基于在芯片被用于特定产品的同时出现的集成电路的操作变化而确定配置设置。由于在产品的操作期间集成电路的实际响应是未知的,因此对于这些配置设置的裕量一般大的。此外,在将集成电路置于计算设备中后,计算设备可以在内建自测试(BIST)期间运行测试信号,以测量集成电路的路径的延迟,并且基于测量的延迟和配置设置调整时钟操作和供给电压。然而,不相对集成电路的正常操作同时执行BIST,并且在BIST期间标识的配置设置可以不对应于在集成电路的实际使用期间的条件。
[0028] 本公开描述片上自校准延迟监控电路。所述延迟监控电路可以包括位于片上的复本(replica)电路,其估计集成电路的一个或多个路径的延迟。在特定实施例中,装置包括集成电路,所述集成电路具有:用于执行集成电路的一个或多个处理的处理电路;以及用于估计处理电路的至少一个路径的延迟的延迟监控电路。延迟监控电路包括配置单元和耦合到所述配置单元的可编程延迟线路。延迟监控电路还包括耦合到可编程延迟线路的时间到数字转换器以及耦合到时间到数字转换器的反馈回路。反馈回路包括耦合到配置单元的评估电路。评估电路可以将信号提供给配置单元,以修改可编程延迟线路的延迟。
[0029] 延迟监控电路可以在当集成电路所需的时钟频率和/或供给电压改变时发起的校准模式期间操作。当操作系统独立地打开或者关闭集成电路上的若干独立工作以提供集成电路的某一整体功能时,也可以发起延迟监控电路的校准模式。具体地说,若干块可以临时连接到并且断开自芯片上分布的本地电源。在说明性示例中,蜂窝基带集成电路可以包括当根据全球移动通信系统(GSM)通信标准处理数据时打开的块、以及当根据码分多址(CDMA)或高速分组访问(HSPA)通信标准处理数据时打开的附加块。集成电路上的连接和断开电路块可以改变集成电路的整体电流消耗,这可以生成瞬时供给电压变化。在校准模式期间,评估电路测量延迟监控电路的可编程延迟线路的延迟,并且与目标值进行比较。当可编程延迟线路的延迟不同于目标值时,评估电路经由反馈回路将信号提供给配置单元,以调整可编程延迟线路的延迟,从而满足目标值。
[0030] 通过使用片上自校准延迟监控电路,集成电路的延迟的测量可以与正常芯片操作同时出现。此外,实时专用时钟频率和供给电压值可以考虑延迟监控电路的配置设置,以便更精确地提供集成电路的延迟的估计。此外,将延迟监控电路定位在片上但在临界路径外部可以节省芯片面积,并且允许延迟监控电路用于估计多个临界路径的延迟。
[0031] 图1是包括具有带有延迟监控电路的集成电路的计算设备102的系统100的示意图。计算设备102可以包括个人计算机、膝上计算机、笔记型计算机、个人数字助理(PDA)、便携式游戏设备、无线通信设备(例如智能电话、移动手机等)、机顶盒、游戏控制台、便携式音乐播放器、路由器、家用电器、个人物品(例如腕表、计算器等)、其它网络连接设备等。计算设备102包括一个或多个处理器104和存储器106。计算设备102还包括电压调节器108,其生成并且调整处理器104的电源电压。
[0032] 存储器106可以包括只读存储器(ROM)、随机存取存储器(RAM)、非易失性存储器硬盘、或其任何组合。此外,存储器106可以存储包括软件指令、固件或其组合的一个或多个应用110。例如,应用110可以包括由处理器104可执行的软件指令,以执行计算设备102的各种处理。
[0033] 在说明性实施例中,存储器106可以存储用于发送并且接收与电话呼叫有关的无线信号(例如语音业务或控制信息)的应用。此外,存储器106可以存储用于请求并且接收网站数据的应用(例如浏览器应用)、用于传送并且接收文本消息的应用、用于传送并且接收图片或图像的应用、用于传送并且接收视频消息的应用、或其任何组合。此外,应用110可以包括文字处理器应用、电子表格应用、电子邮件应用、操作系统、一个或多个游戏应用、GPS应用、媒体回放应用等。
[0034] 计算设备102也可以包括耦合到处理器104的通信接口112。通信接口112可以经由无线连接、有线连接或这二者传送以及/或者接收信号。例如,通信接口112可以经由包括在广域无线通信网络(例如GSM网络、全球移动电信系统(UMTS)网络、CDMA网络、HSPA网络、通用分组无线电服务(GPRS)网络、GSM演进的增强型数据率(EDGE)网络、全球互通微波存取(WiMAX)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、长期演进(LTE)网络、WiMedia超宽带(UWB)网络或其任何组合)中的基站传送以及/或者接收信号。
[0035] 通信接口112也可以经由通信卫星传送以及/或者接收无线信号,并且经由包括在广域无线网络或无线局域网(例如蓝牙网络或电气电子工程师学会(IEEE)802.11协议网络)中的无线接入点传送以及/或者接收无线信号。此外,通信接口112可以经由手机(例如蓝牙手机)传送以及/或者接收无线信号。
[0036] 处理器104包括集成电路114。在一个示例中,集成电路114可以是计算设备102的中央处理单元。在另一示例中,集成电路114可以是用于对无线通信信号进行编码并且解码的计算设备102的基带芯片。集成电路114包括处理电路116。处理电路116执行计算设备102的处理。例如,处理电路116可以执行应用110的指令。
[0037] 处理电路116可以经由包括耦合到发送触发器和接收触发器的计算逻辑的多个路径执行计算设备102的处理。发送触发器可以在第一上升或下降时钟边缘将数据提供给计算逻辑,并且在第二上升或下降时钟边缘在接收触发器处对计算逻辑的输出进行采样。每一路径的延迟可以包括来自发射触发器的延迟、来自采样触发器的延迟、来自计算逻辑的延迟、以及附加延迟。附加延迟可以包括归因于时钟抖动和时钟偏斜的延迟。因为应用110中的一个或多个所需的供给电压可能对于执行应用110的处理来说是不容易可得的,所以附加延迟也可以包括归因于供给电压变化的延迟。可以使用比归因于供给电压变化和时钟抖动的延迟更高的精度来估计与发射触发器、计算逻辑和接收触发器关联的延迟。当路径的总延迟超过时钟周期时,设置时序违规出现,并且在第二上升或下降时钟边缘处在接收触发器中不能适当地存储数据并且对其进行采样,这可能导致计算误差。
[0038] 集成电路114还包括延迟监控电路118,用于估计处理电路116的路径的延迟。虽然图1示出延迟监控电路118的单个实例,但集成电路114可以包括多个延迟监控电路。延迟监控电路118可以估计处理电路116的路径的延迟,以使最小化或者消除因计算设备102的供给电压和/或时钟频率的改变而导致的时序违规。例如,可以与特定时钟频率关联而执行应用110中的每一个的指令,并且所述指令具有特定供给电压需求。因此,当处理器104从执行第一应用110的指令(例如处理电话呼叫)改变为执行第二应用110的指令(例如web浏览应用)时,供给电压或时钟频率可以基于特定应用110的时钟频率和供给电压需求而改变。在另一示例中,当处理器104开始执行大于或小于正执行的应用的当前数量的多个应用的处理时,供给电压和/或时钟频率改变会出现。
[0039] 时钟频率和/或供给电压的改变可以导致时序违规。为了说明,当处理电路114所需的供给电压改变以用于执行应用110的处理时,集成电路114的电压调节器108可能不能够根据改变而快速适用供给电压。因此,在提供适当的供给电压中的延迟可以增加,从而特定路径的总延迟超过时钟周期。
[0040] 延迟监控电路118包括模仿处理电路116的路径的延迟的可编程延迟线路120。可编程延迟线路120可以是包括多个延迟元件的数字到时间转换器。可编程延迟线路120的输出信号与输入信号用于行进通过特定数量的延迟元件所需的时间量有关。输入信号花费于传播通过可编程延迟线路120的指定数量的延迟元件的时间量可以表示处理电路116的一个或多个临界路径的延迟,并且可以在本公开中被称为“可编程延迟线路的延迟”或“可编程延迟线路延迟”。
[0041] 经由耦合到可编程延迟线路120的配置寄存器提供给可编程延迟线路120的数字编码可以指定在可编程延迟线路120提供输出信号之前输入信号行进通过的延迟元件的数量。当数字编码指定增加可编程延迟线路120的延迟时,在提供输出信号之前,输入信号可以传播通过更多的延迟元件,并且当减少可编程延迟线路120的延迟时,在提供输出信号之前,输入信号可以传播通过更少的延迟元件。
[0042] 延迟监控电路118还包括时间到数字转换器(TDC)122。TDC 122可以耦合到可编程延迟线路118,并且用于测量可编程延迟线路120的延迟。TDC 122可以包括串联耦合到对应触发器的延迟元件链。在输入信号已经传播通过可编程延迟线路120之后,随着输入信号传播通过延迟元件链,可以依次触发(即改变状态)TDC 122的触发器。在某些情况下,在对每一触发器的状态进行采样之前,仅触发一部分触发器。例如,可以在第一上升时钟边缘期间将输入信号提供给可编程延迟线路120,并且可以在第二上升时钟边缘对每一相应触发器的状态进行采样。在该示例中,TDC 122的输出信号指示接收输入信号并且在第二上升时钟边缘之前改变状态的触发器的数量。
[0043] 在对触发器的状态进行采样之前触发的TDC 122的触发器的数量可以用作可编程延迟线路120的延迟的指示符。例如,随着可编程延迟线路120的延迟增加,因为对于输入信号行进通过可编程延迟线路120需要更多的时间,所以在给定时钟循环期间触发更少的触发器。反之,随着可编程延迟线路120的延迟减少,因为输入信号花费更少时间传播通过可编程延迟线路120,所以在给定时钟循环期间触发更大量的触发器。
[0044] 一旦已经测量了可编程延迟线路120的延迟,就将表示延迟的数字编码馈送到反馈回路124。反馈回路124包括用于在校准模式期间校准可编程延迟线路120的延迟的评估电路。例如,反馈回路124的评估电路通过将表示可编程延迟线路120的延迟的TDC 122的输出信号与目标值进行比较来校准可编程延迟线路120的延迟。可编程延迟线路120的延迟的目标值可以基于在特定时间提供给集成电路114的时钟频率和/或供给电压。此外,提供给集成电路114的时钟频率和供给电压可以取决于处理电路116正执行的应用110。当可编程延迟线路120的延迟不匹配于目标值时,反馈回路124的评估电路可以将数据馈送回到配置寄存器,以改变可编程延迟线路120的配置设置,以增加或者减少可编程延迟线路120的延迟,从而可编程延迟线路120的对应延迟匹配于目标值。
[0045] 在校准模式之后,延迟监控电路118可以进入测量模式。在测量模式期间,可以去激活反馈回路124,从而不将来自反馈回路的信号发送回到配置寄存器。以此方式,在测量模式期间不调整可编程延迟线路120的延迟。此外,在测量模式期间,反馈回路124的评估电路可以用于测量可编程延迟线路120的延迟,并且比较测量的延迟与阈值延迟,以确定是否发起对策(countermeasure)来避免时序违规。对策可以包括减少时钟频率或者停止时钟达到指定的循环数量。在说明性实施例中,在测量模式期间,反馈回路124的评估电路基于TDC 122的输出信号测量可编程延迟线路120的延迟。评估电路于是将可编程延迟线路120的延迟与阈值进行比较。阈值可以表示在时序违规出现之前处理电路116的特定路径的最大延迟。当可编程延迟线路120的延迟满足以及/或者超过阈值时,反馈回路124的评估电路提供可以触发适当的对策的警告或警报信号。
[0046] 图2是包括时间到数字转换器和反馈回路的延迟监控电路200的示意图。延迟监控电路200包括发射触发器202。发射触发器202可以是D触发器,如图2所示。发射触发器202可以接收输入DIN以及时钟信号CLK。输入DIN可以是0到1转变,以将发射触发器202的状态从“0”改变为“1”。发射触发器202可以将表示DIN的0到1转变的信号QIN提供给可编程延迟线路204。可以在第一上升或下降时钟边缘将信号QIN发送到可编程延迟线路204。可编程延迟线路204可以用于估计集成电路(例如图1的集成电路114)的临界路径的延迟的至少一部分。
[0047] 可编程延迟线路204耦合到配置单元206。虽然图2示出耦合到配置单元206的可编程延迟线路204,但可以包括作为可编程延迟线路204的一部分的配置单元206。配置单元206将配置设置提供给可编程延迟线路204,以设置可编程延迟线路204的延迟。配置单元
206可以包括用于存储配置设置的逻辑和寄存器。此外,配置单元206接收信号“模式”。“模式”信号可以指定延迟监控电路200将要操作在校准模式或测量模式下。当集成电路的频率和功率管理单元标识时钟频率和/或供给电压的改变时,可以将“模式”信号发送到配置单元206,以指定延迟监控电路200将要操作在校准模式下。
[0048] 可编程延迟线路204还耦合到时间到数字转换器(TDC)208。TDC 208可以测量可编程延迟线路204的延迟。TDC 208可以包括一个或多个非反相延迟元件,例如串行耦合的延迟元件210-222。在替换实施例中,延迟元件210-222可以包括反相延迟元件。虽然图2示出八个延迟元件,但TDC 208可以包括任何数量的延迟元件。延迟元件的数量和延迟元件的大小可以取决于与集成电路的一个或多个路径关联的延迟的长度和/或用于量化可编程延迟线路204的延迟的指定分辨率。在某些情况下,延迟元件210-222中的每一个可以表示10ps至100ps之间的延迟。一个或多个非反相延迟元件210-222可以包括运算放大器缓冲器、或其组合。非反相延迟元件210-222中的每一个耦合到相应采样触发器224-238。
[0049] 在信号QIN传播通过可编程延迟线路204之后,将与每一延迟元件210关联的信号提供给对应采样触发器224-238。例如,恰在信号QIN到达延迟元件210之前,信号D7传播到采样触发器238。此外,随着信号QIN传播通过延迟元件,对应信号D6、D5、D4等被提供给它们的相应采样触发器236、234、232等。当信号QIN表示0到1转变时,输出信号D7-D0改变采样触发器224-238的状态(例如从“0”到“1”)。
[0050] 在引起信号QIN从发射触发器202发送到可编程延迟线路204的第一上升或下降时钟边缘之后,在第二上升或下降时钟边缘对采样触发器224-238中的每一个的状态进行采样。在说明性示例中,在第二上升或下降时钟边缘处,采样触发器224-228的状态可以是“0”,并且采样触发器230-238的状态可以是“1”。在第二上升或下降时钟边缘之前具有“1”的状态的最后采样触发器可以在本公开中被称为“前导“1”。因此,在该说明性示例中,采样触发器230的“1”将被称为前导“1”。
[0051] 评估电路240从采样触发器224-238接收输出信号。采样触发器224-238的输出信号可以指示可编程延迟线路204的延迟。例如,因为信号QIN能够在对触发器224-238的状态进行采样之前传播通过更多的延迟元件210-222,所以在第二上升或下降时钟边缘之前更大量的采样触发器224-238改变状态指示可编程延迟线路204的更短延迟。在另一示例中,因为信号QIN在第二上升或下降时钟边缘之前传播通过更少的延迟元件210-224,所以在第二上升或下降时钟边缘之前更小量的采样触发器改变状态指示可编程延迟线路204的更长延迟。
[0052] 评估电路240也可以接收指示延迟监控电路200是否操作在校准模式或测量模式的信号“模式”。在校准模式期间,评估电路240可以将采样触发器224-238的输出信号与目标值进行比较。例如,评估电路240可以将采样触发器224-238的前导“1”与目标前导“1”进行比较。评估电路240可以基于采样触发器224-228的输出信号与目标值的比较生成用于发送到配置单元206的输出信号,从而指示可编程延迟线路204的延迟应该增加或减少。为了说明,当可编程延迟线路204的延迟不同于目标延迟时,可以调整可编程延迟线路204的延迟,从而可编程延迟线路204的延迟匹配于目标延迟。以此方式,当与特定集成电路关联的条件改变(例如供给电压的改变或时钟频率的改变)时,评估电路240、配置单元206和可编程延迟线路204形成提供可编程延迟线路204的自校准的反馈回路242。此外,反馈回路242、配置单元206和可编程延迟线路204可以包括将评估电路240的数字输出信号转换为可编程延迟线路204的时间延迟的数字到时间转换器。
[0053] 在测量模式期间,评估电路240可以将采样触发器224-238的输出信号与阈值进行比较,以确定关于集成电路的特定路径是否可以出现时序违规。例如,评估电路240可以将可编程延迟线路204的延迟与阈值保持延迟进行比较。可编程延迟线路204延迟与阈值延迟之间的差可以在本公开中被称为“松弛裕量”。在特定说明中,评估电路240可以将基于采样触发器224-238的输出信号的前导“1”与阈值前导“1”进行比较,并且TDC 208的前导“1”与阈值前导“1”之间的差是松弛裕量。评估电路240可以提供表示松弛裕量的输出信号SLACK。当可编程延迟线路204延迟大于阈值时,输出信号SLACK可以指示可能的时序违规。相应地,可以发起包括时钟频率的减缓或停止时钟达指定数量的循环的对策。
[0054] 图3是延迟监控电路(例如图2的延迟监控电路200)的可编程延迟线路204的示意图。可编程延迟线路204包括多个非反相延迟级302-316。在替换实施例中,延迟级302-316可以包括反相延迟元件。非反相延迟级302-316可以包括一个或多个缓冲器、运算放大器、或其组合。在某些情况下,延迟级302-316中的每一个具有近似相同的延迟,例如延迟t0。延迟t0可以指示信号“输入”传播通过延迟级302-316之一所需的时间量。可编程延迟线路204的延迟级的数量指定可编程延迟线路204可以产生的延迟的量。因而,延迟级302-316可以用于产生范围从t0至(8xt0)的延迟。延迟级302-316的延迟可以取决于相应延迟级的大小(例如延迟级的组件的数量和/或相应延迟级的配置)。虽然图3示出八个延迟级,但取决于估计集成电路的路径的延迟所需的延迟的量,可编程延迟线路204中可以包括任何数量的延迟级。
[0055] 可编程延迟线路204还包括第一复用器318、第二复用器320和第三复用器322。复用器318-322可以具有多个输入。例如,第一复用器318和第二复用器320具有四个输入,并且第三复用器322具有两个输入。具体地说,第一复用器318从延迟级302-308接收信号,第二复用器320从延迟级310-316接收信号,并且第三复用器322从第一复用器318和第二复用器320接收信号。复用器318-322可以具有与图3所示的输入不同数量的输入。
[0056] 可编程延迟线路204可以包括配置寄存器324。配置寄存器324存储指定由可编程延迟线路204提供的延迟的可编程延迟线路204的数字编码配置设置。延迟可以表示第一延迟元件302的输入与第三复用器322的输出之间的时间。因为经由延迟级302-316将配置寄存器324的数字编码内容变换为可编程延迟,所以延迟级302-316与配置寄存器324的组合可以操作为数字到时间转换器。
[0057] 配置寄存器324基于配置寄存器324中存储的配置设置将输入信号提供给复用器318-322。例如,来自配置寄存器324的输入信号可以指定需要具有t0x2的值的延迟。因而,到复用器318-322的信号可以指定被提供为可编程延迟线路204的输出的信号“输入”行进通过延迟级302和304所需的时间量。在另一示例中,来自配置寄存器324的输入信号可以指定需要具有t0x6的值的延迟。相应地,到复用器318-322的信号可以指定将信号“输入”行进通过延迟级302-308所需的时间量提供给第一复用器318,并且将信号“输入”行进通过延迟级310和312所需的时间量提供给第二复用器320。第一复用器318和第二复用器320于是可以将它们的输出提供给第三复用器322,以产生指定的可编程延迟线路204的延迟作为输出信号。
[0058] 可以在可编程延迟线路324的校准模式期间基于从算术逻辑单元(ALU)326接收到的信号修改由配置寄存器324提供给复用器318-322的数字输入信号的值。在校准模式期间,逻辑328接收指示校准模式的发起的信号“模式”。逻辑328还基于信号CLK将本地时钟信号提供给配置寄存器324。具体地说,当逻辑328接收指示可编程延迟线路204的校准模式的“模式”信号时,逻辑328将本地时钟信号传送到配置寄存器324,以促进改变配置寄存器324的内容。此外,响应于接收“重置”信号,可以将配置寄存器324的设置重置为默认设置。
[0059] ALU 326从评估电路(例如图2的评估电路240)接收信号,以更新可编程延迟线路204的延迟。例如,当将要基于从评估电路接收到的信号增加可编程延迟线路204的延迟时,配置寄存器324可以将信号提供给复用器318-322,以提供增加的延迟。也就是说,当提供可编程延迟线路204的输出时,考虑信号“输入”花费于传播通过更多延迟级302-316的时间。
在另一示例中,当基于从评估电路接收到的信号将要减少可编程延迟线路204的延迟时,配置寄存器324可以将信号提供给复用器318-322,以产生减少的延迟。也就是说,当提供可编程延迟线路204的输出时,考虑信号“输入”花费于传播通过更少延迟级302-316的时间。
[0060] 图4是延迟监控电路的反馈回路的评估电路240的第一实施例的示意图。评估电路240包括温度计编码到二进制编码转换器402。温度计编码到二进制编码转换器402从时间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。温度计编码到二进制编码转换器402可以包括用于根据信号Q0-Q7产生二进制输出信号QBIN的逻辑电路的布置。输出信号QBIN指示延迟监控电路(例如图2和图3的可编程延迟线路204)的可编程延迟线路的延迟。
[0061] 在延迟监控电路的校准模式期间将温度计编码到二进制编码转换器402的输出信号QBIN提供给目标算术逻辑单元404。目标算术逻辑单元404将信号QBIN的值与从校准目标寄存器406接收到的信号TARGET的值进行比较。信号TARGET的值表示可编程延迟线路的延迟的目标值。将用于生成TARGET信号的校准目标数据存储在校准目标寄存器406中。
[0062] 可编程延迟线路的延迟的目标值可以基于集成电路的处理条件,其中,可编程延迟线路模仿集成电路的一个或多个路径的延迟。处理条件可以包括在给定时间提供给集成电路的供给电压和/或时钟频率。此外,处理条件可以取决于经由集成电路正执行的应用。
[0063] 目标算术逻辑单元404的输出信号DELAY指示可编程延迟线路的延迟与信号TARGET指定的可编程延迟线路的延迟的目标值之间的任何差。将目标ALU 404的DELAY信号馈送回到延迟监控电路的配置单元(例如图2的配置单元206)。DELAY信号可以由配置单元用于调整可编程延迟线路的延迟。例如,目标ALU 404的DELAY信号可以指示可编程延迟线路的延迟大于目标延迟。在该示例中,可编程延迟线路的延迟可以减少,以匹配目标值。在另一示例中,DELAY信号可以指示可编程延迟线路的延迟小于目标延迟。因此,可编程延迟线路的延迟可以增加,以匹配目标值。
[0064] 目标ALU 404还接收指示延迟监控电路是处于校准模式还是处于测量模式的信号“模式”。当延迟监控电路处于校准模式时,目标ALU 404将输出信号DELAY提供给延迟监控电路的配置单元。当延迟监控电路处于测量时,去激活目标ALU 404。
[0065] 还将“模式”信号提供给阈值ALU 408。当延迟监控电路处于测量模式时,阈值ALU 408对信号QBIN的值表示的可编程延迟线路的延迟与从阈值寄存器410接收到的信号THRESH的值进行比较。THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集成电路的一个或多个路径的延迟。阈值ALU 408提供的输出信号SLACK指示可编程延迟线路的延迟与集成电路的一个或多个路径的延迟的阈值之间的任何差。当时序违规已经出现或者逼近时,可以将信号SLACK提供给发出警告或者发起对策的计算设备的软件模块、中央处理单元、或其他逻辑。例如,当信号SLACK小于特定值时,可以发起对策,例如停止时钟达到特定数量的循环,或者减少时钟频率。
[0066] 图5是延迟监控电路的反馈回路的评估电路的第二实施例的示意图。评估电路240包括温度计编码到二进制编码转换器502。温度计编码到二进制编码转换器502从时间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。温度计编码到二进制编码转换器502可以包括用于根据接收自时间到数字转换器的信号Q0-Q7产生二进制输出信号QBIN的逻辑电路的布置。二进制输出信号QBIN表示延迟监控电路的可编程延迟线路(例如图2的可编程延迟线路204)的延迟。
[0067] 将温度计编码到二进制编码转换器502的输出信号QBIN提供给算术逻辑单元(ALU)504。ALU 504根据延迟监控电路的模式对信号QBIN与来自复用器506的特定输出信号进行比较。提供给ALU 504和复用器506的信号“模式”指示延迟监控电路是处于校准模式还是处于测量模式。
[0068] 在校准模式期间,算术逻辑单元504对信号QBIN的值与从校准目标寄存器508接收到的信号TARGET的值进行比较。算术逻辑单元504在校准模式期间提供输出信号DELAY。DELAY信号指示可编程延迟线路的延迟与信号TARGET指定的可编程延迟线路的延迟的目标值之间的任何差。将ALU 504的DELAY信号馈送回到延迟监控电路的配置单元(例如图2的配置单元206)。DELAY信号可以由配置单元用于调整可编程延迟线路的延迟。
[0069] 当延迟监控电路处于测量模式时,复用器506从阈值寄存器510接收信号THRESH。THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集成电路的一个或多个路径的延迟。复用器506将信号THRESH提供给ALU 504。ALU 504对信号QBIN的值表示的可编程延迟线路的延迟与THRESH信号的值进行比较。在测量模式期间由阈值ALU 504提供的输出信号SLACK指示可编程延迟线路的延迟与集成电路的一个或多个路径的延迟的阈值之间的任何差。当时序违规已经出现或者逼近时,可以将信号SLACK提供给发出警告或发起对策的计算设备的软件模块、中央处理单元、或其他逻辑。
[0070] 图6是延迟监控电路的反馈回路的评估电路的第三实施例的示意图。评估电路240包括温度计编码到二进制编码转换器602。温度计编码到二进制编码转换器602从时间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。温度计编码到二进制编码转换器602可以包括用于根据接收自时间到数字转换器的信号Q0-Q7产生二进制输出信号QBIN的逻辑电路的布置。二进制输出信号QBIN表示延迟监控电路的可编程延迟线路(例如图2的可编程延迟线路204)的延迟。
[0071] 将温度计编码到二进制编码转换器602的输出信号QBIN提供给算术逻辑单元(ALU)604。ALU 604根据延迟监控电路的模式对信号QBIN与来自复用器606的输出信号进行比较。提供给ALU 604和复用器606的信号“模式”指示延迟监控电路是处于校准模式还是处于测量模式。
[0072] 在校准模式期间,算术逻辑单元604对信号QBIN的值与从校准目标寄存器608接收到的信号TARGET的值进行比较。算术逻辑单元604在校准模式期间提供输出信号DELAY。DELAY信号指示可编程延迟线路的延迟与信号TARGET指定的可编程延迟线路的延迟的目标值之间的任何差。将ALU 604的DELAY信号馈送回到延迟监控电路的配置单元(例如图2的配置单元206)。DELAY信号可以由配置单元用于调整可编程延迟线路的延迟。
[0073] 当延迟监控电路处于测量模式时,复用器606从阈值寄存器610接收信号THRESH。THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集成电路的一个或多个路径的延迟。复用器606将信号THRESH提供给ALU 604。ALU 604对信号QBIN的值表示的可编程延迟线路的延迟与THRESH信号的值进行比较。在测量模式期间阈值ALU 604提供的输出信号SLACK指示可编程延迟线路的延迟与针对集成电路的一个或多个路径的延迟的阈值之间的任何差。当时序违规已经出现或者逼近时,可以将信号SLACK提供给发出警告或发起对策的计算设备的软件模块、中央处理单元、或其他逻辑。
[0074] 评估电路240还包括临界状态检测器612和用于将阈值的温度计编码版本提供给临界状态检测器612的二进制到温度计编码转换器614。在某些情况下,评估电路240可以使用临界状态检测器612来确定集成电路的路径是否处于临界状态,而不是使用复用器606和ALU 604。例如,因为快速供给电压和/或时钟频率改变,所以当需要快速评估来标识集成电路的路径是否处于临界状态时,评估电路240可以使用临界状态检测器612。在某些实施例中,当集成电路运作为计算设备的微处理器时,快速供给电压和/或时钟频率改变可以出现。
[0075] 临界状态检测器612对信号Q0-Q7表示的可编程延迟线路的延迟的温度计编码值与阈值的温度计编码值进行比较。基于可编程延迟线路的延迟的温度计编码值与阈值之间的比较,临界状态检测器612提供指示可编程延迟线路的延迟是大于阈值还是小于阈值的二进制输出信号“状态”。例如,当可编程延迟线路的延迟小于阈值时,于是信号“状态”可以指示时序违规已经出现或者逼近。当可编程延迟线路的延迟大于阈值时,于是“状态”信号可以指示时序违规不可能出现或者不逼近。“状态”信号可以充当警报信号,以发起用于抵消或者防止集成电路的任何时序违规的对策。因而,通过将可编程延迟线路延迟的温度计编码值与阈值直接进行比较来提供二进制输出信号,临界状态检测器612可以通过避免ALU 604和复用器606的更复杂的计算来更快速地提供关于时序违规是逼近还是正出现的指示。
[0076] 集成电路上的中央处理单元(例如图1的处理器104)可以进一步处理图4-图6所示的评估电路240的第一实施例、第二实施例或第三实施例计算的SLACK输出信号。SLACK信号的后处理可以包括:组合多个延迟监控电路的多个SLACK信号以标识集成电路的多个路径的可能时序违规。中央处理单元可以生成总芯片状态信号,并且响应于从一个或多个延迟监控电路接收到的SLACK信号发起对策。中央处理单元也可以收集关于特定SLACK值的出现频率的统计信息,并且计数并存储临界时序状态的数量。
[0077] 图7是其中在测量模式期间出现误差的延迟监控电路的评估电路的临界状态检测器612的逻辑图。图7示出由信号Q0-Q7的值表示的时间到数字转换器(例如图2的时间到数字转换器208)的输出信号的温度计编码版本。图7还示出由信号THRESH0-THRESH7的值表示的集成电路的一个或多个路径的延迟的阈值的温度计编码版本。
[0078] 信号Q0-Q7的值表示延迟监控电路的可编程延迟线路的延迟,其中,延迟监控电路用于模仿集成电路的一个或多个路径。可以通过时间到数字转换器的多个触发器的相应触发器(例如图2的触发器224-238)来产生输出信号Q0-Q7中的每一个。因而,信号Q0-Q7可以指示给定时钟循环内的对应触发器的状态的改变。可以基于具有值“1”的信号的数量估计集成电路的路径的延迟。在图7所示的示例中,示出延迟估计的长度从下至上的增加,从而具有值“1”的Q0-Q7将指示估计的最短延迟,并且具有值“0”的Q0-Q7将指示估计的最长延迟。在图7的特定示例中,由信号Q7-Q4的值“1”指示集成电路的路径的延迟估计的长度。
[0079] 此外,信号THRESH0-THRESH7的值指示集成电路的路径的阈值延迟。还示出阈值延迟的长度从下至上的增加,从而具有值“0”的THRESH0-THRESH7将指示估计的最长延迟,并且具有值“1”的THRESH7-THRESH0将指示估计的最短延迟。在图7的特定示例中,信号THRESH7-THRESH3的值“1”指示集成电路的路径的阈值延迟的长度。
[0080] 将输出信号Q0-Q7中的每一个的值发送到XOR逻辑,然后发送到AND逻辑。AND逻辑还接收信号THRESH0-THRESH7。XOR逻辑的输出指示两个连续信号之间的差。例如,XOR逻辑的“0”的输出指示两个连续信号的相同值,例如信号Q1和Q2的“0”值或信号Q4和Q5的值“1”。XOR逻辑的“1”的输出指示两个连续信号的值之间的差。例如,因为信号Q3的值是“0”并且信号Q4的值是“1”,所以接收Q3和Q4的信号的值的XOR逻辑产生“1”的输出。
[0081] 当来自XOR逻辑的输入值和信号THRESH0-THRESH7的对应值二者都是“1”并且AND逻辑产生对于输入值的其它组合的“0”时,AND逻辑产生“1”。当集成电路路径的估计的延迟的长度小于阈值延迟时,AND逻辑的每一实例的输出是“0”。然而,当集成电路路径的估计的延迟的长度超过阈值延迟时,AND逻辑的一个实例的输出将是“1”。将AND逻辑的每一实例的输出发送到OR逻辑。当AND逻辑的一个实例的输出信号是“1”时,OR逻辑的输出将也是指示误差的“1”。当AND逻辑的每一实例的输出信号是“0”时,OR逻辑的输出将是指示没有误差出现的“0”。
[0082] 如图7所示,关于估计的集成电路路径延迟和阈值延迟检测差。具体地说,集成电路路径的估计的延迟大于Q3的“0”与THRESH3的“1”之间的失配所指示的阈值延迟。因而,AND逻辑的阴影的实例的输出是“1”,在OR逻辑处产生“1”的输出。因此,临界状态检测器612提供的二进制信号“状态”是指示关于被评估的特定集成电路路径误差正出现或者逼近的警报信号。
[0083] 图8是其中在测量模式期间没有检测到误差的延迟监控电路的评估电路的临界状态检测器612的逻辑图。图8中的XOR和AND逻辑的布置与图7的XOR和AND逻辑的布置相似。此外,图8的临界状态检测器612还从时间到数字转换器接收指示集成电路的路径的延迟的估计长度的信号Q0-Q7的值以及指示集成电路路径的延迟的阈值的信号THRESH0-THRESH7的值。在图8的特定示例中,信号Q7-Q2的值“1”指示集成电路的路径的延迟估计的长度,并且信号THRESH7-THRESH3的值“1”指示集成电路的路径的阈值延迟的长度。因此,集成电路的路径的估计的延迟长度小于由Q2的“1”与THRESH2的“0”之间的失配指示的路径的延迟的阈值。因而,AND逻辑的每一实例的值是“0”,并且OR逻辑的值是“0”。当OR逻辑的值是“0”时,临界状态检测器612的“状态”信号指示关于被评估的特定集成电路路径延迟没有出现误差。
[0084] 可以在中央处理单元处收集经由图6-图8所示的临界状态检测器产生的“状态”信号。在特定实施例中,如果将一个或多个延迟监控电路放置在集成电路上以测量在不同功能块上的不同芯片位置处的延迟变化,则可以在中央处理单元中组合多个临界状态检测器的“状态”信号。中央处理单元可以基于从集成电路的多个临界状态检测器接收到的信号生成总芯片状态信号以及/或者发起对策。中央处理单元可以连接到集成电路的功率管理单元和/或相回路(PLL),以发起对策。对策可以包括:改变供给电压,以及/或者减少时钟频率。另一对策可以包括:发起本地时钟选通(gating),以停止在集成电路上的特定功能块处的时钟。中央处理单元也可以包括计数单元,以计数并且存储“状态”信号指示的临界状态的数量,并且生成关于“状态”信号的值的出现频率的统计信息。
[0085] 图9是示出测量延迟监控电路的可编程延迟线路的延迟的示例的时序图。图9示出在第一上升时钟边缘EDGE1发射输入信号,例如从发送触发器到可编程延迟线路的0到1转变。在特定示例中,输入信号可以是从发射触发器202提供给可编程延迟线路204的图2的QIN。在替换实施例中,可以在第一下降时钟边缘处发射输入信号。
[0086] 可编程延迟线路的延迟是在可编程延迟线路处接收输入信号到耦合到与可编程延迟线路耦合的多个延迟元件中的第一延迟元件的接收触发器的状态的改变之间的逝去的时间量。多个延迟元件可以每一个耦合到对应接收触发器,并且多个延迟元件和接收触发器可以用于测量可编程延迟线路的延迟。在特定示例中,多个延迟元件可以串联耦合,例如图2的延迟元件210-222,并且耦合到对应接收触发器(例如图2的采样触发器224-238)。
[0087] 在图9中,信号D7-D4指示提供给相应延迟元件的输入信号。例如,D7表示提供给第一延迟元件和对应接收触发器(例如图2的210和238)的输入信号,并且D6表示提供给第二延迟元件和对应接收触发器(例如图2的212和236)的输入信号。此外,虚线Q7-Q4指示在接收到输入信号时对应接收触发器的状态改变。为了说明,当输入信号是0到1转变时,当接收到输入信号时,接收触发器的状态可以从0到1改变。TDC级延迟指示输入信号从一个延迟元件传播到后面延迟元件所需的时间量。
[0088] 在第二上升时钟边缘EDGE2对接收触发器的状态进行采样。在替换实施例中,可以在第二下降时钟边缘对接收触发器的状态进行采样。在图9所示示例中,接收信号D7、D6和D5的接收触发器在EDGE2之前改变状态,但接收信号D4的接收触发器在EDGE2之前不改变状态。在可编程延迟线路的校准模式期间,改变状态的接收触发器的数量可以用于测量可编程延迟线路的延迟。例如,可编程延迟线路延迟越长,在EDGE2之前改变状态的接收触发器就越少。此外,可编程延迟线路延迟越短,在EDGE2之前改变状态的接收触发器就越多。因而,可以在单个时钟循环中测量可编程延迟线路的延迟。
[0089] 可以将在EDGE2之前改变状态的接收触发器的数量与指示可编程延迟线路的目标延迟的目标值进行比较。如果在EDGE2之前触发的触发器的数量小于目标值,则可以减少可编程延迟线路的延迟,从而在EDGE2之前触发更多接收触发器,以匹配目标值。此外,当在EDGE2之前触发的触发器的数量大于目标值时,可以增加可编程延迟线路的延迟,从而在EDGE2之前更少的接收触发器改变状态,以匹配目标值。
[0090] 图10A示出关于指示可编程延迟线路的延迟将要在校准模式期间增加的输出信号的目标值的时间到数字转换器的采样触发器的输出信号的值。图10B示出关于指示可编程延迟线路的延迟将要在校准模式期间减少的输出信号的目标值的时间到数字转换器的采样触发器的输出信号的值。用于估计集成电路路径的延迟的延迟监控电路(例如图2的延迟监控电路200)中可以包括可编程延迟线路和时间到数字转换器。当对采样触发器的状态进行采样时(例如在给定的上升或下降时钟边缘期间),通过采样时间到数字转换器的触发器产生的输出信号Q0-Q7可以表示可编程延迟线路的延迟。采样触发器中的每一个的状态取决于在采样触发器的状态的采样之前相应采样触发器是否已经接收0到1转变输入信号。
[0091] 在图10A和图10B的说明性示例中,信号Q7的值表示在输入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的第一采样触发器的状态。信号Q0的值表示在输入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的最后采样触发器的状态。因而,随着信号Q7-Q0的值从下至上从“0”改变为“1”,可编程延迟线路的延迟的长度减少。例如,因为在对触发器的状态进行采样之前,所有采样触发器已能够改变状态,所以对于信号Q0-Q7中的每一个最短可编程延迟线路延迟将被表示为值“1”。此外,因为在对触发器的状态进行采样之前,没有采样触发器已能够改变状态,所以对于信号Q0-Q7中的每一个最长可编程延迟线路延迟将被表示为值“0”。
[0092] 输出信号Q7可以指示故障点。因而,与触发产生信号Q7的采样触发器关联的可编程延迟线路的延迟表示不引起时序违规的集成电路路径的最短延迟。因此,当信号Q7的值是“0”时,关于集成电路路径可以出现或者逼近时序违规,并且当信号Q7的值是“1”时,可以不出现集成电路路径的时序违规。
[0093] 图10A和图10B的信号Q0-Q7的值的第一列是在延迟监控电路的校准模式期间测量的信号Q0-Q7的值。此外,图10A和图10B的信号Q0-Q7的值的第二列是信号Q0-Q7的目标值。信号Q0-Q7的目标值表示特定集成电路路径的目标延迟。
[0094] 图10A和图10B的“前导“1””是最后采样触发器的输出信号,以在对采样触发器的状态进行采样之前改变状态。输出信号Q1表示图10A的前导“1”。此外,信号Q6表示图10B的前导“1”。图10A和图10B的“目标前导“1””表示将要在对采样触发器的状态进行采样之前改变状态的目标采样触发器。目标前导“1”与故障点之间的差被称为“松弛裕量”。
[0095] 在图10A中,在校准模式期间采样的信号Q0-Q7的值不同于指示应该调整可编程延迟线路的延迟以更精确地估计集成电路路径的延迟的信号Q0-Q7的目标值。具体地说,由于校准模式输出的前导“1”在Q1处出现,并且目标前导“1”位于Q3处,因此可编程延迟线路延迟太短。相应地,可以增加可编程延迟线路的延迟,以便在位置Q3处产生前导“1”,以匹配前导“1”目标。
[0096] 在图10B中,在校准模式期间采样的信号Q0-Q7的值也不同于指示应该调整可编程延迟线路的延迟以更精确地估计集成电路路径的延迟的信号Q0-Q7的目标值。具体地说,由于校准模式输出的前导“1”在Q6处出现,并且目标前导“1”在Q3处出现,因此可编程延迟线路的延迟太长。相应地,可以减少可编程延迟线路的延迟,以在Q3处产生前导“1”,以匹配前导“1”目标。
[0097] 图11示出在测量模式期间用于校准的可编程延迟线路并且在四个不同时间 时间I到 时间IV处的延迟监控电路的采样触发器的输出信号。延迟监控电路的可编程延迟线路可以估计集成电路的一个或多个路径的延迟。
[0098] 在图11的说明性示例中,信号Q7的值表示在输入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的第一采样触发器的状态。信号Q0的值表示在输入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的最后采样触发器的状态。输出信号Q7可以指示故障点。因而,与触发产生信号Q7的采样触发器关联的可编程延迟线路的延迟表示不产生时序违规的集成电路路径的最长延迟。“松弛裕量”指示用于在对采样触发器的状态进行采样之前接收0到1转变输入信号的最后采样触发器与故障点之间的差。
[0099] 当已经校准延迟监控电路的可编程延迟线路时,图11的第一列包括延迟监控电路的时间到数字转换器的采样触发器的输出信号的值。在 时间I,对采样触发器的状态进行采样,并且图11的第二列示出采样触发器的输出信号的值。输出信号Q0-Q7的值指示松弛裕量在 时间I处正减少。因而,被监控的集成电路路径的延迟可以是增加的。
[0100] 在 时间II,对采样触发器的状态进行采样,并且图11的第三列示出采样触发器的输出信号的值。在 时间II的输出信号Q0-Q7的值指示松弛裕量中的进一步减少。图11的第三列所示的松弛裕量可以指示因为集成电路路径的延迟的连续增加所以被监控的集成电路路径的状态是临界的。
[0101] 在 时间III,对采样触发器的状态进行采样,并且图11的第四列示出采样触发器的输出信号的值。在 时间III的输出信号Q0-Q7的值示出已经超过松弛裕量,并且因为集成电路路径的延迟太长并且已经超过时钟周期所以时序违规关于被监控的集成电路路径已经出现或者逼近。
[0102] 在 时间IV,对采样触发器的状态进行采样,并且图11的第五列示出采样触发器的输出信号的值。在 时间IV的输出信号Q0-Q7的值示出松弛裕量已经增加,并且被监控的集成电路路径不处于临界状态。在某些情况下,因为提供给被监控的集成电路路径的供给电压已经能够恢复并且集成电路路径的延迟已经减少,所以松弛裕量可能已经增加。
[0103] 图12是校准延迟监控电路的延迟的方法1200的流程图。以下描述特定示例性方法。然而,应理解,取决于情况,无需按描述的顺序执行,并且可以修改,以及/或者可以完全省略特定动作。
[0104] 在1202,方法1200包括:激活集成电路的延迟监控电路的校准模式。延迟监控电路可以估计与集成电路的一个或多个路径关联的延迟,以标识可能的时序违规,并且触发适当的对策。具体地说,延迟监控电路的可编程延迟线路可以模仿集成电路的一个或多个路径的延迟。
[0105] 归因于集成电路执行的处理所需的时钟频率和/或供给电压的改变,可以激活校准模式。例如,集成电路可以从执行需要时钟频率和供给电压设置的一个集合的第一应用的处理转变到执行需要时钟频率和供给电压设置的不同集合的第二应用的处理。随着时钟频率和/或供给电压需求改变,与集成电路的特定路径关联的延迟也可以改变。因此,可以需要调整可编程延迟线路的设置,以更精确地估计与被监控的(一个或多个)集成电路路径关联的延迟。
[0106] 在1204,方法1200包括:测量延迟监控电路的可编程延迟线路的延迟。耦合到可编程延迟线路的时间到数字转换器可以测量可编程延迟线路的延迟。时间到数字转换器可以包括每一个都耦合到相应采样触发器的多个延迟元件。在说明性示例中,多个延迟元件可以串联耦合,例如图2的延迟元件210-222,并且耦合到对应接收触发器(例如图2的采样触发器224-238)。
[0107] 时间到数字转换器可以基于采样触发器的输出信号测量可编程延迟线路的延迟。在说明性示例中,可以在第一上升或下降时钟边缘将0到1转变输入信号提供给可编程延迟线路,并且可以在第二上升或下降时钟边缘对采样触发器的状态进行采样。在第二上升或下降时钟边缘之前改变状态的采样触发器的数量指示可编程延迟线路的延迟。例如,当在第二上升或下降时钟边缘之前较大数量的采样触发器改变状态时,可编程延迟线路延迟比当在第二上升或下降时钟边缘之前较小数量的采样触发器改变状态时更短。
[0108] 在1206,方法1200包括:对可编程延迟线路的延迟与目标值进行比较。目标值可以表示被可编程延迟线路模仿的集成电路路径的延迟的特定值。
[0109] 在1208,方法1200包括:确定是否调整可编程延迟线路的延迟。当可编程延迟线路的延迟不同于目标值时,于是可以调整可编程延迟线路的延迟。例如,当可编程延迟线路的延迟太长时,延迟监控电路的评估电路可以将控制指定应该减少可编程延迟线路的延迟的可编程延迟线路的延迟的反馈信号发送到配置寄存器。此外,当可编程延迟线路的延迟太短时,评估电路的反馈信号可以指定将要增加可编程延迟线路的延迟。
[0110] 在1210,方法1200包括:激活集成电路的延迟监控电路的测量模式。在已经校准可编程延迟线路的延迟之后,可以激活延迟监控电路的测量模式。在测量模式期间,可以测量可编程延迟线路的延迟,以提供集成电路的路径的延迟的实时估计。因而,可以使用可编程延迟线路的延迟来确定集成电路路径的延迟是否接近临界值。例如,当可编程延迟线路的延迟达到等于或大于阈值的特定值时,集成电路路径的延迟可以引起时序违规,或者时序违规可以是逼近的。当可编程延迟线路的延迟指示集成电路路径的延迟接近临界值时,延迟监控电路可以提供信号,以发起对策,以便避免或者改正时序违规。
[0111] 为了本发明和以下权利要求,术语“耦合”和“连接”已经用于描述各个元件如何对接。这样描述的各个元件的对接可以是直接或间接的。虽然已经通过专用于结构特征和/或方法动作的语言描述了主题内容,但应理解,所附权利要求中限定的主题内容并非一定受限于所描述的具体特征或动作。而是,作为实施权利要求的优选形式而公开了特定特征和动作。可以分离地实施或者可以组合在本公开中描述的具体特征和动作以及这些具体特征和动作的变形
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈