一种电路状态检测的方法和装置的制作方法

文档序号:5878200阅读:92来源:国知局
专利名称:一种电路状态检测的方法和装置的制作方法
技术领域
本发明涉及电子电路技术领域,特别涉及一种电路状态检测的方法和装置。
背景技术
在电路设计被开发完成后,一般需要通过对该电路设计进行检测,从而验证该电 路设计是否满足预期的功能。如果测试过程中出现错误,则设计者能够根据检测结果识别 并校正与该电路设计相关的问题,例如电路逻辑设计的错误,编程错误,进而降低该电路 设计投入实际应用后出错的几率。现有技术中,对电路设计进行检测包括以下两种方法基于 FPGA (Field-Programmable Gate Array,现场可编程阵列)原型的检测方法,基于 RTL(Register Transfer Level,寄存器传输级)仿真的检测方法。其中,基于FPGA原型的检测方法包括首先将待测试电路设计集成到FPGA原型 中,然后对该FPGA原型进行测试,如果测试过程中出现错误,则设计者根据获得的有限出 错信息推断出错原因,并对该FPGA原型进行相应的校正。进而对校正后的FPGA原型进行 测试时,没有出现同样的错误,则可以证实所推测出的出错原因是正确的;相反,如果对校 正后的FPGA原型进行测试时,再次出现同样的错误,可以证实所推测出的出错原因是错误 的,则需要进一步推断其他可能的出错原因,并重复进行上述的测试过程,直到验证找到正 确的出错原因为止。另外,基于RTL仿真的检测方法为首先为RTL设计建立一个测试平台,该测试平 台为RTL设计提供较完备的测试激励,并可以输出可供观察的响应信息,从而根据该响应 信息判断RTL设计是否满足预期功能。但是,在实现本发明的过程中,发明人发现现有技术中至少存在以下缺点对于基于FPGA原型的检测方法,由于硬件的可观测性较差,因此,设计者常常需 要多次的推测出错原因并进行验证的过程,才可以发现正确的出错原因。而对于RTL仿真 的检测方法,通常情况下,首先对涉及到的各功能模块分别进行仿真,在各功能模块单独仿 真通过后,再对由各功能模块构成的整个系统进行仿真。可见,需要进行多次仿真过程。而 RTL仿真的运行速度非常慢,这会大大增加查找和确定错误的时间。因此,上述两种检测方法,找到出错原因所需时间较长,效率较低。

发明内容
针对以上缺陷,本发明的目的为提供一种在对电路设计进行性能测试的过程中, 快速检测到出错原因的方法和装置。本发明提供的电路状态检测的方法,包括以下步骤外部启动被测试电路,对所述被测试电路进行首次测试;当测试过程中所述被测试电路出现错误时,记录出错时刻;根据所述出错时刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换时刻位于所述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;重新启动所述被测试电路,对所述被测试电路进行再次测试,并当达到所述第一 切换时刻时,向输出接口开始输出待观测值,直到达到第二切换时刻时,结束向所述输出接 口输出所述待观测值;根据输出的待观测值确定所述被测试电路的电路状态。优选的,所述重新启动所述被测试电路为自动重新启动所述被测试电路,具体 为设置运行次数参量,并在首次测试之前赋给其初始值,当被测试电路被重新启动 进行再次测试时,所述运行次数参量被更新;在测试过程中所述被测试电路出现错误时,读 取所述运行次数参量;判断所述运行次数参量的当前值是否为所述初始值,当判断结果为 是时,说明本次测试为首次测试,自动重新启动所述被测试电路;当判断结果为否时,说明 本次测试为再次测试,对所述被测试电路继续进行测试,直到达到所述第二切换时刻。优选的,对所述被测试电路进行再次测试时,在达到所述第一切换时刻之前,所述 被测试电路运行频率为快速时钟频率;当达到所述第一切换时刻时,根据分频因子D对所述被测试电路运行频率进行分 频,并将所述被测试电路运行频率切换到慢速时钟频率;其中,所述分频因子D彡(F1 XM)/W,且取整数;Fl 被测试电路所使用的快速时钟频率;M 被测试电路中需要测试的信号个数; W:输出接口的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽);分频后慢 速时钟频率F2 = F1/D ;当达到所述第二切换时刻时,根据分频因子D对所述被测试电路运行频率进行分 频,并将所述被测试电路运行频率切换到所述快速时钟频率。优选的,向输出接口输出待观测值,之前还包括对所述待观测值进行排序。优选的,通过时分多路复用技术将与所述待观测值对应的多路低速并行信号转换 成高速串行信号。本发明还提供一种电路状态检测的装置,包括第一重启单元,用于外部启动被测试电路,对所述被测试电路进行首次测试;记录单元,用于当测试过程中所述被测试电路出现错误时,记录出错时刻,并根据 所述出错时刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换 时刻位于所述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;第二重启单元,用于重新启动所述被测试电路,对所述被测试电路进行再次测 试;时钟计数单元,用于在所述第二重启单元重新启动所述被测试电路,对所述被测 试电路进行再次测试后,当达到所述第一切换时刻时,向输出接口开始输出待观测值,直到 达到第二切换时刻时,结束向所述输出接口输出所述待观测值。优选的,还包括运行次数计算单元,用于设置运行次数参量,并在首次测试之前赋给其初始值,当 被测试电路被重新启动进行再次测试时,所述运行次数参量被更新;
所述第二重启单元,还用于在测试过程中所述被测试电路出现错误时,读取所述 运行次数参量;判断所述运行次数参量的当前值是否为所述初始值,当判断结果为是时,说 明本次测试为首次测试,自动重新启动所述被测试电路;当判断结果为否时,说明本次测试 为再次测试,对所述被测试电路继续进行测试,直到达到所述第二切换时刻。优选的,还包括时钟分频单元,用于根据分频因子D对所述被测试电路运行频率进行分频,其中,所述分频因子D彡(F1 XM)/W,且取整数;Fl 被测试电路所使用的快速时钟频率;M 被测试电路中需要测试的信号个数; W:输出接口的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽);分频后慢 速时钟频率F2 = F1/D ;时钟切换单元,用于根据所述时钟分频单元计算的慢速时钟频率与快速时钟频率 对所述被测试电路所使用的运行时钟频率进行切换,具体为在达到所述第一切换时刻之 前,所述被测试电路运行频率为快速时钟频率;当达到所述第一切换时刻时,将所述被测试电路运行频率切换到所述慢速时钟频 率;当达到所述第二切换时刻时,将所述被测试电路运行频率切换到所述快速时钟频率。优选的,还包括排序处理单元,用于对向输出接口输出的待观测值进行排序。优选的,还包括转换单元,用于在所述排序处理单元对所述待观测值进行排序后,通过时分多路 复用技术将与所述待观测值对应的多路低速并行信号转换成高速串行信号。本发明的有益效果如下对被测试电路进行性能测试时,当首次出现错误时,可以使被测试系统重新启动 并进行第二次测试,而且能够输出出错时刻的电路状态,从而根据输出的电路状态分析出 错原因。因此,提高了查找被测试系统出错原因的效率。


图1是本发明实施例一提供的电路状态检测方法的流程示意图;图2是本发明实施例二提供的电路状态检测方法的流程示意图;图3是本发明提供的对待观测值进行排序的示意图;图4是本发明实施例三提供的电路状态检测装置的结构示意图。
具体实施例方式本发明中,当需要对被测试电路的性能进行测试时,可采取以下技术方案设置被 测试电路的运行次数值,并对所述被测试电路进行首次测试;当测试过程中所述被测试电 路出现错误时,记录出错时刻;根据所述出错时刻获得输出待观测值的第一切换时刻以及 第二切换时刻;其中,所述第一切换时刻位于所述出错时刻之前,所述第二切换时刻位于所 述出错时刻之后;根据所述运行次数值自动重新启动所述被测试电路,对所述被测试电路进行再次测试,并更新所述运行次数值;根据更新后的运行次数值,当达到所述第一切换时 刻时,向输出接口开始输出待观测值,直到达到第二切换时刻时,结束向所述输出接口输出 所述待观测值;根据输出的待观测值确定所述被测试电路的电路状态。以下结合附图对本 发明各实施例进行详细说明。实施例一将本发明实施例提供的电路状态检测装置集成到待测试电路中,并将该待测试电 路集成到FPGA原型中,从而对该FPGA原型进行检测。将集成有本发明实施例提供的电路 状态检测装置以及待测试电路的FPGA原型简称为测试系统。当然,在实际应用中,也可以 将待测试电路集成到其他原型中进行测试。如图1所示,为本发明实施例提供的一种电路状态检测的方法流程示意图,具体 的,该方法包括以下步骤步骤101,对测试系统进行测试,并设置运行次数(Rim_C0Unt)值为初始运行次数值。具体的,运行次数值是指测试系统(即集成有待测试电路的FPGA原型)运行次 数的具体数值,本步骤中,对运行次数值进行初始化设置,例如,可以设置Rim_C0imt值为 0。进一步的,在实际应用中,可以通过寄存器对运行次数值进行记录。步骤102,当测试过程中首次出现某个错误时,记录当前出错时刻Tl。其中,Tl可以以时钟周期为单位。例如,如果时钟周期为10纳秒(ns),当运行到 50ns出现错误时,则Tl为第5个时钟周期。步骤103,根据出错时刻Tl设置第一切换时刻T2和第二切换时刻T3。其中,T2时 间点位于Tl时间点之前,T3时间点位于Tl时间点之后。例如,根据实际需要,如果后续步骤中需要从Tl之前的tl个时钟周期开始输出待 观测值时,则 T2 = Tl-tl (tl ^ 0);同样的,如果需要在Tl之后的t2个时钟周期结束输出待观测值时,则T3 = Tl+t2(t2 ^ 0)。另外,tl与t2可以相同,也可以不同。步骤104,自动重新启动该测试系统,重新进行测试,并更新运行次数值。具体的,本发明实施例中,Run_C0unt值与测试系统重启条件存在对应关系。因 此,在测试系统出现错误时,均需要读取Rim_C0imt值,从而判断是否需要自动重新启动测 试系统。例如可以设置RuruCount值与测试系统重启条件存在如下对应关系当Run_ Count值为初始运行次数值(如0)时,则满足测试系统重新启动的条件;当Rim_C0imt值 不为初始运行次数值时,则不满足测试系统重新启动的条件。进一步的,当满足测试系统重新启动的条件且测试系统重新启动后,需要对Run_ Count值进行更新,比如使该Run_Count值加1,即更新后的Run_Count值为1。步骤105,当达到第一切换时刻T 2时,开始输出测试值,直到达到第二切换时刻 T3时,结束输出测试值。具体的,本发明涉及到的三个时间周期的先后顺序为T2、T1、T3。其中T1为测试 时出现错误的时刻。在测试系统自动重新启动进行第二次测试时,从首先到达的T2时刻开 始输出测试值,进而当达到Tl时刻时,通常测试系统会出现与首次测试时出样的错误相同的错误,但通过读取Rim_C0imt值(为1,不为0)可以判断出Rim_C0imt值不为初始运行次 数值,即不满足测试系统重新启动的条件,因此,测试系统不需要重启,可以继续进行相应 的测试,直到达到T3时刻时,结束输出测试值。步骤106,对T2到T3时刻输出的测试值进行分析,从而找到出错原因。通过上述本发明实施例提供的电路状态检测的方法,通过设置运行次数值与测试 系统重启条件的对应关系,当首次出现错误时,可以使测试系统自动重新启动并进行第二 次测试,而且能够输出出错时刻的电路状态,从而根据输出的电路状态分析出错原因。因 此,提高了查找测试系统出错原因的效率。实施例二另外,为了提高对测试系统进行测试,从而发现测试系统出错原因的效率,可以在 上述实施例的基础上通过添加时钟分频单元以及时钟切换单元,从而可以使测试系统在不 同的时间阶段运行在不同的时钟频率上。其中,与上述实施例相同的步骤在本实施例中将 进行简单介绍。具体的,如图2所示,包括以下步骤步骤201,对测试系统进行测试,并设置RuruCount值为0。本步骤中,测试系统运行频率为Fl (快速时钟频率)。步骤202,当测试过程中首次出现某个错误时,记录当前出错时刻Tl,并获取第一 切换时刻T2和第二切换时刻T3。其中,T2时间点位于Tl时间点之前,T3时间点位于Tl 时间点之后。步骤203,计算分频因子D。D ≥(F1 XM)/W,且取整数。其中F1 测试系统运行频率;M 待测电路中待测记忆单元的个数;W 输出接口 的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽)。因此,对测试系统运行频率进行分频后,得到的分频后的时钟频率F2 = F1/D。本实施例中,称Fl为快速时钟频率;F2为慢速时钟频率。步骤204,自动重新启动该测试系统,并使用快速时钟频率对测试系统重新进行测 试,并更新运行次数值。步骤205,当达到第一切换时刻T2时,根据分频因子D对系统运行时钟频率进行分 频,得到慢速时钟频率,并通过时钟切换模块切换到慢速时钟状态。步骤206,当达到第二切换时刻T3时,根据分频因子D以及通过时钟切换模块使测 试系统切换到快速时钟状态。因此,在对测试系统进行测试时,测试系统在T2时刻以前使用快速时钟;在T2到 T3时刻之间,使用慢速时钟测试,在T3时刻之后,又恢复到快速时钟状态,从而既保证了测 试系统可以平稳的将待测值输出到输出接口,便于设计者观察,同时,又提高了测试系统进 行测试的效率,节省了查找出错原因的时间。在上述实施例一与实施例二的基础上,还可以进一步包括对将要输出到输出接口 中的输出值进行排序的步骤。具体的,由于输出接口的带宽限制,需要对各出错时间段(例如T2到T3时间段) 输出的待观测值进行排序,从而适应输出接口的位宽。例如如图3所示,当待观测的记忆单元的数量M >输出接口的位宽N时,可以通过时分多路复用等技术将多路低速并行信号转换成高速串行信号,从而将高速串行信号发 送到输出接口。实施例三基于同样的发明构思,本发明实施例提供一种电路状态检测的装置,如图4所示, 包括第一重启单元401,用于外部启动被测试电路,对所述被测试电路进行首次测试;运行次数计算单元402,用于设置被测试电路的运行次数值,并初始设置被测试电 路的运行次数值为初始运行次数值,所述初始运行次数值与所述被测试电路的重启条件存 在对应关系;记录单元403,用于当第一重启单元401启动被测试电路,对所述被测试电路进行 首次测试时,当测试过程中所述被测试电路出现错误时,记录出错时刻,并根据所述出错时 刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换时刻位于所 述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;第二重启单元404,用于重新启动所述被测试电路,对所述被测试电路进行再次测 试;还用于在测试过程中所述被测试电路出现错误时,读取所述运行次数参量;判断所述 运行次数参量的当前值是否为所述初始值,当判断结果为是时,说明本次测试为首次测试, 自动重新启动所述被测试电路;当判断结果为否时,说明本次测试为再次测试,对所述被测 试电路继续进行测试,直到达到所述第二切换时刻;时钟计数单元405,用于在第二重启单元404重新启动所述被测试电路,对所述被 测试电路进行再次测试后,当达到所述第一切换时刻时,向输出接口开始输出待观测值,直 到达到第二切换时刻时,结束向所述输出接口输出所述待观测值。时钟分频单元406,用于根据分频因子D对所述被测试电路运行频率进行分频,其中,所述分频因子D≥(F1 XM)/W,且取整数;Fl 被测试电路所使用的快速时钟频率;M 被测试电路中需要测试的信号个数; W:输出接口的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽);分频后慢 速时钟频率F2 = F1/D ;时钟切换单元407,用于根据时钟分频单元406计算的慢速时钟频率与快速时钟 频率对所述被测试电路所使用的运行时钟频率进行切换,具体为在达到所述第一切换时 刻之前,所述被测试电路运行频率为快速时钟频率;当达到所述第一切换时刻时,将所述被 测试电路运行频率切换到所述慢速时钟频率;当达到所述第二切换时刻时,将所述被测试 电路运行频率切换到所述快速时钟频率。排序处理单元408,用于对向输出接口输出的待观测值进行排序。转换单元409,用于在排序处理单元408对所述待观测值进行排序后,通过时分多 路复用技术将与所述待观测值对应的多路低速并行信号转换成高速串行信号。通过本发明实施例提供的电路状态检测的装置,当首次出现错误时,可以使测试 系统自动重新启动并进行第二次测试,而且能够输出出错时刻的电路状态,从而根据输出 的电路状态分析出错原因。因此,提高了查找测试系统出错原因的效率。
权利要求
一种电路状态检测的方法,其特征在于,包括以下步骤外部启动被测试电路,对所述被测试电路进行首次测试;当测试过程中所述被测试电路出现错误时,记录出错时刻;根据所述出错时刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换时刻位于所述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;重新启动所述被测试电路,对所述被测试电路进行再次测试,并当达到所述第一切换时刻时,向输出接口开始输出待观测值,直到达到第二切换时刻时,结束向所述输出接口输出所述待观测值;根据输出的待观测值确定所述被测试电路的电路状态。
2.如权利要求1所述的方法,其特征在于,所述重新启动所述被测试电路为自动重新 启动所述被测试电路,具体为设置运行次数参量,并在首次测试之前赋给其初始值,当被测试电路被重新启动进行 再次测试时,所述运行次数参量被更新;在测试过程中所述被测试电路出现错误时,读取所述运行次数参量;判断所述运行次 数参量的当前值是否为所述初始值,当判断结果为是时,说明本次测试为首次测试,自动重 新启动所述被测试电路;当判断结果为否时,说明本次测试为再次测试,对所述被测试电路 继续进行测试,直到达到所述第二切换时刻。
3.如权利要求1所述的方法,其特征在于,对所述被测试电路进行再次测试时,在达到所述第一切换时刻之前,所述被测试电路 运行频率为快速时钟频率;当达到所述第一切换时刻时,根据分频因子D对所述被测试电路运行频率进行分频, 并将所述被测试电路运行频率切换到慢速时钟频率; 其中,所述分频因子D≥(F1 XM)/W,且取整数;Fl 被测试电路所使用的快速时钟频率;M 被测试电路中需要测试的信号个数;W 输 出接口的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽);分频后慢速时 钟频率F2 = F1/D ;当达到所述第二切换时刻时,根据分频因子D对所述被测试电路运行频率进行分频, 并将所述被测试电路运行频率切换到所述快速时钟频率。
4.如权利要求1至3任一项所述的方法,其特征在于,向输出接口输出待观测值,之前 还包括对所述待观测值进行排序。
5.如权利要求4所述的方法,其特征在于,对所述待观测值进行排序,之后还包括 通过时分多路复用技术将与所述待观测值对应的多路低速并行信号转换成高速串行信号。
6.一种电路状态检测的装置,其特征在于,包括第一重启单元,用于外部启动被测试电路,对所述被测试电路进行首次测试; 记录单元,用于当测试过程中所述被测试电路出现错误时,记录出错时刻,并根据所述 出错时刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换时刻 位于所述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;第二重启单元,用于重新启动所述被测试电路,对所述被测试电路进行再次测试;时钟计数单元,用于在所述第二重启单元重新启动所述被测试电路,对所述被测试电 路进行再次测试后,当达到所述第一切换时刻时,向输出接口开始输出待观测值,直到达到 第二切换时刻时,结束向所述输出接口输出所述待观测值。
7.如权利要求6所述的装置,其特征在于,还包括运行次数计算单元,用于设置运行次数参量,并在首次测试之前赋给其初始值,当被测 试电路被重新启动进行再次测试时,所述运行次数参量被更新;所述第二重启单元,还用于在测试过程中所述被测试电路出现错误时,读取所述运行 次数参量;判断所述运行次数参量的当前值是否为所述初始值,当判断结果为是时,说明本 次测试为首次测试,自动重新启动所述被测试电路;当判断结果为否时,说明本次测试为再 次测试,对所述被测试电路继续进行测试,直到达到所述第二切换时刻。
8.如权利要求6所述的装置,其特征在于,还包括时钟分频单元,用于根据分频因子D对所述被测试电路运行频率进行分频,其中,所述分频因子D≥(F1 XM)/W,且取整数;Fl 被测试电路所使用的快速时钟频率;M 被测试电路中需要测试的信号个数;W 输 出接口的带宽,W = F3XN(F3 输出接口的时钟频率;N:输出接口的位宽);分频后慢速时 钟频率F2 = F1/D ;时钟切换单元,用于根据所述时钟分频单元计算的慢速时钟频率与快速时钟频率对所 述被测试电路所使用的运行时钟频率进行切换,具体为在达到所述第一切换时刻之前,所 述被测试电路运行频率为快速时钟频率;当达到所述第一切换时刻时,将所述被测试电路运行频率切换到所述慢速时钟频率;当达到所述第二切换时刻时,将所述被测试电路运行频率切换到所述快速时钟频率。
9.如权利要求6至8任一项所述的装置,其特征在于,还包括排序处理单元,用于对向输出接口输出的待观测值进行排序。
10.如权利要求9所述的装置,其特征在于,还包括转换单元,用于在所述排序处理单元对所述待观测值进行排序后,通过时分多路复用 技术将与所述待观测值对应的多路低速并行信号转换成高速串行信号。
全文摘要
本发明提供一种电路状态检测的方法和装置,包括以下步骤外部启动被测试电路,对所述被测试电路进行首次测试;当测试过程中所述被测试电路出现错误时,记录出错时刻;根据所述出错时刻获得输出待观测值的第一切换时刻以及第二切换时刻;其中,所述第一切换时刻位于所述出错时刻之前,所述第二切换时刻位于所述出错时刻之后;重新启动所述被测试电路,对所述被测试电路进行再次测试,并当达到所述第一切换时刻时,向输出接口开始输出待观测值,直到达到第二切换时刻时,结束向所述输出接口输出所述待观测值;根据输出的待观测值确定所述被测试电路的电路状态。因此,提高了查找被测试电路出错原因的效率。
文档编号G01R31/28GK101975919SQ20101028624
公开日2011年2月16日 申请日期2010年9月19日 优先权日2010年9月19日
发明者王振国 申请人:王振国
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1