一种芯片系统级验证的方法、装置及系统的制作方法

文档序号:6604959阅读:236来源:国知局
专利名称:一种芯片系统级验证的方法、装置及系统的制作方法
技术领域
本发明涉及集成电路验证领域技术,特别涉及一种芯片系统级验证的方法、装置及系统。
背景技术
在大规模集成电路设计与验证中系统级验证是非常重要的工作。经过模块级验证后,确保了各硬件模块独立工作时达到预期要求,然后还需要对大规模集成电路进行系统级验证,以确保各硬件模块同时工作时达到预期要求。但是由于系统级行为的复杂性与多样性,充分的系统级验证一直是芯片仿真验证的一个难点。现有技术在进行系统级验证时, 按照串行的方式依次对各个硬件模块调度进程,一个硬件模块完成所有进程后,下一个硬件模块才开始执行进程,这样导致进行系统级验证的时间较长,并且各硬件模块之间难以进行数据交互,协同工作从而构建复杂的系统应用级场景。

发明内容
本发明实施例提供了一种芯片系统级验证的方法、装置及系统,通过对芯片中各个硬件模块实行并行处理,提高了芯片系统级验证的效率,缩短了芯片系统级验证的时间, 并可以方便构建出复杂的系统应用级场景。本发明实施例提供了一种芯片系统级验证的方法,其特征在于,包括对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。本发明实施例提供了一种芯片系统级验证的装置,其特征在于,包括中断单元,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;确定单元,用于根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;执行单元,用于在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。本发明实施例提供了一种芯片系统级验证的系统,包括芯片和系统级验证服务器;所述系统级验证服务器,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。本发明实施例提供的芯片系统级验证的方法、装置及系统,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。本发明实施例提供的方法、装置及系统,通过对芯片系统级验证中各个硬件模块实行并行处理,提高了系统级验证的效率,缩短了系统级验证的时间,并可以方便构建出复杂的系统应用级场景。


图1为本发明实施例中系统级验证的方法流程示意图;图2为本发明另一实施例中系统级验证的方法流程示意图;图3为本发明实施例中系统级验证的装置结构示意图;图4为本发明实施例中系统级验证的系统结构示意图。
具体实施例方式下面结合各个附图对本发明实施例技术方案的主要实现原理具体实施方式
及其对应能够达到的有益效果进行详细地阐述。为了解决上述问题,如图1所示,为本发明实施例提供的一种芯片系统级验证的方法,该方法包括步骤101、对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,该芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能; 该中断消息包括但不限于软中断信号、时钟脉冲信号等,其中,周期性发出系统时钟脉冲的时间间隔由系统预先进行设定。步骤102、根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;具体的,模块验证任务的优先级可以由用户根据系统预实现的功能进行预先配置设定。当前未被执行和被中断的所有模块验证任务,包括执行的模块验证任务前接收到的模块验证任务和执行确定出的模块验证任务时继续接收的模块验证任务。步骤103、在芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。具体的,由于在执行某一模块验证任务时,继续接收其他的模块验证任务,因此,一个时钟脉冲后,若优先级最高的模块验证任务发生改变,则执行当前优先级最高的模块验证任务,否则,继续执行原模块验证任务。此外,还可以存储执行模块验证任务的场景,以供所述模块验证任务在已执行过的场景基础上继续执行。而且,各个模块验证任务所对应的执行设备之间存在信息交互,以便实时传递数据。从以上的描述中,可以看出通过本发明实施例提供的方法,通过对各个模块验证任务设定优先级,在一段时间内执行优先级最高的模块验证任务,以此在宏观上实现各个模块验证任务的并行处理,同时,各个模块验证任务之间可以交互信息,便于控制,提高了芯片系统级验证的效率,缩短了芯片系统级验证的验证时间并可以方便构建出复杂的系统应用级场景。下面通过另一实施例对本发明提供的一种芯片系统级验证的方法进行详细说明, 该芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能,如图2所示,使用该芯片系统级的方法验证从A处获取数据发送到B处播放的效果时,包括以下步骤步骤201、接收多个模块验证任务;该多个模块验证任务包括模块验证任务一 从A处获取数据,优先级为5、模块验证任务二 将获取的数据保存到存储区域1,优先级为 10、模块验证任务三将保存的数据发送到B处,优先级为20。步骤202、比较该多个模块验证任务的优先级,获知模块验证任务一的优先级最高;模块验证任务与芯片的硬件模块相对应,并且该模块验证任务的优先级可以有用户根据系统预实现的功能进行预先配置设定。此处,判断优先级高低的方式仅为一个例子,还可以使用其他判断优先级高低的方式。步骤203、执行优先级最高的模块验证任务一;具体的,执行优先级最高的模块验证任务一的同时继续接收模块验证任务,假设接收到模块验证任务四将获得数据保存到存储区域2,优先级为3。同时,还可以存储执行模块验证任务的场景,而且各个模块验证任务之间存在信息交互,例如,模块验证任务一的控制设备通知模块验证任务二的控制设备已获取了部分数据。步骤204、接收到时钟脉冲后,中断正在执行的模块验证任务一;其中,发出系统时钟脉冲的时间间隔由系统预先进行设定,一般时间间隔较短。引起中断操作的信息,还可以为硬件引起的中断信号等。步骤205、重新比较多个模块验证任务的优先级,获知模块验证任务四的优先级最尚;步骤206、执行优先级最高的模块验证任务四;将模块验证任务一获得数据保存到存储区域2,同时继续接收模块验证任务;步骤207、接收到时钟脉冲后,中断正在执行的模块验证任务四,并重新比较多个模块验证任务的优先级,执行优先级最高的模块验证任务;步骤208、重复以上步骤直到所有模块验证任务都执行完毕,获取系统级验证结^ ο从以上的描述中,可以看出通过本发明实施例提供的方法,通过对各个模块验证任务设定优先级,在一段时间内执行优先级最高的模块验证任务,以此在宏观上实现各个模块验证任务的并行处理,同时,各个模块验证任务之间可以交互信息,便于控制,提高了芯片系统级验证的效率,缩短了芯片系统级验证的验证时间并可以方便构建出复杂的系统应用级场景。相应的,本发明实施例还提供了一种芯片系统级验证的装置,如图3所示,包括中断单元301,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;确定单元302,用于根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;执行单元303,用于在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。较佳的,执行单元包括多个执行子单元,每个执行子单元对应于一个模块验证任务。并且,各个执行子单元之间存在信息交互,以便实时传递数据。具体的,各个模块验证任务与芯片的硬件模块相对应,并且预先设有优先级。接收到多个模块验证任务后,确定单元302比较该多个模块验证任务的优先级进而确定出优先级最高的验证任务,并通知执行单元303在芯片中执行确定出的模块验证任务。其中,各个模块验证任务的优先级按照该系统预实现的功能预先进行配置设定。执行优先级最高的模块验证任务时,继续接收模块验证任务。然后,当中断单元301接收到中断消息时中断正在执行的模块验证任务。该中断消息包括软中断信号、系统时钟脉冲等。其中,周期性发出系统时钟脉冲的时间间隔由系统预先进行设定。此时,确定单元302根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务。并且,通知执行单元303在芯片中执行确定出的模块验证任务。最后,当所有模块验证任务完成后获取芯片系统级验证结果。较佳的,还可以在存储区域中存储执行模块验证任务的场景,以供模块验证任务在已执行过的场景基础上继续执行。较佳的,执行单元303包括多个执行子单元,每个执行子单元对应于一个模块验证任务,并且各个执行子单元之间存在信息交互,以便实时传递数据。从以上的描述中,可以看出通过本发明实施例提供的装置,通过对各个模块验证任务设定优先级,在一段时间内执行优先级最高的模块验证任务,以此在宏观上实现各个模块验证任务的并行处理,同时,各个模块验证任务之间可以交互信息,便于控制,提高了系统级验证的效率,缩短了系统级验证的验证时间并可以方便构建出复杂的系统应用级场景。相应的,本发明实施例提供了一种芯片系统级验证的系统,如图4所示,包括芯片401和系统级验证服务器402 ;该系统级验证服务器402,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。其中,当前未被执行和被中断的所有模块验证任务,包括执行的模块验证任务前接收到的模块验证任务和执行确定出的模块验证任务时继续接收的模块验证任务。较佳的,该系统还用于存储执行模块验证任务的场景,以供所述模块验证任务在已执行过的场景基础上继续执行,而且各个模块验证任务所对应的执行设备之间存在信息交互,以便实时传递数据。
从以上的描述中,可以看出,根据本发明实施例提出的方法、装置及系统,通过对各个模块验证任务设定优先级,在一段时间内执行优先级最高的模块验证任务,以此在宏观上实现各个模块验证任务的并行处理,同时,各个模块验证任务之间可以交互信息,便于控制,提高了系统级验证的效率,缩短了系统级验证的验证时间并可以方便构建出复杂的系统应用级场景。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种芯片系统级验证的方法,其特征在于,包括对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。
2.如权利要求1所述的方法,其特征在于,所述当前未被执行和被中断的所有模块验证任务,包括执行的模块验证任务前接收到的模块验证任务和执行确定出的模块验证任务时继续接收的模块验证任务。
3.如权利要求1所述的方法,其特征在于,还包括存储执行模块验证任务的场景,以供所述模块验证任务在已执行过的场景基础上继续执行。
4.如权利要求1所述的方法,其特征在于,还包括各个模块验证任务所对应的执行设备之间存在信息交互,以便实时传递数据。
5.如权利要求1所述的方法,其特征在于,所述中断消息包括但不限于软中断信号、时钟脉冲信号。
6.一种芯片系统级验证的装置,其特征在于,包括中断单元,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;确定单元,用于根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;执行单元,用于在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。
7.如权利要求6所述的装置,其特征在于,所述执行单元包括多个执行子单元,每个执行子单元对应于一个模块验证任务。
8.一种芯片系统级验证的系统,包括芯片和系统级验证服务器;所述系统级验证服务器,用于对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。
9.如权利要求8所述的系统,其特征在于,所述当前未被执行和被中断的所有模块验证任务,包括执行的模块验证任务前接收到的模块验证任务和执行确定出的模块验证任务时继续接收的模块验证任务。
10.如权利要求8所述的系统,其特征在于,还包括存储执行模块验证任务的场景,以供所述模块验证任务在已执行过的场景基础上继续执行。
全文摘要
本发明实施例涉及集成电路验证领域技术,特别涉及芯片系统级验证的方法、装置及系统,该方法包括对芯片进行系统级验证过程中,接收到中断消息时中断正在执行的模块验证任务,所述芯片包括多个功能模块,每一个验证任务用于验证其中一个功能模块的功能;根据预先为每一个验证任务设定的优先级,确定当前未被执行和被中断的所有模块验证任务的优先级中,优先级最高的验证任务;在所述芯片中执行确定出的模块验证任务,并当所有模块验证任务完成后获取芯片系统级验证结果。本发明实施例提供的方法、装置及系统,对系统级验证中各个硬件模块实行并行处理,提高了系统级验证的效率,缩短了系统级验证的时间,并可以方便构建出复杂的系统应用级场景。
文档编号G06F11/26GK102289401SQ20101021246
公开日2011年12月21日 申请日期2010年6月21日 优先权日2010年6月21日
发明者孔英祁 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1