一种芯片验证的方法及系统的制作方法

文档序号:6561008阅读:187来源:国知局
专利名称:一种芯片验证的方法及系统的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种芯片验证的方法及系统。
背景技术
现有芯片验证过程中,需要用户设置字符标识、字长,然后在设置的字符标识和字长对应的定标组中选择需要的定标,通过转换算法或转换公式手工将输入的定点数(或浮点数)转换出相应的浮点数(或定点数);在转换后,如果判断该转换的数精度不符合要求,则需要用户重新选择定标,然后通过转换算法或公式进行手工转换,进一步判断转换的数是否符合精度要求,直到转换后的数据满足精度要求;现有芯片验证时,用户可能需要多次重复进行定浮点数的手工转换才能得到符合要求的数据,当需要进行大量的定浮点数转换时,手工转换非常繁琐,而且转换效率较低以及转换误差较大;另外,由于转换后需要把转换结果手工输入到芯片验证系统,而且定浮点的转换在硬件运算和算法运算中互为逆过程,所以需要手工来回的输入转换结果,因此存在定浮点转换和验证运算严重脱节,从而导致系统工作效率较低的问题。

发明内容
本发明提供一种芯片验证的方法及系统,用以解决现有技术中由于手工操作而导致定浮点数转换精度、转换效率较低以及芯片验证效率较低的问题。
本发明提供如下技术方案一种芯片验证的方法,包括步骤通过操作接口向转换装置输入定点数或者浮点数;所述转换装置根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理;将所述芯片运算的结果和所述算法运算的结果进行比较,当两者一致时确定所述芯片的硬件运算和软件运算正确。
所述转换装置根据所述字符标识、字长和用户在对应定标组中选择的一个定标对输入的数进行转换,当转换后得到的数不满足精度要求时,所述转换装置根据用户重新选择的定标对所述输入的数重新进行转换。
较佳的,所述转换装置根据所述字符标识、字长和对应定标组中的每一个定标分别进行转换,并输出转换后得到的数组中精度最高的数。
所述定标组根据所述字符标识和字长确定。
向转换装置输入浮点数时,所述转换装置将该浮点数转换出对应的定点数后,进一步将所述定点数转换出相应的浮点数,并将该浮点数输出给所述软件验证算法。
一种芯片验证系统,包括操作接口,用于提供用户与转换模块之间的通信接口;转换模块,用于根据用户设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;以及将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理;需要验证的芯片,用于将定点数作为输入参数以进行相应的硬件运算处理;软件验证模块,用于将浮点数作为输入参数以进行相应的算法运算处理;比较模块,用于将芯片运算结果和算法运算结果进行比较;第二显示模块,用于根据所述比较模块的比较结果相应显示所述芯片的硬件运算和软件运算的结果。
所述系统还包括
第一显示模块,用于显示所述转换模块转换出的定点数或浮点数;所述转换模块包括接收单元,用于通过所述操作接口接收用户设置的符号标识、字长和定标,以及用户输入的定点数或浮点数;转换单元,用于根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;输出单元,用于将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理。
所述转换单元根据所述字符标识、字长和用户在对应定标组中选择的一个定标对输入的数进行转换得到相应的数。
较佳的,所述转换单元根据所述字符标识、字长和对应定标组中的每一个定标对输入的数进行转换得到相应的数组。
所述转换模块还包括选择单元,用于在转换后得到的数组中选择精度最高的数。
所述接收单元接收到浮点数时,所述转换单元将该浮点数转换出对应的定点数后,进一步将所述定点数转换出相应的浮点数,所述输出单元将该浮点数输出给所述软件验证模块。
本发明有益效果如下本发明芯片验证过程中,用户可以灵活设置符号标识、字长和定标,进一步根据设置的符号标识、字长和定标以及用户输入的定点数或浮点数进行定浮点数的自动转换,减少了定浮点数之间转换的工作量;另外,本发明中转换后得到的定点数或浮点数自动输入到芯片验证系统,提高了芯片验证系统的工作效率;本发明针对使用浮点数进行算法运算和使用定点数进行硬件运算的特点,灵活取数,提高了比对精度;而且当输入浮点数时,将该浮点数转换出定点数后,进一步将该定点数转换出浮点数作为算法运算的输入参数,该浮点数更为精确,因此解决了由于用户输入的浮点数不当以及由于字长、定标的限制而造成比对精度降低的问题;采用本发明提高了芯片的验证效率和验证精度。


图1为本发明实施例中芯片验证的主要实现流程图;图2为本发明实施例中芯片验证系统结构示意图;图3为本发明实施例中转换模块结构示意图;图4为本发明实施例中用户输入定点数时芯片验证的实现流程图;图5为本发明实施例中用户输入浮点数时芯片验证的实现流程图。
具体实施例方式
本实施例中用户设置字符标识、字长和定标后通过操作接口将设置的参数和定点数或浮点数输入到转换装置,所述转换装置根据所述字符标识、字长和定标将输入的定点数转换出相应的浮点数,或者将输入的浮点数转换出相应的定点数,然后将转换后得到的定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理,当芯片运算结果和算法运算结果一致时确定该芯片的硬件运算和软件运算正确。
如图1所示,本实施例中芯片验证的主要实现流程如下步骤100、通过操作接口向转换模块输入定点数或者浮点数。
步骤101、转换模块根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数。
步骤102、转换模块将定点数和浮点数对应输出给需要验证的芯片和软件验证算法。
步骤103、需要验证的芯片和软件验证算法进行相应的运算处理。
步骤104、将所述芯片运算的结果所述算法运算结果进行比较,当两者一致时确定所述芯片的硬件运算和软件运算正确。
相应的,如图2所示,本实施例中一种芯片验证系统包括
操作接口20,用于提供用户和转换模块21之间的通信接口,用户将设置的参数和需要的定点数或浮点数通过该操作接口20输入到转换模块21;用户设置的参数包括符号标识、字长和定标等,所述符号标识是指有符号位或者无符号位;所述字长是指在芯片验证系统中规定的数的表示范围,一般可以设置为8位、16位、24位或者32位等;所述定标是用户从所述符号标识和字长对应的定标组中选择的需要的定标,所述定标组由所述字符标识和字长确定,例如对于字长是16位的有符号数,定标组中包括定标如下S0.15,S1.14,S2.13,……,S15.0,其中S2.13表示为在芯片中,用2位表示整数,用13位表示小数;第一位表示符号位,符号位是0时,表示正数,符号位是1时,表示负数;对于字长是16位的无符号数,定标组中包括定标如下S0.16,S1.15,S2.14,……,S16.0,其中S2.14表示为在芯片中,用2位表示整数,用14位表示小数,没有符号位。
转换模块21,用于根据用户设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;以及将转换后得到的定点数和浮点数输出到第一显示模块22,并将定点数和浮点数对应输出到需要验证的芯片23和软件验证模块24。转换模块21可以根据用户设置的字符标识、字长和用户在对应定标组中选择的一个定标对输入的定点数或浮点数进行转换,然后将转换后得到的浮点数或定点数输出给第一显示模块22;当用户判断转换后得到的数不满足精度要求时,通过操作接口20将重新选择的定标输入给转换模块21,所述转换模块21根据该定标对用户原来输入的定点数或浮点数重新进行转换,并将转换后得到的数输出给第一显示模块22;为了减少人为判断以更准确的得到满足精度的数据,所述转换模块21也可以根据用户设置的字符标识、字长以及对应定标组中的所有定标对输入的定点数或浮点数分别进行转换,然后输出转换后得到的数组中精度最高的数。
如图3所示,所述转换模块21包括接收单元210,用于通过操作接口20接收用户设置的参数以及输入的定点数或浮点数;转换单元211,用于根据所述参数将输入的定点数转换出相应的浮点数,或者将输入的浮点数转换出相应的定点数;可以根据所述字符标识、字长和用户在对应定标组中选择的一个定标对输入的数进行转换得到一个相应的数;也可以根据所述字符标识、字长和对应定标组中的每一个定标对输入的数进行转换得到一个相应的数组;选择单元212,用于在转换后得到的数组中选择精度最高的数据;输出单元213,用于将所述转换单元211转换出的定点数和浮点数输出到需要验证的芯片23和软件验证模块24,以及将其输出到第一显示模块22。当接收单元210接收到浮点数时,转换单元211将该浮点数转换出定点数后将该定点数输出到第一显示模块22和需要验证的芯片23,然后将该定点数再转换出相应的浮点数,并将该浮点数输出到软件验证模块24。
第一显示模块22,用于显示所述转换模块21转换出的定点数或浮点数;即如果输入是定点数,则显示转换后得到的浮点数;如果输入是浮点数,则显示转换后得到的定点数。
需要验证的芯片23,用于将所述转换模块21输出的定点数作为硬件运算的寄存器参数,进行相应的硬件运算处理,并将运算结果输出给比较模块25。
软件验证模块24,用于将所述转换模块21输出的浮点数作为算法运算的参数,进行相应的算法运算处理,并将运算结果输出给比较模块25。
比较模块25,用于将硬件运算结果和算法运算结果进行比较,并将比较结果输出给第二显示模块26。
第二显示模块26,用于根据所述比较模块25的比较结果显示芯片的硬件运算和软件运算的结果;如果硬件运算结果和算法运算结果一致,则显示“正确”,表明芯片的硬件运算和软件运算正确;否则,显示“错误”,表明芯片的硬件运算和/或软件运算出现问题,此时需要测试人员查证问题发生原因。
下面以用户选择定标组中的定标为例对本实施例的芯片验证的实现过程作详细说明。
如图4所示,本实施例中用户输入定点数时实现芯片验证的过程如下
步骤400、用户将设置符号标识、字长和定标以及需要的定点数输入到转换模块。
步骤401、将该定点数转换出相应的浮点数。
步骤402、显示转换后得到的浮点数,并将该浮点数输出到软件验证模块以及将接收到的定点数输出到需要验证的芯片。
步骤403、需要验证的芯片将所述定点数作为硬件运算的寄存器参数,进行相应的硬件运算并输出结果;软件验证模块将所述浮点数作为算法运算的输入参数,进行相应的硬件运算并输出结果。
步骤404、将硬件运算结果与算法运算结果进行比较。
步骤405、根据比较结果显示芯片硬件和软件运算的结果。
如图5所示,本实施例中用户输入浮点数时实现芯片验证的过程如下步骤500、用户将设置符号标识、字长和定标以及需要的浮点数输入到转换模块。
步骤501、将该浮点数转换出相应的定点数。
步骤502、显示转换后得到的定点数,并将该定点数输出到需要验证的芯片。
步骤503、根据用户设置的字符标识、字长和定标将所述定点数转换出相应的浮点数。
步骤504、显示转换后得到的浮点数,并将该浮点数输出到软件验证模块。
步骤505、需要验证的芯片将接收到的定点数作为硬件运算的寄存器参数,进行相应的硬件运算并输出结果;软件验证模块将接收到的浮点数作为算法运算的输入参数,进行相应的硬件运算并输出结果。
步骤506、将硬件运算的结果与算法运算的结果进行比较。
步骤507、根据比较结果显示芯片硬件和软件运算的结果。
本实施例中转换模块根据用户设置的字符标识、字长以及对应定标组中的每一个定标对用户输入的定点数或浮点数进行转换,然后将转换后得到的数组中精度较高的数输出以进行相应的运算处理,采用这种处理方式可以得到精度较高的数,因此提高了芯片验证系统的转换精度,其转换的实现过程与上述过程同理,不再赘述。
采用本发明可以简化芯片验证过程中定浮点数的转换过程,提高了硬件运算和算法运算的验证精度,另外,用户可以直观地得出输入的浮点数与转换后得到的浮点数之间的精度差别,从而为用户提供了参考数据,有利于提高工作效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种芯片验证的方法,其特征在于,包括步骤通过操作接口向转换装置输入定点数或者浮点数;所述转换装置根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理;将所述芯片运算的结果和所述算法运算的结果进行比较,当两者一致时确定所述芯片的硬件运算和软件运算正确。
2.如权利要求1所述的方法,其特征在于,所述转换装置根据所述字符标识、字长和用户在对应定标组中选择的一个定标对输入的数进行转换,当转换后得到的数不满足精度要求时,所述转换装置根据用户重新选择的定标对所述输入的数重新进行转换。
3.如权利要求1所述的方法,其特征在于,所述转换装置根据所述字符标识、字长和对应定标组中的每一个定标分别进行转换,并输出转换后得到的数组中精度最高的数。
4.如权利要求2或3所述的方法,其特征在于,所述定标组根据所述字符标识和字长确定。
5.如权利要求1、2或3所述的方法,其特征在于,向转换装置输入浮点数时,所述转换装置将该浮点数转换出对应的定点数后,进一步将所述定点数转换出相应的浮点数,并将该浮点数输出给所述软件验证算法。
6.一种芯片验证系统,其特征在于,包括操作接口,用于提供用户与转换模块之间的通信接口;转换模块,用于根据用户设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;以及将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理;需要验证的芯片,用于将定点数作为输入参数以进行相应的硬件运算处理;软件验证模块,用于将浮点数作为输入参数以进行相应的算法运算处理;比较模块,用于将芯片运算结果和算法运算结果进行比较;第二显示模块,用于根据所述比较模块的比较结果相应显示所述芯片的硬件运算和软件运算的结果。
7.如权利要求6所述的芯片验证系统,其特征在于,所述系统还包括第一显示模块,用于显示所述转换模块转换出的定点数或浮点数。
8.如权利要求6或7所述的芯片验证系统,其特征在于,所述转换模块包括接收单元,用于通过所述操作接口接收用户设置的符号标识、字长和定标,以及用户输入的定点数或浮点数;转换单元,用于根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;输出单元,用于将定点数和浮点数对应输出给需要验证的芯片和软件验证算法进行相应的运算处理。
9.如权利要求8所述的芯片验证系统,其特征在于,所述转换单元根据所述字符标识、字长和用户在对应定标组中选择的一个定标对输入的数进行转换得到相应的数。
10.如权利要求8所述的芯片验证系统,其特征在于,所述转换单元根据所述字符标识、字长和对应定标组中的每一个定标对输入的数进行转换得到相应的数组。
11.如权利要求10所述的芯片验证系统,其特征在于,所述转换模块还包括选择单元,用于在转换后得到的数组中选择精度最高的数。
12.如权利要求8所述的芯片验证系统,其特征在于,所述接收单元接收到浮点数时,所述转换单元将该浮点数转换出对应的定点数后,进一步将所述定点数转换出相应的浮点数,所述输出单元将该浮点数输出给所述软件验证模块。
全文摘要
本发明公开了一种芯片验证的方法及系统,用以解决现有技术中由于手工操作而导致定浮点数转换精度、转换效率较低以及芯片验证效率较低的问题;该方法包括通过操作接口向转换装置输入定点数或者浮点数;所述转换装置根据设置的符号标识、字长和定标将输入的定点数转换出对应的浮点数,或者将输入的浮点数转换出对应的定点数;将定点数和浮点数分别输出给需要验证的芯片和软件验证算法进行相应的运算处理;将所述芯片运算的结果和所述算法运算的结果进行比较,当两者一致时确定所述芯片的硬件运算和软件运算正确。采用本发明提高了芯片验证效率和验证精度。
文档编号G06F11/22GK1949184SQ200610114650
公开日2007年4月18日 申请日期2006年11月20日 优先权日2006年11月20日
发明者冯备战, 游明琦, 艾国 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1