产生断言的设备和方法以及验证处理器的设备和方法技术

技术编号:9865675 阅读:138 留言:0更新日期:2014-04-03 00:11
提供一种产生断言的设备和方法以及验证处理器的设备和方法。示例性实施例公开了一种用于基于用户程序代码产生断言的方法。所述方法包括接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息,并基于用户程序的编译结果和处理器的架构信息产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言。

【技术实现步骤摘要】
本申请要求于2012年9月7日提交的第61/698,050号美国临时专利申请以及于2013年8月13日提交的第10-2013-0096109号韩国专利申请的优先权,所述申请的全部公开通过引用合并于此。
示例性实施例涉及一种用于产生断言并使用所述断言验证处理器的技术。
技术介绍
现有技术中的处理器的功能验证意味着用于检查处理器的架构规范以及在寄存器传输级(RTL)设计的处理器是否在逻辑上执行相同操作的验证。现有技术中的验证测试案例(诸如回归测试和随机测试)应用于验证设计的处理器。另外,测试覆盖率被测量以检查是否已经验证了各种设计功能。现有技术中的测试覆盖率大致被划分为代码覆盖率和功能覆盖率。代码覆盖率是在测试案例的仿真期间设计的代码被如何彻底地测试的指标,并且功能覆盖率是工程师想要测量的功能是否被执行的指标。功能覆盖率是用于通过设计用于在工程师想要测量的处理器操作之中必须被执行或不应该被执行的操作的断言来测量断言是否被执行的方法。在基于断言的验证(ABV)中,将断言插入到设计的处理器中,并且对被插入断言的处理器进行仿真。在处理器的仿真期间,通过监视和检查插入的断言容易地发现错误检测点,使得验证时间被减少。然而,现有技术中的断言必须由用户基于处理器的架构规范被设计并且每当所述架构规范被改变时都需要重新设计断言。另外,在现有技术中,有必要验证断言是否被适当地设计。因此,需要大量的时间和精力来设计断言。
技术实现思路
在示例性实施例的一个方面,提供一种用于基于用户程序代码产生断言的方法,并且所述方法包括:接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息;基于用户程序的编译结果以及处理器的架构信息产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言。所述至少一个断言指令可指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。产生断言的步骤可包括:基于所述至少一个断言指令的解释来确定在用户程序中包含的多个代码中需要处理器的操作验证的代码;基于在编译结果中的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。产生断言的步骤可包括:产生规定所述功能块需要在所述时间点执行的操作的断言。产生断言的步骤可包括:使用硬件描述语言(HDL)产生所述断言。产生断言的步骤可包括:产生与所述至少一个断言指令中的每个断言指令相应的断言。在示例性实施例的另一方面,提供一种断言产生设备,并且所述断言产生设备包括:接收器,被配置为接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息;断言产生器,被配置为基于用户程序的编译结果以及处理器的架构信息产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言。所述至少一个断言指令可指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。断言产生器可确定在用户程序中包含的多个代码中需要处理器的操作验证的代码;并基于编译结果中包含的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。断言产生器可产生规定所述功能块需要在所述时间点执行的操作的断言。断言产生器可使用硬件描述语言(HDL)产生所述断言。断言产生器可产生与所述至少一个断言指令中的每个断言指令相应的断言。在示例性实施例的另一方面,提供一种用于验证处理器的方法,并且所述方法包括:接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息;基于所述编译结果以及处理器的架构信息产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言;在寄存器传输级(RTL)的处理器模型中仿真所述编译结果,以便验证在处理器模型中在所述断言中规定的操作是否被执行。所述至少一个断言指令中的每个断言指令可指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。产生断言的步骤可包括:基于所述至少一个断言指令的解释来确定在用户程序中包含的多个代码中需要处理器的操作验证的代码;基于在编译结果中包含的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。产生断言的步骤可包括:产生规定所述功能块在所述时间点需要执行的操作的断言。产生断言的步骤可包括:使用硬件描述语言(HDL)产生所述断言。产生断言的步骤可包括:产生与所述至少一个断言指令中的每个断言指令相应的断言。仿真编译结果的步骤可包括:将断言插入到处理器模型中,并在被插入断言的处理器模型中仿真所述编译结果。在示例性实施例的另一方面,提供一种处理器验证设备,并且所述处理器验证设备包括:接收器,被配置为接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息;断言产生器,被配置为基于用户程序的编译结果以及处理器的架构信息产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言;验证器,被配置为在寄存器传输级(RTL)的处理器模型中仿真所述编译结果,以便验证在所述处理器模型中在所述断言中规定的操作是否被执行。所述至少一个断言指令中的每个断言指令可指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。断言产生器可解释所述至少一个断言指令,以便确定在用户程序中包含的多个代码中需要处理器的操作验证的代码,并基于在编译结果中包含的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。断言产生器可产生规定所述功能块需要在所述时间点执行的操作的断言。断言产生器使用硬件描述语言(HDL)产生所述断言。断言产生器可产生与所述至少一个断言指令中的每个断言指令相应的断言。验证器可将断言插入到处理器模型中,然后在被插入所述断言的处理器模型中仿真所述编译结果。在示例性实施例的另一方面,一种用于基于用户程序代码产生断言的方法可包括:接收用户程序、用户程序的编译结果以及处理器的架构信息;解释断言指令,以便从用户程序中的多个代码中确定代码;确定用户程序的被确定的代码被执行的时间点;确定在所述时间点执行用户程序的被确定的代码的功能块;在用户程序的被确定的代码被执行的时间点产生断言。从以下详细描述、附图和权利要求中,其他特征和方面可以是清楚的。【附图说明】通过参照附图详细描述示例性实施例,示例性实施例的以上和其他方面和优点将变得更加清楚,其中:图1是示出根据示例性实施例的断言产生设备的配置的示图。图2是示出根据示例性实施例的处理器验证设备的配置的示图。图3是用户程序的示例。图4是图3中示出的用户程序的编译结果的示例。图5是产生的断言的示例。图6是示出根据示例性实施例的用于产生断言的方法的流程图。图7是示出根据示例性实施例的用于产生断言的方法的详细流程图。图8是示出根据示例性实施例的用于验证处理器的方法本文档来自技高网...

【技术保护点】
一种用于基于用户程序代码产生断言的方法,所述方法包括:接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息;基于用户程序的编译结果以及处理器的架构信息,产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言。

【技术特征摘要】
2013.08.13 KR 10-2013-0096109;2012.09.07 US 61/691.一种用于基于用户程序代码产生断言的方法,所述方法包括: 接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息; 基于用户程序的编译结果以及处理器的架构信息,产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言。2.如权利要求1所述的方法,其中,所述至少一个断言指令指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。3.如权利要求1所述的方法,其中,产生断言的步骤包括: 基于所述至少一个断言指令的解释来确定在用户程序中包含的多个代码中需要处理器的操作验证的代码; 基于在编译结果中包含的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。4.如权利要求3所述的方法,其中,产生断言的步骤包括:产生规定所述功能块需要在所述时间点执行的操作的断言。5.如权利要求1所述的方法,其中,产生断言的步骤包括:使用硬件描述语言HDL产生所述断言。6.如权利要求1所述的方法,其中,产生断言的步骤包括:产生与所述至少一个断言指令中的每个断言指令相应的断言。7.—种断言产生设备,包括: 接收器,被配置为接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息; 断言产生器,被配置为基于用户程序的编译结果以及处理器的架构信息产生规定处理器根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码需要执行的操作的断言。8.如权利要求7所述的断言产生设备,其中,所述至少一个断言指令指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。9.如权利要求7所述的断言产生设备,其中,断言产生器确定在用户程序中包含的多个代码中需要处理器的操作验证的代码;并基于编译结果中包含的调度信息以及处理器的架构信息,确定由所述至少一个断言指令中的每个断言指令指示的用户程序的被确定的代码被执行的时间点以及在所述时间点执行所述代码的功能块。10.如权利要求9所述的断言产生设备,其中,断言产生器产生规定所述功能块需要在所述时间点执行的操作的断言。11.如权利要求7所述的断言产生设备,其中,断言产生器使用硬件描述语言HDL产生所述断言。12.如权利要求7所述的断言产生设备,其中,断言产生器产生与所述至少一个断言指令中的每个断言指令相应的断言。13.一种用于验证处理器的方法,所述方法包括: 接收包括至少一个断言指令的用户程序、用户程序的编译结果以及处理器的架构信息; 基于所述编译结果以及处理器的架构信息,产生规定处理器需要根据由所述至少一个断言指令中的每个断言指令指示的用户程序的代码执行的操作的断言; 在寄存器传输级RTL的处理器模型中仿真所述编译结果,以便验证在处理器模型中在所述断言中规定的操作是否被执行。14.如权利要求13所述的方法,其中,所述至少一个断言指令中的每个断言指令指示在用户程序中包含的多个代码中需要处理器的操作验证的代码。15.如权利要求13...

【专利技术属性】
技术研发人员:丁镇世沈熙峻曹暎喆韩渊照
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1