CN117950929A - 基于门控功能的通用测试方法和装置 - Google Patents
基于门控功能的通用测试方法和装置 Download PDFInfo
- Publication number
- CN117950929A CN117950929A CN202410168615.9A CN202410168615A CN117950929A CN 117950929 A CN117950929 A CN 117950929A CN 202410168615 A CN202410168615 A CN 202410168615A CN 117950929 A CN117950929 A CN 117950929A
- Authority
- CN
- China
- Prior art keywords
- module
- gating
- register
- data
- target
- 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
Links
- 238000010998 test method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012360 testing method Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 66
- 238000012812 general test Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 abstract description 21
- 238000004088 simulation Methods 0.000 description 7
- 230000005284 excitation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种基于门控功能的通用测试方法和装置,所述方法包括:在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。本申请提高模块功能验证的准确性。
Description
技术领域
本申请涉及时钟电路技术领域,尤其涉及一种基于门控功能的通用测试方法和装置。
背景技术
在大部分模块验证时,对于相同或者类似功能的点,进行EDA仿真验证时都是模块各自维护、各自编码、各自仿真的。以时钟门控功能为例,时钟门控功能会分布在芯片的各个模块中,各模块的验证各自展开,对于时钟门控功能检查点以及激励控制都是各自维护的。
这种方法会带来质量风险,由于现有的门控验证是由人工进行,可能每个模块对应一批人进行验证,由于每个人对时钟门控的理解不一定会统一,导致功能验证结果不准确。
发明内容
本申请提供了一种基于门控功能的通用测试方法和装置,以解决功能验证结果不准确的问题。
第一方面,本申请提供了一种基于门控功能的通用测试方法,所述方法包括:
在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;
根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据所述数据包确定要门控掉整个目标模块,则判断所述目标模块的出口处是否有数据;
若所述目标模块的出口处没有数据,则对门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定所述非门控模块的寄存器读写正确。
可选地,根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据所述数据包确定要门控掉部分目标模块,则判断所述目标模块出口处的实际数据和预设数据比对是否相同;
若所述目标模块出口处的实际数据和预设数据比对相同,则对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定所述门控模块和所述非门控模块的寄存器读写正确。
可选地,确定所述目标模块出口处的实际数据和预设数据比对是否相同包括:
确定所述目标模块中的门控模块出口处的实际数据和预设数据比对是否相同,或确定所述目标模块中的非门控模块出口处的实际数据和预设数据比对是否相同。
可选地,确定时钟门控对应目标模块的数据通路无故障包括:
通过配置的控制信号或寄存器,控制所述时钟门控的初始状态为关闭状态;
调用所述发包函数进行发包;
若所述目标模块出口处的实际数据和预设数据比对相同,则确定所述目标模块的数据通路无故障。
可选地,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试包括:
调用发包函数进行发包,并对所述门控模块的关联寄存器和非关联寄存器进行读写;
若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,所述方法还包括:
在所述通用测试过程中,获取预先配置的被门控时钟列表;
根据所述被门控时钟列表,确定门控时钟的输出保持不变,则确定时钟被门控掉。
第二方面,本申请提供了一种基于门控功能的通用测试装置,所述装置包括:
发包模块,用于在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;
读写模块,用于根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
确定模块,用于控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为:
在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述任一项所述的基于门控功能的通用测试方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:在EDA的仿真验证中,基于时钟门控功能,各个模块做到统一标准,统一的激励控制,统一的检查项。对于各模块时钟门控的相同点做到标准化、流程化的验证,对于各模块时钟门控的不同关联模块做到独立控制,通过使用该通用测试流程,可以更好的进行EDA仿真验证的质量把控,提高模块功能验证的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种基于门控功能的通用测试方法流程图;
图2为本申请实施例提供的一种基于门控功能的通用测试流程图;
图3为本申请实施例提供的一种基于门控功能的通用测试装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请提供了一种基于门控功能的通用测试方法,应用于处理器,用于提高模块功能验证的统一性,如图1所示,方法包括:
步骤101:在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包。其中,目标模块为时钟门控关联的整个模块。
本申请的验证环境是基于SV(System Verilog)语言搭建的,关键技术是利用SV中的callback函数机制,对于时钟门控功能进行验证。
时钟门控(Clock-Gating)是降低微处理器功耗的重要手段,主要针对寄存器翻转带来的动态功耗。多核多线程微处理器中,多个功能部件可能不是同时工作的,对于无执行任务的功能部件就可以将其时钟关闭,减少其随时钟翻转进行多余的内部寄存器翻转,从而降低产生功耗的浪费和热量聚集。对于需要控制的寄存器,在一定的情况下关闭寄存器的传输功能,阻止无用的数据进入下一级逻辑,避免引起一连串不必要的逻辑翻转,达到降低功耗的可能。
芯片中包括多个模块,时钟门控会分布在芯片的各个模块中,且每个模块中包含至少一个时钟门控,那么任意一个时钟门控关联的整个模块可以称为是目标模块,具体来说,该时钟门控可以关联该目标模块的全部内容或部分内容,如果时钟模块关联该目标模块的部分内容,那么这部分关联的内容可以称作是关联模块,未关联的目标模块中的部分内容可以称作是未关联模块。
在模块功能的通用测试流程开始前,需要配置一些数据,配置内容包括:控制时钟门控开启、关闭的信号层级或者寄存器的操作地址;需要检查门控时钟的频率;时钟门控电路相关的寄存器操作地址列表;时钟门控电路不相关的寄存器操作地址列表;发包程序入口函数。上述配置内容还会在后文中进行描述。
电路上电复位,仿真开始,首先设置时钟门控的初始状态为关闭状态,在这种情况下监测时钟门控对应目标模块的数据通路是否有故障,若无故障,则进行后续的模块功能测试流程;若有故障,需要将故障排除后再执行后续的模块功能测试流程。
具体来说,测试目标模块的数据通路是否有故障的具体方式为:设置时钟门控的初始状态为关闭状态,采用发包函数进行发包,在目标模块的出口处获取实际数据,然后将实际数据和预设数据进行对比,若对比结果一致,表明目标模块的数据通路无故障;若对比结果不一致,表明目标模块的数据通路有故障。
模块功能测试流程中,首先要开启时钟门控,然后调用发包函数,即调用发包程序入口函数进行发包,数据包是用于测试的,本申请实施例中对数据包内容不做限制。其中,时钟门控的开启和关闭都是通过预先配置的时钟信号层级或寄存器的操作地址得到的。
步骤102:根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写。
本申请中,处理器可以根据实际情况门控掉整个目标模块,也可以门控掉部分目标模块,若目标模块未被门控掉,则需要重新执行步骤101,若目标模块被门控掉,那么对门控模块的寄存器和非门控模块的寄存器进行读写,读写寄存器可以保证配置总线不挂死。
其中,针对整个目标模块被门控掉和部分目标模块被门控掉,确定目标模块是否被门控掉的方式是不同的,具体方式将在下文进行描述。
步骤103:控制时钟门控关闭后,若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
读写门控模块的寄存器和非门控模块的寄存器完成后,处理器控制时钟门控关闭,此时继续检查目标模块的数据通路和寄存器读写是否正确,如果正确,表明时钟门控的开启没有对目标模块的数据通路和寄存器产生影响。
控制时钟门控关闭后,继续检查目标模块的数据通路和寄存器读写是否正确的过程为:再次调用发包函数进行发包,并读写门控模块的寄存器(包括关联寄存器和非关联寄存器),如果目标模块的出口处的实际数据和预设数据比对相同,而且寄存器读写正确,表明通过通用测试。
本申请中,首先关闭时钟门控,测试目标模块的数据通路是否无故障,若无故障,则开启时钟门控然后进行发包,如果发包后至少部分目标模块被成功门控掉,那么对门控模块的寄存器和非门控模块的寄存器进行读写,然后再关闭时钟模块,验证目标模块的数据通路无故障且寄存器能够正常读写,表明模块通过通用测试。
本申请通过时钟门控的开启和关闭,验证了目标模块在被门控掉以及恢复的情况下都不影响正常数据通过,并且被门控后能够正常读写门控模块和非门控模块的寄存器,保证总线在任何情况下都不会挂死,即本申请验证了时钟门控的数据通路和配置通路。
在EDA的仿真验证中,基于时钟门控功能,各个模块做到统一标准,统一的激励控制,统一的检查项。对于各模块时钟门控的相同点做到标准化、流程化的验证,对于各模块时钟门控的不同关联模块做到独立控制,通过使用该通用测试流程,可以更好的进行EDA仿真验证的质量把控,提高模块功能验证的准确性。
另外,现有技术中采用代码进行进行功能验证,当项目开发发生迭代修改时,这样从该功能的验证质量上会带来额外的开销以及不好把控的结果,本申请使用该通用测试流程,更好的进行EDA仿真验证的迭代维护。
作为一种可选的实施方式,根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括两种实施例。
在第一种实施例中,若根据数据包确定要门控掉整个目标模块,则判断目标模块的出口处是否有数据;若目标模块的出口处没有数据,则对门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定非门控模块的寄存器读写正确。
若要门控掉整个目标模块,那么该整个目标模块将无法进行数据处理,即目标模块的出口处在正常情况下应该是没有数据输出的。具体来说,先调用发包函数进行发包,然后检测目标模块的出口处是否有数据,若目标模块的出口处没有数据,表明目标模块被成功门控掉,此时处理器读写门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器。
门控模块和非门控模块是时钟控制单元中的两个主要模块。时钟门控模块主要用于在不需要使用某些功能时关闭相应的时钟,以降低芯片的功耗。在很多ARM芯片中,外设通常都需要配置时钟后才能使用,而时钟门控技术就是为了省电而采用的。相比之下,非门控模块则没有这种功能,它通常用于不需要门控控制的场景。
关联寄存器是指在时钟门控路径上的寄存器,它们与门控逻辑紧密相关。当门控逻辑控制时钟信号的传递时,这些寄存器的状态将受到影响。因此,关联寄存器的时钟偏移(clock skew)可能会引起电路功能的错误或降低性能。非关联寄存器是指不在时钟门控路径上的寄存器,它们不受门控逻辑的影响,因此,它们的时钟偏移不会影响电路的功能或性能。
目标模块被成功门控掉后,读写门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器,可以保证总线不会挂死,且还需要保证非门控模块的关联寄存器、非关联寄存器读写正确。其中,读写关联寄存器时需要采用时钟门控电路相关的寄存器操作地址列表,读写关联寄存器时需要采用时钟门控电路不相关的寄存器操作地址列表。
在第二种实施例中,若根据数据包确定要门控掉部分目标模块,则判断目标模块出口处的实际数据和预设数据比对是否相同;若目标模块出口处的实际数据和预设数据比对相同,则对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定门控模块和非门控模块的寄存器读写正确。
若要门控掉部分目标模块,此时调用发包函数进行发包,验证部分目标模块的数据通路是否正常,本申请可以根据实际情况验证被门控掉的部分模块的数据通路是否正常,也可以是验证未被门控掉的部分模块的数据通路是否正常。验证方式和时钟门控开启时的数据通路验证方式相同,都是将出口处的实际数据和预设数据进行对比,若对比结果一致,表明数据通路无故障。
若数据通路无故障,此时处理器对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,保证总线不会挂死,并确定门控模块和非门控模块的寄存器读写正确。
作为一种可选的实施方式,方法还包括:在通用测试过程中,获取预先配置的被门控时钟列表;根据被门控时钟列表,确定门控时钟的输出保持不变,则确定时钟被门控掉。
在通用测试过的整个过程中,处理器获取预先配置的被门控时钟列表,根据该被门控时钟列表确定门控时钟的输出,如果输出保持不变,则确定时钟被门控掉。因为若时钟未被门控掉时,门控时钟会按照一定频率翻转,导致门控时钟的输出是按照一定频率变化的。
本申请从如下几个方面验证时钟门控的功能。
1.时钟门控的使能状态,包括开启、关闭之间的切换。
2.数据通路,被门控掉模块的内部逻辑、恢复后模块的内部逻辑,不影响正常的数据通过。
3.配置通路,被门控掉模块的内部逻辑不影响配置通路读写寄存器,包括对关联寄存器的读写、非关联寄存器的读写以及保证总线在任何情况下不会挂死。
4.时钟门控电路,做到了低功耗。
本申请还提供了一种基于门控功能的通用测试方法流程图,如图2所示,包括如下步骤:
1.设置时钟门控的使能初始状态,设置为关闭(通过配置的控制信号或者寄存器进行)。
2.调用发包函数进行发包,根据目标模块出口处的实际数据和预设数据检查数据通路比对正确。
3.设置时钟门控开启(通过配置的控制信号或者寄存器进行)。
4.若门控掉整个目标模块,调用发包函数进行发包,检查目标模块出口处无数据,则读写门控模块的寄存器(非关联寄存器),保证配置总线不挂死,且读写非门控模块寄存器(关联寄存器和非关联寄存器),保证总线不挂死,并且寄存器读写正确。
5.若门控掉部分目标模块,调用发包函数进行发包,检查部分模块都数据通路比对正确,则读写门控模块的寄存器(关联寄存器和非关联寄存器),保证配置总线不挂死,并且寄存器读写正确;且读写非门控模块寄存器(关联寄存器和非关联寄存器),保证总线不挂死,并且寄存器读写正确。
6.设置时钟门控关闭。
7.调用发包函数,进行发包,检查目标模块数据通路比对正确。
8.读写门控模块的寄存器,保证配置总线不挂死,并且寄存读写正确(包括关联寄存器和非关联寄存器)。
9.仿真结束。
本申请提供了一种基于门控功能的通用测试装置,如图3所示,装置包括:
发包模块301,用于在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,目标模块为时钟门控关联的整个模块;
读写模块302,用于根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
确定模块303,用于控制时钟门控关闭后,若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,读写模块302用于:
若根据数据包确定要门控掉整个目标模块,则判断目标模块的出口处是否有数据;
若目标模块的出口处没有数据,则对门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定非门控模块的寄存器读写正确。
可选地,读写模块302用于:
若根据数据包确定要门控掉部分目标模块,则判断目标模块出口处的实际数据和预设数据比对是否相同;
若目标模块出口处的实际数据和预设数据比对相同,则对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定门控模块和非门控模块的寄存器读写正确。
可选地,读写模块302用于:
确定目标模块中的门控模块出口处的实际数据和预设数据比对是否相同,或确定目标模块中的非门控模块出口处的实际数据和预设数据比对是否相同。
可选地,发包模块301用于:
通过配置的控制信号或寄存器,控制时钟门控的初始状态为关闭状态;
调用发包函数进行发包;
若目标模块出口处的实际数据和预设数据比对相同,则确定目标模块的数据通路无故障。
可选地,确定模块303用于:
调用发包函数进行发包,并对门控模块的关联寄存器和非关联寄存器进行读写;
若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,该装置还用于:
在通用测试过程中,获取预先配置的被门控时钟列表;
根据被门控时钟列表,确定门控时钟的输出保持不变,则确定时钟被门控掉。
如图4所示,本申请实施例提供提供了一种电子设备,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
存储器403,用于存放计算机程序。
在本申请一个实施例中,处理器401,用于执行存储器403上所存放的程序时,实现前述任意一个方法实施例提供的基于门控功能的通用测试方法,包括:
在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,目标模块为时钟门控关联的整个模块;
根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
控制时钟门控关闭后,若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据数据包确定要门控掉整个目标模块,则判断目标模块的出口处是否有数据;
若目标模块的出口处没有数据,则对门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定非门控模块的寄存器读写正确。
可选地,根据数据包确定至少部分目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据数据包确定要门控掉部分目标模块,则判断目标模块出口处的实际数据和预设数据比对是否相同;
若目标模块出口处的实际数据和预设数据比对相同,则对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定门控模块和非门控模块的寄存器读写正确。
可选地,确定目标模块出口处的实际数据和预设数据比对是否相同包括:
确定目标模块中的门控模块出口处的实际数据和预设数据比对是否相同,或确定目标模块中的非门控模块出口处的实际数据和预设数据比对是否相同。
可选地,确定时钟门控对应目标模块的数据通路无故障包括:
通过配置的控制信号或寄存器,控制时钟门控的初始状态为关闭状态;
调用发包函数进行发包;
若目标模块出口处的实际数据和预设数据比对相同,则确定目标模块的数据通路无故障。
可选地,若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试包括:
调用发包函数进行发包,并对门控模块的关联寄存器和非关联寄存器进行读写;
若目标模块出口处的实际数据和预设数据比对相同、且门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
可选地,方法还包括:
在通用测试过程中,获取预先配置的被门控时钟列表;
根据被门控时钟列表,确定门控时钟的输出保持不变,则确定时钟被门控掉。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的基于门控功能的通用测试方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于门控功能的通用测试方法,其特征在于,所述方法包括:
在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;
根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
2.根据权利要求1所述的方法,其特征在于,根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据所述数据包确定要门控掉整个目标模块,则判断所述目标模块的出口处是否有数据;
若所述目标模块的出口处没有数据,则对门控模块的非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定所述非门控模块的寄存器读写正确。
3.根据权利要求1所述的方法,其特征在于,根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写包括:
若根据所述数据包确定要门控掉部分目标模块,则判断所述目标模块出口处的实际数据和预设数据比对是否相同;
若所述目标模块出口处的实际数据和预设数据比对相同,则对门控模块的关联寄存器、非关联寄存器和非门控模块的关联寄存器、非关联寄存器进行读写,并确定所述门控模块和所述非门控模块的寄存器读写正确。
4.根据权利要求3所述的方法,其特征在于,确定所述目标模块出口处的实际数据和预设数据比对是否相同包括:
确定所述目标模块中的门控模块出口处的实际数据和预设数据比对是否相同,或确定所述目标模块中的非门控模块出口处的实际数据和预设数据比对是否相同。
5.根据权利要求1所述的方法,其特征在于,确定时钟门控对应目标模块的数据通路无故障包括:
通过配置的控制信号或寄存器,控制所述时钟门控的初始状态为关闭状态;
调用所述发包函数进行发包;
若所述目标模块出口处的实际数据和预设数据比对相同,则确定所述目标模块的数据通路无故障。
6.根据权利要求1所述的方法,其特征在于,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试包括:
调用发包函数进行发包,并对所述门控模块的关联寄存器和非关联寄存器进行读写;
若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
在所述通用测试过程中,获取预先配置的被门控时钟列表;
根据所述被门控时钟列表,确定门控时钟的输出保持不变,则确定时钟被门控掉。
8.一种基于门控功能的通用测试装置,其特征在于,所述装置包括:
发包模块,用于在时钟门控对应的目标模块的数据通路无故障时,若检测到时钟门控开启,则调用发包函数进行发包,其中,所述目标模块为所述时钟门控关联的整个模块;
读写模块,用于根据数据包确定至少部分所述目标模块被成功门控掉的情况下,对门控模块的寄存器和非门控模块的寄存器进行读写;
确定模块,用于控制所述时钟门控关闭后,若所述目标模块出口处的实际数据和预设数据比对相同、且所述门控模块的寄存器读写正确,则确定时钟门控通过通用测试。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168615.9A CN117950929A (zh) | 2024-02-06 | 2024-02-06 | 基于门控功能的通用测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168615.9A CN117950929A (zh) | 2024-02-06 | 2024-02-06 | 基于门控功能的通用测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950929A true CN117950929A (zh) | 2024-04-30 |
Family
ID=90794462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410168615.9A Pending CN117950929A (zh) | 2024-02-06 | 2024-02-06 | 基于门控功能的通用测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950929A (zh) |
-
2024
- 2024-02-06 CN CN202410168615.9A patent/CN117950929A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100932562B1 (ko) | 집적 회로 및 이의 테스트 방법 | |
US5047926A (en) | Development and debug tool for microcomputers | |
US6567934B1 (en) | Method and apparatus for verifying multiprocessing design in a unit simulation environment | |
JPH11149491A (ja) | 故障検出率評価方法 | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US7016826B2 (en) | Apparatus and method of developing software for a multi-processor chip | |
Querbach et al. | A reusable BIST with software assisted repair technology for improved memory and IO debug, validation and test time | |
CN117950929A (zh) | 基于门控功能的通用测试方法和装置 | |
US9672094B1 (en) | Interconnect circuitry fault detection | |
Rashmi et al. | A methodology to reuse random IP stimuli in an SoC functional verification environment | |
KR20130032151A (ko) | 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법 | |
CN112912958A (zh) | 使用内置自测控制器测试只读存储器 | |
US7716533B2 (en) | System and method for trapping bus cycles | |
Dellacherie et al. | Improve-HDL-a DO-254 formal property checker used for design and verification of avionics protocol controllers | |
CN117113907A (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN118093248A (zh) | Str调试的故障确定方法、装置、电子设备及存储介质 | |
JP2002244934A (ja) | メモリ監視装置および方法 | |
JP2808985B2 (ja) | 情報処理装置及びデバッグ装置 | |
CN114487763A (zh) | 用于集成电路的自动检测电路及方法 | |
CN117520208A (zh) | 一种对tcam的时钟门控功能的验证方法、装置和计算设备 | |
JP3110222B2 (ja) | マイクロコンピュータ | |
JPH10283388A (ja) | 論理検証装置 | |
CN115576814A (zh) | 一种mcu芯片安全测试电路和方法 | |
CN115732025A (zh) | Ram访问冲突的验证方法及验证装置 | |
CN116541220A (zh) | 一种pcie加速卡老化测试方法、系统、终端及存储介质 |
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 |