串行通信协议的测试向量的生成方法、系统及服务器
技术领域
本发明属于集成电路测试领域,特别是涉及串行通信协议测试向量的一种生成方法、系统及服务器。
背景技术
半导体产品的测试是通过在自动测试机(ATE)上运行测试程序来完成。绝大多数测试程序的一个重要组成部分是测试向量(Test Pattern)。测试向量主要分为内建自测试(BIST)向量、扫描链(Scan)测试向量、功能性测试向量以及基于串行通信总线协议的寄存器(Reg)配置向量。寄存器配置向量通过串行通信总线协议配置芯片寄存器从而使芯片进入某种特定功能模式来进行对应的测试。
在实际的工程应用中,针对需要寄存器配置向量的测试项。首先是设计工程师进行仿真,生成VCD(value change dump)格式的波形文件。设计工程师利用硬件描述语言(HDL)建立测试基准(Test Bench),根据实验室测试结果,依次配置各个寄存器,再通过第三方电子设计自动化软件(EDA)的仿真工具,进行波形仿真,一切无误后。将波形文件导出保存为VCD文件。其次,测试工程师拿到了VCD格式的波形文件,再通过第三方格式转换软件,将其转换为所使用自动测试机要求的向量格式,然后加入到测试程序里边去,在真实的待测器件(DUT)上去进行验证是否符合要求。一旦向量不能达到要求,或者测试条件需要调整,测试工程师和设计工程师就要沟通、重复上述的过程。一个真实的测试往往需要迭代上述过程若干次才能完成最终的调试。
上述过程是目前业界主流的生成串行通信协议配置向量的技术,适应性比较广。但是遇到比较复杂的测试,难免会多次迭代,效率低下,即增加了人工成本,又影响了产品最终上市的时间。
因此,如何提供一种串行通信协议的测试向量的生成方法、系统及服务器,以解决现有技术中通信协议配置向量技术在遇到复杂的测试时,测试需要多次迭代,造成效率低下,人工成本增加,影响产品上市时间等缺陷,实已成为本领域从业者亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种串行通信协议测试向量的生成方法、系统及服务器,用于解决现有技术中串行通信协议配置向量技术在遇到复杂的测试时,测试需要多次迭代,造成效率低下,人工成本增加,影响产品上市时间的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种串行通信协议的测试向量的生成方法,应用于测试机,所述串行通信协议的测试向量的生成方法包括以下步骤:分析所述串行通信协议协议的操作时序要求和时钟周期;根据所述串行通信协议的时序要求和时钟周期,提取与所述串行通信协议的操作时序要求对应的测试矢量,将提取到的测试矢量按所述时钟周期组成所述测试矢量的顺序集合,将提取到的所述测试矢量的顺序集合编辑为待测实体的时序模板;按照测试机的预设编辑格式,对所述待测实体的时序模板进行改写;将改写后的待测实体的时序模板按照所述测试机的固定向量格式,编辑所述串行通信协议的测试向量文件。
于本发明的一实施例中,所述串行通信协议的测试向量包括时钟信号、数据信号、数据输入信号、数据输出信号、片选信号、和/或模式信号。
于本发明的一实施例中,所述串行通信协议的测试向量还包括用于使所述待测实体一直保持不复位状态的复位信号;在向量的开始和结束阶段所有的信号保持空闲状态。
于本发明的一实施例中,所述串行通信协议的操作时序要求包括读取数据的操作时序要求和/或写入数据的操作时序要求;所述分析所述串行通信协议的操作时序要求的步骤包括分析所述串行通信协议的读取数据的操作时序要求和/或写入数据的操作时序要求。
于本发明的一实施例中,所述预设编辑格式的内容包括地址位和数据内容位;在所述按照预设编辑格式,对所述待测实体的时序模板进行改写的步骤中包括:将所述待测实体的时序模板中表示地址位和数据内容位的数据从一种进位制转换成为二进制;将转换成二进制的数据逐位赋值给预设编辑格式内容中测试向量对应的地址位和数据内容位;其中,地址位始终用0/1表示;数据内容位在设置阶段用0/1表示,在读写阶段用L/H表示。
于本发明的一实施例中,不同的串行通信协议上传输不同的串行通信协议,不同的串行通信协议具有不同的操作时序要求和时钟周期。
本发明另一方面提供一种串行通信协议的测试向量的生成系统,应用于测试机,所述串行通信协议的测试向量的生成系统包括:分析模块,用于分析所述通信信息信号的操作时序要求和时钟周期;提取模块,用于根据所述串行通信协议的时序要求和时钟周期,提取与所述串行通信协议的操作时序要求对应的测试矢量,将提取到的测试矢量按所述时钟周期组成所述测试矢量的顺序集合,将提取到的所述测试矢量的顺序集合编辑为待测实体的时序模板;改写模块,用于按照测试机的预设编辑格式,对所述待测实体的时序模板进行改写;编辑模块,用于将改写后的待测实体的时序模板按照所述测试机的固定向量格式,编辑所述串行通信协议的测试向量文件。
于本发明的一实施例中,所述串行通信协议的操作时序要求包括读取数据的操作时序要求和/或写入数据的操作时序要求;所述分析模块用于分析所述串行通信协议的读取数据的操作时序要求和/或写入数据的操作时序要求。
于本发明的一实施例中,所述预设编辑格式的内容包括地址位和数据内容位;所述改写模块还用于将所述测试机的时序模板中表示地址位和数据内容位的数据从一种进位制转换成为二进制;将转换成二进制的数据逐位赋值给预设编辑格式内容中测试向量对应的地址位和数据内容位;其中,地址位始终用0/1表示;数据内容位在设置阶段用0/1表示,在读写阶段用L/H表示。
本发明又一方面提供一种服务器,包括串行通信总线的测试向量的生成系统。
如上所述,本发明的串行通信协议的测试向量的生成方法、系统及服务器,具有以下有益效果:
本发明所述的串行通信协议的测试向量的生成方法、系统及服务器在提高效率的同时不产生额外的成本,完全回避了仿真、生成VCD文件、转换VCD等最耗费时间的中间过程。
附图说明
图1显示为本发明的串行通信协议的测试向量的生成方法于一实施例中的流程示意图。
图2显示为本发明的读取数据的操作时序要求和/或写入数据的操作时序要求的操作阶段示意图。
图3显示为本发明的完整的读一个寄存器的时序示意图。
图4显示为本发明的完整的写一个寄存器的时序示意图。
图5显示为本发明的测试机的时序模板于一实施中的模板示意图。
图6显示为本发明的改写后的测试机的电子表格示意图。
图7显示为本发明的测试向量文件于一实施例中的示意图。
图8显示为本发明的为串行通信协议的测试向量的生成方法于另一实施例中的流程示意图。
图9显示为本发明的串行通信协议的测试向量的生成系统于一实施例中的原理结构示意图。
图10显示为本发明的服务器于一实施例中的原理结构示意图。
元件标号说明
1 串行通信协议的测试向量的生成系统
11 分析模块
12 提取模块
13 改写模块
14 编辑模块
2 服务器
S1~S4 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所描述的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
本实施例提供一种串行通信协议的测试向量的生成方法,应用于测试机,所述串行通信协议的测试向量的生成方法包括以下步骤:
分析所述串行通信协议的操作时序要求和时钟周期;
根据所述串行通信协议的时序要求和时钟周期,提取与所述串行通信协议的操作时序要求对应的测试矢量,将提取到的测试矢量按所述时钟周期组成所述测试矢量的顺序集合,将提取到的所述测试矢量的顺序集合编辑为待测实体的时序模板;
按照所述测试机的预设编辑格式,对所述待测实体的时序模板进行改写;
将改写后的串行通信协议的时序模板按照所述测试机的的固定向量格式,生成所述串行通信协议的测试向量文件。
以下将根据本实施例所述的串行通信协议的测试向量的生成方法进行详细说明。本实施例提供一个基于串行外设接口(SPI,Serial Peripheral Interface)来进行寄存器(本实施例中的待测实体DUT)配置且经过验证的实施例,也就是说,本实施例是针对SPI通信协议的。
请参阅图1,显示为串行通信协议的测试向量的生成方法于一实施例中的流程示意图。如图1所示,所述串行通信协议的测试向量的生成方法具体包括以下几个步骤:
S1,分析所述串行通信协议的操作时序要求和时钟周期所述串行通信协议的测试向量包括时钟信号、数据信号、数据输入信号、数据输出信号、、片选信号、和/或模式信号。本实施例中SPI通信协议中包括的所有信号,例如,片选信号CSN,时钟信号CLK,数据输入信号MOSI,数据输出信号MISO;为了保持待测实体DUT状态,使所述待测实体件DUT一直保持不复位,所述测试向量还包括用于使所述待测实体一直保持不复位状态的复位信号RESET。在本实施例中,在生成测试向量的开始阶段和结束阶段需将片选信号CSN、时钟信号CLK、数据输入信号MOSI、数据输出信号MISO保持空闲状态,复位信号RESET一直保持为1以保持芯片状态。
本实施例中,分析所述SPI通信协议的操作时序要求包括分析所述SPI通信协议的读取数据的操作时序要求和/或写入数据的操作时序要求。请参阅图2,显示为读取数据的操作时序要求和/或写入数据的操作时序要求的操作阶段示意图。如图2所示,所述读取数据的操作时序要求分为4个操作阶段,依次为指令、地址、等待、接收数据。每一操作阶段占8比特位。所述写入数据的操作时序要求也分为4个操作阶段,依次为指令、地址、发送数据、等待,每一操作阶段占8比特位。继续参阅图3和图4,显示为完整的读一个寄存器的时序示意图和完整的写一个寄存器的时序示意图。如图3和图4所示,在时钟上升沿时采集数据,在时钟下降沿时传输数据。
在本发明中,不同的串行通信协议上传输不同的串行通信协议,不同的串行通信协议具有不同的操作时序要求和时钟周期。
S2,根据所述SPI通信协议的时序要求和时钟周期,提取与所述SPI通信协议的操作时序要求对应的测试矢量,将提取到的测试矢量按所述时钟周期组成所述测试矢量的顺序集合,将提取到的所述测试矢量的顺序集合编辑为所述待测实体的时序模板。在本实施例中,在保持数据线、时钟线相对关系的同时,使得时钟信号对应的周期与所述SPI通信协议的周期保持一致。在本实施例中,为保持测试向量运行结果保持稳定,均衡之下,选择四行矢量代表一个时钟周期,两行上升,两行下降,每一行对应测试机的一个系统周期,例如设置为200ns,从而最终的时钟频率为1.25MHz。请参阅图5,显示为测试机的时序模板于一实施中的模板示意图。如图5所示,本实施例中的测试向量是先设置寄存器,然后再读取验证是否正确写入。从图5可看出,本实施例中,SPI通信协议的每个组成信号组成初步编辑的测试向量中的列,即5列,依次为复位信号RESET、时钟信号CLK、片选信号CSN、数据输入信号MOSI,数据输出信号MISO,每个组成信号的4行矢量代表一个时钟周期。
S3,按照所述测试机的预设编辑格式,对所述待测实体的时序模板进行改写。在本实施例中,所述预设编辑格式为EXCEL电子表格。所述步骤S3包括以下两个步骤:
将所述待测实体的时序模板中表示地址位和数据内容位的数据从一种进位制转换成为二进制;
将转换成二进制的数据逐位的赋值给预设编辑格式内容中相应的地址位和数据内容位;
其中,地址位始终用0/1表示;数据内容位在设置阶段用0/1表示,在读写阶段用L/H表示。
具体表现在本实施例中,请参阅图6,显示为改写后的测试机的电子表格示意图。如图6所示,在所述EXCEL电子表格的地址位和数据内容位输入时序模板中数据进制为十六进制的数据内容,利用其函数特性,或改写脚本,将十六进制的数据内容转换为二进制的数据内容的每一位分别赋值给所述测试向量对应的地址位和数据内容位。
S4,将改写后的串行通信协议的时序模板按照串行通信协议所述测试机要求的固定向量格式,生成所述串行通信协议的测试向量文件。在本实施例中,将步骤S3中改写后的SPI通信总线的时序模板,按照所述测试机(于本实施例选择测试机为V50),即测试机V50中的固定向量格式,生成所述SPI通信总线的测试向量文件。请参阅图7,显示为测试向量文件于一实施例中的示意图。如图7所示,测试机V50的自动测试机固定向量格式要求测试向量中用‘@@’符号标识测试向量的开始和结束,在真实的矢量的第一行和最后一行加上START和END,每一行用‘;’标识结束。
请参阅图8,显示为串行通信协议的测试向量的生成方法于另一实施例中的流程示意图。如图8所示,所述串行通信协议的测试向量的生成方法还包括在实际的调试中,一旦待测实体,例如本实例中的寄存器的设置需要修改,直接重复步骤S3和S4,也就是说在对应的地址位和数据内容位写入需要修改的数据,然后再按照测试机的固定向量格式生成测试向量文件。
本实施例所述的串行通信协议的测试向量的生成方法不局限于仅针对SPI接口,还可针对其他串行接口协议的配置向量。例如针对I2C接口(I2C总线协议),生成I2C总线协议的配置向量。
本实施例所述的串行通信总线的测试向量的生成方法采用通用的工具软件,在提高效率的同时不产生额外的成本,完全回避了仿真、生成VCD文件、转换VCD等最耗费时间的中间过程。
实施例二
本实施例提供一种串行通信协议的测试向量的生成系统1,在本实施例中,所述通信协议为SPI通信协议,因此,本实施例提供一个基于串行外设接口(SPI,SerialPeripheral Interface)来进行寄存器(待测实体DUT)配置且经过验证的实施例,也就是说,本实施例是针对SPI通信协议的。
请参阅图9,显示为串行通信协议的测试向量的生成系统于一实施例中的原理结构示意图。如图9所示,所述串行通信协议的测试向量的生成系统1包括:分析模块11、提取模块12、改写模块13、及编辑模块14。
所述SPI通信协议的测试向量包括片选信号CSN、时钟信号CLK、数据输入信号MOSI、数据输出信号MISO、为了保持待测实体DUT状态,使所述待测实体件DUT一直保持不复位的复位信号RESET。
与所述检测模块11连接的分析模块12用于分析所述SPI通信协议的操作时序要求和时钟周期。所述分析模块12分析所述SPI通信通信的操作时序要求包括分析所述SPI通信通信的读取数据的操作时序要求和/或写入数据的操作时序要求。
与所述分析模块11连接的提取模块12用于根据所述SPI通信通信的时序要求和时钟周期,提取与所述SPI通信通信的操作时序要求对应的测试矢量,将提取到的测试矢量按所述时钟周期组成所述测试矢量的顺序集合,将提取到的所述测试矢量的顺序集合编辑为所述待测实体DUT的时序模板。
与所述提取模块12连接的改写模块13用于按照所述测试机的预设编辑格式,对所述待测实体DUT的时序模板进行改写。在本实施例中,所述预设编辑格式为EXCEL电子表格。在本实施例中,所述改写模块具体用于将所述待测实体DUT的时序模板中表示地址位和数据内容位的数据从一种进位制转换成为符合所述预设编辑格式内容的二进制;将转换成二进制的数据逐位赋值给预设编辑格式内容中相应的地址位和数据内容位。
与所述改写模块13连接的编辑模块14用于将改写后的串行通信协议的时序模板按照所述测试机的固定向量格式,生成所述串行通信协议的测试向量文件。在本实施例中,将所述改写模块13中改写后的SPI通信协议的时序模板,按照所述测试机(于本实施例选择测试机为V50),即测试机V50中的SPI通信总线的固定向量格式,生成所述SPI通信协议的测试向量文件。
本实施例还提供一种服务器2,请参阅图10,显示为服务器于一实施例中的原理结构示意图。如图10所示,所述服务器2包括上述串行通信协议的测试向量的生成系统1。该服务器具有生成标准串行通信协议测试向量的能力。
本发明所述的串行通信协议的测试向量的生成方法采用通用的工具软件,简单实用,在提高效率的同时不产生额外的成本,完全回避了仿真、生成VCD文件、转换VCD等最耗费时间的中间过程。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。