片上自校准延迟监控电路的制作方法

文档序号:7520946阅读:97来源:国知局
专利名称:片上自校准延迟监控电路的制作方法
片上自校准延迟监控电路
背景技术
关于集成电路路径延迟的信息可以用于指定适当的供给电压设置,以保存能量, 同时仍然提供足够的供给电压,以满足性能需求。随着金属氧化物半导体(MOS)晶体管 的大小减少,集成电路路径的延迟以及时钟频率已经变得对供给电压和温度的瞬时变化 更敏感。MOS晶体管的大小的减少还导致了提供给集成电路的供给电压的减少。例如,对 于32/28nm互补金属氧化物半导体(CMOS)技术节点,供给电压Vdd可以是大约IV,而对于 22/20nm CMOS技术节点,Vdd可以是大约0. 9V。典型地由供给电压调节器提供集成电路的 供给电压,可以在与集成电路相同的管芯上或分离的管芯上集成所述供给电压调节器。归因于计算设备的子系统的开/关循环、时钟频率改变以及工作量改变(例如使 用集成电路所执行的应用的改变),集成电路所需的供给电压可以改变。这些类型的供给电 压改变意图在于优化集成电路的功率耗散。通常由在集成电路上执行的操作系统发起的供 给电压的期望改变已知为动态电压缩放或自适应电压缩放。通过将时钟频率适用于特定应 用的实际时变性能需求,操作系统发起的供给电压改变可以优化集成电路的能量耗散。集成电路的总瞬时电流变化也可以引起供给电压改变。由于总电流变化转变为管 芯上功率供给电压的总变化,因此这些不期望的总电流变化可以被称为顶一降。为了说 明,由电流的总变化△ I与将电源电压调节器连接到集成电路的电源管脚的所有导线之和 的总电阻Rsum的乘积近似给出供给电压变化Δν。归因于总瞬时电流变化的供给电压改变 可以高达标称指定供给电压的20%。随着集成电路的供给电压减少,对供给电压的变化的延迟灵敏度会增加。例如,集 成电路所需的供给电压的不期望的改变可以比供给电压调节器可以将供给电压适用于该 改变而更快地出现。换句话说,供给电压调节器的瞬时响应可以比片上顶降事件的时间尺 度更慢。因而,集成电路所需的供给电压可能不容易获得,从而引起集成电路执行的处理的 延迟。此外,因为供给电压调节器不能够跟上集成电路所需的供给电压的改变,所以可能引 入测量集成电路路径的延迟的不确定性。测量集成电路路径的延迟的不确定性可能导致难以确定芯片的状态是否为临界 (例如,时序违规正出现还是逼近)。可以将时序违规定义为这样的状态集成电路的速度临 界路径的延迟超过集成电路的时钟周期。时序违规可以导致集成电路的临时或恒久故障。在特定示例中,包括由具有大约10-50 CMOS逻辑级的组合逻辑分离的时钟控制 的触发器(flip-flop)或寄存器的管道式集成电路的速度临界路径的延迟可以具有若干分 量。为了说明,管道式集成电路的速度临界路径的延迟可以包括第一数据发射触发器的时 钟对输出延迟、组合逻辑的延迟、第二数据发射触发器的设置时间、以及用于覆盖时钟分布 的非理想性(例如时钟偏斜和抖动)的时序裕量。管道式集成电路的这些时序参数的任何空 间和/或时间变化可以产生时序违规。在本公开中,时钟偏斜可以包括归因于时钟分布电 路中的不平衡而导致的在不同触发器处的时钟边缘的到达时间的空间变化,并且时钟抖动 可以包括在不同触发器处的时钟边缘的到达时间的瞬时变化。不期望的温度变化也可以生成集成电路中的时序违规。归因于集成电路的功率耗散,硅衬底的发热也可以导致这些温度变化。也可以通过将附加功率耗散集成电路放置在 与特定集成电路相同的印刷电路板上,或者将附加功率耗散集成电路和特定集成电路放置 在一个封装内来产生温度变化,从而附加功率耗散集成电路所生成的热量扩散到特定集成 电路,并且增加温度。温度变化可以出现在比不期望的电压变化更慢得多的时间尺度上。例 如,温度变化在若干毫秒至几秒之间变化,而不期望的供给电压变化出现在100皮秒至大 约10毫秒之间。在CMOS技术中,温度和供给电压变化二者皆可以改变MOS晶体管的速度。例如, 在32/28nm CMOS技术中的大于1. IV的供给电压处,增加温度减少了 MOS晶体管的驱动电 流,并且因此减少了 CMOS电路的速度。在另一示例中,在32/28nm CMOS技术中的小于0. 9V 的供给电压处,增加温度增加了 MOS晶体管的驱动电流,并且因此增加了 CMOS电路的速度。 在CMOS电路设计的设计阶段期间,温度和供给电压变化的交互是在先不完全已知的。因 此,可以将安全性裕量添加到目标电路速度。此外,为了为大量可能的温度和供给电压状态 提供集成电路的无误差或基本上无误差功能性,在设计阶段期间可以执行假设独特供给电 压和温度操作点的仿真。


参照附图阐述详细的描述。在附图中,参考标号的最左边(一个或多个)数字标识 出参考标号首先出现的图。在描述和附图中在不同实例中使用相同参考标号可以指示相似 或相同的项。图1是包括具有带有延迟监控电路的集成电路的计算设备的系统的示意图。图2是包括时间到数字转换器和反馈回路的延迟监控电路的示意图。图3是延迟监控电路的可编程延迟线路的示意图。图4是延迟监控电路的反馈回路的评估电路的第一实施例的示意图。图5是延迟监控电路的反馈回路的评估电路的第二实施例的示意图。图6是延迟监控电路的反馈回路的评估电路的第三实施例的示意图。图7是示出在测量模式期间出现的误差的延迟监控电路的评估电路的临界状态 检测器的逻辑图。图8是示出在测量模式期间未检测到误差的延迟监控电路的评估电路的临界状 态检测器的逻辑图。图9是示出测量延迟监控电路的可编程延迟线路的延迟的示例的时序图。图10A示出关于指示可编程延迟线路的延迟将要在校准模式期间增加的输出信 号的目标值的时间到数字转换器的采样触发器的输出信号的值。图10B示出关于指示可编程延迟线路的延迟将要在校准模式期间减少的输出信 号的目标值的时间到数字转换器的采样触发器的输出信号的值。图11示出在测量模式期间用于校准的可编程延迟线路并且在四个不同时间的时 间到数字转换器的采样触发器的输出信号。图12是校准延迟监控电路的延迟的方法的流程图。
具体实施例方式通过在特定条件下估计集成电路的路径的延迟,延迟监控电路可以用于最小化或 者避免通过对集成电路所需的供给电压的改变而产生的以及/或者通过集成电路的温度 变化而产生的时序违规。集成电路的路径可以包括连接到与数据接收主从触发器连接的某 个组合逻辑的数据发射主从触发器。主从触发器可以包括时钟存储元件,其仅在一个或两 个时钟边缘处改变状态。在某些情况下,延迟监控电路可以集成到集成电路的一个或多个临界路径。该延 迟监控电路可以在本公开中被称为“现场(in situ)”延迟监控电路。现场延迟监控电路可 以需要大量触发器(例如20,000-50, 000个)来代替正监控的路径的主从触发器布置。因 而,现场延迟监控触发器消耗比主从触发器布置更大的集成电路面积。此外,当数据被收集 以用于估计路径的延迟时,正监控的临界路径可能并非总是活动的。因此,对于路径的延迟 的估计的精度可能会变小。延迟监控电路也可以被定位成片外的。例如,在集成电路的测试期间,可以基于 测试条件来确定集成电路的配置设置。为了说明,可以将关于时钟操作和供给电压调节的 配置设置保存在集成电路的配置寄存器中,以用于在芯片的测试期间评估的多个供给电压 和时钟频率值。此外,可以基于在芯片被用于特定产品的同时出现的集成电路的操作变化 而确定配置设置。由于在产品的操作期间集成电路的实际响应是未知的,因此对于这些配 置设置的裕量一般大的。此外,在将集成电路置于计算设备中后,计算设备可以在内建自测 试(BIST)期间运行测试信号,以测量集成电路的路径的延迟,并且基于测量的延迟和配置 设置调整时钟操作和供给电压。然而,不相对集成电路的正常操作同时执行BIST,并且在 BIST期间标识的配置设置可以不对应于在集成电路的实际使用期间的条件。本公开描述片上自校准延迟监控电路。所述延迟监控电路可以包括位于片上的复 本(replica)电路,其估计集成电路的一个或多个路径的延迟。在特定实施例中,装置包括 集成电路,所述集成电路具有用于执行集成电路的一个或多个处理的处理电路;以及用 于估计处理电路的至少一个路径的延迟的延迟监控电路。延迟监控电路包括配置单元和耦 合到所述配置单元的可编程延迟线路。延迟监控电路还包括耦合到可编程延迟线路的时间 到数字转换器以及耦合到时间到数字转换器的反馈回路。反馈回路包括耦合到配置单元的 评估电路。评估电路可以将信号提供给配置单元,以修改可编程延迟线路的延迟。延迟监控电路可以在当集成电路所需的时钟频率和/或供给电压改变时发起的 校准模式期间操作。当操作系统独立地打开或者关闭集成电路上的若干独立工作块以提供 集成电路的某一整体功能时,也可以发起延迟监控电路的校准模式。具体地说,若干块可以 临时连接到并且断开自芯片上分布的本地电源。在说明性示例中,蜂窝基带集成电路可以 包括当根据全球移动通信系统(GSM)通信标准处理数据时打开的块、以及当根据码分多址 (CDMA)或高速分组访问(HSPA)通信标准处理数据时打开的附加块。集成电路上的连接和 断开电路块可以改变集成电路的整体电流消耗,这可以生成瞬时供给电压变化。在校准模 式期间,评估电路测量延迟监控电路的可编程延迟线路的延迟,并且与目标值进行比较。当 可编程延迟线路的延迟不同于目标值时,评估电路经由反馈回路将信号提供给配置单元, 以调整可编程延迟线路的延迟,从而满足目标值。通过使用片上自校准延迟监控电路,集成电路的延迟的测量可以与正常芯片操作同时出现。此外,实时专用时钟频率和供给电压值可以考虑延迟监控电路的配置设置,以便 更精确地提供集成电路的延迟的估计。此外,将延迟监控电路定位在片上但在临界路径外 部可以节省芯片面积,并且允许延迟监控电路用于估计多个临界路径的延迟。图1是包括具有带有延迟监控电路的集成电路的计算设备102的系统100的示意 图。计算设备102可以包括个人计算机、膝上计算机、笔记型计算机、个人数字助理(PDA)、 便携式游戏设备、无线通信设备(例如智能电话、移动手机等)、机顶盒、游戏控制台、便携式 音乐播放器、路由器、家用电器、个人物品(例如腕表、计算器等)、其它网络连接设备等。计 算设备102包括一个或多个处理器104和存储器106。计算设备102还包括电压调节器 108,其生成并且调整处理器104的电源电压。存储器106可以包括只读存储器(ROM)、随机存取存储器(RAM)、非易失性存储器、 硬盘、或其任何组合。此外,存储器106可以存储包括软件指令、固件或其组合的一个或多 个应用110。例如,应用110可以包括由处理器104可执行的软件指令,以执行计算设备102 的各种处理。在说明性实施例中,存储器106可以存储用于发送并且接收与电话呼叫有关的无 线信号(例如语音业务或控制信息)的应用。此外,存储器106可以存储用于请求并且接收 网站数据的应用(例如浏览器应用)、用于传送并且接收文本消息的应用、用于传送并且接 收图片或图像的应用、用于传送并且接收视频消息的应用、或其任何组合。此外,应用110 可以包括文字处理器应用、电子表格应用、电子邮件应用、操作系统、一个或多个游戏应用、 GPS应用、媒体回放应用等。计算设备102也可以包括耦合到处理器104的通信接口 112。通信接口 112可以 经由无线连接、有线连接或这二者传送以及/或者接收信号。例如,通信接口 112可以经由 包括在广域无线通信网络(例如GSM网络、全球移动电信系统(UMTS)网络、CDMA网络、HSPA 网络、通用分组无线电服务(GPRS)网络、GSM演进的增强型数据率(EDGE)网络、全球互通微 波存取(WiMAX)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、长期演进(LTE)网络、 WiMedia超宽带(UWB)网络或其任何组合)中的基站传送以及/或者接收信号。通信接口 112也可以经由通信卫星传送以及/或者接收无线信号,并且经由包括 在广域无线网络或无线局域网(例如蓝牙网络或电气电子工程师学会(IEEE) 802. 11协议 网络)中的无线接入点传送以及/或者接收无线信号。此外,通信接口 112可以经由手机 (例如蓝牙手机)传送以及/或者接收无线信号。处理器104包括集成电路114。在一个示例中,集成电路114可以是计算设备102 的中央处理单元。在另一示例中,集成电路114可以是用于对无线通信信号进行编码并且 解码的计算设备102的基带芯片。集成电路114包括处理电路116。处理电路116执行计 算设备102的处理。例如,处理电路116可以执行应用110的指令。处理电路116可以经由包括耦合到发送触发器和接收触发器的计算逻辑的多个 路径执行计算设备102的处理。发送触发器可以在第一上升或下降时钟边缘将数据提供给 计算逻辑,并且在第二上升或下降时钟边缘在接收触发器处对计算逻辑的输出进行采样。 每一路径的延迟可以包括来自发射触发器的延迟、来自采样触发器的延迟、来自计算逻辑 的延迟、以及附加延迟。附加延迟可以包括归因于时钟抖动和时钟偏斜的延迟。因为应用 110中的一个或多个所需的供给电压可能对于执行应用110的处理来说是不容易可得的,所以附加延迟也可以包括归因于供给电压变化的延迟。可以使用比归因于供给电压变化和 时钟抖动的延迟更高的精度来估计与发射触发器、计算逻辑和接收触发器关联的延迟。当 路径的总延迟超过时钟周期时,设置时序违规出现,并且在第二上升或下降时钟边缘处在 接收触发器中不能适当地存储数据并且对其进行采样,这可能导致计算误差。集成电路114还包括延迟监控电路118,用于估计处理电路116的路径的延迟。虽 然图1示出延迟监控电路118的单个实例,但集成电路114可以包括多个延迟监控电路。 延迟监控电路118可以估计处理电路116的路径的延迟,以使最小化或者消除因计算设备 102的供给电压和/或时钟频率的改变而导致的时序违规。例如,可以与特定时钟频率关联 而执行应用110中的每一个的指令,并且所述指令具有特定供给电压需求。因此,当处理器 104从执行第一应用110的指令(例如处理电话呼叫)改变为执行第二应用110的指令(例 如web浏览应用)时,供给电压或时钟频率可以基于特定应用110的时钟频率和供给电压需 求而改变。在另一示例中,当处理器104开始执行大于或小于正执行的应用的当前数量的 多个应用的处理时,供给电压和/或时钟频率改变会出现。时钟频率和/或供给电压的改变可以导致时序违规。为了说明,当处理电路114 所需的供给电压改变以用于执行应用Iio的处理时,集成电路114的电压调节器108可能 不能够根据改变而快速适用供给电压。因此,在提供适当的供给电压中的延迟可以增加,从 而特定路径的总延迟超过时钟周期。延迟监控电路118包括模仿处理电路116的路径的延迟的可编程延迟线路120。可 编程延迟线路120可以是包括多个延迟元件的数字到时间转换器。可编程延迟线路120的 输出信号与输入信号用于行进通过特定数量的延迟元件所需的时间量有关。输入信号花费 于传播通过可编程延迟线路120的指定数量的延迟元件的时间量可以表示处理电路116的 一个或多个临界路径的延迟,并且可以在本公开中被称为“可编程延迟线路的延迟”或“可 编程延迟线路延迟”。经由耦合到可编程延迟线路120的配置寄存器提供给可编程延迟线路120的数字 编码可以指定在可编程延迟线路120提供输出信号之前输入信号行进通过的延迟元件的 数量。当数字编码指定增加可编程延迟线路120的延迟时,在提供输出信号之前,输入信号 可以传播通过更多的延迟元件,并且当减少可编程延迟线路120的延迟时,在提供输出信 号之前,输入信号可以传播通过更少的延迟元件。延迟监控电路118还包括时间到数字转换器(TDC)122。TDC 122可以耦合到可编 程延迟线路118,并且用于测量可编程延迟线路120的延迟。TDC 122可以包括串联耦合到 对应触发器的延迟元件链。在输入信号已经传播通过可编程延迟线路120之后,随着输入 信号传播通过延迟元件链,可以依次触发(即改变状态)TDC 122的触发器。在某些情况下, 在对每一触发器的状态进行采样之前,仅触发一部分触发器。例如,可以在第一上升时钟边 缘期间将输入信号提供给可编程延迟线路120,并且可以在第二上升时钟边缘对每一相应 触发器的状态进行采样。在该示例中,TDC 122的输出信号指示接收输入信号并且在第二 上升时钟边缘之前改变状态的触发器的数量。在对触发器的状态进行采样之前触发的TDC 122的触发器的数量可以用作可编 程延迟线路120的延迟的指示符。例如,随着可编程延迟线路120的延迟增加,因为对于输 入信号行进通过可编程延迟线路120需要更多的时间,所以在给定时钟循环期间触发更少的触发器。反之,随着可编程延迟线路120的延迟减少,因为输入信号花费更少时间传播通 过可编程延迟线路120,所以在给定时钟循环期间触发更大量的触发器。一旦已经测量了可编程延迟线路120的延迟,就将表示延迟的数字编码馈送到反 馈回路124。反馈回路IM包括用于在校准模式期间校准可编程延迟线路120的延迟的评 估电路。例如,反馈回路1 的评估电路通过将表示可编程延迟线路120的延迟的TDC 122 的输出信号与目标值进行比较来校准可编程延迟线路120的延迟。可编程延迟线路120的 延迟的目标值可以基于在特定时间提供给集成电路114的时钟频率和/或供给电压。此外, 提供给集成电路114的时钟频率和供给电压可以取决于处理电路116正执行的应用110。 当可编程延迟线路120的延迟不匹配于目标值时,反馈回路124的评估电路可以将数据馈 送回到配置寄存器,以改变可编程延迟线路120的配置设置,以增加或者减少可编程延迟 线路120的延迟,从而可编程延迟线路120的对应延迟匹配于目标值。在校准模式之后,延迟监控电路118可以进入测量模式。在测量模式期间,可以去 激活反馈回路124,从而不将来自反馈回路的信号发送回到配置寄存器。以此方式,在测量 模式期间不调整可编程延迟线路120的延迟。此外,在测量模式期间,反馈回路124的评估 电路可以用于测量可编程延迟线路120的延迟,并且比较测量的延迟与阈值延迟,以确定 是否发起对策(countermeasure)来避免时序违规。对策可以包括减少时钟频率或者停止时 钟达到指定的循环数量。在说明性实施例中,在测量模式期间,反馈回路124的评估电路基 于TDC 122的输出信号测量可编程延迟线路120的延迟。评估电路于是将可编程延迟线路 120的延迟与阈值进行比较。阈值可以表示在时序违规出现之前处理电路116的特定路径 的最大延迟。当可编程延迟线路120的延迟满足以及/或者超过阈值时,反馈回路124的 评估电路提供可以触发适当的对策的警告或警报信号。图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) 的临界路径的延迟的至少一部分。可编程延迟线路204耦合到配置单元206。虽然图2示出耦合到配置单元206的 可编程延迟线路204,但可以包括作为可编程延迟线路204的一部分的配置单元206。配置 单元206将配置设置提供给可编程延迟线路204,以设置可编程延迟线路204的延迟。配 置单元206可以包括用于存储配置设置的逻辑和寄存器。此外,配置单元206接收信号“模 式”。“模式”信号可以指定延迟监控电路200将要操作在校准模式或测量模式下。当集成 电路的频率和功率管理单元标识时钟频率和/或供给电压的改变时,可以将“模式”信号发 送到配置单元206,以指定延迟监控电路200将要操作在校准模式下。可编程延迟线路204还耦合到时间到数字转换器(TDO208。TDC 208可以测量可 编程延迟线路204的延迟。TDC 208可以包括一个或多个非反相延迟元件,例如串行耦合的 延迟元件210-222。在替换实施例中,延迟元件210-222可以包括反相延迟元件。虽然图2 示出八个延迟元件,但TDC 208可以包括任何数量的延迟元件。延迟元件的数量和延迟元件的大小可以取决于与集成电路的一个或多个路径关联的延迟的长度和/或用于量化可编 程延迟线路204的延迟的指定分辨率。在某些情况下,延迟元件210-222中的每一个可以表 示IOps至IOOps之间的延迟。一个或多个非反相延迟元件210-222可以包括运算放大器、缓 冲器、或其组合。非反相延迟元件210-222中的每一个耦合到相应采样触发器224438。在信号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 ”)。在引起信号QIN从发射触发器202发送到可编程延迟线路204的第一上升或下降 时钟边缘之后,在第二上升或下降时钟边缘对采样触发器224-238中的每一个的状态进行 采样。在说明性示例中,在第二上升或下降时钟边缘处,采样触发器224-228的状态可以是 “0”,并且采样触发器230-238的状态可以是“1”。在第二上升或下降时钟边缘之前具有“1” 的状态的最后采样触发器可以在本公开中被称为“前导“1”。因此,在该说明性示例中,采 样触发器230的“ 1,,将被称为前导“ 1 ”。评估电路240从采样触发器2M-238接收输出信号。采样触发器2M-238的输出 信号可以指示可编程延迟线路204的延迟。例如,因为信号QIN能够在对触发器224-238的 状态进行采样之前传播通过更多的延迟元件210-222,所以在第二上升或下降时钟边缘之 前更大量的采样触发器2M-238改变状态指示可编程延迟线路204的更短延迟。在另一示 例中,因为信号QIN在第二上升或下降时钟边缘之前传播通过更少的延迟元件210-224,所 以在第二上升或下降时钟边缘之前更小量的采样触发器改变状态指示可编程延迟线路204 的更长延迟。评估电路240也可以接收指示延迟监控电路200是否操作在校准模式或测量模式 的信号“模式”。在校准模式期间,评估电路240可以将采样触发器224-238的输出信号与 目标值进行比较。例如,评估电路240可以将采样触发器224-238的前导“1”与目标前导 “1”进行比较。评估电路240可以基于采样触发器224-228的输出信号与目标值的比较生 成用于发送到配置单元206的输出信号,从而指示可编程延迟线路204的延迟应该增加或 减少。为了说明,当可编程延迟线路204的延迟不同于目标延迟时,可以调整可编程延迟线 路204的延迟,从而可编程延迟线路204的延迟匹配于目标延迟。以此方式,当与特定集成 电路关联的条件改变(例如供给电压的改变或时钟频率的改变)时,评估电路M0、配置单元 206和可编程延迟线路204形成提供可编程延迟线路204的自校准的反馈回路M2。此外, 反馈回路M2、配置单元206和可编程延迟线路204可以包括将评估电路240的数字输出信 号转换为可编程延迟线路204的时间延迟的数字到时间转换器。在测量模式期间,评估电路240可以将采样触发器224-238的输出信号与阈值进 行比较,以确定关于集成电路的特定路径是否可以出现时序违规。例如,评估电路240可以 将可编程延迟线路204的延迟与阈值保持延迟进行比较。可编程延迟线路204延迟与阈值 延迟之间的差可以在本公开中被称为“松弛裕量”。在特定说明中,评估电路240可以将基 于采样触发器224-238的输出信号的前导“1”与阈值前导“1”进行比较,并且TDC 208的 前导“ 1 ”与阈值前导“ 1 ”之间的差是松弛裕量。评估电路240可以提供表示松弛裕量的输出信号SLACK。当可编程延迟线路204延迟大于阈值时,输出信号SLACK可以指示可能的时 序违规。相应地,可以发起包括时钟频率的减缓或停止时钟达指定数量的循环的对策。图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 中可以包括任何数量的延迟级。可编程延迟线路204还包括第一复用器318、第二复用器320和第三复用器322。 复用器318-322可以具有多个输入。例如,第一复用器318和第二复用器320具有四个输 入,并且第三复用器322具有两个输入。具体地说,第一复用器318从延迟级302-308接收 信号,第二复用器320从延迟级310-316接收信号,并且第三复用器322从第一复用器318 和第二复用器320接收信号。复用器318-322可以具有与图3所示的输入不同数量的输入。可编程延迟线路204可以包括配置寄存器324。配置寄存器3 存储指定由可编 程延迟线路204提供的延迟的可编程延迟线路204的数字编码配置设置。延迟可以表示第 一延迟元件302的输入与第三复用器322的输出之间的时间。因为经由延迟级302-316将 配置寄存器3M的数字编码内容变换为可编程延迟,所以延迟级302-316与配置寄存器3M 的组合可以操作为数字到时间转换器。配置寄存器3M基于配置寄存器3M中存储的配置设置将输入信号提供给复用器 318-322。例如,来自配置寄存器324的输入信号可以指定需要具有t0x2的值的延迟。因 而,到复用器318-322的信号可以指定被提供为可编程延迟线路204的输出的信号“输入” 行进通过延迟级302和304所需的时间量。在另一示例中,来自配置寄存器324的输入信 号可以指定需要具有t0x6的值的延迟。相应地,到复用器318-322的信号可以指定将信号 “输入”行进通过延迟级302-308所需的时间量提供给第一复用器318,并且将信号“输入” 行进通过延迟级310和312所需的时间量提供给第二复用器320。第一复用器318和第二 复用器320于是可以将它们的输出提供给第三复用器322,以产生指定的可编程延迟线路 204的延迟作为输出信号。可以在可编程延迟线路324的校准模式期间基于从算术逻辑单元(ALU) 326接收 到的信号修改由配置寄存器3M提供给复用器318-322的数字输入信号的值。在校准模式 期间,逻辑3 接收指示校准模式的发起的信号“模式”。逻辑3 还基于信号CLK将本地 时钟信号提供给配置寄存器324。具体地说,当逻辑3 接收指示可编程延迟线路204的校 准模式的“模式”信号时,逻辑3 将本地时钟信号传送到配置寄存器324,以促进改变配置 寄存器324的内容。此外,响应于接收“重置”信号,可以将配置寄存器324的设置重置为 默认设置。ALU 326从评估电路(例如图2的评估电路M0)接收信号,以更新可编程延迟线路204的延迟。例如,当将要基于从评估电路接收到的信号增加可编程延迟线路204的延迟 时,配置寄存器3M可以将信号提供给复用器318-322,以提供增加的延迟。也就是说,当提 供可编程延迟线路204的输出时,考虑信号“输入”花费于传播通过更多延迟级302-316的 时间。在另一示例中,当基于从评估电路接收到的信号将要减少可编程延迟线路204的延 迟时,配置寄存器3M可以将信号提供给复用器318-322,以产生减少的延迟。也就是说,当 提供可编程延迟线路204的输出时,考虑信号“输入”花费于传播通过更少延迟级302-316 的时间。图4是延迟监控电路的反馈回路的评估电路MO的第一实施例的示意图。评估电 路240包括温度计编码到二进制编码转换器402。温度计编码到二进制编码转换器402从 时间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。 温度计编码到二进制编码转换器402可以包括用于根据信号Q0-Q7产生二进制输出信号 QBIN的逻辑电路的布置。输出信号QBIN指示延迟监控电路(例如图2和图3的可编程延迟 线路204)的可编程延迟线路的延迟。在延迟监控电路的校准模式期间将温度计编码到二进制编码转换器402的输出 信号QBIN提供给目标算术逻辑单元404。目标算术逻辑单元404将信号QBIN的值与从校 准目标寄存器406接收到的信号TARGET的值进行比较。信号TARGET的值表示可编程延迟 线路的延迟的目标值。将用于生成TARGET信号的校准目标数据存储在校准目标寄存器406 中。可编程延迟线路的延迟的目标值可以基于集成电路的处理条件,其中,可编程延 迟线路模仿集成电路的一个或多个路径的延迟。处理条件可以包括在给定时间提供给集成 电路的供给电压和/或时钟频率。此外,处理条件可以取决于经由集成电路正执行的应用。目标算术逻辑单元404的输出信号DELAY指示可编程延迟线路的延迟与信号 TARGET指定的可编程延迟线路的延迟的目标值之间的任何差。将目标ALU 404的DELAY信 号馈送回到延迟监控电路的配置单元(例如图2的配置单元206)。DELAY信号可以由配置 单元用于调整可编程延迟线路的延迟。例如,目标ALU 404的DELAY信号可以指示可编程 延迟线路的延迟大于目标延迟。在该示例中,可编程延迟线路的延迟可以减少,以匹配目标 值。在另一示例中,DELAY信号可以指示可编程延迟线路的延迟小于目标延迟。因此,可编 程延迟线路的延迟可以增加,以匹配目标值。目标ALU 404还接收指示延迟监控电路是处于校准模式还是处于测量模式的信 号“模式”。当延迟监控电路处于校准模式时,目标ALU 404将输出信号DELAY提供给延迟 监控电路的配置单元。当延迟监控电路处于测量时,去激活目标ALU 404。还将“模式”信号提供给阈值ALU 408。当延迟监控电路处于测量模式时,阈值 ALU 408对信号QBIN的值表示的可编程延迟线路的延迟与从阈值寄存器410接收到的信号 THRESH的值进行比较。THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集 成电路的一个或多个路径的延迟。阈值ALU 408提供的输出信号SLACK指示可编程延迟线 路的延迟与集成电路的一个或多个路径的延迟的阈值之间的任何差。当时序违规已经出现 或者逼近时,可以将信号SLACK提供给发出警告或者发起对策的计算设备的软件模块、中 央处理单元、或其他逻辑。例如,当信号SLACK小于特定值时,可以发起对策,例如停止时钟 达到特定数量的循环,或者减少时钟频率。
图5是延迟监控电路的反馈回路的评估电路的第二实施例的示意图。评估电路 240包括温度计编码到二进制编码转换器502。温度计编码到二进制编码转换器502从时 间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。 温度计编码到二进制编码转换器502可以包括用于根据接收自时间到数字转换器的信号 Q0-Q7产生二进制输出信号QBIN的逻辑电路的布置。二进制输出信号QBIN表示延迟监控 电路的可编程延迟线路(例如图2的可编程延迟线路204)的延迟。将温度计编码到二进制编码转换器502的输出信号QBIN提供给算术逻辑单元 (ALU) 504。ALU 504根据延迟监控电路的模式对信号QBIN与来自复用器506的特定输出 信号进行比较。提供给ALU 504和复用器506的信号“模式”指示延迟监控电路是处于校 准模式还是处于测量模式。在校准模式期间,算术逻辑单元504对信号QBIN的值与从校准目标寄存器508接 收到的信号TARGET的值进行比较。算术逻辑单元504在校准模式期间提供输出信号DELAY。 DELAY信号指示可编程延迟线路的延迟与信号TARGET指定的可编程延迟线路的延迟的目 标值之间的任何差。将ALU 504的DELAY信号馈送回到延迟监控电路的配置单元(例如图 2的配置单元206)。DELAY信号可以由配置单元用于调整可编程延迟线路的延迟。当延迟监控电路处于测量模式时,复用器506从阈值寄存器510接收信号THRESH。 THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集成电路的一个或多个路 径的延迟。复用器506将信号THRESH提供给ALU 504。ALU 504对信号QBIN的值表示的 可编程延迟线路的延迟与THRESH信号的值进行比较。在测量模式期间由阈值ALU 504提 供的输出信号SLACK指示可编程延迟线路的延迟与集成电路的一个或多个路径的延迟的 阈值之间的任何差。当时序违规已经出现或者逼近时,可以将信号SLACK提供给发出警告 或发起对策的计算设备的软件模块、中央处理单元、或其他逻辑。图6是延迟监控电路的反馈回路的评估电路的第三实施例的示意图。评估电路 240包括温度计编码到二进制编码转换器602。温度计编码到二进制编码转换器602从时 间到数字转换器(例如图2的时间到数字转换器208)的采样触发器接收输出信号Q0-Q7。 温度计编码到二进制编码转换器602可以包括用于根据接收自时间到数字转换器的信号 Q0-Q7产生二进制输出信号QBIN的逻辑电路的布置。二进制输出信号QBIN表示延迟监控 电路的可编程延迟线路(例如图2的可编程延迟线路204)的延迟。将温度计编码到二进制编码转换器602的输出信号QBIN提供给算术逻辑单元 (ALU) 604。ALU 604根据延迟监控电路的模式对信号QBIN与来自复用器606的输出信号 进行比较。提供给ALU 604和复用器606的信号“模式”指示延迟监控电路是处于校准模 式还是处于测量模式。在校准模式期间,算术逻辑单元604对信号QBIN的值与从校准目标寄存器608接 收到的信号TARGET的值进行比较。算术逻辑单元604在校准模式期间提供输出信号DELAY。 DELAY信号指示可编程延迟线路的延迟与信号TARGET指定的可编程延迟线路的延迟的目 标值之间的任何差。将ALU 604的DELAY信号馈送回到延迟监控电路的配置单元(例如图 2的配置单元206)。DELAY信号可以由配置单元用于调整可编程延迟线路的延迟。当延迟监控电路处于测量模式时,复用器606从阈值寄存器610接收信号THRESH。 THRESH信号可以表示引起时序违规或者指示时序违规是逼近的集成电路的一个或多个路径的延迟。复用器606将信号THRESH提供给ALU 604。ALU 604对信号QBIN的值表示的 可编程延迟线路的延迟与THRESH信号的值进行比较。在测量模式期间阈值ALU 604提供 的输出信号SLACK指示可编程延迟线路的延迟与针对集成电路的一个或多个路径的延迟 的阈值之间的任何差。当时序违规已经出现或者逼近时,可以将信号SLACK提供给发出警 告或发起对策的计算设备的软件模块、中央处理单元、或其他逻辑。评估电路240还包括临界状态检测器612和用于将阈值的温度计编码版本提供给 临界状态检测器612的二进制到温度计编码转换器614。在某些情况下,评估电路240可 以使用临界状态检测器612来确定集成电路的路径是否处于临界状态,而不是使用复用器 606和ALU 604。例如,因为快速供给电压和/或时钟频率改变,所以当需要快速评估来标 识集成电路的路径是否处于临界状态时,评估电路240可以使用临界状态检测器612。在某 些实施例中,当集成电路运作为计算设备的微处理器时,快速供给电压和/或时钟频率改 变可以出现。临界状态检测器612对信号Q0-Q7表示的可编程延迟线路的延迟的温度计编码值 与阈值的温度计编码值进行比较。基于可编程延迟线路的延迟的温度计编码值与阈值之间 的比较,临界状态检测器612提供指示可编程延迟线路的延迟是大于阈值还是小于阈值的 二进制输出信号“状态”。例如,当可编程延迟线路的延迟小于阈值时,于是信号“状态”可 以指示时序违规已经出现或者逼近。当可编程延迟线路的延迟大于阈值时,于是“状态”信 号可以指示时序违规不可能出现或者不逼近。“状态”信号可以充当警报信号,以发起用于 抵消或者防止集成电路的任何时序违规的对策。因而,通过将可编程延迟线路延迟的温度 计编码值与阈值直接进行比较来提供二进制输出信号,临界状态检测器612可以通过避免 ALU 604和复用器606的更复杂的计算来更快速地提供关于时序违规是逼近还是正出现的 指示。集成电路上的中央处理单元(例如图1的处理器104)可以进一步处理图4-图6所 示的评估电路240的第一实施例、第二实施例或第三实施例计算的SLACK输出信号。SLACK 信号的后处理可以包括组合多个延迟监控电路的多个SLACK信号以标识集成电路的多个 路径的可能时序违规。中央处理单元可以生成总芯片状态信号,并且响应于从一个或多个 延迟监控电路接收到的SLACK信号发起对策。中央处理单元也可以收集关于特定SLACK值 的出现频率的统计信息,并且计数并存储临界时序状态的数量。图7是其中在测量模式期间出现误差的延迟监控电路的评估电路的临界状态检 测器612的逻辑图。图7示出由信号Q0-Q7的值表示的时间到数字转换器(例如图2的时 间到数字转换器208)的输出信号的温度计编码版本。图7还示出由信号THRESH0-THRESH7 的值表示的集成电路的一个或多个路径的延迟的阈值的温度计编码版本。信号Q0-Q7的值表示延迟监控电路的可编程延迟线路的延迟,其中,延迟监控电 路用于模仿集成电路的一个或多个路径。可以通过时间到数字转换器的多个触发器的相应 触发器(例如图2的触发器224-238)来产生输出信号Q0-Q7中的每一个。因而,信号Q0-Q7 可以指示给定时钟循环内的对应触发器的状态的改变。可以基于具有值“1”的信号的数量 估计集成电路的路径的延迟。在图7所示的示例中,示出延迟估计的长度从下至上的增加, 从而具有值“1”的Q0-Q7将指示估计的最短延迟,并且具有值“0”的Q0-Q7将指示估计的 最长延迟。在图7的特定示例中,由信号Q7-Q4的值“1”指示集成电路的路径的延迟估计的长度。此外,信号THRESH0-THRESH7的值指示集成电路的路径的阈值延迟。还示出阈值 延迟的长度从下至上的增加,从而具有值“0”的THRESH0-THRESH7将指示估计的最长延迟, 并且具有值“1”的THRESH7-THRESH0将指示估计的最短延迟。在图7的特定示例中,信号 THRESH7-THRESH3的值“ 1 ”指示集成电路的路径的阈值延迟的长度。将输出信号Q0-Q7中的每一个的值发送到XOR逻辑,然后发送到AND逻辑。AND逻 辑还接收信号THRESH0-THRESH7。XOR逻辑的输出指示两个连续信号之间的差。例如,XOR 逻辑的“0”的输出指示两个连续信号的相同值,例如信号Ql和Q2的“0”值或信号Q4和Q5 的值“1”。XOR逻辑的“1”的输出指示两个连续信号的值之间的差。例如,因为信号Q3的 值是“0”并且信号Q4的值是“1”,所以接收Q3和Q4的信号的值的XOR逻辑产生“1”的输 出ο当来自XOR逻辑的输入值和信号THRESH0-THRESH7的对应值二者都是“1”并且 AND逻辑产生对于输入值的其它组合的“0”时,AND逻辑产生“1”。当集成电路路径的估计 的延迟的长度小于阈值延迟时,AND逻辑的每一实例的输出是“0”。然而,当集成电路路径 的估计的延迟的长度超过阈值延迟时,AND逻辑的一个实例的输出将是“1”。将AND逻辑的 每一实例的输出发送到OR逻辑。当AND逻辑的一个实例的输出信号是“1”时,OR逻辑的 输出将也是指示误差的“1”。当AND逻辑的每一实例的输出信号是“0”时,OR逻辑的输出 将是指示没有误差出现的“0”。如图7所示,关于估计的集成电路路径延迟和阈值延迟检测差。具体地说,集成电 路路径的估计的延迟大于Q3的“0”与THRESH3的“ 1,,之间的失配所指示的阈值延迟。因 而,AND逻辑的阴影的实例的输出是“1”,在OR逻辑处产生“1”的输出。因此,临界状态检 测器612提供的二进制信号“状态”是指示关于被评估的特定集成电路路径误差正出现或 者逼近的警报信号。图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的“状态”信号指示关于被评估的特定 集成电路路径延迟没有出现误差。可以在中央处理单元处收集经由图6-图8所示的临界状态检测器产生的“状态” 信号。在特定实施例中,如果将一个或多个延迟监控电路放置在集成电路上以测量在不同 功能块上的不同芯片位置处的延迟变化,则可以在中央处理单元中组合多个临界状态检测 器的“状态”信号。中央处理单元可以基于从集成电路的多个临界状态检测器接收到的信 号生成总芯片状态信号以及/或者发起对策。中央处理单元可以连接到集成电路的功率管 理单元和/或锁相回路(PLL),以发起对策。对策可以包括改变供给电压,以及/或者减少时钟频率。另一对策可以包括发起本地时钟选通(gating),以停止在集成电路上的特定 功能块处的时钟。中央处理单元也可以包括计数单元,以计数并且存储“状态”信号指示的 临界状态的数量,并且生成关于“状态”信号的值的出现频率的统计信息。图9是示出测量延迟监控电路的可编程延迟线路的延迟的示例的时序图。图9示 出在第一上升时钟边缘EDGEl发射输入信号,例如从发送触发器到可编程延迟线路的0到1 转变。在特定示例中,输入信号可以是从发射触发器202提供给可编程延迟线路204的图 2的QIN。在替换实施例中,可以在第一下降时钟边缘处发射输入信号。可编程延迟线路的延迟是在可编程延迟线路处接收输入信号到耦合到与可编程 延迟线路耦合的多个延迟元件中的第一延迟元件的接收触发器的状态的改变之间的逝去 的时间量。多个延迟元件可以每一个耦合到对应接收触发器,并且多个延迟元件和接收 触发器可以用于测量可编程延迟线路的延迟。在特定示例中,多个延迟元件可以串联耦 合,例如图2的延迟元件210-222,并且耦合到对应接收触发器(例如图2的采样触发器 224-238)ο在图9中,信号D7-D4指示提供给相应延迟元件的输入信号。例如,D7表示提供 给第一延迟元件和对应接收触发器(例如图2的210和238)的输入信号,并且D6表示提供 给第二延迟元件和对应接收触发器(例如图2的212和236)的输入信号。此外,虚线Q7-Q4 指示在接收到输入信号时对应接收触发器的状态改变。为了说明,当输入信号是0到1转 变时,当接收到输入信号时,接收触发器的状态可以从0到1改变。TDC级延迟指示输入信 号从一个延迟元件传播到后面延迟元件所需的时间量。在第二上升时钟边缘EDGE2对接收触发器的状态进行采样。在替换实施例中,可 以在第二下降时钟边缘对接收触发器的状态进行采样。在图9所示示例中,接收信号D7、 D6和D5的接收触发器在EDGE2之前改变状态,但接收信号D4的接收触发器在EDGE2之前 不改变状态。在可编程延迟线路的校准模式期间,改变状态的接收触发器的数量可以用于 测量可编程延迟线路的延迟。例如,可编程延迟线路延迟越长,在EDGE2之前改变状态的接 收触发器就越少。此外,可编程延迟线路延迟越短,在EDGE2之前改变状态的接收触发器就 越多。因而,可以在单个时钟循环中测量可编程延迟线路的延迟。可以将在EDGE2之前改变状态的接收触发器的数量与指示可编程延迟线路的目 标延迟的目标值进行比较。如果在EDGE2之前触发的触发器的数量小于目标值,则可以减 少可编程延迟线路的延迟,从而在EDGE2之前触发更多接收触发器,以匹配目标值。此外, 当在EDGE2之前触发的触发器的数量大于目标值时,可以增加可编程延迟线路的延迟,从 而在EDGE2之前更少的接收触发器改变状态,以匹配目标值。图IOA示出关于指示可编程延迟线路的延迟将要在校准模式期间增加的输出信 号的目标值的时间到数字转换器的采样触发器的输出信号的值。图IOB示出关于指示可编 程延迟线路的延迟将要在校准模式期间减少的输出信号的目标值的时间到数字转换器的 采样触发器的输出信号的值。用于估计集成电路路径的延迟的延迟监控电路(例如图2的 延迟监控电路200)中可以包括可编程延迟线路和时间到数字转换器。当对采样触发器的 状态进行采样时(例如在给定的上升或下降时钟边缘期间),通过采样时间到数字转换器的 触发器产生的输出信号Q0-Q7可以表示可编程延迟线路的延迟。采样触发器中的每一个的 状态取决于在采样触发器的状态的采样之前相应采样触发器是否已经接收0到1转变输入信号。在图IOA和图IOB的说明性示例中,信号Q7的值表示在输入信号已经传播通过可 编程延迟线路之后用于接收0到1转变输入信号的第一采样触发器的状态。信号QO的值 表示在输入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的最后采 样触发器的状态。因而,随着信号Q7-Q0的值从下至上从“0”改变为“1”,可编程延迟线路 的延迟的长度减少。例如,因为在对触发器的状态进行采样之前,所有采样触发器已能够改 变状态,所以对于信号Q0-Q7中的每一个最短可编程延迟线路延迟将被表示为值“1”。此 外,因为在对触发器的状态进行采样之前,没有采样触发器已能够改变状态,所以对于信号 Q0-Q7中的每一个最长可编程延迟线路延迟将被表示为值“0”。输出信号Q7可以指示故障点。因而,与触发产生信号Q7的采样触发器关联的可 编程延迟线路的延迟表示不引起时序违规的集成电路路径的最短延迟。因此,当信号Q7的 值是“0”时,关于集成电路路径可以出现或者逼近时序违规,并且当信号Q7的值是“1”时, 可以不出现集成电路路径的时序违规。图IOA和图IOB的信号Q0-Q7的值的第一列是在延迟监控电路的校准模式期间测 量的信号Q0-Q7的值。此外,图IOA和图IOB的信号Q0-Q7的值的第二列是信号Q0-Q7的 目标值。信号Q0-Q7的目标值表示特定集成电路路径的目标延迟。图IOA和图IOB的“前导“ 1””是最后采样触发器的输出信号,以在对采样触发器 的状态进行采样之前改变状态。输出信号Ql表示图IOA的前导“1”。此外,信号Q6表示 图IOB的前导“1”。图IOA和图IOB的“目标前导“1””表示将要在对采样触发器的状态进 行采样之前改变状态的目标采样触发器。目标前导“1”与故障点之间的差被称为“松弛裕
里ο在图IOA中,在校准模式期间采样的信号Q0-Q7的值不同于指示应该调整可编程 延迟线路的延迟以更精确地估计集成电路路径的延迟的信号Q0-Q7的目标值。具体地说, 由于校准模式输出的前导“ 1”在Ql处出现,并且目标前导“ 1,,位于Q3处,因此可编程延迟 线路延迟太短。相应地,可以增加可编程延迟线路的延迟,以便在位置Q3处产生前导“1”, 以匹配前导“1”目标。在图IOB中,在校准模式期间采样的信号Q0-Q7的值也不同于指示应该调整可编 程延迟线路的延迟以更精确地估计集成电路路径的延迟的信号Q0-Q7的目标值。具体地 说,由于校准模式输出的前导“1”在Q6处出现,并且目标前导“1”在Q3处出现,因此可编程 延迟线路的延迟太长。相应地,可以减少可编程延迟线路的延迟,以在Q3处产生前导“ 1 ”, 以匹配前导“1”目标。图11示出在测量模式期间用于校准的可编程延迟线路并且在四个不同时间时 间I到时间IV处的延迟监控电路的采样触发器的输出信号。延迟监控电路的可编程延迟 线路可以估计集成电路的一个或多个路径的延迟。在图11的说明性示例中,信号Q7的值表示在输入信号已经传播通过可编程延迟 线路之后用于接收O到1转变输入信号的第一采样触发器的状态。信号QO的值表示在输 入信号已经传播通过可编程延迟线路之后用于接收0到1转变输入信号的最后采样触发器 的状态。输出信号Q7可以指示故障点。因而,与触发产生信号Q7的采样触发器关联的可 编程延迟线路的延迟表示不产生时序违规的集成电路路径的最长延迟。“松弛裕量”指示用于在对采样触发器的状态进行采样之前接收0到1转变输入信号的最后采样触发器与故障 点之间的差。当已经校准延迟监控电路的可编程延迟线路时,图11的第一列包括延迟监控电 路的时间到数字转换器的采样触发器的输出信号的值。在时间I,对采样触发器的状态进 行采样,并且图11的第二列示出采样触发器的输出信号的值。输出信号Q0-Q7的值指示松 弛裕量在时间I处正减少。因而,被监控的集成电路路径的延迟可以是增加的。在时间II,对采样触发器的状态进行采样,并且图11的第三列示出采样触发器 的输出信号的值。在时间II的输出信号Q0-Q7的值指示松弛裕量中的进一步减少。图11 的第三列所示的松弛裕量可以指示因为集成电路路径的延迟的连续增加所以被监控的集 成电路路径的状态是临界的。在时间III,对采样触发器的状态进行采样,并且图11的第四列示出采样触发器 的输出信号的值。在时间III的输出信号Q0-Q7的值示出已经超过松弛裕量,并且因为集 成电路路径的延迟太长并且已经超过时钟周期所以时序违规关于被监控的集成电路路径 已经出现或者逼近。在时间IV,对采样触发器的状态进行采样,并且图11的第五列示出采样触发器 的输出信号的值。在时间IV的输出信号Q0-Q7的值示出松弛裕量已经增加,并且被监控 的集成电路路径不处于临界状态。在某些情况下,因为提供给被监控的集成电路路径的供 给电压已经能够恢复并且集成电路路径的延迟已经减少,所以松弛裕量可能已经增加。图12是校准延迟监控电路的延迟的方法1200的流程图。以下描述特定示例性方 法。然而,应理解,取决于情况,无需按描述的顺序执行,并且可以修改,以及/或者可以完 全省略特定动作。在1202,方法1200包括激活集成电路的延迟监控电路的校准模式。延迟监控电 路可以估计与集成电路的一个或多个路径关联的延迟,以标识可能的时序违规,并且触发 适当的对策。具体地说,延迟监控电路的可编程延迟线路可以模仿集成电路的一个或多个 路径的延迟。归因于集成电路执行的处理所需的时钟频率和/或供给电压的改变,可以激活校 准模式。例如,集成电路可以从执行需要时钟频率和供给电压设置的一个集合的第一应用 的处理转变到执行需要时钟频率和供给电压设置的不同集合的第二应用的处理。随着时钟 频率和/或供给电压需求改变,与集成电路的特定路径关联的延迟也可以改变。因此,可以 需要调整可编程延迟线路的设置,以更精确地估计与被监控的(一个或多个)集成电路路径 关联的延迟。在1204,方法1200包括测量延迟监控电路的可编程延迟线路的延迟。耦合到可 编程延迟线路的时间到数字转换器可以测量可编程延迟线路的延迟。时间到数字转换器可 以包括每一个都耦合到相应采样触发器的多个延迟元件。在说明性示例中,多个延迟元件 可以串联耦合,例如图2的延迟元件210-222,并且耦合到对应接收触发器(例如图2的采样 触发器224-238)。时间到数字转换器可以基于采样触发器的输出信号测量可编程延迟线路的延迟。 在说明性示例中,可以在第一上升或下降时钟边缘将0到1转变输入信号提供给可编程延 迟线路,并且可以在第二上升或下降时钟边缘对采样触发器的状态进行采样。在第二上升或下降时钟边缘之前改变状态的采样触发器的数量指示可编程延迟线路的延迟。例如,当 在第二上升或下降时钟边缘之前较大数量的采样触发器改变状态时,可编程延迟线路延迟 比当在第二上升或下降时钟边缘之前较小数量的采样触发器改变状态时更短。在1206,方法1200包括对可编程延迟线路的延迟与目标值进行比较。目标值可 以表示被可编程延迟线路模仿的集成电路路径的延迟的特定值。在1208,方法1200包括确定是否调整可编程延迟线路的延迟。当可编程延迟线 路的延迟不同于目标值时,于是可以调整可编程延迟线路的延迟。例如,当可编程延迟线路 的延迟太长时,延迟监控电路的评估电路可以将控制指定应该减少可编程延迟线路的延迟 的可编程延迟线路的延迟的反馈信号发送到配置寄存器。此外,当可编程延迟线路的延迟 太短时,评估电路的反馈信号可以指定将要增加可编程延迟线路的延迟。在1210,方法1200包括激活集成电路的延迟监控电路的测量模式。在已经校准 可编程延迟线路的延迟之后,可以激活延迟监控电路的测量模式。在测量模式期间,可以测 量可编程延迟线路的延迟,以提供集成电路的路径的延迟的实时估计。因而,可以使用可编 程延迟线路的延迟来确定集成电路路径的延迟是否接近临界值。例如,当可编程延迟线路 的延迟达到等于或大于阈值的特定值时,集成电路路径的延迟可以引起时序违规,或者时 序违规可以是逼近的。当可编程延迟线路的延迟指示集成电路路径的延迟接近临界值时, 延迟监控电路可以提供信号,以发起对策,以便避免或者改正时序违规。为了本发明和以下权利要求,术语“耦合”和“连接”已经用于描述各个元件如何 对接。这样描述的各个元件的对接可以是直接或间接的。虽然已经通过专用于结构特征和 /或方法动作的语言描述了主题内容,但应理解,所附权利要求中限定的主题内容并非一定 受限于所描述的具体特征或动作。而是,作为实施权利要求的优选形式而公开了特定特征 和动作。可以分离地实施或者可以组合在本公开中描述的具体特征和动作以及这些具体特 征和动作的变形。
权利要求
1.一种电路布置,包括发射触发器;可编程延迟线路,其耦合到所述发射触发器,所述可编程延迟线路包括配置单元;时间到数字转换器,其耦合到所述可编程延迟线路,所述时间到数字转换器包括耦合 到相应采样触发器的至少一个延迟元件;以及反馈回路电路,其耦合到所述时间到数字转换器和所述配置单元,其中,所述反馈回路 电路适用于根据所述时间到数字转换器的相应采样触发器的至少一个输出信号将至少一 个输入信号提供给所述配置单元。
2.根据权利要求1所述的电路布置,其中,所述反馈回路电路包括评估电路,以用于 从所述时间到数字转换器的相应采样触发器接收所述至少一个输出信号,并且将所述至少 一个输入信号提供给所述配置单元。
3.根据权利要求1所述的电路布置,其中,所述反馈回路电路适用于在校准模式期间 将所述至少一个输入信号提供给所述配置单元。
4.根据权利要求1所述的电路布置,其中,所述配置单元包括算术逻辑单元和配置寄 存器,所述算术逻辑单元耦合到所述反馈回路并且耦合到所述配置寄存器,所述配置寄存 器适用于存储所述可编程延迟线路的至少一个配置设置,并且所述算术逻辑单元适用于将 至少一个信号提供给所述配置寄存器,以基于从所述反馈回路接收到的所述至少一个输入 信号来改变所述可编程延迟线路的所述至少一个配置设置。
5.根据权利要求1所述的电路布置,其中,所述反馈回路、所述配置单元和所述可编 程延迟线路被配置为提供数字到时间转换器。
6.根据权利要求1所述的电路布置,其中,所述反馈回路电路不适用于在测量模式期 间将所述至少一个输入信号提供给所述配置单元。
7.根据权利要求1所述的电路布置,其中,在同一集成电路上集成所述发射触发器、 所述可编程延迟线路、所述时间到数字转换器和所述反馈回路电路,并且其中,当所述集成 电路被配置为执行多于一种类型的处理或其组合时,当所述集成电路所执行的处理从第一 类型处理改变为第二类型处理时,激活校准模式。
8.根据权利要求7所述的电路布置,其中,所述集成电路被配置为使用不同供给电 压、不同时钟频率或其组合执行所述第一类型处理和所述第二类型处理。
9.一种方法,包括激活集成电路的延迟监控电路的可编程延迟线路的校准模式;测量可编程延迟线路的延迟;将所述可编程延迟线路的延迟与目标值进行比较;以及响应于将所述可编程延迟线路的延迟与所述目标值进行比较而确定是否调整所述可 编程延迟线路的延迟。
10.根据权利要求9所述的方法,其中,在小于所述集成电路的一个时钟循环中测量 所述可编程延迟线路的延迟。
11.根据权利要求9所述的方法,还包括当所述可编程延迟线路的延迟大于所述目标 值时,减少所述可编程延迟线路的延迟。
12.根据权利要求9所述的方法,还包括当所述可编程延迟线路的延迟小于所述目标值时,增加所述可编程延迟线路的延迟。
13.根据权利要求9所述的方法,其中,激活所述延迟监控电路的所述校准模式包括 在第一上升时钟边缘将来自所述延迟监控电路的发射触发器的输入信号提供给所述延迟 监控电路的可编程延迟线路。
14.根据权利要求13所述的方法,其中,测量可编程延迟线路的延迟包括在第二上 升时钟边缘对所述延迟监控电路的时间到数字转换器的一个或多个接收触发器的状态进 行采样。
15.根据权利要求9所述的方法,还包括激活所述延迟监控电路的测量模式,所述测 量模式包括在第一上升时钟边缘将来自所述延迟监控电路的发射触发器的输入信号提供给所述 可编程延迟线路;在第二上升时钟边缘对所述延迟监控电路的时间到数字转换器的一个或多个接收触 发器的至少一个输出信号进行采样;基于所述一个或多个接收触发器的所述至少一个输出信号测量可编程延迟线路的附 加延迟;以及通过对所述可编程延迟线路的附加延迟与阈值进行比较来确定所述可编程延迟线路 的松弛裕量。
16.根据权利要求15所述的方法,还包括当所述松弛裕量小于或等于指定值时发起对策。
17.根据权利要求16所述的方法,其中,发起所述对策包括修改所述集成电路的供 给电压,修改所述集成电路的时钟频率,或其组合。
18.根据权利要求15所述的方法,还包括将指示所述可编程延迟线路的所述松弛裕 量的信号提供给处理器,其中,所述处理器接收指示所述集成电路的延迟监控电路的一个 或多个附加实例的相应松弛裕量的附加信号。
19.一种装置,包括集成电路,其包括处理电路,用于执行所述集成电路的一个或多个处理;以及延迟监控电路,用于估计所述处理电路的延迟,所述延迟监控电路包括配置单元;可编程延迟线路,其耦合到所述配置单元;时间到数字转换器,其耦合到所述可编程延迟线路;以及反馈回路,其耦合到所述时间到数字转换器并且耦合到所述配置单元,所述反馈回路 包括耦合到所述配置单元的评估电路。
20.根据权利要求19所述的装置,其中,提供给所述评估电路的所述时间到数字转换 器的至少一个输出信号表示指示可编程延迟线路的延迟的温度计编码输出。
21.根据权利要求20所述的装置,其中,所述评估电路适用于通过将所述时间到数字 转换器的温度计编码输出转换为二进制信号而将输入信号提供给所述配置单元。
22.根据权利要求20所述的装置,其中,所述评估电路包括二进制编码到温度计编码 转换器,其适用于将所述处理电路的延迟的阈值从二进制编码转换为温度计编码值。
23.根据权利要求22所述的装置,其中,所述评估电路包括临界状态检测器,其适用 于将指示所述可编程延迟线路的延迟的温度计编码输出与所述处理电路的延迟的阈值的 温度计编码值进行比较,并且当所述可编程延迟线路的延迟大于或等于所述阈值时提供警 报信号。
24.根据权利要求23所述的装置,还包括中央处理单元,其适用于从所述延迟监控 电路接收所述警报信号,并且从延迟监控电路的一个或多个附加实例接收附加警报信号, 所述中央处理单元适用于基于所述警报信号和所述附加警报信号,生成总芯片状态信号, 发起对策,计数并且存储临界时序状态的数量,或其组合。
全文摘要
本公开涉及片上自校准延迟监控电路。一种电路布置,包括发射触发器;可编程延迟线路,其耦合到所述发射触发器,所述可编程延迟线路包括配置单元;时间到数字转换器,其耦合到所述可编程延迟线路,所述时间到数字转换器包括耦合到相应采样触发器的至少一个延迟元件;以及反馈回路电路,其耦合到所述时间到数字转换器和所述配置单元,其中,所述反馈回路电路适用于根据所述时间到数字转换器的相应采样触发器的至少一个输出信号将至少一个输入信号提供给所述配置单元。
文档编号H03K5/13GK102142831SQ20111003100
公开日2011年8月3日 申请日期2011年1月28日 优先权日2010年1月29日
发明者C·帕查, P·胡贝尔, S·亨茨勒, T·鲍曼 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1