一种基于数据库的验证平台激励器自动化生成方法与流程

文档序号:15095583发布日期:2018-08-04 14:29阅读:112来源:国知局
本发明涉及一种激励器的设计技术,尤其是涉及一种基于数据库的验证平台激励器自动化生成方法。
背景技术
:在芯片验证平台中,激励器是重要组成部分之一。激励器用以模拟被测单元的输入样本,完成一个能够准确而尽可能随机化产生样本输入的激励器的设计是整个验证平台的前提。传统的设计方法,验证人员会根据架构人员提供的设计规格书,理解被测单元输入接口的基本功能和输入时序关系,通过verilog(一种硬件描述语言)代码完成设计描述,并且在平台调试过程中反复调试该激励器的正确性,稳定性和随机性,最终满足测试要求。上述设计方式,激励器的质量更多的取决于设计规格书的质量,验证人员的个人能力;同时,设计周期长,无继承性,质量检验不方便。另外,即使不同被测单元之间存在相似接口,激励器也无法被简单重用,只能做参考借鉴,从而产生了许多重复性工作,甚至带来不可预料的人工代码的编写错误,增加了平台的创建和调试时间。技术实现要素:本发明的目的在于克服现有技术的缺陷,提供一种基于数据库的验证平台激励器自动化生成方法。为实现上述目的,本发明提出如下技术方案:一种基于数据库的验证平台激励器自动化生成方法,包括:S1,提取被测单元的接口属性,进行数据库分类存储,形成接口属性数据结构,并自动化生成所述接口属性数据结构中的数据,将所述接口属性数据结构中所述接口分到相应接口组中;S2,提取所述接口组的属性,进行数据库分类存储,形成接口组属性数据结构,并自动化生成所述接口组属性数据结构中的数据,在所述接口组属性数据结构中表示出接口组和与所述接口组匹配的单元测试组件之间的对应关系;S3,创建参数化的所述单元测试组件,所述单元测试组件来自于被测单元测试组件库;S4,定义所述接口组和对应的所述单元测试组件之间的接口连接关系,形成接口组与单元测试组件的连接关系数据结构,并自动化生成所述接口组与单元测试组件的连接关系数据结构中的数据;S5,读取所述步骤S1、S2和S4中生成的所述数据,自动化产生验证平台激励器的代码。优选地,所述接口属性数据结构中的接口属性包括被测单元的接口名称、接口方向、接口位宽、接口组别和接口描述,其中,所述接口方向表示接口在激励器和被测单元之间的数据流向关系;所述接口位宽表示接口所定义的比特数目;所述接口组别用于表示接口类别的定义和分组;所述接口描述用于填写接口基本功能的描述性语言。优选地,所述接口组别用于表示被测单元的接口分组,所述接口组别由验证人员根据激励器的设计规格书和被测单元分类识别出。优选地,所述接口组属性数据结构中的接口组属性包括所述接口组别、单元测试组件名称、输入属性、延迟属性、流控信息和备注,其中,所述单元测试组件名称为与所述接口组别匹配的单元测试组件名称;所述输入属性表示所述单元测试组件是否需要通过外部输入产生相应的激励信号;所述延迟属性表示所述激励信号产生所需要的延迟信息;所述流控信息表示所述单元测试组件输出的流控信号;所述备注用于描述所述接口组别的信息。优选地,所述输入属性为无时,表示所述激励信号由所述单元测试组件自身内建逻辑产生;所述输入属性为其他接口信号时,表示所述激励信号由所述其他接口信号,经过所述单元测试组件经过一定延迟后再产生。优选地,所述接口组的接口与所述单元测试组件的接口为一一对应关系,且通过参数化方式进行代码实例化,形成接口组与单元测试组件的连接关系数据结构。优选地,若所述单元测试组件的接口没有对应的接口组的接口,则所述单元测试组件的接口做悬空处理。优选地,所述S1中,自动化生成所述接口属性数据结构中的数据的过程包括:通过脚本语言解析被测单元的顶层verilog文件,并经过一些命名规则的定义完成所述接口属性数据结构中的数据的自动化产生。优选地,所述S2中,所述自动化生成所述接口组属性数据结构中的数据的过程包括:通过脚本语言解析所述接口组的属性信息,及其接口命名规则,自动化产生所述接口组属性数据结构中的数据,完成单元测试组件的选择。优选地,所述S4中,所述自动化生成所述接口组属性数据结构中的数据的过程包括:通过脚本语言解析所述接口组与单元测试组件的一一匹配及连接关系,及其接口命名规则,自动化产生所述接口组与单元测试组件的连接关系数据结构中的数据。本发明的有益效果是:本发明利用数据库的方式对产生激励器所需要的关键属性进行分类整合管理,并创建参数化的单元测试组件,验证人员通过自定义的方式完成激励器的自动化组装。提高了芯片验证平台中激励器产生的准确性和完备性,缩短激励器的设计周期,增强激励器在不同被测单元之间的可继承性和可移植性。附图说明图1是本发明方法的流程示意图。具体实施方式下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。本发明所揭示的一种基于数据库的验证平台激励器自动化生成方法,利用数据库的方式对产生激励器所需要的关键属性进行分类整合管理,并创建参数化的单元测试组件,验证人员通过自定义的方式完成激励器的自动化组装。如图1所示,本发明实施例所揭示的一种基于数据库的验证平台激励器自动化生成方法,包括:S1,提取被测单元的接口属性,进行数据库分类存储,形成接口属性数据结构,并自动化生成所述接口属性数据结构中的数据,将所述接口属性数据结构中所述接口分到相应接口组中。具体地,被测单元有多个接口,如时钟信号接口、复位信号结构、报文接口、信息接口等,提取这些接口属性,根据这些属性将接口进行数据库分类存储,形成接口属性数据结构。形成的接口属性数据结构如下表1所示:表1由上表1可知,接口属性数据结构中的接口属性包括被测单元的接口名称、接口方向、接口位宽、接口组别和接口描述,其中,接口方向表示该接口在激励器和被测单元之间的数据流向关系,接口方向为输入时,表示从激励器产生输出到被测单元;接口方向为输出时,表示从被测单元产生输出到激励器。接口位宽表征该接口所定义的比特数目,用于后续标准单元测试组件的参数化输入。接口组别这是接口的一个关键属性,用于接口类别的定义和分组,需要验证人员通过设计规格书和对被测模块的基本理解做准确的分类,用于单元测试组件的自动化匹配和连接。如,这里的packetValid接口、packetSop接口、packetEop接口和packetData接口均属于报文1接口组,msg1Valid接口、msg1Data接口和msg1Done接口均属于信息1接口组。接口描述用于填写接口基本功能的描述性语言。上述接口属性数据结构中的数据可以通过脚本语言解析被测单元的顶层verilog文件,并经过一些命名规则的定义完成该接口属性数据结构中的数据的自动化产生。需要说明的是,被测单元都会提供一个顶层接口模块,用verilog语言编写,其中包含了所有接口的初始信息,如接口名称、接口方向接口位宽等;本申请将这些初始信息作为数据库的初始信息,之后的组别等信息,都是基于此基础上来解析和填充的。S2,提取接口组的属性,进行数据库分类存储,形成接口组属性数据结构,并自动化生成所述接口组属性数据结构中的数据,在所述接口组属性数据结构中表示出接口组和与所述接口组匹配的单元测试组件之间的对应关系。具体地,如上述步骤S1形成的接口属性数据结构中,将被测单元的接口分为多个接口组中,如分别分到接口组1、接口组2、接口组3中等。提取这些接口组的属性,根据这些属性将接口组进行数据库分类存储,形成接口组属性数据结构。形成的接口组属性数据结构如下表2所示:表2由上表2可知,接口组属性数据结构中的接口组属性包括上述接口组别、单元测试组件名称、输入属性、延迟属性、流控信息和备注,其中,接口组别即为接口属性数据结构中的组别属性,表示接口的分组。单元测试组件为与该接口组相匹配的单元测试组件名称,例如组别报文1与单元测试组件StdPacketGen相匹配,而组别信息1则与单元测试组件StdMsgGen想匹配。输入属性表示对应的单元测试组件是否需要通过外部输入产生相应的激励信号。如果输入属性为无,则表示该激励由该单元测试组件内建逻辑自己产生,如果输入为其他接口信号A,表示该激励由其他输入接口信号A,经过该单元测试组件一定延迟后再产生。如这里的组别信息2对应的单元测试组件StdMsgGen的输入为接口信号msg1Valid,则表示该激励由接口信号msg1Valid,经过该单元测试组件StdMsgGen一定延迟后再产生。延迟属性表示当输入属性为其他接口信号时,激励产生所需要的延迟信息。流控信息:需要说明的是,在模块间接口设计时,流控设计是一种常见的设计方法,当前级模块发送的激励超出后级模块处理能力的时候,后级模块会通过对应的流控信号通知前级模块警告信息,前级模块会作出相应的抑制输出的操作,所以该条目记录的就是该单元测试组件输出的流控信号,即当单元测试组件的激励器发送的激励超出其处理能力的时候,单元测试组件会通过对应的流控信号通知激励器警告信息,激励器会作出相应的抑制输出的操作。备注属性用于简单描述该接口组的基本信息。上述接口组属性数据结构中的数据也可以通过脚本语言解析接口组的相关属性信息,及其接口命名规则,自动化产生所述接口组属性数据结构中的数据,完成单元测试组件的选择。S3,创建参数化的单元测试组件,单元测试组件来自于被测单元测试组件库。具体地,单元测试组件即与上述接口组别相对应的单元测试组件,这些单元测试组件来自于被测单元测试组件库,基于标准化,参数化的原则来设计完成,在不同被测设计,不同验证平台,不同项目之间具有很好的继承性和移植性。需要说明的是,被测单元测试组件库可以认为是一个模板库,根据单元测试组件类型进行挑选,参数化是指:对于某一个选定的单元测试组件,可以进行参数化设置,如:输出数据的位宽,用以适配不同的被测对象。S4,定义接口组和对应的单元测试组件之间的接口连接关系,形成接口组与单元测试组件的连接关系数据结构,并自动化生成所述接口组与单元测试组件的连接关系数据结构中的数据。具体地,以上述接口组报文1中的接口与对应的单元测试组件StdPacketGen之间的接口连接关系为例来说明,形成的连接关系数据结构如下表3所示:单元测试组件接口激励器接口参数化ValidpacketValid1SoppacketSop1EoppacketEop1DatapacketData64error无无表3由上表3可知,单元测试组件接口与激励器接口成一一对应关系,并通过参数化方式进行代码实例化,如果出现相应的单元测试组件接口没有对应的激励器接口,那么单元测试组件该接口将做悬空处理。上述连接关系数据结构中的数据也可以通过脚本语言解析接口组与单元测试组件的一一匹配及连接关系,及其接口命名规则,自动化产生接口组与单元测试组件的连接关系数据结构中的数据。S5,读取上述步骤S1、S2和S4中生成的数据,自动化产生验证平台激励器的代码。具体地,用户最终利用脚本语言读取上述步骤S1、S2和S4中数据库的相关数据,可以完成自动化产生验证平台激励器的代码产生。本发明利用数据库的方式对产生激励器所需要的关键属性进行分类整合管理,并创建参数化的单元测试组件,验证人员通过自定义的方式完成激励器的自动化组装。提高了芯片验证平台中激励器产生的准确性和完备性,缩短激励器的设计周期,且增强激励器在不同被测单元之前的可继承性和可移植性。本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1