CN116861827A - 异步复位同步解复位的检查方法、装置、设备和介质 - Google Patents

异步复位同步解复位的检查方法、装置、设备和介质 Download PDF

Info

Publication number
CN116861827A
CN116861827A CN202310923063.3A CN202310923063A CN116861827A CN 116861827 A CN116861827 A CN 116861827A CN 202310923063 A CN202310923063 A CN 202310923063A CN 116861827 A CN116861827 A CN 116861827A
Authority
CN
China
Prior art keywords
reset
time
signal
module
resetting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310923063.3A
Other languages
English (en)
Inventor
曲忠亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wuxin Technology Co ltd
Original Assignee
Beijing Wuxin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wuxin Technology Co ltd filed Critical Beijing Wuxin Technology Co ltd
Priority to CN202310923063.3A priority Critical patent/CN116861827A/zh
Publication of CN116861827A publication Critical patent/CN116861827A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请实施例涉及芯片测试技术领域,且涉及一种异步复位同步解复位的检查方法、装置、设备和介质。其中方法的方案为:对待测试模块进行仿真的过程中,根据对复位源进行复位的第一复位时间和复位信号的第二复位时间,确定待测试模块的异步复位的检查结果;记录对复位源进行解复位的第一解复位时间和复位信号的第二解复位时间;根据从第一解复位时间到第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定待测试模块的信号解复位是否正确;记录第二解复位时间之后的时钟下降沿的第三时间;根据第二解复位时间和第三时间,确定待测试模块的同步解复位是否同步到相应的时钟域。本申请实施例可对待测试模块进行自动检查,省时省力降低风险。

Description

异步复位同步解复位的检查方法、装置、设备和介质
技术领域
本发明涉及信号控制技术领域,尤其涉及异步复位同步解复位的检查方法、装置、设备和介质。
背景技术
现有技术对于异步复位同步解复位是通过人工检查波形,达到确认波形的目的。例如,可以使用Verdi等调试工具,配合仿真软件对芯片中运行的待测试模块进行仿真测试。在仿真过程中,对复位源进行复位和解复位。然后将仿真文件导入Verdi后,人工查看信号波形,根据波形确定模块是否成功进行异步复位和同步解复位,以及检查模块运行过程中是否出错。Verdi既可以阅读调试代码,又可以查看波形。利用Verdi等调试工具,在芯片设计和验证过程中,常常可以根据仿真结果检查,用来调试一些常见的错误。但是,上述人工检查的方式费时费力、检查效率低,且人工操作存在一定的风险性。
发明内容
鉴于现有技术的以上问题,本申请实施例提供一种异步复位同步解复位的检查方法、装置、设备和介质,通过比较复位源的复位时间和复位信号的复位时间确定异步复位的检查结果,通过采样复位源解复位到复位信号解复位这段时间内的时钟上升沿的个数、以及通过记录第二解复位时间之后的时钟下降沿的时间确定同步解复位的检查结果。采用该方法可对待测试模块进行自动检查,省时省力、提高检查效率、降低风险。
达到上述目的,本申请第一方面提供了一种异步复位同步解复位的检查方法,包括:
对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的同步解复位信号解复位是否正确;
在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
作为第一方面的一种可能的实现方式,所述根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果,包括:
在所述第一复位时间与所述第二复位时间的差值为零的情况下,确定所述待测试模块的异步复位的检查结果为异步复位成功。
作为第一方面的一种可能的实现方式,所述根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确,包括:
采样时钟上升沿的第一数值,所述第一数值是采样得到的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
从所述待测试模块的配置文档中获取时钟上升沿的第二数值,所述第二数值是从所述配置文档中获取的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确。
作为第一方面的一种可能的实现方式,所述根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确,包括:
在所述第一数值与所述第二数值的差值不为零的情况下,确定所述待测试模块的同步解复位的检查结果为信号解复位错误。
作为第一方面的一种可能的实现方式,所述根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域,包括:
计算所述第三时间与所述第二解复位时间的时间差值;
在所述时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定所述待测试模块的同步解复位的检查结果为同步解复位同步到相应的时钟域。
作为第一方面的一种可能的实现方式,所述方法还包括:
在预设时间段内检查所述复位源和所述复位信号的信号变化;所述预设时间段包括所述复位信号复位之后且所述复位源解复位之前的时间段,和/或所述复位信号解复位之后的预设时长的时间段;
在检测到所述复位源或所述复位信号发生变化的情况下,确定所述待测试模块的检查结果为信号错误。
作为第一方面的一种可能的实现方式,所述方法还包括:
根据系统时钟频率,调整测试的时间单位和时间精度。
本申请第二方面提供了一种异步复位同步解复位的检查装置,包括:
第一检查单元,用于:对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
第二检查单元,用于:对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确;
第三检查单元,用于:在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
作为第二方面的一种可能的实现方式,所述第一检查单元用于:
在所述第一复位时间与所述第二复位时间的差值为零的情况下,确定所述待测试模块的异步复位的检查结果为异步复位成功。
作为第二方面的一种可能的实现方式,所述第二检查单元用于:
采样时钟上升沿的第一数值,所述第一数值是采样得到的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
从所述待测试模块的配置文档中获取时钟上升沿的第二数值,所述第二数值是从所述配置文档中获取的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确。
作为第二方面的一种可能的实现方式,所述第二检查单元用于:
在所述第一数值与所述第二数值的差值不为零的情况下,确定所述待测试模块的同步解复位的检查结果为信号解复位错误。
作为第二方面的一种可能的实现方式,所述第三检查单元用于:
计算所述第三时间与所述第二解复位时间的时间差值;
在所述时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定所述待测试模块的同步解复位的检查结果为同步解复位同步到相应的时钟域。
作为第二方面的一种可能的实现方式,所述装置还包括第四检查单元,所述第四检查单元用于:
在预设时间段内检查所述复位源和所述复位信号的信号变化;所述预设时间段包括所述复位信号复位之后且所述复位源解复位之前的时间段,和/或所述复位信号解复位之后的预设时长的时间段;
在检测到所述复位源或所述复位信号发生变化的情况下,确定所述待测试模块的检查结果为信号错误。
作为第二方面的一种可能的实现方式,所述装置还包括调整单元,所述调整单元用于:
根据系统时钟频率,调整测试的时间单位和时间精度。
本申请第三方面提供了一种计算设备,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述第一方面任一所述的方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一所述的方法。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的示意图;
图2为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的同步复位的波形示意图;
图3为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的异步解复位的波形示意图;
图4为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的检测流程示意图;
图5为本申请实施例提供的异步复位同步解复位的检查装置的一实施例的示意图;
图6为本申请实施例提供的异步复位同步解复位的检查装置的一实施例的示意图;
图7为本申请实施例提供的计算设备的示意图。
具体实施方式
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
下面先对现有的方法进行介绍,然后再对本申请的技术方案进行详细介绍。
现有技术对于异步复位同步解复位是通过人工检查波形,达到确认波形的目的。例如,可以使用Verdi等调试工具,配合仿真软件对芯片中运行的待测试模块进行仿真测试。在仿真过程中,对复位源进行复位和解复位。然后将仿真文件导入Verdi后,人工查看信号波形。根据波形确定模块是否成功进行异步复位和同步解复位,以及检查模块运行过程中是否出错。利用Verdi等调试工具,在芯片设计和验证过程中,常常可以根据仿真结果检查,用来调试一些常见的错误。Verdi既可以阅读调试代码,又可以查看波形。但是,上述人工检查的方式费时费力、检查效率低,且人工操作存在一定的风险性。
现有技术存在着以下的缺陷:现有检查方式费时费力、检查效率低,且存在一定的风险性。
基于上述现有技术所存在的技术问题,本申请提供了一种异步复位同步解复位的检查方法、装置、设备和介质,通过比较复位源的复位时间和复位信号的复位时间确定异步复位的检查结果,通过采样复位源解复位到复位信号解复位这段时间内的时钟上升沿的个数、以及通过记录第二解复位时间之后的时钟下降沿的时间确定同步解复位的检查结果。采用该方法可对待测试模块进行自动检查,省时省力、提高检查效率、降低风险,从而解决了现有技术中提到的费时费力、检查效率低,且存在一定的风险性的技术问题。
图1为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的示意图。如图1所示,该方法具体可以包括:
步骤S110,对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
步骤S120,对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确;
步骤S130,在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
通常情况下,运行于芯片中的待测试模块在工作中实现某种功能时或启动时需要进行复位,恢复到初始的状态。在复位过程中,复位源信号会同步出一个复位信号,利用复位信号对模块进行复位操作。本申请实施例提供的异步复位同步解复位的检查方法可应用于对运行于芯片中的待测试模块进行仿真测试的场景。采用该方法可对待测试模块的复位功能进行自动检查,提高检查效率,进而提高了软件测试效率。
如图2和图3所示,采用该方法检查过程中涉及到的主要信号包括:复位源(sys_rst)、复位信号(rst_out)、时钟(clk)。图2中显示异步复位过程中复位源(sys_rst)和复位信号(rst_out)是在同一时刻拉低的。图3中显示同步解复位过程中,复位源(sys_rst)拉高之后过了一段时间,且在与时钟信号上沿对齐的时刻复位信号(rst_out)再拉高。参见图2和图3,异步复位与时钟信号沿的到来与否无关,不需要时钟触发,不需要和时钟同步;同步解复位要求复位信号必须跟时钟信号同步,即刚好跟时钟同沿,在时钟信号的某个上升沿到来时去解复位。
在模块验证平台上可设置自动检查装置,利用自动检查装置执行上述异步复位同步解复位的检查方法。把待测试模块加载到仿真平台上,在仿真过程中验证平台通过发送测试指令给待测试模块,测试待测试模块的功能。在模块测试过程中检查异步复位时复位源和复位信号有没有同时拉低,同步解复位时检查复位信号有没有在相应的时钟上升沿拉高。检测过程中可以通过软件把复位源信号拉低,复位源信号拉低之后会导致复位信号拉低。在这个过程中可以检查复位源和复位信号是不是同时拉低的。
在步骤S110中,待测试模块在仿真平台上进行仿真的过程中,验证平台对复位源进行复位,并记录对复位源进行复位的第一复位时间。自动检查装置是在模块的验证平台上运行的。在验证的时候通过发出复位指令,指示复位源信号拉低。仿真是一个运行模块的过程,在一个示例中,如果仿真过程中检测到复位源信号拉低了,则触发记录下这个时间。
在记录第一复位时间之后,自动检查装置检查复位号的值,并记录复位信号的第二复位时间。通过检查复位信号的值可以知道复位信号是否发生变化。如果复位信号的值变了,复位这个动作就执行了。例如,复位信号的值起初为1,然后拉低时变为0,则检查一下复位信号的值是否变为0。如果复位信号的值变为0,则记录复位信号发生变化的时间。该时间是复位信号的复位时间,也就是第二复位时间。再如,复位信号的值起初为0,然后拉高时变为1,则检查一下复位信号的值是否变为1。如果复位信号的值变为1,则记录复位信号发生变化的第二复位时间。
在步骤S110中,对记录的第一复位时间和第二复位时间进行比较,根据比较的结果,确定待测试模块的异步复位的检查结果。通过比较第一复位时间和第二复位时间,可以判断复位源和复位信号是不是同时拉低或拉高的。如果复位源和复位信号是同时拉低或拉高的,则确定测试模块的异步复位的检查结果为异步复位成功。
在步骤S120中,验证平台对复位源进行解复位,并记录对复位源进行解复位的第一解复位时间。在一个示例中,在验证的时候通过发出解复位指令,指示复位源信号拉高。如果仿真过程中检测到复位源信号拉高了,则触发记录下这个时间。
在记录第一解复位时间之后,自动检查装置检查复位信号的值,并记录复位信号的第二解复位时间。通过检查复位信号的值可以知道复位信号是否发生变化。如果复位信号的值变了,解复位这个动作就执行了。例如,复位信号的值起初为0,然后拉高时变为1,则检查一下复位信号的值是否变为1。如果复位信号的值变为1,则记录复位信号发生变化的第二解复位时间。
在步骤S120中,从第一解复位时间到第二解复位时间的时间间隔内,采样时钟上升沿或者下降沿的个数。将该上升沿或者下降沿的个数与待测试模块的设计要求相比较。如果该上升沿或者下降沿的个数不符合设计要求,确定所述待测试模块的检查结果为信号解复位错误。
在上述的一个示例中,模块仿真过程中,解复位时复位信号拉高。在此时记录下第二解复位时间。如果复位信号是在时钟上升沿拉高的,则经过半个时钟周期后时钟下降沿会到来。在步骤S130中,自动检查装置记录下第二解复位时间之后继续进行采样,将复位信号拉高之后的第一个时钟下降沿的时间记录下来,记为第三时间。通过比较第二解复位时间和第三时间,可以判断复位信号是不是在时钟上升沿拉高的。如果复位信号是在时钟上升沿拉高的,则确定测试模块的检查结果为同步解复位是否同步到相应的时钟域,从而确定同步解复位是否成功。
本申请实施例通过比较复位源的复位时间和复位信号的复位时间确定异步复位的检查结果,通过采样复位源解复位到复位信号解复位这段时间内的时钟上升沿的个数、以及通过记录第二解复位时间之后的时钟下降沿的时间确定同步解复位的检查结果。采用该方法可对待测试模块进行自动检查,省时省力、提高检查效率、降低风险。
在一种实施方式中,所述根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果,包括:
在所述第一复位时间与所述第二复位时间的差值为零的情况下,确定所述待测试模块的异步复位的检查结果为异步复位成功。
第一复位时间是对复位源进行复位的时间;第二复位时间是复位信号的复位时间。如果第一复位时间与第二复位时间的差值为零,则复位源和复位信号是同时拉低或拉高的,则确定测试模块的异步复位的检查结果为异步复位成功。
在一种实施方式中,所述根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确,包括:
采样时钟上升沿的第一数值,所述第一数值是采样得到的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
从所述待测试模块的配置文档中获取时钟上升沿的第二数值,所述第二数值是从所述配置文档中获取的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确。
在复位源解复位并记录第一解复位时间之后,可能再经过几个时钟周期后的一个时钟上升沿或者下降沿到来的时候,复位信号解除复位。在复位信号解除复位时记录第二解复位时间。从第一解复位时间到第二解复位时间的时间间隔内,采样时钟上升沿或者下降沿的个数,记为第一数值M。
根据待测试模块的设计要求,在模块的配置文档中记录关于解复位的配置信息。例如,在复位源拉高之后,即第一解复位时间之后,经过N个(第二数值)时钟上升沿复位信号才会拉高。从待测试模块的配置文档中获取时钟上升沿的第二数值N。第二数值是配置文档中配置的从第一解复位时间到第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数。
对采样得的第一数值和从配置文档中中获取的第二数值进行比较,根据比较的结果,确定待测试模块的同步解复位的检查结果。通过比较第一数值和第二数值,可以判断复位信号是不是按照设计要求在相应的时钟上升沿或者下降沿拉高的。如果复位信号不是按照设计要求在相应的时钟上升沿或者下降沿拉高的,则确定测试模块的检查结果为信号解复位错误。
在一种实施方式中,所述根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确,包括:
在所述第一数值与所述第二数值的差值不为零的情况下,确定所述待测试模块的同步解复位的检查结果为信号解复位错误。
第一数值是采样得到的从第一解复位时间到第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;第二数值是从配置文档中获取的从第一解复位时间到第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数。如果第一数值与第二数值的差值不为零,则复位信号不是按照设计要求在相应的时钟上升沿拉高的,则确定测试模块的异步复位的检查结果为信号解复位错误。如果第一数值与第二数值的差值为零,则复位信号是按照设计要求在相应的时钟上升沿拉高的,则继续进行后续检查。
在一种实施方式中,所述根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域,包括:
计算所述第三时间与所述第二解复位时间的时间差值;
在所述时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定所述待测试模块的同步解复位的检查结果为同步解复位同步到相应的时钟域。
第三时间是在第二解复位时间之后记录的第一个时钟下降沿的时间。如果复位信号是在时钟上升沿拉高,此时将复位信号上升沿的时间记录下来,即第二解复位时间。之后在第一个时钟下降沿的时候,记录下第三时间。如果复位信号是在时钟上升沿拉高,第三时间与第二解复位时间之差近似等于半个时钟周期。检查两者之差是否在误差允许范围内近似等于时钟的半周期,可确定同步解复位是否同步到相应的时钟域,从而确定同步解复位是否成功。本申请实施例中,预先设置差值阈值,计算第三时间与第二解复位时间的时间差值,在该时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定待测试模块的同步解复位同步到相应的时钟域。
在一种实施方式中,所述方法还包括:
在预设时间段内检查所述复位源和所述复位信号的信号变化;所述预设时间段包括所述复位信号复位之后且所述复位源解复位之前的时间段,和/或所述复位信号解复位之后的预设时长的时间段;
在检测到所述复位源或所述复位信号发生变化的情况下,确定所述待测试模块的检查结果为信号错误。
在一个示例中,预设时间段设置为10us。在复位源信号和复位信号都复位之后,比如两个信号都拉低了。则在复位源信号和复位信号都复位之后且复位源解复位之前的10us时间内,一直检查这两个信号有没有变化。如果这两个信号都没有变化,则说明信号没有发生错误;如果两个信号中至少有一个信号发生了变化,则确定待测试模块的检查结果为信号错误。在复位源信号和复位信号都解除之后的10us时间内,一直检查这两个信号有没有变化。如果这两个信号都没有变化,则说明信号没有发生错误;如果两个信号中至少有一个信号发生了变化,则确定待测试模块的检查结果为信号错误。
在一种实施方式中,所述方法还包括:
根据系统时钟频率,调整测试的时间单位和时间精度。
系统时钟在采样、记录时间的时候需要配置单位和精度,例如以纳秒或皮秒为单位。本申请实施例中,可以创建package(包)文件,在该文件中添加时间单位和时间精度等参数。其中,时间单位可表示为timeunit*,时间精度可表示为timeprecision*。可根据系统时钟频率或需求修改package文件中的参数,以此为根据对待测试模块进行测试,确保时间精度和单位符合测试的要求。
本申请实施例通过检查复位源信号和复位信号,以及记录和采样时间,实现待测试模块的异步复位同步解复位的检查测试。检查测试涉及到的主要信号包括:复位源(sys_rst)、复位信号(rst_out)、时钟(clk)。一个示例性的操作流程如下:
1.异步复位检查:
1)在任意时刻,对复位源进行复位,此刻时间记为rst_timer0;
2)在对复位源进行复位的同时,检查复位信号(rst_out)的值,此刻时间记为rst_timer1;
以上两个步骤中,rst_timer0是记录复位源信号的复位时间,rst_timer1是记录复位信号的复位时间;
3)如果rst_timer1与rst_timer0的差值为零,则确定异步复位成功,反之失败。
4)根据clk时钟的频率计算出时钟的半周期half_cyc;
异步复位检查完成。
2.在复位源解复位前,检查复位源和复位信号的信号变化。如果其中的任何一个信号发生变化,则系统报错。
3.同步解复位检查:
1)在任意时刻,对复位源进行解复位,此刻时间记为rls_timer0;
2)对复位源进行解复位的同时,检查复位信号(rst_out)的值,此刻时间记为rls_timer1;
3)采样rls_timer0到rls_timer1的时间间隔内clk时钟上升沿的个数,记为sap_clk_pos_num;
4)根据待检测模块的设计文档,得知rls_timer0到rls_timer1的时间间隔内所期望的clk时钟上升沿的个数,记为exp_clk_pos_num;
5)计算exp_clk_pos_num-sap_clk_pos_num,即计算上述两个时间的差值;若上述计算结果不等于0,则系统报错。
6)等待clk下降沿到来时,将此刻时间记为timer;
7)计算rls_timer1与timer的差值,记为timer-rls_timer1;如timer-rls_timer1与half_cyc的差值在预期范围内,则复位信号与时钟信号同步,解复位成功;反之复位信号与时钟信号不同步,系统报错。
8)监测一段时间,检查复位源与复位信号是否发生变化,如发生变化则系统报错;同步复位检查完成。
4.重复上述步骤1至3操作多次,对待检测模块进行多次测试。
图4为本申请实施例提供的异步复位同步解复位的检查方法的一实施例的检测流程示意图。如图4所示,复位源复位之后,自动检查装置进行异步复位检查,检查复位源和复位信号是否同时拉低或拉高。复位源解除复位之后,自动检查装置进行解复位检查,检查复位信号是否按照设计要求在预定个数的时钟周期后的相应的时钟上升沿拉高。经过以上流程完成待检测模块的异步复位同步解复位的检查。
如图5所示,本申请还提供了相应的一种异步复位同步解复位的检查装置的实施例。关于该装置的有益效果或解决的技术问题,可以参见与各装置分别对应的方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
在该异步复位同步解复位的检查装置的实施例中,该装置包括:
第一检查单元100,用于:对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
第二检查单元200,用于:对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确;
第三检查单元300,用于:在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
在一种实施方式中,所述第一检查单元100用于:
在所述第一复位时间与所述第二复位时间的差值为零的情况下,确定所述待测试模块的异步复位的检查结果为异步复位成功。
在一种实施方式中,所述第二检查单元200用于:
采样时钟上升沿的第一数值,所述第一数值是采样得到的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
从所述待测试模块的配置文档中获取时钟上升沿的第二数值,所述第二数值是从所述配置文档中获取的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确。
在一种实施方式中,所述第二检查单元200用于:
在所述第一数值与所述第二数值的差值不为零的情况下,确定所述待测试模块的同步解复位的检查结果为信号解复位错误。
在一种实施方式中,所述第三检查单元300用于:
计算所述第三时间与所述第二解复位时间的时间差值;
在所述时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定所述待测试模块的同步解复位的检查结果为同步解复位同步到相应的时钟域。
如图6所示,在一种实施方式中,所述装置还包括第四检查单元400,所述第四检查单元400用于:
在预设时间段内检查所述复位源和所述复位信号的信号变化;所述预设时间段包括所述复位信号复位之后且所述复位源解复位之前的时间段,和/或所述复位信号解复位之后的预设时长的时间段;
在检测到所述复位源或所述复位信号发生变化的情况下,确定所述待测试模块的检查结果为信号错误。
如图6所示,在一种实施方式中,所述装置还包括调整单元500,所述调整单元500用于:
根据系统时钟频率,调整测试的时间单位和时间精度。
图7是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图7中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(Application specific integrated circuit,ASIC)、现成可编程门矩阵(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种异步复位同步解复位的检查方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。

Claims (10)

1.一种异步复位同步解复位的检查方法,其特征在于,包括:
对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确;
在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果,包括:
在所述第一复位时间与所述第二复位时间的差值为零的情况下,确定所述待测试模块的异步复位的检查结果为异步复位成功。
3.根据权利要求1所述的方法,其特征在于,所述根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确,包括:
采样时钟上升沿的第一数值,所述第一数值是采样得到的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
从所述待测试模块的配置文档中获取时钟上升沿的第二数值,所述第二数值是从所述配置文档中获取的从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数;
根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一数值和所述第二数值,确定所述待测试模块的信号解复位是否正确,包括:
在所述第一数值与所述第二数值的差值不为零的情况下,确定所述待测试模块的同步解复位的检查结果为信号解复位错误。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域,包括:
计算所述第三时间与所述第二解复位时间的时间差值;
在所述时间差值与时钟的半周期的差值小于等于预设差值阈值的情况下,确定所述待测试模块的同步解复位的检查结果为同步解复位同步到相应的时钟域。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在预设时间段内检查所述复位源和所述复位信号的信号变化;所述预设时间段包括所述复位信号复位之后且所述复位源解复位之前的时间段,和/或所述复位信号解复位之后的预设时长的时间段;
在检测到所述复位源或所述复位信号发生变化的情况下,确定所述待测试模块的检查结果为信号错误。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
根据系统时钟频率,调整测试的时间单位和时间精度。
8.一种异步复位同步解复位的检查装置,其特征在于,包括:
第一检查单元,用于:对待测试模块进行仿真的过程中,对复位源进行复位,并记录对所述复位源进行复位的第一复位时间;检查复位信号的值,并记录所述复位信号的第二复位时间;根据所述第一复位时间和所述第二复位时间,确定所述待测试模块的异步复位的检查结果;
第二检查单元,用于:对所述复位源进行解复位,记录对所述复位源进行解复位的第一解复位时间;检查复位信号的值,并记录所述复位信号的第二解复位时间;根据从所述第一解复位时间到所述第二解复位时间的时间间隔内的时钟上升沿或者下降沿的个数,确定所述待测试模块的信号解复位是否正确;
第三检查单元,用于:在记录所述复位信号的第二解复位时间之后,记录所述第二解复位时间之后的时钟下降沿的第三时间;根据所述第二解复位时间和所述第三时间,确定所述待测试模块的同步解复位是否同步到相应的时钟域。
9.一种计算设备,其特征在于,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1-7任一所述的方法。
CN202310923063.3A 2023-07-25 2023-07-25 异步复位同步解复位的检查方法、装置、设备和介质 Pending CN116861827A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310923063.3A CN116861827A (zh) 2023-07-25 2023-07-25 异步复位同步解复位的检查方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310923063.3A CN116861827A (zh) 2023-07-25 2023-07-25 异步复位同步解复位的检查方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN116861827A true CN116861827A (zh) 2023-10-10

Family

ID=88223329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310923063.3A Pending CN116861827A (zh) 2023-07-25 2023-07-25 异步复位同步解复位的检查方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN116861827A (zh)

Similar Documents

Publication Publication Date Title
JP2002189611A (ja) エミュレーション装置及びその方法
CN110704323B (zh) 基于轨道交通线路数据的数据自动化测试方法及装置
CN110058997A (zh) 应用响应时间测试方法、装置、计算机设备及存储介质
CN110865944A (zh) 测试用例的数据分析方法、装置、存储介质和测试设备
KR101935105B1 (ko) 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
CN108628734B (zh) 一种功能程序调试方法和终端
CN109522263B (zh) 一种i2c链路监控系统
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
CN116861827A (zh) 异步复位同步解复位的检查方法、装置、设备和介质
CN115470125A (zh) 基于日志文件的调试方法、设备以及存储介质
CN111240923A (zh) 车载导航系统复现问题的自动测试方法、装置和存储介质
CN116087752A (zh) 一种芯片测试方法、系统、装置及介质
KR101192556B1 (ko) 디지털 회로 검증시스템 설계방법 및 그 검증시스템
CN114265786A (zh) 自动化测试方法、装置,计算机设备及可读存储介质
CN109710480B (zh) 一种内存镜像卡调试方法及其系统
CN117093353B (zh) 一种中断控制方法、装置、电子设备及可读存储介质
US20190163600A1 (en) Modifying testing tools to test netlists based on singular independent signals
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
CN109522212A (zh) 一种采集终端软件可靠性安全性半实物检测系统
CN111381151B (zh) 一种检测电路和检测方法
US10699795B1 (en) System, method and computer-accessible medium for automated identification of embedded physical memories using shared test bus access in intellectual property cores
CN113407408B (zh) 数据传输规则验证方法、装置、设备和存储介质
CN116594862B (zh) Dbms的测试方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination