芯片压降的测量装置及方法

文档序号:10623898阅读:436来源:国知局
芯片压降的测量装置及方法
【专利摘要】本发明提供一种芯片压降的测量装置及方法。本发明提供的芯片压降的测量装置包括:设置在芯片中的压控振荡器、反相器延迟链和数据处理模块;压控振荡器用于产生时钟信号,在芯片压降发生变化时,该压控振荡器产生的时钟信号的频率随芯片压降的变化而变化;反相器延迟链与压控振荡器连接,用于测量压控振荡器在芯片处于不同工作状态时产生的时钟信号的频率;数据处理模块与反相器延迟链连接,用于根据反相器延迟链测量得到的所述压控振荡器在芯片处于不同工作状态时产生的时钟信号的频率,获取芯片压降的变化量。本发明以解决现有技术在测量芯片压降时,由于输入的时钟信号的时间窗口是不确定的,从而导致芯片压降的测量结果不准确的问题。
【专利说明】
芯片压降的测量装置及方法
技术领域
[0001]本发明涉及测量技术,尤其涉及一种芯片压降的测量装置及方法。
【背景技术】
[0002]随着芯片制造工艺进入深亚微米时代,其发展方向通常包括提高芯片的频率和降低芯片的工作电压,然而,芯片压降直接影响芯片频率的提高。
[0003]目前,通过计算芯片压降对频率的影响,在芯片的设计过程中加入余量以弥补芯片压降造成的不利影响;通常的测量电路主要包括反相器延迟链,利用该反相器延时链直接测量时钟信号的周期、频率和时钟抖动,并根据测得的该时钟信号的信息计算芯片压降。具体地,该测量电路可以设置在芯片中,在测量时通过该电路输入标准的时钟信号,从而在测量该标准时钟信号的过程中,根据电压波动对反相器延迟链的延迟产生的影响,获取芯片压降的变化。
[0004]现有技术在测量芯片压降时,认为输入测量电路的时钟信号是标准的,但是,由于实际输入的时钟信号并非为理想的标准信号而使其时间窗口是不确定的,从而导致芯片压降的测量结果不准确。

【发明内容】

[0005]本发明提供一种芯片压降的测量装置及方法,以解决现有技术在测量芯片压降时,由于实际输入的时钟信号并非为理想的标准时钟信号而使其时间窗口是不确定的,从而导致芯片压降的测量结果不准确的问题。
[0006]第一方面,本发明提供一种芯片压降的测量装置,包括:设置在所述芯片中的压控振荡器、反相器延迟链和数据处理模块;
[0007]所述压控振荡器用于产生时钟信号,其中,在所述芯片压降发生变化时,所述压控振荡器产生的时钟信号的频率随所述芯片压降的变化而变化;
[0008]所述反相器延迟链由多个尺寸相同的反相器串联组成,并与所述压控振荡器连接,用于测量所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,所述反相器延迟链中每个反相器的延迟值相同;
[0009]所述数据处理模块与所述反相器延迟链连接,用于根据所述反相器延迟链测量得到的所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,获取所述芯片压降的变化量。
[0010]在第一方面的第一种可能的实现方式中,所述反向器延迟链,还用于在所述芯片处于不工作状态时,测量所述压控振荡器在所述芯片处于不同工作电压下产生的时钟信号的频率,以获得所述时钟信号的频率与所述工作电压的曲线模型;
[0011]所述数据处理模块,还用于根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述当前频率下的芯片压降。
[0012]根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述测量装置还包括:设置在所述芯片中的控制模块;所述控制模块与所述压控振荡器连接,用于通过运行程序控制所述压控振荡器产生的时钟信号的频率;
[0013]所述数据处理模块,具体用于根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述芯片在所述程序运行过程中的压降。
[0014]根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述芯片压降包括动态压降和平均压降,所述测量装置的工作模式包括动态压降测量和平均压降测量;则所述控制模块,还用于通过选择所述测量装置的工作模式测量所述芯片的动态压降或平均压降;
[0015]所述装置还包括:设置在所述芯中的存储模块;所述存储模块分别与所述反相器延迟链、所述控制模块和所述数据处理模块连接,用于处理并记录所述反相器延迟链测量的时钟信号的频率;
[0016]其中,在所述控制模块选择动态压降测量时,所述存储模块记录所述反相器延迟链多次测量的时钟信号的频率,以使所述数据处理模块获取所述动态压降的最大值以及对应的时刻;或者,在所述控制模块选择平均压降测量时,所述存储模块记录并积累所述反相器延迟链连续测量的时钟信号的频率,以使所述数据处理模块获取所述芯片压降的波动范围。
[0017]根据第一方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述压控振荡器为多个,分别设置在所述芯片的多个热点区域;
[0018]所述控制模块和所述反相器延迟链分别与所述多个压控振荡器连接,所述控制模块还用于控制所述多个压控振荡器的开关状态,使得所述测量装置分别测量所述芯片中每个所述热点区域的压降。
[0019]第二方面,本发明提供一种芯片压降的测量方法,通过设置于芯片中相互连接的压控振荡器和反相器延迟链执行,其中,所述反相器延迟链中每个反相器的延迟值相同,所述方法包括:
[0020]所述压控振荡器根据所述芯片压降的变化,产生频率随所述芯片压降变化的时钟信号;
[0021]所述反相器延迟测量所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率;
[0022]根据所述反相器延迟链测量得到的所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,获取所述芯片压降的变化量。
[0023]在第二方面的第一种可能的实现方式中,还包括:
[0024]所述反向器延迟链在所述芯片处于不工作状态时,测量所述压控振荡器在所述芯片处于不同工作电压下产生的时钟信号的频率,以获得所述时钟信号的频率与所述工作电压的曲线模型;
[0025]根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述当前频率下的芯片压降。
[0026]根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述芯片压降的测量方法还包括:
[0027]通过运行程序控制所述压控振荡器产生的时钟信号的频率;
[0028]根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述芯片在所述程序运行过程中的压降。
[0029]根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述芯片压降包括动态压降和平均压降;则所述芯片压降的测量方法还包括:
[0030]选择测量所述芯片的动态压降或平均压降;
[0031]在选择测量所述芯片的动态压降时,记录所述反相器延迟链多次测量的时钟信号的频率,以获取所述动态压降的最大值以及对应的时刻;或者,在选择测量所述芯片的平均压降时,记录并积累所述反相器延迟链连续测量的时钟信号的频率,以获取所述芯片压降的波动范围。
[0032]根据第二方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述压控振荡器为多个,分别设置在所述芯片的多个热点区域;则所述芯片压降的测量方法还包括:
[0033]通过控制所述多个压控振荡器的开关状态,分别测量所述芯片中每个所述热点区域的压降。
[0034]本发明提供一种芯片压降的测量装置及方法,通过设置在芯片中的压控振荡器产生具有固定频率的时钟信号,并由反相器延迟链测量该压控振荡器输出的时钟信号的频率,并且在该芯片的压降发送变化时,该压控振荡器产生的时钟信号的频率也相应的发生变化,因此,数据处理模块可以根据反相器延迟链在芯片处于不同工作状态时测量的时钟信号的频率获取该芯片压降的变化量,本实施例提供的测量装置,将反相器延迟链中每个反相器的延迟值设置为标准值进行测量,解决了现有技术在测量芯片压降时,由于实际输入的时钟信号并非为理想的标准信号而使其时间窗口是不确定的,从而导致芯片压降的测量结果不准确的问题,提高了芯片压降测量的准确性。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明实施例一所提供的一种芯片压降的测量装置的结构示意图;
[0037]图2为本发明实施例二所提供的一种芯片压降的测量装置的结构示意图;
[0038]图3为本发明实施例所提供的另一种芯片压降的测量装置的结构示意图;
[0039]图4为本发明实施例三所提供的一种芯片压降的测量方法的流程图;
[0040]图5为本发明实施例四所提供的一种芯片压降的测量方法的流程图。
【具体实施方式】
[0041]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]在介绍本发明实施例提供的技术方案之前,先对本发明实施例涉及到的一些概念以及基本测试原理进行阐述,以便本领域技术人员清楚准确地理解本发明实施例提供的技术方案。
[0043]电源地传输网络是指从版级源头(Power Regulator)(例如芯片外连接的电源)到芯片内部负载(例如晶体管)的通路,即芯片中器件的供电通路,通常包括印刷电路板(Printed Circuit Board,简称为:PCB)上的电源地传输线,親合电容,芯片封装的电源地焊球,芯片内部的电源地管脚、电源地金属网络等。当芯片处于工作状态时,会产生从版级源头到芯片内部各晶体管的电源通路,并且电流从电源地传输网络流过,由欧姆定律可知,版级源头到晶体管之间存在电压差,该电压差值为流过该传输网络的电流乘以传输网络的电阻,该电压差即为芯片压降。
[0044]芯片压降会严重影响芯片的频率,例如静态压降会拉低芯片的正常工作电压,芯片中晶体管的翻转速度又和工作电压相关,即静态压降会降低芯片的最高频率,从而影响芯片的使用性能;再例如动态压降会让芯片的工作电压产生波动,这种波动不仅会影响芯片的最高频率,还可能会影响芯片工作的正确性。因此,芯片设计者要在设计芯片时,通常需要加入芯片压降的余量来弥补该压降带来的不利影响,如何准确的测量芯片压降成为目前亟需解决的问题。
[0045]以下通过一些具体实施例说明本发明提供的芯片压降的测量装置及方法的具体实现方式,以及采用该装置测量芯片压降时可以实现的有益效果。
[0046]实施例一
[0047]图1为本发明实施例一所提供的一种芯片压降的测量装置的结构示意图。本实施例提供的测量装置适用于测量芯片的内部压降,该测量装置通常以硬件和软件的方法来实现,可以集成在终端设备的处理器中,例如设置于处理器芯片中,测量处理器芯片的内部压降。如图1所示,本实施例的测量装置可以包括:设置在所述芯片中的压控振荡器11、反相器延迟链12和数据处理模块13。
[0048]压控振荡器11用于产生时钟信号,其中,在芯片压降发生变化时,该压控振荡器11产生的时钟信号的频率随该芯片压降的变化而变化。
[0049]目前的芯片制作工艺已进入深亚微米时代,随着芯片集成度的提高,芯片的面积缩小,芯片的工作电压也降低,然而,芯片频率在逐步提高,因此,使得芯片的功耗密度增加;芯片中通常会使用电源管理技术,例如多电压域技术,动态调频调压技术,电源关断技术等,这些技术在工作时都会对电源地供电产生影响,有些还会产生强烈波动,例如打开或关断某一电压域时对旁边电压域的冲击;并且在芯片的发展中,工作电压的降低并没有同步的降低芯片的功耗,反而芯片的功耗有所上升,芯片内部线宽变窄带来电源传输网络的电阻增加,其结果就是导致芯片压降增加,直接影响芯片的实际频率。
[0050]目前通过反相器延迟链直接测量芯片压降的电路中,反相器延迟链的体积较大并且敏感性较差,以至于使用该方式测量的芯片压降不准确,进而直接影响芯片的设计优略。相比于现有技术的测量装置,本实施例所提供的芯片压降测量装置,由压控振荡器11产生时钟信号,其产生的时钟信号的频率,即环震级数可以根据需要通过仿真确定,压控振荡器11的体积远小于反相器延迟链12的体积,并且敏感性较高,具体可以将该压控振荡器11设置在芯片的热点区域(hotspot),由于芯片在运行时功耗分布和供电分布不均匀,使得芯片内部某一区域的功耗和压降较高,该区域即为热点区域,该区域是影响整个芯片性能的关键区域。通常地,压控振荡器11在芯片的供电稳定时所产生的时钟信号的频率固定的,芯片在运行过程中会产生芯片压降,相应地,压控振荡器11产生的时钟信号的频率也会随该芯片压降的变化而发生变化,即本实施例提供的方案中,时钟信号是可变的;通常可以采用对压降变换敏感性高的器件组成该压控振荡器11的反向逻辑,用于增大压降带来的频率变化,同时减少局部工艺偏差造成的影响。
[0051]反相器延迟链12由多个尺寸相同的反相器串联组成,并与压控振荡器11连接,用于测量压控振荡器11在芯片处于不同工作状态时产生的时钟信号的频率,该反相器延迟链12中每个反相器的延迟值相同。
[0052]在本实施例中,反相器延迟链12在测量装置中起到尺子的作用,由多个相同尺寸的反相器串联组成的反相器延迟链12的每一个反相器都产生输出信号,该反相器延迟链12通常以单独供电的方式设置于芯片中,可以部署远离芯片热点区域的位置,其自身的延迟值并不会受芯片压降的影响,以保证该反相器延迟链12的稳定性。具体地,当周期信号(即为压控振荡器11输出的时钟信号)输入反相器延迟链12中,会在周期信号产生跳变时,也就是上升沿或下降沿到来时,相邻两个反相器会同时输出I或0,即反相器延迟链12的输出信号中产生相同的结果,00或11,所以记录下两个相同结果之间间隔了几个反相器就可计算出半周期的长度,记录三个相同结果之间间隔了几个反相器就可计算出一个周期的长度,也就能算出该周期信号的频率;例如:反相器延迟链12中的每个反相器的延迟为10ps,若反相器延迟链12的输入为=001010101……11……01010100 (00到00之间共50个反相器),可以得出该周期信号的周期为:50*10ps = 500ps,从而得到周期信号的频率为2GHzo
[0053]举例说明周期信号,以及周期信号的频率对反相器延迟链12的输出信号的影响;
[0054]当没有周期信号输入时,反相器延迟链12的状态为:
[0055]101010101010101010101010101010101010101010101010
[0056]当有周期信号输入时,反相器延迟链12的状态为:
[0057]101101010101010101010100101010101010101010110101
[0058]当周期信号频率变慢时,反相器延迟链12的状态为:
[0059]101101010101010101010010101010101010101101010101
[0060]需要说明的是,本实施例所述的周期信号可以为压控振荡器11产生的时钟信号;本实施例提供的反相器延迟链12的每个反相器都有相同的延迟,并且这些延迟加起来需要比待测周期信号的周期长,因此,可以保证在该反相器延迟链12中总能捕获到一个完整的周期。
[0061]在芯片的设计中,为了降低芯片压降带来的不利影响,可以通过模拟电源电压波动带来的影响,在设计中加入一定的余量,目前最普遍的方式就是利用反相器延迟链构成的测量电路进行芯片压降的测量,具体地,通过该电路输入时钟信号,根据电压波动对反相器延迟链的延迟产生的影响,以分析芯片压降的变化;在该测量方式中,设定输入的时钟信号是标准的,并且电路中的电压波动会使得反相器延迟链中每级反相器的延迟值产生变化,即反相器延迟链的延迟值是不稳定的,但是在实际应用中,时钟信号并非标准的,即,一个周期内时钟信号的时间窗口是不确定的,因此,反相器延迟链在该时钟信号的时间窗口内翻转的个数是不确定的,故通过该方式测量的芯片压降是不准确的;进一步地,时钟信号身产生的时钟偏差、时钟抖动也会使输出结果发生变化,从而得到的测量结果中不能排除时钟偏差和时钟抖动造成的影响,因此,测量结果仅能表示芯片内部时序变化,不能完全说明芯片压降的变化。在本实施例中,以反相器延迟链12中反相器的延迟值为基准,设定每个反相器的延迟值是相同的,因此,根据反相器延迟链12在接收到压控振荡器11输出的时钟信号时的翻转情况,就可以计算出压控振荡器11产生的时钟信号的频率。
[0062]需要说明的是,本实施例通过将反相器延迟链12中每个反相器的延迟值作为标准值,通过压控振荡器11产生的时钟信号的频率是随芯片压降的变化而变化的,即本实施例中产生的时钟信号是可以反映芯片压降的,相比于现有技术中将时钟信号作为标准值,具有更好地可操控性,也可以得到更为准确的芯片压降结果。
[0063]数据处理模块13与反相器延迟链12连接,用于根据反相器延迟链12测量得到的压控振荡器11在芯片处于不同工作状态时产生的时钟信号的频率,获取芯片压降的变化量。
[0064]本实施例在具体实现中,由于芯片在工作状态和不工作状态下的芯片压降是不同的;具体地,芯片通电但是处于不工作状态时,芯片内部电流为晶体管的漏电,此时通过芯片内部的电流恒定,在此电流下产生的压降为静态压降;不同地,芯片在工作过程中,芯片内部的功能模块的运行会产生不同的晶体管翻转,会产生大小随时间变化的电流,在该变化的电流下产生的压降也是变化的,即为芯片的动态压降,该动态压降为随时间变化的动态值,该动态压降的最大值通常为设计芯片时需要关注的重点参数,本实施例中的数据处理模块13可以根据反相器延迟链12测得时钟信号的频率变化量,计算出芯片压降的变化量,通常可以得到芯片从不工作状态到工作状态时芯片压降的变化量,也可以得到芯片在工作状态中压降的变化量,因此,本实施例所提供的芯片压降的测量装置,可以测得芯片在工作状态下压降的最大变化量,该压降的最大变化量为影响整个芯片的重要指标,该测量结果可以对芯片设计者做出设计指导,例如对芯片品质,最高频率提供指导,对现代电源管理技术和对芯片的影响做出分析,对生产工艺做出相应的调整。
[0065]需要说明的是,本实施例提供的芯片压降的测量装置中,数据处理模块13对反相器延迟链12测得的时钟信号的频率的处理方式,可以通过预置的计算方式以软件模块的形式实现,也可以通过人为计算替代该数据处理模块13的运算处理。
[0066]本实施例所提供的芯片压降的测量装置,通过设置在芯片中的压控振荡器产生具有固定频率的时钟信号,并由反相器延迟链测量该压控振荡器输出的时钟信号的频率,并且在该芯片的压降发送变化时,该压控振荡器产生的时钟信号的频率也相应的发生变化,因此,数据处理模块可以根据反相器延迟链在芯片处于不同工作状态时测量的时钟信号的频率获取该芯片压降的变化量,本实施例提供的测量装置,将反相器延迟链中每个反相器的延迟值设置为标准值进行测量,解决了现有技术在测量芯片压降时,由于实际输入的时钟信号并非为理想的标准信号而使其时间窗口是不确定的,从而导致芯片压降的测量结果不准确的问题,提高了芯片压降测量的准确性;进一步地,本实施例提供的测量装置,芯片内部的压降变化直接影响压控振荡器所产生的时钟信号的频率,由于该压控振荡器的体积远小于反相器延迟链的体积,并且具有更高的敏感性,相比于现有技术通过反相器延迟链直接测量输入的时钟信号,进一步的提高了芯片压降测量的准确性。
[0067]实施例二
[0068]图2为本发明实施例二所提供的一种芯片压降的测量装置的结构示意图。在上述图1所示装置的基础上,本实施例提供的测量装置中,反相器延迟链12,还用于在芯片处于不工作状态时,测量压控振荡器11在该芯片处于不同工作电压下产生的时钟信号的频率,以获得该时钟信号的频率与工作电压的曲线模型;相应地,该数据处理模块13,还用于根据该反相器延迟链12当前测量得到的时钟信号的频率和该曲线模型,获取该当前频率下的芯片压降。
[0069]在本实施例中,可以通过先行测量芯片压降的基准值,实现在测量芯片压降时获得芯片压降的真实值;具体地,芯片压降结果测量结果均为一串“01”信号,需要通过校准,得到我们需要的压降变化结果,首先可以通过输入已知的固定频率的时钟信号,得到两个相邻的I之间间隔多少个0,或者得到两个相邻的O之间间隔多少个1,可以计算在一个周期内,时钟信号在反相器延迟链12中传输了多少个反相器,从而能得到反相器延迟链12中每一个反相器的延迟值,然后,将芯片设置为不工作状态,通过改变芯片的工作电压,测量压控振荡器11在不同工作电压下产生的时钟信号的频率就,可以得到时钟信号的频率与芯片工作电压之间的曲线模型,该曲线模型即为获取芯片压降的基准值,随后测量芯片处于工作状态时的实际工作电压和时钟信号的频率,根据该已知的频率与工作电压的曲线模型,以及通过反相器延迟链12测量出的芯片工作时的实际工作电压,就能计算出芯片压降的真实值;举例来说,根据反相器延迟链12测得的“01”信号和已知的反相器的延迟值,可以计算出该反相器延迟链12当前测量的时钟信号的频率,例如为频率为600fz,当前芯片的工作电压例如为1.2V,然而,芯片在不工作状态下测量获得的曲线模型中,工作电压1.2V对应的时钟信号的频率为800fz,工作电压1.1V对应的时钟信号的频率为700fz,工作电压1.0V对应的时钟信号的频率为600fz,当前频率600&下的芯片压降为该芯片的当前工作电压与该芯片处于不工作状态时频率为600&的时钟信号对应的工作电压的差值,即为0.2V ;再举例来说,芯片不工作时,输入供电电压1.10V,测得时钟信号间隔80个反相器,输入供电电压1.05V,测得时钟信号间隔90个反相器,输入供电电压1.00V,测得时钟信号间隔100个反相器,再测量芯片工作时的电压数据,在供电电压为1.1OV时,测得时钟信号间隔90个反相器,可以得出芯片内部实际工作电压为1.05V,可知该芯片的压降为0.05Vo
[0070]进一步地,本实施例提供的芯片压降的测量装置还包括:设置在芯片中的控制模块14,该控制模块14与压控振荡器11连接,用于通过运行程序控制压控振荡器11产生的时钟信号的频率;相应地,数据处理模块13,具体用于根据反相器延迟链12当前测量得到的时钟信号的频率和所述曲线模型,获取该芯片在该程序运行过程中的压降。
[0071]本实施例的具体测量方式就是可以将芯片压降的测量与具体程序行为相结合,在具体实现过程中通过控制模块14给测量信号和测量结果配置地址空间,可以利用程序在芯片实际工作中改变配置和运行时间,该测量信号通常为程序给出的开始测量的指示,在程序运行过程中预先配置好具体测量方式和测量时间,然后当执行到某一条受到关注的指令之前,可以给出开始测量的信号,这样可以得到这条指令运行时芯片内部的压降情况;由于可能会遇到程序在芯片内部遇到阻塞等待的情况发生,类似地,可以在芯片内部设置一个触发机制,例如在芯片译码时对该译码状态下压控振荡器11产生的时钟信号进行测量,可以在该译码状态发生时触发压降测量开始,这样可以精确的得到程序运行过程中的芯片压降。
[0072]在具体实现中,对芯片压降的测量主要包括动态压降和平均压降,即该测量装置的工作模式也配置了动态压降测量和平均压降测量;相应地,控制模块14,还用于通过选择该测量装置的工作模式测量芯片的动态压降或平均压降。动态压降的最大值是影响芯片最高频率的重要因素,在测量运行程序或执行某一行为时芯片的压降,通常对芯片的动态压降连续测量并取平均值,即平均压降,可以反应芯片在程序运行过程中的压降波动范围。本实施例的测量装置还可以包括:设置在芯中的存储模块15,该存储模块15分别与反相器延迟链12、控制模块14和数据处理模块13连接,用于处理并记录该反相器延迟链12测量的时钟信号的频率;具体地,在控制模块14选择动态压降测量时,该存储模块15记录该反相器延迟链12多次测量的时钟信号的频率,以使数据处理模块13获取该动态压降的最大值以及对应的时刻;或者,在控制模块14选择平均压降测量时,该存储模块15记录并积累该反相器延迟链12连续测量的时钟信号的频率,以使数据处理模块13获取该芯片压降的波动范围。
[0073]需要说明的是,存储模块15在该测量装置中起到整理反相器延迟链12产生的数据,记录数据结果的作用。因为反相器延迟链12产生的是相邻两位反相的“010101”,所以在存储模块14中先对这样的数据进行处理,只输出相邻位相同的反相器的位置,具体地,相邻两位的输出为“异或”逻辑,当相邻两个反相器不同时输出0,当相邻两个反相器相同时输出I。并且在该存储模块15中可以对得到的历史数据进行积累,最终可以输出在一段时间内,反应芯片压降的积累数据。
[0074]举例来说,当没有信号输入时,存储模块15记录的数据为:
[0075]0000000000000000000000000000000000000000000
[0076]当有周期信号输入时,存储模块15记录的数据为:
[0077]0010000000000000000001000000000000000001000
[0078]当周期信号频率变慢时,存储模块15记录的数据为:
[0079]0010000000000000000100000000000000010000000
[0080]在本实施例中,控制模块14在测量装置中起到控制何时启动测量,和存储模块15记录哪一种工作模式的测量数据的作用。该测量装置通过控制模块14对芯片加入配置信号,并且可以配置不同的工作模式,以及控制测量装置的开启或关闭,本实施例中以测量装置的工作模式对应测量芯片内部的动态和平均压降为例予以说明;在测量动态压降时,控制模块14配置存储模块15在给出存储信号时,存储一次反相延迟链的状态,该存储信号由芯片外程序控制,可以加入到程序行为中,测量特定程序运行时芯片压降情况;类似地,在测量平均压降时,控制模块14配置存储模块15存储反相器延迟链12的积累数据,在芯片运行一段时间后再读出所存储的积累数据。
[0081]举例来说,当没有压降时,存储模块15记录的数据为:
[0082]0010000000000000000001000000000000000001000
[0083]测量动态压降时,存储模块15记录下瞬时动态压降数据为:
[0084]0010000000000000000100000000000000010000000
[0085]测量平均压降时,存储模块15记录长时间压降波动范围数据为:
[0086]001000000000000001II1000000000001IIII100000
[0087]本实施例在具体实现中,在测量动态压降时,通过控制模块14配置存储信号,存储模块15连续记录反相器延迟链12测量的结果。具体地,压控振荡器11产生的时钟信号输入反相器延迟链12,在芯片外部给出开始测量信号之后,存储模块15记录下当前时刻的反相器延迟链12的状态,由于压控振荡器11产生的时钟信号的周期小于反相器延迟链12的长度,所以存储模块15可以记录下该时钟信号在反相器延迟链12中的翻转状态,即当前时刻压控振荡器11产生的时钟信号的周期,并且该时钟信号的周期与压控振荡器11所在位置的电压波动相关。
[0088]类似地,在测量平均压降时,通过控制模块14配置存储信号,存储模块15记录反相器延迟链12多次测量结果的积累。具体地,压控振荡器11产生的时钟信号输入反相器延迟链12,在芯片外部给出开始测量信号之后,存储模块15记录下时钟信号的每一个周期内反相器延迟链12的状态,由于压控振荡器11产生的时钟信号同时也驱动存储模块15,所以反相器延迟链12的状态与存储模块15记录的时刻有一个固定的相位差,可以通过多次记录,得到芯片在运行程序的一段时间内,芯片压降的波动范围,并且通过记录相邻两位反相器同时出现O或I的次数,可以得到这段时间内电压波动在各个点出现的概率。
[0089]目前的芯片设计中,虽然可以通过模拟电源电压波动带来的影响,在设计中加入一定的余量,但由于芯片程序行为十分复杂,设计人员很难仿真所有芯片工作情况,造成的后果就是有可能设计加入过多余量加重芯片设计的负担,或者加入的余量不够导致芯片生产出来未能满足设计要求;并且芯片生产过程中的工艺波动也可能造成不同芯片有着不同的芯片压降,或不同芯片有不同的对压降的敏感程度,另外,芯片实际工作的环境,工艺的偏差,供电电源的稳定性,芯片的封装,版级供电情况,芯片实际执行的程序,都会极大影响芯片实际工作情况,进而影响芯片内部压降,这些因素都对芯片压降测量提出了需求。
[0090]更进一步地,图3为本发明实施例所提供的另一种芯片压降的测量装置的结构示意图。在本实施例中,测量装置中的压控振荡器11可以为多个,分别设置在该芯片的多个热点区域;控制模块14和反相器延迟链12分别与多个压控振荡器11连接,该控制模块14还用于控制该多个压控振荡器11的开关状态,使得该测量装置分别测量芯片中每个热点区域的压降;图3中以测量装置中包括3个压控振荡器11为例予以示出。
[0091]现有技术中通过反向器延迟链测量输入的时钟信号的方式,若需要测量芯片内部多个热点区域的压降,则需要在该多个热点区域分别设置反相器延迟链,因而造成测试电路占用芯片大量面积;另外,现有技术还可以通过芯片引脚(pad)引出片内电源的方式直接测量芯片压降,该测量方式比较直接,但是需要占用紧张的引脚资源,并且不能提供多个测量点进行测量,而且引脚本身就会带来一定的压降,对测量芯片压降的绝对值精度产生影响。
[0092]相比之下,本实施例提供的芯片压降的测量装置,可以直接将多个压控振荡器11设置在芯片的热点区域,通过对芯片运行时压降的变化的敏感程度产生频率变化的时钟信号,该装置不会占用紧张的引脚(pad)资源,还可以提供多个测量点进行测量,并且压控振荡器的体积远远小于反相器延迟链的体积,占用的芯片面积显著减少;而且多个压控振荡器共用一个控制模块、反相器延迟链、存储模块可以进一步地节省面积,测试时通过控制模块多路选择具体测试哪一个压控振荡器所在位置的芯片压降,本实施例通过数字电路测量的同时还可以结合芯片的运行程序,具体在芯片具体执行某条指令时测量芯片内部压降的动态结果,提高了芯片压降测量的准确性和全面性,为芯片设计者在芯片结构的优化改进中提供更高的指导价值。
[0093]实施例三
[0094]图4为本发明实施例三所提供的一种芯片压降的测量方法的流程图。本实施例提供的测量方法适用于测量芯片的内部压降,该方法可以由设置于芯片中的芯片压降的测量装置来执行,该装置通常以硬件和软件的方法来实现,包括相互连接的压控振荡器和反相器延迟链,可以集成在终端设备的处理器中,例如设置于处理器芯片中,测量处理器芯片的内部压降。如图4所示,本实施例的测量方法可以包括:
[0095]S110,压控振荡器根据芯片压降的变化,产生频率随该芯片压降变化的时钟信号。
[0096]本实施例中产生时钟信号的压控振荡器可以产生固定频率的时钟信号,其产生的时钟信号的频率,即环震级数可以根据需要通过仿真确定,并且本实施例中用于产生时钟信号的压控振荡器的体积远小于现有技术中直接测量输入电路中的时钟信号的反相器延迟链的体积,具有较高的敏感性,压控振荡器在芯片的供电稳定时产生固定频率的时钟信号,芯片在运行过程中存在芯片压降,因此,该压控振荡器产生的时钟信号的频率也随之发生变化。
[0097]S120,反相器延迟测量压控振荡器在芯片处于不同工作状态时产生的时钟信号的频率。
[0098]执行本实施例的测量方法的反相器延迟链中每个反相器的延迟值均为相同的,本实施例中的反相器延迟链通常以单独供电的方式设置于芯片中,可以部署远离芯片热点区域的位置,以保证其压降的稳定性,仅用于测量压控振荡器产生的时钟信号的频率,其自身的延迟值并不会受芯片压降的影响。
[0099]S130,根据反相器延迟链测量得到的压控振荡器在芯片处于不同工作状态时产生的时钟信号的频率,获取该芯片压降的变化量。
[0100]在本实施例中,可以根据反相器延迟链测得时钟信号的频率变化量,并计算出芯片压降的变化量,通常可以得到芯片从不工作状态到工作状态时芯片压降的变化量,也可以得到芯片在工作状态中压降的变化量。
[0101]本发明实施例提供的芯片压降的测量方法可以由本发明图1所示实施例提供的芯片压降的测量装置执行,方法的各步骤与本发明实施例提供的芯片压降的测量装置的各模块功能对应,其实现原理和技术效果类似,此处不再赘述。
[0102]需要说明的是,通过图1所示实施例中的芯片压降的测量装置执行本实施例提供的方法时,对反相器延迟链测得的时钟信号的频率的处理方式,可以通过预置的计算方式以软件模块的形式实现,即可以通过图1所示的数据处理模块执行数据处理,也可以通过人为计算替代数据处理模块的处理方式。
[0103]实施例四
[0104]图5为本发明实施例四所提供的一种芯片压降的测量方法的流程图。在上述图4所示实施例的基础上,还包括:S140,反向器延迟链在芯片处于不工作状态时,测量压控振荡器在芯片处于不同工作电压下产生的时钟信号的频率,以获得时钟信号的频率与工作电压的曲线模型;S150,根据该反相器延迟链当前测量得到的时钟信号的频率和已获得的曲线模型,获取当前频率下的芯片压降。本实施例中,测量芯片压降的基准值,即测量时钟信号的频率与芯片工作电压之间的曲线模型,以及根据该曲线模型获取当前频率下芯片压降的具体方式均与上述实施例相同,故在此不再赘述。
[0105]需要说明的是,本发明实施例不限制S140?S150与S120?S130的执行步骤,本发明实施例提供的方法也可以选择性的执行S120?S130和S140?S150,图4所示实施例以S120?S130在S140?S150之前为例予以示出。
[0106]进一步地,在图5所示实施例的基础上,本实施例提供的方法还包括:S160,通过运行程序控制压控振荡器产生的时钟信号的频率;S170,根据反相器延迟链当前测量得到的时钟信号的频率和已获得的曲线模型,获取芯片在所述程序运行过程中的压降。
[0107]在具体实现中,对芯片压降的测量主要包括动态压降和平均压降,则本实施例提供的方法还包括:选择测量芯片的动态压降或平均压降;其中,在选择测量芯片的动态压降时,记录反相器延迟链多次测量的时钟信号的频率,以获取动态压降的最大值以及对应的时刻;或者,在选择测量芯片的平均压降时,记录并积累反相器延迟链连续测量的时钟信号的频率,以获取芯片压降的波动范围。需要说明的是,记录反相器延迟链测量值的工作例如可以由图2所示实施例中的存储模块执行的,其记录的方式与上述实施例相同,故在此不再赘述。
[0108]本发明实施例提供的芯片压降的测量方法可以由本发明图2所示实施例提供的芯片压降的测量装置执行,方法的各步骤与本发明实施例提供的芯片压降的测量装置的各模块功能对应,其实现原理和技术效果类似,此处不再赘述。
[0109]更进一步地,执行本实施例提供的芯片压降的测量方法的装置中,可以包括多个分别与反相器延迟链连接的压控振荡器,分别设置在芯片的多个热点区域;则本实施例提供的方法还包括:通过控制多个压控振荡器的开关状态,分别测量芯片中每个热点区域的压降。
[0110]本发明实施例提供的芯片压降的测量方法可以由本发明图3所示实施例提供的芯片压降的测量装置执行,方法的各步骤与本发明实施例提供的芯片压降的测量装置的各模块功能对应,其实现原理和技术效果类似,此处不再赘述。
[0111]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种芯片压降的测量装置,其特征在于,包括:设置在所述芯片中的压控振荡器、反相器延迟链和数据处理模块; 所述压控振荡器用于产生时钟信号,其中,在所述芯片压降发生变化时,所述压控振荡器产生的时钟信号的频率随所述芯片压降的变化而变化; 所述反相器延迟链由多个尺寸相同的反相器串联组成,并与所述压控振荡器连接,用于测量所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,所述反相器延迟链中每个反相器的延迟值相同; 所述数据处理模块与所述反相器延迟链连接,用于根据所述反相器延迟链测量得到的所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,获取所述芯片压降的变化量。2.根据权利要求1所述的芯片压降的测量装置,其特征在于, 所述反向器延迟链,还用于在所述芯片处于不工作状态时,测量所述压控振荡器在所述芯片处于不同工作电压下产生的时钟信号的频率,以获得所述时钟信号的频率与所述工作电压的曲线模型; 所述数据处理模块,还用于根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述当前频率下的芯片压降。3.根据权利要求2所述的芯片压降的测量装置,其特征在于, 所述测量装置还包括:设置在所述芯片中的控制模块;所述控制模块与所述压控振荡器连接,用于通过运行程序控制所述压控振荡器产生的时钟信号的频率; 所述数据处理模块,具体用于根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述芯片在所述程序运行过程中的压降。4.根据权利要求3所述的芯片压降的测量装置,其特征在于,所述芯片压降包括动态压降和平均压降,所述测量装置的工作模式包括动态压降测量和平均压降测量;则所述控制模块,还用于通过选择所述测量装置的工作模式测量所述芯片的动态压降或平均压降; 所述装置还包括:设置在所述芯中的存储模块;所述存储模块分别与所述反相器延迟链、所述控制模块和所述数据处理模块连接,用于处理并记录所述反相器延迟链测量的时钟信号的频率; 其中,在所述控制模块选择动态压降测量时,所述存储模块记录所述反相器延迟链多次测量的时钟信号的频率,以使所述数据处理模块获取所述动态压降的最大值以及对应的时刻;或者,在所述控制模块选择平均压降测量时,所述存储模块记录并积累所述反相器延迟链连续测量的时钟信号的频率,以使所述数据处理模块获取所述芯片压降的波动范围。5.根据权利要求3或4所述的芯片压降的测量装置,其特征在于,所述压控振荡器为多个,分别设置在所述芯片的多个热点区域; 所述控制模块和所述反相器延迟链分别与所述多个压控振荡器连接,所述控制模块还用于控制所述多个压控振荡器的开关状态,使得所述测量装置分别测量所述芯片中每个所述热点区域的压降。6.一种芯片压降的测量方法,其特征在于,通过设置于芯片中相互连接的压控振荡器和反相器延迟链执行,其中,所述反相器延迟链中每个反相器的延迟值相同,所述方法包括: 所述压控振荡器根据所述芯片压降的变化,产生频率随所述芯片压降变化的时钟信号; 所述反相器延迟测量所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率; 根据所述反相器延迟链测量得到的所述压控振荡器在所述芯片处于不同工作状态时产生的时钟信号的频率,获取所述芯片压降的变化量。7.根据权利要求6所述的芯片压降的测量方法,其特征在于,还包括: 所述反向器延迟链在所述芯片处于不工作状态时,测量所述压控振荡器在所述芯片处于不同工作电压下产生的时钟信号的频率,以获得所述时钟信号的频率与所述工作电压的曲线模型; 根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述当前频率下的芯片压降。8.根据权利要求7所述的芯片压降的测量方法,其特征在于,还包括: 通过运行程序控制所述压控振荡器产生的时钟信号的频率; 根据所述反相器延迟链当前测量得到的时钟信号的频率和所述已获得的曲线模型,获取所述芯片在所述程序运行过程中的压降。9.根据权利要求8所述的芯片压降的测量方法,其特征在于,所述芯片压降包括动态压降和平均压降;则所述芯片压降的测量方法还包括: 选择测量所述芯片的动态压降或平均压降; 在选择测量所述芯片的动态压降时,记录所述反相器延迟链多次测量的时钟信号的频率,以获取所述动态压降的最大值以及对应的时刻;或者,在选择测量所述芯片的平均压降时,记录并积累所述反相器延迟链连续测量的时钟信号的频率,以获取所述芯片压降的波动范围。10.根据权利要求8或9所述的芯片压降的测量方法,其特征在于,所述压控振荡器为多个,分别设置在所述芯片的多个热点区域;则所述芯片压降的测量方法还包括: 通过控制所述多个压控振荡器的开关状态,分别测量所述芯片中每个所述热点区域的压降。
【文档编号】G01R19/10GK105988038SQ201510100234
【公开日】2016年10月5日
【申请日】2015年3月6日
【发明人】张译夫, 杨梁
【申请人】龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1