可生成不同格式测试激励文件的共享平台和方法与流程

文档序号:35865601发布日期:2023-10-26 23:37阅读:30来源:国知局
可生成不同格式测试激励文件的共享平台和方法与流程

本发明属于芯片测试领域,具体涉及一种可生成不同格式测试激励文件的共享平台和方法。


背景技术:

1、随着集成电路技术的不断发展和规模的不断扩大,芯片的验证和测试占有越来越重要的地位。pattern(测试激励文件),本质就是芯片的真值表,其包含的主要内容就是输入时序与期望时序的符号组合,也包含了用于实现某些复杂功能的微指令。

2、ate(automatic test equipment)是自动测试设备,在芯片测试过程中,向被测试芯片的输入管脚发送pattern行向量的输入时序,比较被测试芯片的输出管脚的输出时序与该pattern(测试激励文件)行向量的期望时序,根据比较结果确定此测试芯片是否满足要求。

3、vcd(value change dump)文件格式为一种通用波形文件格式,是ieee1364标准(verilog hdl硬件描述语言标准,p325)中定义的一种ascii(american standard codefor information interchange,美国信息交换标准码)文件,是一个通用芯片设计仿真文件,现阶段pattern通常都是由vcd转换成的。

4、芯片验证所需的测试程序由芯片厂商开发并独立于ft测试;ft测试所需的测试程序要么由封装测试厂根据芯片厂商提供的操作手册重新进行二次开发,要么由封装测试厂通过通用的转换软件或者自编的转换软件将基于业界标准格式的验证波形文件转换得到,这种通过重复开发或者解释波形文件的转化方式,不仅开发效率低,而且测试程序的可维护性和可复用性低。


技术实现思路

1、本发明的目的在于提供可生成不同格式测试激励文件的共享平台和方法,不需要通过重复开发或者解释波形文件的转化方式得到不同格式的测试程序,简化了开发过程,也提升了测试程序的可复用性。

2、本发明可生成不同格式测试激励文件的方法,包括如下步骤:

3、步骤1、基于编译型编程语言开发api函数库及将api函数库编译成一个共享库;

4、在芯片硬件开发阶段并行开发api函数,抽象芯片的功能测试点,然后对测试功能进行细化,并细化至芯片寄存器的读写功能,明确api函数间的交互接口方式和层次关系,规定api函数的输入或输出参数和部分功能模块的仿真模型;自底向上采用编译型编程语言编写api函数,被调用的api函数会提供寄存器地址和数据列表两个接口参数,以便上一层函数通过这两个接口参数来调用它;将api函数集成在sdk环境中并对其进行仿真验证,确保测试程序的正确性;将验证成功的api函数按功能分布在多个文件中,然后封装成api函数库;将这些文件编译成一个共享库,以方便虚拟平台调用;

5、步骤2、编写配置文件;

6、编写配置文件,该配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数;

7、步骤3、采用解释型编程语言生成测试激励文件;

8、步骤3.1、基于解释型编程语言搭建一个虚拟平台,将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;

9、通过configuration reader模块读取cfg格式的配置文件,然后输出三个参数给generator模块,该三个参数分别为芯片管脚列表、硬件通信接口参数和测试环境参数;

10、通过transaction descriptor模块的顶层函数run_test()来调用共享库中的api函数来构建芯片的行为级模型,将transaction descriptor模块的底层函数mailbox_send(address, data)和mailbox_recieve(address, data)映射到generator模块的硬件驱动函数,从而实现具体的接口通信;

11、generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数来选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数来确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将transactiondescriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数;

12、所述顶层和底层函数由解释型编程语言编写而成;

13、步骤3.2、运行run_gen()生成测试激励文件并输出;

14、测试激励文件的格式由generator模块读取测试环境参数来确定,当选择ate测试环境时,输出格式为ate可识别的pat格式文件,当选择verilog测试环境时,输出格式为verilog hdl格式文件,当选择sdk测试环境时,输出格式为cfg格式文件。

15、进行sdk开发测试调试代码时,设定每个api函数的返回值为一个boolean类型的数值,一旦函数正确地执行,则返回true,而一旦执行错误,则返回false。

16、本发明可生成不同格式测试激励文件的共享平台,包括方便让虚拟平台调用的共享库和基于解释型编程语言提供的虚拟平台,该虚拟平台由configuration reader模块、transaction descriptor模块和generator模块构建,用于将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;

17、所述方便让虚拟平台调用的共享库,由基于编译型编程语言开发的api函数库编译而成;所述api数据库由所有执行成功的按功能分布在多个文件中的api函数封装而成,所述的api函数在芯片硬件开发阶段并行开发,抽象芯片的功能测试点,然后对测试功能进行细化,并细化至芯片寄存器的读写功能,明确api函数间的交互接口方式和层次关系,规定api函数的输入或输出参数和部分功能模块的仿真模型;然后自底向上采用编译型编程语言编写api函数,被调用的api函数会提供寄存器地址和数据列表两个接口参数,以便上一层函数通过这两个接口参数来调用它;将api函数集成在sdk环境中并对其进行仿真验证,通过sdk开发测试确保测试程序的正确性,得到验证成功的api函数;

18、所述configuration reader模块,用于读取cfg格式的配置文件,然后输出三个参数给generator模块,该三个参数分别为芯片管脚列表、硬件通信接口参数和测试环境参数;所述配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数;

19、所述transaction descriptor模块,用于通过其顶层函数run_test()调用共享库中的api函数来构建芯片的行为级模型,并通过其底层函数mailbox_send(address, data)和mailbox_recieve(address, data)映射到generator模块的硬件驱动函数,从而实现具体的接口通信;

20、该generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将transaction descriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数;运行run_gen()生成测试激励文件并输出;

21、所述顶层和底层函数由解释型编程语言编写而成;

22、所述测试激励文件的格式由generator模块读取测试环境参数来确定,当选择ate测试环境时,输出格式为ate可识别的pat格式文件,当选择verilog测试环境时,输出格式为verilog hdl格式文件,当选择sdk测试环境时,输出格式为cfg格式文件。

23、一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一种可生成不同格式测试激励文件的方法的处理步骤。

24、一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据上述任一种可生成不同格式测试激励文件的方法的处理步骤。

25、本发明通过将编译型编程语言和解释型编程语言相结合开发跨平台的软件开发架构,该跨平台的软件开发架构允许芯片厂商开发抽象等级更好的测试程序,可以模块化设计,并对测试程序进行库封装,不但提高了效率,也提升了测试程序的可维护性和可复用性;也允许芯片厂商根据测试环境编写不一样的硬件驱动程序,同时还可以直接调用抽象等级更高的测试程序,最终转化为ate可识别或者验证平台可识别的程序,简化了开发过程,也提升了测试程序的可复用性。

26、采用本发明的技术方案,芯片厂商应用工程师可以直接使用抽象等级更高的测试程序,将这些测试程序封装在sdk中,然后进行应用的开发和芯片回厂的功能测试,实现测试程序的第一次复用;芯片厂商芯片验证工程师可以直接使用抽象等级更高的测试程序做功能测试,也可以通过系统函数来调用更底层的pattern,然后做功能测试,这样就可以实现测试程序的第二次复用;封装测试厂测试工程师可以指定ate的测试环境来生成不同的pattern,从而实现测试程序的第三次复用;由于可以根据不同功能生成不同的pattern,消除了需要大容量存储空间来一次性存储各种格式测试文件的弊端。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1