发明内容
本发明要解决的技术问题是提供一种检测电路延时和时序的方法,其能为解决上述技术问题,本发明的检测电路延时和时序的方法,包含如下步骤:
步骤一,将主时序信号和待检测的延时时序信号进行逻辑与操作,产生测试时序信号;
步骤二,利用第二计数器对所述测试时序信号的延时边沿进行计数,同时根据主时序信号的下降沿和第一个计数器产生使能信号,所述使能信号用于驱动逻辑电路分时进行采样计数值,分析计数值并进行判断,所述使能信号的高电平时长为所述主时序信号的固定周期;
步骤三,采用以下标准对计数结果进行判断,当计数值大于或等于所述固定周期时,判断待检测的延时时序信号的时序正确;当计数值小于所述固定周期时,判断待检测的延时时序信号的时序错误,其中时序正确表示待检测的延时时序信号的延时小于主时序信号的周期;
步骤四,变换主时序信号的周期,重复操作步骤一至三,通过多次逼近找到时序正确和时序错误的临界点,该临界点所对应的周期即为所述待检测的延时时序信号的实际延时。
本发明还公开一种校准延时的方法,为采用上述方法来检测出电路的延时,之后根据与标准延时的偏差进行校准调整,至调整后的电路延时达到设计目标为止。
本发明还公开了一种延时检测电路,其包括:
包括测试时序信号产生电路,用于根据外部信号将主时序信号和待检测的延时时序信号进行逻辑与操作产生测试时序信号;
使能信号产生电路,用于根据所述主时序信号的下降沿和第一计数器产生使能信号,所述使能信号用于驱动逻辑电路分时进行采样计数值,分析计数值并进行判断,所述使能信号的高电平时长为所述主时序信号的固定周期;
第二计数器,用于根据所述使能信号对所述测试时序信号的延时边沿进行计数;
计数结果判断模块,用于在所述使能信号的作用下,通过所述逻辑电路分时进行采样计数值,分析计数值以及通过判断给出标志位,所述判断标准为:当计数值大于等于所述固定周期时,判断待检测的延时时序信号的时序正确;当计数值小于所述固定周期时,判断待检测的延时时序信号的时序错误,其中时序正确表示延时小于主时序信号的周期。
本发明的检测电路延时和时序的方法中,通过时序的主信号本身的周期来检查延时电路的具体延时,减少了信号源的使用。通过产生新的测试时序信号,实现检测信号只与主信号的上升沿有关,避免主信号的占空比对检测的干扰。更进一步的,本发明的方法设置输出标志为,通过判断输出标志位的状态,找出临界状态,临界状态下的主信号的周期直接就是延时电路的实际延时,无须换算。可以通过该测试延时的办法,校准延时,使延时达到设计的要求。另外,本发明的延时检测电路,可有数字电路来实现计数比较等,可以较快的完成延时计算,且精确度高。
具体实施方式
在存储器电路尤其是非易挥发性存储器(NVM)设计中经常需要一定的时序实现一次读操作,该时序由多个信号组成,这些信号都是通过一个主信号加上一定的延时产生。可设计NVM读电路利用电流来产生延时,通过不同的延时来产生多个延时信号,然后利用多个延时信号组成的时序来实现一次读操作。
现有的做法是通过测试电流来检测时序,从而保证读速度达到要求。但这样的做法没有办法避免延时电路使用的器件工艺偏差带来的影响,从而使得实际的时序偏差依然很大。
本发明的方法,为一种直接测试时序的方法,用于替代测试电流的方法,可以避免工艺偏差所带来的测试准确性的影响。
本发明的检测电路延时和时序的方法,原理为:
图2所示的Aclk信号为主时序信号,Saeq和SAEN信号为Aclk信号的延时时序信号。Saeq信号的上升沿跟随Aclk信号的上升沿,但经过td1延时,然后延时td2后,Saeq信号下降到低电平,SAEN信号的上升沿跟随Saeq信号的下降沿,但经过td3的延时,在下一个Saeq信号的上升沿到来时,SAEN信号下降到低电平。利用Aclk信号和SAEN信号进行逻辑与操作,产生SAEN1信号,作为测试时序信号。因为SAEN1信号与Aclk信号的下降沿没有关系,即可避免主信号的占空比对检测的干扰。实际电路要求SAEN1信号必须有高电平,从而保证能完成正确的电路。假设Aclk信号的周期为Tcy,那么Tcy=td1+td2+td3+t4。当t4小于零时,SAEN1信号即为没有高电平的信号,从而视为该时序是错误的。当td1+td2+td3≤Tcy时,产生的时序正确。现在定义Tcy_s=td1+td2+td3为实际所需的延时;当Tcy≥Tcy_s时,SAEN1信号存在脉冲;而当Tcy<Tcy_s时,SAEN1为没有脉冲信号。因此可以通过多次变换主信号的周期,作逼近判断寻找时序正确和时序错误临界点Tcy=Tcy_s=td1+td2+td3,来获得实际电路的延时。
本发明的检测电路延时和时序的方法,包括:
1)将主时序信号和待检测的延时时序信号进行逻辑与操作,产生测试时序信号;
2)利用第二计数器对测试时序信号的延时边沿(该实例中为上升沿)进行计数,同时根据主时序信号的下降沿和第一个计数器产生使能信号,所述使能信号用于驱动逻辑电路分时进行采样计数值,分析计数值并通过判断,所述使能信号的高电平时长为所述主时序信号的固定周期;
3)采用以下标准对计数结果进行判断,当计数值大于等于固定周期时,判断待检测的延时时序信号时序正确;当计数值小于固定周期时,判断待检测的延时时序信号的时序错误,其中时序正确表示待检测的延时时序信号的延时小于主时序信号的周期;
4)变换主时序信号的周期,重复操作步骤1)至3),进行多次逼近判断找到时序正确和时序错误的临界点,该临界点所对应的周期即为所述待检测的延时时序信号的实际延时。
以Aclk信号为主时序信号,SAEN信号为待检测信号为例,SAEN1信号即为测试时序信号。使用第一计数器和Aclk信号的下降沿产生使能信号Clk_latch1信号、Clk_latch2信号和Clk_latch3信号(这里可分别采用三个计数器)这三个信号用于驱动逻辑电路分时处理采样计数值,分析计数值并通过判断等工作,其波形参见图3,图3中Clk_latch1、Clk_latch2和Clk_latch3信号为第一计数器产生的三个使能信号,Saen2_cnt为第二计数器的计数信号。并作如下设置:在Clk_latch1信号为高时,第二计数器利用SAEN1信号的上升沿进行计数,由于Clk_latch1的高电平时长为固定的Aclk周期(暂定16个),如果Tcy≥Tcy_s,计数器的输出都应该是16,如果发现计数器输出小于16,则说明Tcy<Tcy_s;在Clk_latch1为低,Clk_latch2(高电平设为24个Aclk周期)为高时,对计数器结果进行收集;在Clk_latch2为低,Clk_latch3(高电平设为31个Aclk周期)为高时,对计数器清零,对收集的结果进行分析,给出判断。
考虑到当t4等于零时,SAEN1的脉冲可能不能实现计数,具体实施中可在固定的Aclk周期上加上一偏差值(即误差)作为判断标准。上述的实例中,在考虑误差之后,认为对于≥14的计数器结果判断产生时序正确,输出标志位置高,反之,认为时序错误,输出标志位置低。三个使能信号的设置为实现了在不同的时间完成不同的操作,保证检测过程的可靠性。
变换主信号的周期进行多次测试判断,即可找到临界点,该临界点的周期即为待检测延时时序信号实际的延时。实际测试过程中,变换Tcy从大到小,会发现计数器的结果从等于16逐渐减小,当计数器减小到13时,输出标志位置低,从而将计数器结果为14时所对应的主信号的周期Tcy确定为待检测时序信号的实际延时。
本发明中还包括一个第三计数器,和主时序信号的下降沿产生的检测时序信号Tclk_cnt,为测试过程的计数器,用于控制测试状态和测试次数。该检测时序信号设置为每另一固定主时序信号周期增加一位,该另一固定主时序信号周期设置为大于第三使能信号的高电平时间,而检测时序信号的周期与第三使能信号的周期相同。在检测时序信号中:至少一个周期用于稳定时序电路(具体的周期数可参照具体情况设定);接下来的一个周期用于通过运算产生计数使能信号,该计数使能信号用于和第一使能信号一起来驱动第二计数器采样计数值;再接下来的至少两个周期的检测时序信号对所述第二计数器的计数结果进行判断,其中任意一次计数结果大于等于固定周期加允许的偏差值时,输出标志位置高,并停止计数和判断。这样通过输出标志位的变化,可以很简单的判断出临界点,该临界点对应的周期即为实际延时。上述检测时序信号中具体周期数的调整,可通过实际过程中进行具体设置。
一个具体实例中(见图5),Tclk_cnt信号设置为每32个Aclk周期增加一位,比Clk_latch3的高电平多一个周期,这样可以和Clk_latch1信号、Clk_latch2信号以及Clk_latch3信号的周期对应上。复位时Tclk_cnt=0,前五个周期的(0~4)Tclk_cnt用于稳定时序电路;Tclk_cnt=5,设置为通过内部运算产生计数使能信号Tenable=1,用于和第一使能信号一起驱动第二计数器(即图4中的SAEN计数器)进行计数,即当Clk_latch1信号和Tenable信号同时为高时,第二计数器开始计数;Tclk_cnt=6和7时完成两次测试和判断,其中任意一次发现第二计数器的计数结果大于等于14就将标志位ITO至高,并停止计数和判断。
该具体的检测流程为(见图4):在复位信号Reset=1,使能信号Enable=0时,处于复位状态,Clk_latch1、Clk_latch2和Clk_latch3均为0,Tclk_cnt信号也为0;当使能信号Enable=1,第一计数器和第三计数器开始工作,分别产生计数使能信号Clk_latch1、Clk_latch2和Clk_latch3,以及检测时序信号Tclk_cnt,第三计数器每32个Aclk周期增加一位,前0-4为用于稳定时序;当第三计数器到第5位时,即Tclk_cnt=5,通过运算产生Tenable=1的信号,和Clk_latch1信号一起驱动第二计数器开始工作;在Clk_latch1=0,Clk_latch2=1和Clk_latch3=1的时候,采样第二计数器的计数值,并判断第二计数器的计数值是否大于等于14,如是将标志位置高后整个系统复位,如不是,在Clk_latch1=0,Clk_latch2=0和Clk_latch3=1的时候,复位第二计数器、第三计数器。
本发明的检测电路延时和时序的方法,通过一次检测,可判断出时序正确与否;之后逐渐调整主信号的周期,多次判断逼近,找到临界点。具体举例如下:当主信号的周期为40ns时,判断出时序正确,表示延时在40ns之内;之后将主信号的周期调整为30ns时,判断出时序错误,表示延时大于30ns,即延时在30ns~40ns之间,通过类似的几次调整和判断,逐渐逼近直至找到临界点,即为实际的延时。
本发明的方法,可用于延时的校准,即采用上述方法来检测出电路的延时,之后根据与标准延时的偏差进行校准调整,至调整后的电路延时达到设计目标为止。
本发明的延时检测电路,包括:
测试时序信号产生电路,用于根据外部信号将主时序信号和待检测的延时时序信号进行逻辑与操作产生测试时序信号;
第二计数器,用于根据使能信号对测试时序信号的上升沿(当延时边沿为上升沿时)进行计数;
使能信号产生电路,用于根据主时序信号的下降沿和第一计数器产生使能信号,驱动所述第二计数器进行计数,所述使能信号的高电平时长为所述主时序信号的固定周期;
计数结果判断模块,用于在使能信号的作用下,通过逻辑电路分时进行采样计数值,分析计数值以及通过判断给出标志位。判断标准为:当计数值大于等于所述固定周期时,判断时序正确;当计数值小于所述固定周期时,判断时序错误,其中时序正确表示延时小于主时序信号的周期。
上述的延时检测电路可通过数字电路实现。将延时检测电路内嵌实际待测电路中,就可以检测待测电路的时序或者延时。图6为将延时检测电路内嵌实际待测电路中的示意图,这样就可以检测待测电路的时序或在延时。图6中Enable信号为延时检测电路工作与否的使能信号;Reset信号是延时检测电路的复位信号;ITO信号就是输出标志位。该延时检测电路有四个输入信号,一个输出信号,其中Enable信号和Reset信号分别为延时检测电路的使能信号和复位信号,另两个一个接时序输入信号(Aclk信号),一个接时序输出信号(SAEN信号);输出信号ITO为标志位,当延时大于Aclk信号的周期,ITO=0,反之ITO=1。在正常工作时Enable=0,即延时检测电路不工作。延时检测电路工作时,先Reset=1进行电路复位,然后将Enable=1,开始按图4所示的流程进行延时检测。
一个具体实例中,固定Aclk的周期为40ns作为标准,调整Aclk周期(反应为电流)从大到小,使实际电路的延时达到该标准;首先ITO会置高,等过了临界点之后,ITO会置低,从而找到临界点和对应的电流,使得该样品的时序达到标准,以此类推可以完成所有样品的测试和收紧,使得所有样品都能满足40ns的标准。仿真分析发现该电路检测的误差在+/-1ns之内。
本发明的延时检测电路,可由数字电路实现。只需要在原始待测电路内嵌一个简单的延时数字电路就可实现延时测试;无需额外的测试时钟,通过判断标志位和主信号的周期,就可以获得延时,测试简单,可以推广到所有需要测试延时的电路;通过数字电路进行计数、比较,可以较快的完成延时计算,并且精确度高;由于数字电路本身工作频率可以达到100MHz甚至更高,该发明可以用于检测几十ns级,甚至到几ns级的延时;本发明使用的方法可以准确测试出40ns的延时,误差小于1ns。本发明现在应用的是测试40纳秒(ns)的延时,数字电路工作在60MHz。随着数字电路工作频率的提高,可测试的延时可以达到ns级别。试验证明本发明的方法可以准确测试40ns的延时。本发明的方法,还可扩展为可以用于延时的校准,提高产品的成品率。
在实际使用中,原先使用检测延时产生电路的电流来控制读电路的时序,但是由于延时电路本身由于工艺的影响,导致不同样品之间的时序差别依然很大,最快和最慢有15ns只差,而总共的延时才60ns左右,为此通过检测电流不能很好地收紧各个样品的时序差别。而利用本发明的延时检测方法,直接检测延时,通过调整电流,收紧各个样品之间的时序差别,避免了工艺的影响。
本发明的方法,由于使用主信号的下降沿产生测试时序信号,避免了测试中的竞争,也就是说使用主信号下降沿产生的测试时序,与主信号上升沿加延时产生的延时信号不会出现交叠的情况。
本发明的检测电路延时和时序的方法,也可用于下降沿延时以及同时包含上升沿和下降沿延时的测试。变换的特征在于对第二计数器的计数的延时边沿。当计算上升沿延时时,第二计数器对测试时序信号的上升沿进行计数。当计算下降沿延时时,第二计数器对测试时序信号的下降沿进行计数。