本发明属于芯片测试,具体涉及一种面向对象的芯片开发及测试方法及对应的架构。
背景技术:
1、芯片开发与芯片测试是由不同团队来完成的,在芯片开发过程中,芯片开发团队根据芯片设计手册设计验证芯片功能,并撰写芯片使用手册,在芯片流片之后芯片测试团队会根据芯片使用手册开发测试环境,测试环境开发的质量好坏直接取决于芯片使用手册书写的准确度与详细程度,故而在芯片测试初期,经常需要芯片开发人员一起参与调试测试环境的正确性,然后才能进入芯片测试的正常环节,并且在测试环节也需要不断补充缺失的功能驱动配置。如图1所示的传统芯片测试流程的弊端在于,芯片测试的大量时间被用来调试测试环境的正确性与完备性,严重推迟了芯片推向市场的时间。
2、因此,针对上述技术问题,有必要提供一种新型的芯片开发及测试方法及架构。
3、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种面向对象的芯片开发及测试方法及对应的架构,其能避免测试环境底层驱动的不准确以及不完备导致测试环境开发与芯片测试之间的反复迭代,节省芯片测试时间。
2、为了实现上述目的,本发明一具体实施例提供的技术方案如下:
3、一种面向对象的芯片开发及测试方法,所述方法包括:
4、在芯片开发阶段,
5、基于芯片设计文档提取芯片系统参数;
6、基于芯片系统参数构建面向对象的配置文件;
7、基于面向对象的配置文件开发底层驱动,并基于面向对象的配置文件开发面向对象的测试用例;
8、在芯片测试阶段,
9、基于面向对象的测试用例和底层驱动构建测试环境并进行芯片测试。
10、在本发明的一个或多个实施例中,所述方法还包括:
11、在芯片开发阶段,
12、搭建仿真环境;
13、通过直接编程接口解析面向对象的测试用例以调用底层驱动;
14、对面向对象的测试用例和底层驱动进行验证。
15、在本发明的一个或多个实施例中,所述面向对象的配置文件包括json配置文件、yaml配置文件或xml配置文件。
16、在本发明的一个或多个实施例中,所述底层驱动包括:基于python的底层驱动或基于c语言的底层驱动。
17、在本发明的一个或多个实施例中,所述面向对象的测试用例包括软件环境配置参数、芯片系统参数和芯片子功能配置参数。
18、在本发明的一个或多个实施例中,所述底层驱动包括软件环境函数层、芯片系统函数层和芯片子功能函数层。
19、在本发明的一个或多个实施例中,所述面向对象的测试用例包括软件环境配置参数、芯片系统参数和芯片子功能配置参数,所述底层驱动包括软件环境函数层、芯片系统函数层和芯片子功能函数层;
20、所述基于面向对象的测试用例和底层驱动构建测试环境并进行芯片测试包括:基于软件环境配置参数调用底层驱动的软件环境函数层以构建测试环境;
21、基于芯片系统参数配置底层驱动的芯片系统函数层以配置待测试芯片的芯片系统;
22、基于芯片子功能配置参数调用底层驱动的芯片子功能函数层以获得待测芯片的子功能测试结果。
23、本发明还提供一种面向对象的芯片开发及测试架构,基于任一项实施例所述的面向对象的芯片开发及测试方法,所述架构包括测试用例层和底层驱动层,所述测试用例层用于提供多个面向对象的测试用例,所述底层驱动层用于基于面向对象的测试用例调用底层驱动函数以配置芯片功能的配置参数并启动芯片功能测试。
24、在本发明的一个或多个实施例中,所述底层驱动层包括软件环境函数层、芯片系统函数层和芯片子功能函数层;
25、所述软件环境函数层用于基于面向对象的测试用例对应的软件环境配置参数调用软件环境;所述芯片系统函数层用于基于面向对象的测试用例对应的芯片系统参数配置待测试芯片的芯片系统;所述芯片子功能函数层用于基于面向对象的测试用例对应的芯片子功能配置参数调用待测试芯片的子功能,以获得芯片子功能测试信号和芯片子功能测试状态。
26、在本发明的一个或多个实施例中,所述底层驱动层还包括软硬件接口单元、适配单元和调试单元;
27、所述软硬件接口单元用于连接测试设备以传输测试数据,所述适配单元用于处理和转换测试数据,所述调试单元与芯片子功能函数层相连,所述调试单元用于基于芯片子功能测试信号和芯片子功能测试状态获得测试结果。
28、与现有技术相比,本发明的一种面向对象的芯片开发及测试方法及对应的架构,通过在芯片开发阶段基于配置文件开发可复用的底层驱动和测试用例,保证验证了底层驱动的正确性和测试用例的完备性,省去芯片测试人员重复验证组成测试环境的底层驱动与测试用例正确性环节,直接进入芯片测试环节,可以避免因测试环境底层驱动或测试用例的不准确不完备导致测试环境开发与芯片测试之间的反复迭代,大大节省芯片测试时间。本发明实现了底层驱动的可复用性,基于不同的测试用例调用底层驱动的函数即可满足测试过程中不同场景下的测试需求,避免了为满足不同客户的测试需求多次开发底层驱动,提高了测试效率;基于配置文件进行开发芯片底层驱动,提升了芯片配置的封装性和可重用性,更有利于后续芯片测试环境软件的升级和版本管理。
1.一种面向对象的芯片开发及测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述面向对象的配置文件包括json配置文件、yaml配置文件或xml配置文件。
4.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述底层驱动包括:基于python的底层驱动或基于c语言的底层驱动。
5.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述面向对象的测试用例包括软件环境配置参数、芯片系统参数和芯片子功能配置参数。
6.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述底层驱动包括软件环境函数层、芯片系统函数层和芯片子功能函数层。
7.根据权利要求1所述的面向对象的芯片开发及测试方法,其特征在于,所述面向对象的测试用例包括软件环境配置参数、芯片系统参数和芯片子功能配置参数,所述底层驱动包括软件环境函数层、芯片系统函数层和芯片子功能函数层;
8.一种面向对象的芯片开发及测试架构,基于权利要求1~7中任一项所述的面向对象的芯片开发及测试方法,其特征在于,所述架构包括测试用例层和底层驱动层,所述测试用例层用于提供多个面向对象的测试用例,所述底层驱动层用于基于面向对象的测试用例调用底层驱动函数以配置芯片功能的配置参数并启动芯片功能测试。
9.根据权利要求8所述的面向对象的芯片开发及测试架构,其特征在于,所述底层驱动层包括软件环境函数层、芯片系统函数层和芯片子功能函数层;
10.根据权利要求9所述的面向对象的芯片开发及测试架构,其特征在于,所述底层驱动层还包括软硬件接口单元、适配单元和调试单元;