一种验证芯片硬件行为与软件模拟行为的一致性的方法技术

技术编号:3202776 阅读:143 留言:0更新日期:2012-04-11 18:40
一种验证芯片硬件行为与软件模拟行为的一致性的方法,至少包括如下步骤:    a.编写用于进行一致性验证的测试用例,并根据测试用例生成可执行文件;    b.芯片和软件模拟器分别载入并运行可执行文件,分别生成硬件行为信息和软件模拟行为信息的输出文件;    c.通过比对所述输出文件的硬件行为信息和软件模拟行为信息是否相同判断芯片硬件行为与软件模拟行为是否一致。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及芯片设计过程中的芯片验证技术,特别是涉及。
技术介绍
在现有的芯片设计过程中,设计芯片的技术人员通常没有简单、有效的测试方法,来提升芯片设计质量。在设计完成之后,进行一些效率很低的测试,或是用一些复杂的额外设计实现测试,再就只有等待用户使用产品之后反馈回来信息来修改原来设计。这些不能有效保证芯片设计的正确性,更不能有效提升芯片设计质量,从而会影响芯片整体品质。在目前,为了方便硬件的开发,提出了软件模拟器的概念。软件模拟器是通过软件运行形式来模拟硬件的运行行为,从而可以在开发硬件之前先通过软件模拟来设计硬件所要实现的功能,为硬件设计人员的开发工作提供了辅助的设计和测试手段。目前主要是在芯片开发时使用软件模拟器来进行硬件行为验证,而在芯片开发完成之后,主要将软件模拟器作为开发工具或产品使用,而没有将软件模拟器用于芯片开发完成后验证硬件运行行为的方法。
技术实现思路
有鉴于此,本专利技术的主要目的是提供,用于在实际制造芯片之前确保芯片设计的正确性,从而为提高芯片的整体品质提供一种简单、有效的芯片验证手段。本专利技术的上述目的是通过如下的技术方案予以实现的 ,至少包括如下步骤a.编写用于进行一致性验证的测试用例,并根据测试用例生成可执行文件;b.芯片和软件模拟器分别载入并运行可执行文件,生成分别包含硬件行为信息和软件模拟行为信息的输出文件;c.通过比对输出文件的硬件行为信息和软件模拟行为信息是否相同判断芯片硬件行为与软件模拟行为是否一致。在上述方法中,较佳地根据芯片的读写区域限制要求编写测试用例。在上述方法中,在步骤a编写测试用例的过程中可以进一步包括定制硬件行为输出文件和软件模拟行为输出文件中的内容信息。其中,内容信息较佳地包含每运行一条指令之后的寄存器数值、程序计数器数值和存储单元的内容,以及运行完成一个测试用例之后预先约定的存储区域中的数值;并且较佳地定制内容信息按行保存。在上述方法中,软件模拟器载入可执行文件可以通过将可执行文件手动装载到软件模拟器来进行的,比对输出文件通过人工观察和记录来进行。较佳地,本专利技术进一步包括建立用于将可执行文件装载到软件模拟器以及比对输出文件的自动处理模块,这样将可执行文件装载到软件模拟器和比对输出文件的处理由所述自动处理模块进行。在这种情况下,本专利技术进一步包括预先将所有的可执行文件保存在一个文件目录中,软件模拟器载入并运行可执行文件是由自动处理模块将所述文件目录中的可执行文件依次在软件模拟器中装载和运行。本专利技术可以进一步包括设置停止运行可执行文件的条件,并且在软件模拟器运行可执行文件的过程中判断是否满足该条件,如果是,停止运行可执行文件,否则继续运行可执行文件。本专利技术可以进一步包括将硬件输出文件和软件模拟器输出文件分别保存到预先指定的文件目录下或缺省文件目录,并且预先设置硬件输出文件和软件模拟器输出文件中包含的内容信息及输出格式,此时步骤c中比对输出文件的内容的操作包括c1.分别在预先指定的文件目录下或缺省文件目录下读取对应于同一可执行文件的硬件输出文件和软件模拟器输出文件;c2.对两个文件的内容进行比对,并将对比结果记录到比对结果文件;c3.判断预先指定的文件目录下或缺省文件目录下是否还有未进行比对的硬件输出文件和软件模拟器输出文件,如果是,重新执行步骤c1,读取文件目录下对应于下一个可执行文件的硬件输出文件和软件模拟器输出文件,否则结束本流程。在上述方法中,步骤c2中对两个文件的内容进行比对是逐行进行的,比对结果是比对结果一致或不一致信息,如果不一致,可以进一步包括两个输出文件的相区别的内容及相应的行号。在上述方法中,在完成输出文件的比对处理之后,进一步包括输出比对结果的操作。本专利技术中提到的芯片可以是微控制器单元(MCU)、数字信号处理(DSP)芯片或者微处理器(MPU)芯片。从本专利技术的技术方案可以看出,通过编写测试用例形成可执行文件,然后由硬件和软件模拟器同时运行该可执行文件,分别输出包含硬件行为和软件模拟行为的输出文件,然后比对硬件输出文件和软件模拟器输出文件,如果两者的内容完全一致,则表明芯片硬件行为和软件模拟行为一致,从而表明硬件设计正确,可以批量生产;否则表明芯片硬件行为和软件模拟行为不一致,此时可以进一步确定错误发生在芯片设计还是软件模拟器,如果是前者,可以修改芯片设计。因此,本专利技术可以在批量生产芯片之前验证硬件设计是否正确,从而能确保芯片设计的正确性,并极大地提高芯片的整体品质。另外,在测试用例很多的情况下,本专利技术可以自动装载测试用例,自动对硬件输出文件和软件模拟器输出文件进行比对,并且可以将比对结果输出到文件中提供给用户来查验,这样极大地减轻了用户的工作量,提高了验证效率,从而进一步提高了硬件设计和制造的效率。附图说明图1是本专利技术的总体流程图。图2是本专利技术第一实施例的处理流程图。图3是本专利技术第二实施例的处理流程图。具体实施例方式下面结合附图和具体实施例对本专利技术进行详细说明。本专利技术提供了一种用于验证芯片的硬件行为与软件模拟行为的一致性的方法。在该方法中,通过编写测试用例,然后分别在硬件和软件模拟器中运行由该测试用例生成的可执行文件,并分别生成输出运行结果的文件,然后对文件中的运行结果信息进行比对,即可判断芯片的硬件行为与软件模拟行为是否一致。下面以单片机中经常使用的MCU作为示例详细说明本专利技术。如图1所示,本专利技术的处理流程包括如下步骤在步骤101,首先编写用于对硬件行为和软件模拟行为的一致性进行检测的测试用例。这里的测试用例也就是能在芯片上运行的程序。编写测试用例可以通过汇编语言、C语言等任何一种计算机程序语言,只要最后能够通过编译和链接产生能够在芯片上运行的可执行机器码文件即可。测试用例可以有多种,例如算术运算、逻辑运算和其它一些运算以及它们之间的任意组合,具体如何编写测试用例根据验证需要而定。为了能够全面地验证MCU的硬件设计,测试用例的编写种类越多越好,这样的测试的覆盖范围会更全更广,测试的效果也会更好。为了更准确地验证芯片的硬件设计,这里的测试用例最好是边缘用例、算术逻辑运算用例、算法用例以及指令的组合用例或随机指令用例。另外,由于芯片中有些区域只能执行读操作,有些区域只能执行写操作,而有些区域既不能执行读操作又不能执行写操作,这样在编写测试用例程序时必须进行约定限制,对某些区域只能进行读或者只能进行写,或者既不能读也不能写,或者虽然能够进行读写,但要保证先写后读等等。进行这种约定限制的目的为了保证验证的有效性和正确性。例如,如果硬件某一个区域不能对其执行读操作,而在编写测试用例时没有考虑到这一个问题,那么运行根据测试用例生成的可执行文件时将对该区域执行读操作,这时硬件和软件模拟器的执行结果将产生随机行为。比对这样的随机行为是毫无意义的,这会影响正常的验证过程。在编写测试用例时,还需要定制硬件输出文件和软件模拟器输出文件所包含的内容信息。为了验证硬件行为和软件模拟器的软件行为是否一致,需要定义包含硬件行为的硬件输出文件和包含软件模拟行为的软件模拟器输出文件输出同样的行为内容。并且,为了能够反映芯片运行时所需的行为信息,也需要预先定义这两个输出文件的输出内容。具体地说,要求硬件或软件模拟器在运行一条指令之后,在输出文件中示出此时M本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种验证芯片硬件行为与软件模拟行为的一致性的方法,至少包括如下步骤a.编写用于进行一致性验证的测试用例,并根据测试用例生成可执行文件;b.芯片和软件模拟器分别载入并运行可执行文件,分别生成硬件行为信息和软件模拟行为信息的输出文件;c.通过比对所述输出文件的硬件行为信息和软件模拟行为信息是否相同判断芯片硬件行为与软件模拟行为是否一致。2.根据权利要求1所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,所述编写测试用例是根据芯片的读写区域限制要求编写。3.根据权利要求1所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,在步骤a编写测试用例的过程中进一步包括定制硬件行为输出文件和软件模拟行为输出文件的内容信息。4.根据权利要求3所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,所述内容信息包含每运行一条指令之后的寄存器数值、程序计数器数值和存储单元的内容,以及运行完成一个测试用例之后预先约定的存储区域中的数值。5.根据权利要求4所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,本发明进一步包括在定制内容信息的同时,定制每一条指令执行完成之后按行保存信息内容以及一个测试用例运行完成之后也按行保存预先约定的芯片存储区域数值到输出文件之中。6.根据权利要求1所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,所述软件模拟器载入可执行文件是通过将可执行文件手动装载到软件模拟器来进行的,所述比对输出文件过程是通过人工观察和记录来进行的。7.根据权利要求1所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,本发明进一步包括建立用于将可执行文件装载到软件模拟器以及比对输出文件的自动处理模块,所述将可执行文件装载到软件模拟器和比对输出文件的处理由所述自动处理模块进行。8.根据权利要求7所述的验证芯片硬件行为与软件模拟行为的一致性的方法,其特征是,本发明进...

【专利技术属性】
技术研发人员:张新
申请(专利权)人:北京北阳电子技术有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利