首页> 中国专利> 网络芯片模块级功能验证测试平台的建立方法

网络芯片模块级功能验证测试平台的建立方法

摘要

网络芯片模块级功能验证测试平台的建立方法,包括被测模块的仿真参考模型的建立,其特征在于所述测试平台的建立方法包括各模块和文件的建立,然后将激励产生模块的输出与被测模块和仿真参考模型的输入相连接,时钟和复位产生模块与被测模块和仿真参考模型的时钟和复位信号相连接,寄存器初始化模块与被测模块和仿真参考模型的寄存器相连接,CPU仿真模型与被被测模块的CPU相连接,被测模块输出端连接到仿真参考模型中,组成网络芯片模块级功能验证测试平台。该网络芯片模块级功能验证测试平台的建立方法简单直接,可以大幅度减少高性能网络芯片验证中模块级功能验证的测试平台的建立时间,采用该方法建立的测试平台结构清楚,易于理解,稳定可靠。

著录项

  • 公开/公告号CN101183406A

    专利类型发明专利

  • 公开/公告日2008-05-21

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN200710301712.7

  • 发明设计人 李枫;胡国兴;郑有为;

    申请日2007-12-25

  • 分类号G06F17/50(20060101);

  • 代理机构北京华夏博通专利事务所;

  • 代理人王建国

  • 地址 215021 江苏省苏州市苏州工业园区机场路328号科技广场10楼

  • 入库时间 2023-12-17 20:15:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-15

    专利权的转移 IPC(主分类):G06F17/50 登记生效日:20171124 变更前: 变更后: 申请日:20071225

    专利申请权、专利权的转移

  • 2010-06-30

    授权

    授权

  • 2008-07-16

    实质审查的生效

    实质审查的生效

  • 2008-05-21

    公开

    公开

说明书

技术领域

本发明属于网络芯片的设计验证领域,具体的涉及一种用于网络芯片设计过程中模块级功能验证的测试平台的建立方法。

背景技术

高性能网络芯片的功能验证已经成为制约高度复杂的电子系统和芯片设计的主要瓶颈。随着芯片管脚数目的急速上升和芯片尺寸的不断缩小,功能验证已经成为影响总体设计成本的首要因素。一个高效的功能验证解决方案,需要有灵活有效的验证过程自动化技术和经过检验的验证方法。

对功能验证这个环节,大多数芯片设计公司目前采取的办法都是通过运用合适的或更先进的验证平台、灵活运用各种验证方法、提高验证的可用性和复用性、增加人员的投入和每日工作时间,从而缩短验证时间来达到开发周期缩短的目的。至于设计和功能验证的协同工作方案,基本可以归纳为:

1.根据原始算法、系统要求等产生各种设计所需文档,如总体文档、功能设计详细文档、接口定义文档等;

2.设计人员和验证人员分头根据这些文档进行子模块的代码设计、子模块的验证环境搭建、系统级验证环境的搭建工作;

3.子模块验证人员需要等待下列工作都完成后才能进行验证工作,包括:a.子模块设计完成并通过基本功能仿真和数组基本固定数据的测试,假如来自算法标准部门的基本固定测试数据不能及时提供,还需等待标准部门的工作完成;b.参考模型的提供;c.子模块验证环境搭建完毕。子模块验证人员在此基础上才能进行后续的工作,如验证环境的调试、测试用例的编写及测试等。

大多数时候,验证处于等候的状态,因为被验证对象比较复杂,内部设计经常会出现架构和算法方面的调整,会有延误和返工。即使不做模块级验证而直接做系统级验证也会有这些等待过程,更何况对于大型的设计,按正规、严谨的流程应该是在模块级验证通过的基础上进行系统级验证,这样有助于减少系统级验证的工作量及难度,从而有效缩短功能验证的时间,因为模块级验证通过后,系统级验证需要验证的主要就是接口和子模块间的交互控制了。可以看到,按上述的方案设计和功能验证属于串行工作,一方面会有很多等待环节,从而造成功能验证的最终完成时间的滞后,另一方面如果要保证最终的交付期限,又要给功能验证预留相对充足的时间,就需要压缩设计的时间,给设计人员带来巨大的压力,引发人力投入和设计质量的矛盾,而设计质量的好坏同样会对后续环节造成影响,最终导致芯片设计周期的拉长。

高性能网络芯片功能验证中模块级验证涉及验证环境的建立。传统的功能验证方法依靠验证工程师人工搭建验证平台。这种搭建验证平台的方法是:由验证工程师分析芯片设计代码,根据要验证的模块的输入输出管脚,编写激励产生模块,以产生测试向量。根据要验证模块的功能,编写验证模型,和仿真结果比较模块。这种方法需要耗费大量的时间,验证在整个设计流程中占用了大量的时间,在复杂的芯片设计中,验证所占的时间估计在60%~70%之间。所以提高芯片测试平台建立的自动化程度对于减少芯片设计的时间有十分重大的意义。

发明内容

本发明的目的在于提供一种简单直接,结构清楚,稳定可靠,并可以大幅度减少测试平台建立时间的网络芯片模块级功能验证测试平台的建立方法,该方法实现了在芯片功能验证中模块级自动化测试平台的建立,可以大幅减少建立测试平台的时间,采用该方法建立的测试平台结构清楚,易于理解。解决了现有高性能网络芯片在设计和功能测试过程中需要耗费大量时间,工作量庞大的缺陷。

为实现上述发明,本发明采用的技术方案如下:

一种网络芯片模块级功能验证测试平台的建立方法,包括被测模块的仿真参考模型的建立,其特征在于所述测试平台的建立方法包括:

建立一个寄存器表格文件,并根据其产生寄存器初始化模块和寄存器配置文件;

根据被测模块的各输入、输出端口产生被测模块的实例化;

根据被测模块的输入端口产生该模块的激励产生模块;

在被测模块的仿真参考模型中加入结果比较模块;

根据网络芯片定义产生时钟和复位产生模块;

插入标准的CPU仿真模型;

根据被测模块产生所需文件列表;

根据被测模块和寄存器表格文件产生激励向量文件;

将所述激励产生模块的输出与被测模块和仿真参考模型的输入相连接,时钟和复位产生模块与被测模块和仿真参考模型的时钟和复位信号相连接,寄存器初始化模块与被测模块和仿真参考模型的寄存器相连接,CPU仿真模型与被被测模块的CPU相连接,被测模块输出端连接到仿真参考模型中,组成网络芯片模块级功能验证测试平台。

具体的讲,所述寄存器表格文件的建立是根据被测模块的所有外部可访问的寄存器建立,所述寄存器表格文件包括寄存器的地址,读写类型,寄存器的数据位宽,寄存器的比特有效位,寄存器的初始值。

所述寄存器初始化模块和寄存器配置文件的产生包括:读取寄存器表格文件,根据寄存器名和初始值产生寄存器初始化模块和寄存器配置文件。

所述仿真参考模型对激励产生模块和寄存器初始化模块的输入信号处理,产生理论输出值给所述结果比较模块。

所述被测模块的输出端与仿真参考模型的结果比较模块相连。

所述测试平台的建立方法具体包括:

根据被测模块的所有外部可访问的寄存器建立一个寄存器表格文件,读取该寄存器表格文件,根据寄存器名和初始值产生寄存器初始化模块和寄存器配置文件;

根据被测模块的各输入、输出端口产生被测模块的实例化;

根据被测模块的输入端口,按照输入端口的不同类型给予不同的值,产生该模块的激励产生模块;

根据被测模块产生被测模块的仿真参考模型,并在仿真参考模型中加入结果比较模块;

根据网络芯片定义产生时钟和复位产生模块;

插入标准的CPU仿真模型;

根据被测模块及其子模块产生用于计算验证代码覆盖率的所需文件列表;

根据被测模块和寄存器表格文件按照不同的参数产生不同的激励向量文件,以对应不同的测试向量;

将所述激励产生模块的输出与被测模块和仿真参考模型的输入相连接,时钟和复位产生模块与被测模块和仿真参考模型的时钟和复位信号相连接,寄存器初始化模块与被测模块和仿真参考模型的寄存器相连接,CPU仿真模型与被被测模块的CPU相连接,被测模块输出端连接到仿真参考模型中,组成网络芯片模块级功能验证测试平台。

该网络芯片模块级功能验证测试平台的建立方法可用于建立测试平台的工具开发,测试平台的建立方法中的各项步骤可以采用计算机程序尽心自动控制产生,并且各步骤都可以在一个计算机程序中以不同的命令参数加以区分,使用该测试平台的测试人员可以清楚的理解真个测试平台的结构组成。

寄存器表格的文件的建立可以根据寄存器的定义进行人工建立,采用计算机语言可以完成寄存器初始化模块和寄存器配置文件的产生、待测模块的实例化、激励产生模块的产生、时钟和复位产生模块的产生、仿真参考模型的建立以及所需文件列表、激励向量文件的产生等。

被测模块的输出连接到仿真参考模型的结果比较模块中,仿真参考模型对激励产生模块和寄存器初始化模块的输入信号进行处理,产生理论输出值,该理论输出值与被测模块的实际输出值进行比较,如果二者相同,则被测模块通过功能验证,工作正常,如果二者不同,则被测模块无法通过功能验证,存在问题。

本发明的有益效果在于,该网络芯片模块级功能验证测试平台的建立方法简单直接,可以大幅度减少高性能网络芯片验证中模块级功能验证的测试平台的建立时间,采用该方法建立的测试平台结构清楚,易于理解,稳定可靠。

附图说明

下面结合附图和具体实施方式对本发明作进一步的阐述。

图1是本发明具体实施方式的框架组成示意图。

具体实施方式

该网络芯片模块级功能验证测试平台的建立方法大部分步骤采用perl语言来完成。

先根据被测模块的所有外部可访问的寄存器建立一个寄存器表格文件,该寄存器表格文件应该包括:寄存器的地址,读写类型,寄存器的数据位宽,寄存器的比特有效位和寄存器的初始值。该步骤是根据寄存器的定义由人工来完成。

用perl语言按行读取寄存器表格文件,根据寄存器名和初始值产生寄存器初始化模块和寄存器配置文件;

使用perl语言,按照硬件描述语言的语法,根据被测模块的各输入、输出端口产生被测模块的实例化;

使用perl语言,按照输入端口的不同类型给予不同的值,产生被测模块的激励产生模块。

建立被测模块的仿真参考模型,可使用perl语言,按照被测模块的输出端口产生结构比较模块,仿真参考模型根据激励产生模块和寄存器配置,经过信号处理,产生理论输出值。

根据芯片定义产生时钟和复位产生模块,可采用perl语言,按照固定的格式生成上述模块;

插入标准的CPU仿真模型,该仿真模型是一个标准模型,用来在仿真参考模型中模拟CPU的行为;

根据被测模块及其子模块产生用于计算验证代码覆盖率的所需文件列表,可采用perl语言,读取被测模块的所有子模块,并把读取的文件名写入所需文件列表中;

根据被测模块产生被测模块的仿真参考模型,并在仿真参考模型中加入结果比较模块,具体采用perl语言,按照不同的参数产生不同的激励向量文件,对应不同的测试向量;

将上述产生的模块连接成一个测试平台,其中把激励产生模块的输出与被测模块和仿真参考模型的输入相连接,时钟和复位产生模块与被测模块和仿真参考模型的时钟和复位信号相连接,寄存器初始化模块与被测模块和仿真参考模型的内部寄存器相连接,CPU仿真模型与被测模块的CPU相连接,被测模块输出连接到仿真参考模型中,这样就产生了一个完成的测试平台。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号