一种多处理器系统仿真的系统状态监测方法和装置制造方法及图纸

技术编号:14420926 阅读:107 留言:0更新日期:2017-01-12 23:15
本申请公开了一种多处理器系统仿真的系统状态监测方法和装置,该方法包括定义系统中的触发监测的事件;对所述触发监测的事件的类型,确定统一的存储格式;构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。上述方法和装置能够避免监测机制对每个触发事件都要进行一次“暂停‑重启”仿真的操作,能够节省大量的资源和仿真时间。

【技术实现步骤摘要】

本专利技术属于芯片前端设计
,特别是涉及一种多处理器系统仿真的系统状态监测方法和装置
技术介绍
随着工艺技术以及应用领域的不断发展,芯片的复杂度不断提高,相对应的,验证工作的复杂度也不断提高,验证工作耗费的事件日益成为芯片研发周期的瓶颈。于是,如何尽可能提高仿真验证的效率,缩短每次仿真验证耗费的事件,成为优化芯片验证工作,缩短芯片研发周期的一个重要方向。针对报文处理的多处理器系统的仿真验证,往往伴随着大量的监测机制,用来自动化地对系统状态进行检查,并为系统的操作提供逻辑判断的依据。而每个监测机制都涉及到一个或多个触发事件,当系统规模扩大的时候,这些触发事件可能的总数呈指数型增长。现有技术中的监测机制如下:当仿真中一旦出现触发事件,就需要暂停仿真,开始对触发事件进行处理,结束之后再重启仿真。然而,利用这种方法,在大规模的多处理器系统中,监测机制将耗费大量的资源和仿真时间。
技术实现思路
为解决上述问题,本专利技术提供了一种多处理器系统仿真的系统状态监测方法和装置,避免监测机制对每个触发事件都要进行一次“暂停-重启”仿真的操作,能够节省大量的资源和仿真时间。本专利技术提供的一种多处理器系统仿真的系统状态监测方法包括:定义系统中的触发监测的事件;对所述触发监测的事件的类型,确定统一的存储格式;构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。优选的,在上述多处理器系统仿真的系统状态监测方法中,在所述定义系统中的触发监测的事件之前,还包括:定义所述系统中的监测机制。优选的,在上述多处理器系统仿真的系统状态监测方法中,所述构造具有预设深度和预设宽度的事件fifo包括:当所述监测机制和所述事件fifo通过软件语言实现时,用抽象化事务级的方式,自定义特定的事件数据类型实现;否则,对所述事件的类型进行统一的编码,构造出一个固定位宽的事件存储格式。优选的,在上述多处理器系统仿真的系统状态监测方法中,所述预设深度不小于系统同一周期出现的最多事件的数量具体为:利用C++语言构造所述事件fifo时,用指针和链表方式构造一个无限大的事件fifo。优选的,在上述多处理器系统仿真的系统状态监测方法中,所述按照顺序将所述触发监测的事件读出并处理之后还包括:当处理完毕,重启仿真。本专利技术提供的一种多处理器系统仿真的系统状态监测装置包括:第一定义单元,用于定义系统中的触发监测的事件;确定单元,用于对所述触发监测的事件的类型,确定统一的存储格式;构造单元,用于构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;写入单元,用于当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;处理单元,用于每个时钟周期结束后,如果事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。优选的,在上述多处理器系统仿真的系统状态监测装置中,还包括:第二定义单元,用于定义所述系统中的监测机制。优选的,在上述多处理器系统仿真的系统状态监测装置中,所述构造单元具体用于:当所述监测机制和所述事件fifo通过软件语言实现时,用抽象化事务级的方式,自定义特定的事件数据类型实现;否则,对所述事件的类型进行统一的编码,构造出一个固定位宽的事件存储格式。优选的,在上述多处理器系统仿真的系统状态监测装置中,所述构造单元具体用于:利用C++语言构造所述事件fifo时,用指针和链表方式构造一个无限大的事件fifo。优选的,在上述多处理器系统仿真的系统状态监测装置中,还包括:重启单元,用于当处理完毕,重启仿真。通过上述描述可知,本专利技术提供的上述多处理器系统仿真的系统状态监测方法和装置,由于先定义系统中的触发监测的事件;然后对所述触发监测的事件的类型,确定统一的存储格式;再构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;最后,每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理,因此能够避免监测机制对每个触发事件都要进行一次“暂停-重启”仿真的操作,能够节省大量的资源和仿真时间。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的第一种多处理器系统仿真的系统状态监测方法的示意图;图2为本申请实施例提供的第一种多处理器系统仿真的系统状态监测装置的示意图;图3为基于事件fifo的多处理器系统仿真监测机制基本流程图。具体实施方式考虑到在大规模的多处理器系统仿真中,在对系统的状态监测上耗费的资源随着系统规模的扩大呈指数型增长,本专利技术的核心思想在于提供一种多处理器系统仿真的系统状态监测方法和装置,避免监测机制对每个触发事件都要进行一次“暂停-重启”仿真的操作,能够节省大量的资源和仿真时间。本专利技术通过引入事件fifo,以每个时钟周期为单位,对能触发系统状态监测的事件进行保存和统一的处理,然后在当前时钟周期结束时暂停仿真,对事件按顺序进行处理,然后重启仿真,从而在不影响监测机制功能的前提下,将处理触发事件对仿真的暂停次数降到了最低,从而减少了对时间和资源的浪费,缩短了整个仿真的时间。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请实施例提供的第一种多处理器系统仿真的系统状态监测方法如图1所示,图1为本申请实施例提供的第一种多处理器系统仿真的系统状态监测方法的示意图。该方法包括如下步骤:S1:定义系统中的触发监测的事件;S2:对所述触发监测的事件的类型,确定统一的存储格式;S3:构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;具体的,事件fifo的预设深度必须大于等于系统中同周期可能出现的最多事件数量,这个值可以由对系统中触发事件的计算得出。在实际应用中,因为仿真用到的fifo,增加深度的资源耗费非常小,因此对触发事件的数量的计算可以不那么精确,尽量取较大的值就可以。S4:当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;具体的,在写入事件fifo时,必须依照触发事件发生的顺序,也就是对监测机制发生影响的顺序写入,从而确保引入fifo的机制不会对监测机制的处理产生影响。S5:每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。具体的,在读出事件fifo本文档来自技高网...
一种多处理器系统仿真的系统状态监测方法和装置

【技术保护点】
一种多处理器系统仿真的系统状态监测方法,其特征在于,包括:定义系统中的触发监测的事件;对所述触发监测的事件的类型,确定统一的存储格式;构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。

【技术特征摘要】
1.一种多处理器系统仿真的系统状态监测方法,其特征在于,包括:定义系统中的触发监测的事件;对所述触发监测的事件的类型,确定统一的存储格式;构造具有预设深度和预设宽度的事件fifo,所述预设深度不小于系统同一周期出现的最多事件的数量;当系统仿真过程中出现所述触发监测的事件,将所述触发监测的事件写入所述事件fifo中;每个时钟周期结束后,如果所述事件fifo不为空,暂停仿真,按照顺序将所述触发监测的事件读出并处理。2.根据权利要求1所述的多处理器系统仿真的系统状态监测方法,其特征在于,在所述定义系统中的触发监测的事件之前,还包括:定义所述系统中的监测机制。3.根据权利要求2所述的多处理器系统仿真的系统状态监测方法,其特征在于,所述构造具有预设深度和预设宽度的事件fifo包括:当所述监测机制和所述事件fifo通过软件语言实现时,用抽象化事务级的方式,自定义特定的事件数据类型实现;否则,对所述事件的类型进行统一的编码,构造出一个固定位宽的事件存储格式。4.根据权利要求3所述的多处理器系统仿真的系统状态监测方法,其特征在于,所述预设深度不小于系统同一周期出现的最多事件的数量具体为:利用C++语言构造所述事件fifo时,用指针和链表方式构造一个无限大的事件fifo。5.根据权利要求4所述的多处理器系统仿真的系统状态监测方法,其特征在于,所述按照顺序将所述触发监测的事件读出并处理之后还包括:...

【专利技术属性】
技术研发人员:李拓周恒钊符云越
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1