时钟信号的验证方法和装置与流程

文档序号:16893520发布日期:2019-02-15 23:19阅读:416来源:国知局
时钟信号的验证方法和装置与流程

本发明涉及集成电路验证技术领域,尤其涉及一种时钟信号的验证方法和装置。



背景技术:

随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。嵌入式系统的核心部件就是带有处理器和各种数字模拟外设的片上系统(system-on-a-chip,简称soc)芯片。随着半导体工艺的飞速发展和芯片复杂程度的提高,芯片的研发迎来越来越多挑战。而在芯片的研发过程中,设计完芯片后,需要对该芯片的功能进行验证,即验证所设计的芯片是否符合预期的要求。目前在对集成电路的验证中,随着芯片规模的增大,芯片设计中验证需要的时间越来越长,占整个设计周期的比例越来越大。

数字芯片中有各种逻辑信号,而这些信号又都是基于时钟而变化的,一个复杂芯片中会有几十个甚至更多不同的时钟,确认这些时钟是否正确工作,直接决定了芯片本身是否能正确工作,因此对芯片的验证首先需要对时钟的行为正确性进行验证。针对时钟信号行为正确性的验证,现有的静态时序分析方法中需要根据电路图进行人工分析,效率较低。



技术实现要素:

本发明提供一种时钟信号的验证方法和装置,以提高时钟信号的验证效率。

第一方面,本发明提供一种时钟信号的验证方法,包括:

监控目标芯片中待验证的时钟信号;

根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;所述第一状态数据包括:所述时钟信号的周期和占空比;

根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确。

第二方面,本发明提供一种时钟信号的验证装置,包括:

监控模块,用于监控目标芯片中待验证的时钟信号;

所述监控模块,还用于根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;所述第一状态数据包括:所述时钟信号的周期和占空比;

检查模块,用于根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确。

第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。

第四方面,本发明实施例提供一种电子设备,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。

本发明实施例提供的时钟信号的验证方法和装置,监控目标芯片中待验证的时钟信号;根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;所述第一状态数据包括:所述时钟信号的周期和占空比;根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确,提高了时钟信号的验证效率,即可以更快的定位出由时钟运行错误引发的问题,进而提高芯片验证的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本发明提供的时钟信号的验证方法一实施例的系统架构示意图;

图2是本发明提供的时钟信号的验证方法一实施例的流程示意图;

图3是本发明提供的时钟信号的验证方法一实施例的原理示意图;

图4是本发明提供的时钟信号的验证装置一实施例的结构图;

图5是本发明提供的电子设备一实施例的结构图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先对本发明所涉及的应用场景进行介绍:

本发明实施例的方法,应用于对soc验证过程中对时钟信号进行自动监控,并对时钟信号进行验证。

本发明实施例的系统架构如图1所示,图1中通过监控模块监控soc芯片中的时钟信号,并将时钟信号的低电平和高电平的第一状态数据发送给检查模块,通过检查模块根据当前的测试场景和时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确。对于检查模块来说,由于在不同的测试场景下对正确与错误的判断标准不同,因此测试场景的参数应该是可以配置的,而且该检查模块的功能可以被关闭,即通过配置是否使能实现该检查模块的功能的开启或关闭。不同的测试场景可以配置输入参数以及误差阈值(即容忍度),输入参数可以包括允许的最大最小高电平持续时间等。

其中,监控模块和检查模块可以由systemverilog的module封装。

本发明实施例的方法,通过监控目标芯片中待验证的时钟信号,然后根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;最终根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确,提高了时钟信号的验证效率,即可以更快的定位出由时钟运行错误引发的问题,进而加速芯片验证收敛的过程,提高生产效率和质量。

下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2是本发明提供的时钟信号的验证方法一实施例的流程示意图。本实施例的方法的执行主体为时钟信号的验证装置。如图2所示,本实施例提供的方法,包括:

步骤201、监控目标芯片中待验证的时钟信号。

首先,在对时钟信号进行验证时,需要先确定出待验证的时钟信号,例如soc中不同的子模块输入或输出的时钟信号,每一个时钟信号可以对应一个监控模块,用于监控该时钟信号的低电平持续时间、高电平持续时间、上升沿时间和下降沿时间。

其中,soc中的时钟信号,一般由一个振荡器产生的主时钟经过模拟锁相环倍频分频等处理,得到多个不同频率的时钟信号,然后这些时钟信号再经过门控控制,分别给出到各个子模块。另外某些子模块还有外部进入的不同时钟域的时钟信号。

步骤202、根据监控到的时钟信号的低电平和高电平的时间信息,确定时钟信号的第一状态数据;第一状态数据包括:时钟信号的周期和占空比。

具体的,根据监控得到的时钟信号的低电平和高电平的时间信息,确定出该时钟信号的第一状态数据,例如第一状态数据包括:时钟信号的周期和占空比。

低电平和高电平的时间信息,例如包括低电平和高电平的起始时间、终止时间等信息。

步骤203、根据当前的测试场景和时钟信号的第一状态数据,确定时钟信号的运行状态是否正确。

具体的,不同的测试场景对应时钟信号的不同状态数据,因此根据当前的测试场景和时钟信号的第一状态数据,确定该时钟信号的运行状态是否正确。

如图3所示,soc芯片包括多个子模块,例如包括选择器、模块a、模块b、分离器等。监控模块监控上述子模块对应的输入和/或输出时钟信号,并将计算得到的时钟信号的周期、占空比等信息发送给检查模块。检查模块确定该时钟信号的运行状态是否正确。

其中,监控模块和检查模块的数量可以是一个或多个。

可选的,步骤203具体可以通过如下方式实现:

根据所述测试场景确定所述时钟信号的第二状态数据;

根据所述第一状态数据和所述第二状态数据,确定所述时钟信号的运行状态是否正确。

具体的,不同的测试场景,对应不同的预期的时钟信号的状态数据,即第二状态数据,该第二状态数据包括预期的时钟信号的周期和占空比。

在确定时钟信号的运行状态是否正确时,根据监控得到的第一状态数据和预期的第二状态数据,确定时钟信号的运行状态是否正确。

本实施例的方法,监控目标芯片中待验证的时钟信号;根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;所述第一状态数据包括:所述时钟信号的周期和占空比;根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确,提高了时钟信号的验证效率,即可以更快的定位出由时钟运行错误引发的问题,进而提高芯片验证的效率。

在上述实施例的基础上,可选的,步骤203中根据第一状态数据和第二状态数据,确定时钟信号的运行状态是否正确,具体可以通过如下方式实现:

计算第一状态数据和第二状态数据的差值的绝对值;

若绝对值小于或等于预设的误差阈值,则确定时钟信号的运行状态正确。

具体的,计算第一状态数据和第二状态数据的差值,确定该差值的绝对值是否满足预设条件,即绝对值是否小于或等于预设的误差阈值,若是,则确定时钟信号的运行状态正确。

例如计算第一状态数据和第二状态数据中周期的差值a1,计算第一状态数据和第二状态数据中占空比的差值b1,若该差值a1的绝对值小于或等于预设的误差阈值,且该差值b1的绝对值小于或等于预设的误差阈值,则确定时钟信号的运行状态正确。

其中,周期和占空比对应的误差阈值可以相同,也可以不相同。

其中,确定时钟信号的运行状态正确之前,还需要进行如下操作:

根据测试场景,确定误差阈值。

具体的,不同的测试场景,可以设置不同的误差阈值。因此,在确定时钟信号的运行状态正确之前,需要提前设置好误差阈值。

进一步的,还包括:

若所述绝对值大于所述预设阈值,则输出错误提示信息,所述错误提示信息包含以下至少一项:所述时钟信号的标识信息、所述时钟信号的第一状态数据或所述时钟信号的第二状态数据。

具体的,若第一状态数据和第二状态数据的差值的绝对值,不满足预设条件,即大于所述预设阈值,则输出错误提示信息,其中,错误提示信息包含以下至少一项:所述时钟信号的标识信息、所述时钟信号的第一状态数据或所述时钟信号的第二状态数据。错误提示信息用于提示用户运行状态发生错误的时钟信号,以使用户可以方便的找到运行状态错误的时钟信号的位置。

本实施例中,根据当前的测试场景确定出时钟信号的第二状态数据,根据时钟信号的第一状态数据和第二状态数据,确定所述时钟信号的运行状态是否正确,提高了时钟信号的验证效率,即可以更快的定位出由时钟运行错误引发的问题,进而提高芯片验证的效率。

在上述实施例的基础上,可选的,步骤201之前还可以进行如下操作:

从搜索出的多个时钟信号中确定待验证的时钟信号。

具体的,由于复杂芯片的时钟信号众多,若人工确定出待验证的时钟信号,则操作较为繁琐,效率较低,因此可以通过脚本自动搜索出所有需验证时钟信号,或借助第三方应用软件,比如跨时钟cdc检查工具,导出所有的时钟信号,通过verilog语言中bind函数传送给时钟信号的验证装置。进而可以通过人工确定出待验证的时钟信号,或者自动根据预设条件确定出待验证的时钟信号。

本实施例中,自动确定出待验证的时钟信号,可以提高操作效率。

图4为本发明提供的时钟信号的验证装置一实施例的结构图,如图4所示,本实施例的时钟信号的验证装置,包括:

监控模块401,用于监控目标芯片中待验证的时钟信号;

所述监控模块401,还用于根据监控到的所述时钟信号的低电平和高电平的时间信息,确定所述时钟信号的第一状态数据;所述第一状态数据包括:所述时钟信号的周期和占空比;

检查模块402,用于根据当前的测试场景和所述时钟信号的第一状态数据,确定所述时钟信号的运行状态是否正确。

可选的,所述检查模块402,具体用于:

根据所述测试场景确定所述时钟信号的第二状态数据;

根据所述第一状态数据和所述第二状态数据,确定所述时钟信号的运行状态是否正确。

可选的,所述检查模块402,具体用于:

计算所述第一状态数据和所述第二状态数据的差值的绝对值;

若所述绝对值小于或等于预设的误差阈值,则确定所述时钟信号的运行状态正确。

可选的,所述检查模块402,还用于:

若所述绝对值大于所述误差阈值,则输出错误提示信息,所述错误提示信息包含以下至少一项:所述时钟信号的标识信息、所述时钟信号的第一状态数据或所述时钟信号的第二状态数据。

可选的,所述检查模块402,还用于:

根据所述测试场景,确定所述误差阈值。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图5为本发明提供的电子设备一实施例的结构图,如图5所示,该电子设备包括:

处理器501,以及,用于存储处理器501的可执行指令的存储器502。

可选的,还可以包括:通信接口503,用于与其他设备通信。

上述部件可以通过一条或多条总线进行通信。

其中,处理器501配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。

本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1