芯片ATE测试中的WGL文件处理方法及应用与流程

文档序号:29461507发布日期:2022-04-02 01:36阅读:2271来源:国知局
芯片ATE测试中的WGL文件处理方法及应用与流程
芯片ate测试中的wgl文件处理方法及应用
技术领域
1.本发明涉及芯片开发技术领域,尤其涉及一种芯片ate测试中的wgl文件处理方法及应用。


背景技术:

2.ate(automatic test equipment,自动测试设备)包括可操作在集成电路(ic)芯片上执行高速测试的装置,可以核查存储器、逻辑和其他ic器件在其开发、加工、制造和生成过程中以及在其开发、加工、制造和生成过程之后能正常运转。具体的,ate运用芯片设计仿真文件,将其作为芯片输入激励,通过ate测试平台提供芯片测试环境,将芯片的输出和测试结果进行比较,以此来判定芯片的好坏。
3.在芯片领域,芯片量产之前,必须通过ate测试向量(ate pattern)进行自动化芯片测试和筛选。在芯片设计过程中,仿真文件一般是由eda(electronic design automation,电子设计自动化)仿真工具产生,由于eda仿真工具生成的仿真文件一般不能直接为ate所用,需要转换才能成为ate所能识别的测试文件。目前,通常是由芯片eda验证人员提供用于ate测试的vcd(value change dump)波形文件,ate测试人员获取vcd波形文件后,将其转成wgl(waveform generation language,波形生成语言)文件,再将wgl文件转成ate pattern。其中,vcd波形文件是一种基于ascii码的文件格式,用于记录由eda仿真工具产生的信号信息,vcd波形文件是现阶段测试程序开发过程中最广泛使用的仿真文件,它以零时刻为起点,时间为横轴,主要包含0、1、x、z等电平信号的事件集合。每个信号在下一次状态发生跳变之前,一直保持上一状态,内部包含了丰富的时序信息。wgl文件则主要描述测试所需要用到的输入输出(io)管脚信号名,以及测试过程的信息。wgl是一种数据描述性语言,描述扫描结构和状态,以及测试图形部分的时序和数值,wgl语法能够支持器件内的硬件扫描结构和测试程序的生成,允许变量定义和内嵌方程表达式,可以使用二进制格式替换ascii码的图形数据表示。wgl的主体语法结构包括波形块、定时块、信号块、子例程块和扫描链块等。
4.对于vcd波形文件到wgl文件的转换,以及wgl文件到ate pattern的转换,目前通常是通过转换脚本或购买的转换软件进行转换。然而,由于vcd文件转换后难以比对,vcd文件包含了每个管脚的全部信息,必须使用固定的周期使之周期化,在对每个周期确定时序格式时,可能会有某些时序信息的遗漏,如此转换后的信号将会跟原始的信号不同,使得转换后的wgl文件出现错误。由于转换后的wgl文件错误,使得wgl文件转换得到的ate pattern中也包含错误,导致ate测试结果会认为是芯片逻辑功能出现问题,产生芯片不合格的误判。上述情况属于芯片实际合格,但由于wgl文件转换存在问题导致ate机台误筛,认为芯片不合格,导致芯片不良率增加(良率降低),延误了芯片量产。
5.针对上述情况,当前往往需要排查eda验证信息和ate测试信息,以判断芯片是真的不合格,还是eda文件转换成ate pattern时出现问题导致的ate机台误筛。但目前上述工作往往由测试人员人工侦错和排查,对于集成度高且功能复杂的芯片,其测试数据庞大,花
费了测试人员大量时间。同时,依赖于人工排查也会导致排查速度和效率低,影响整个芯片开发周期。


技术实现要素:

6.本发明的目的在于:克服现有技术的不足,提供了一种芯片ate测试中的wgl文件处理方法及应用。本发明通过将wgl文件为仿真testbench文件和可综合testbench文件,并基于生成的仿真testbench和可综合testbench对待测芯片(dut)进行仿真以验证wgl文件的正确性,从而能够对不正确的wgl文件进行筛查,确保提供给ate测试端的wgl文件的正确性,能够提前排除因wgl文件转换错误而导致的芯片ate测试结果不符合实际,降低了ate测试的误判率,进而可以缩短芯片的整个开发周期。
7.为实现上述目标,本发明提供了如下技术方案:
8.一种芯片ate测试中的wgl文件处理方法,包括如下步骤:
9.获取待验证的波形生成语言wgl文件;
10.通过脚本将前述wgl文件转成基于verilog语言的仿真testbench文件和基于可综合verilog语言的可综合testbench文件,所述可综合testbench文件能够综合成网表;
11.通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io激励,并获取待测芯片的响应输出信息;
12.将前述响应输出信息与预设的标准输出数据进行比对以验证前述wgl文件的正确性。
13.进一步,当前述响应输出信息与预设的标准输出数据比对一致时,判定前述wgl文件验证通过,触发将所述wgl文件转换为ate机台文件,所述ate机台文件包括测试向量ate pattern信息和时序信息。
14.进一步,当前述响应输出信息与预设的标准输出数据比对不一致时,判定前述wgl文件验证失败,通过用户图形界面gui输出wgl文件错误的提醒信息。
15.进一步,所述脚本为python脚本。
16.进一步,对前述可综合testbench文件的综合网表进行功能验证,包括如下步骤,
17.对综合网表进行插入逻辑测试和布局布线处理以得到pr网表,将pr网表转换为bitfile文件后,将bitfile文件烧写到fpga子板上;
18.上电复位启动后,通过fpga子板将io激励信息通过插槽发送给socket底板上的芯片,并通过fpga子板获取前述芯片输出的实际返回值;
19.fpga子板将获取的前述实际返回值与预设的理想返回值进行比对以验证可综合testbench文件的正确性。
20.进一步,当实际返回值与理想返回值一致时,可综合testbench文件验证测试通过,触发fpga子板上提示灯点亮,否则判定验证测试结果为失败。
21.进一步,所述可综合testbench文件启动后,通过计数器将io激励的每个周期值发送至待测芯片。
22.本发明还提供了一种芯片ate测试中的wgl文件处理装置,包括如下结构:
23.接收单元,用于获取待验证的波形生成语言wgl文件;
24.文件转换单元,用于通过前述转换脚本将前述wgl文件转成基于verilog语言的仿真testbench文件和基于可综合verilog语言的可综合testbench文件,所述可综合testbench文件能够综合成网表;
25.文件验证单元,用于通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io激励,并获取待测芯片的响应输出信息,并将前述响应输出信息与预设的标准输出数据进行比对以验证前述wgl文件的正确性。
26.进一步,还包括网表验证单元,用于对前述可综合testbench文件的综合网表进行功能验证;所述网表验证单元被配置为:对综合网表进行插入逻辑测试和布局布线处理以得到pr网表,将pr网表转换为bitfile文件后,将bitfile文件烧写到fpga子板上;
27.所述fpga子板被配置为,在上电复位启动后,将io激励信息通过插槽发送给socket底板上的芯片,并获取前述芯片输出的实际返回值;以及,将获取的前述实际返回值与预设的理想返回值进行比对以验证可综合testbench文件的正确性。
28.本发明还提供了一种芯片ate测试方法,包括如下步骤:
29.获取eda验证端提供的用于ate测试的vcd波形文件;
30.对前述vcd波形文件进行转换以生成wgl文件后,通过脚本将前述wgl文件转成基于verilog语言的仿真testbench文件和基于可综合verilog语言的可综合testbench文件,所述可综合testbench文件能够综合成网表;通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io激励,并获取待测芯片的响应输出信息;将前述响应输出信息与预设的标准输出数据进行比对;
31.比对一致时,将前述wgl文件转换成ate机台文件后,输入到ate测试端进行功能测试。
32.本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:通过将wgl文件为仿真testbench文件和可综合testbench文件,并基于生成的仿真testbench和可综合testbench对待测芯片(dut)进行仿真以验证wgl文件的正确性,从而能够对不正确的wgl文件进行筛查,确保提供给ate测试端的wgl文件的正确性,能够提前排除因wgl文件转换错误而导致的芯片ate测试结果不符合实际,降低了ate测试的误判率,进而可以缩短芯片的整个开发周期。同时,简化了流程,有wgl文件的仿真结果做保证,芯片设计公司可以根据需要向客户直接提供wgl文件。
附图说明
33.图1为本发明实施例提供的芯片ate测试中的wgl文件处理方法的流程图。
34.图2为本发明实施例提供的基于仿真testbench和可综合testbench对芯片dut进行仿真的信息处理示意图。
35.图3为本发明实施例提供的通过fpga验证可综合testbench的信息处理示意图。
具体实施方式
36.以下结合附图和具体实施例对本发明公开的芯片ate测试中的wgl文件处理方法
及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
37.需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
38.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
39.实施例
40.参见图1所示,为本发明提供的一种芯片ate测试中的wgl文件处理方法,所述方法包括如下步骤。
41.s100,获取待验证的波形生成语言wgl文件(waveform generation language)。
42.wgl文件主要描述测试所需要用到的输入输出(io)管脚信号名,以及测试过程的信息。wgl的主体语法结构包括波形块、定时块、信号块、子例程块和扫描链块等。
43.待验证的wgl文件可以由eda验证人员提供的(e)vcd文件转换而来。vcd文件和evcd文件都是一种基于ascii码的文件格式,用于记录由eda仿真工具产生的信号信息,它们之间的格式基本一致,两者的主要区别是evcd文件带有管脚类型的信息,即标记该管脚是输入管脚或输出管脚,而vcd文件则不带有此管脚类型信息。具体实施时,可以通过专用的转换软件或转换脚本进行vcd文件到wgl文件的转换,属于现有技术,在此不再赘述。
44.s200,通过脚本将前述wgl文件转成基于verilog语言的仿真testbench文件(即,仿真激励文件)和基于可综合verilog语言的可综合testbench文件(即,可综合真激励文件),所述可综合testbench文件能够综合成网表。
45.testbench文件用来仿真模型的功能或时序是否满足设计需求,testbench文件的内容通常可以包括:根据待测模型定义接口类型、初始化输入接口信号、模型例化、波形保存、数据的导入和保存等。
46.本实施例中,所述仿真testbench文件基于verilog语言编写,仿真testbench不可综合,其作为eda仿真的激励文件,用于在计算机主机上的仿真器中执行。
47.所述可综合testbench文件基于可综合verilog语言编写,特点是可以综合成网表,在fpga验证平台上将综合网表布局布线后可以生成bitfile(比特流文件),生成的bitfile下载到fpga上运行。
48.s300,通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io(即i/o,input/output)激
励,并获取待测芯片的响应输出信息。
49.参见图2所述,在生成仿真testbench文件和可综合testbench文件后,仿真testbench向可综合testbench发送启动命令。可综合testbench收到启动命令后就可以启动运行(run)了;可综合testbench不断向芯片dut(即,待测芯片,dut为design under testbench的简写)发送io激励,并获取芯片dut的响应输出信息。
50.s400,将前述响应输出信息与预设的标准输出数据进行比对以验证前述wgl文件的正确性。
51.当前述响应输出信息与预设的标准输出数据比对一致时,判定前述wgl文件验证通过,触发将所述wgl文件转换为ate机台文件,所述ate机台文件包括测试向量ate pattern(测试向量)信息和时序信息(timing)。
52.当前述响应输出信息与预设的标准输出数据比对不一致时,判定前述wgl文件验证失败,可以通过用户图形界面gui输出wgl文件错误的提醒信息。
53.本实施例中,所述脚本优选为python脚本。
54.作为举例而非限制,比如待验证的wgl文件的部分内容如下:
[0055][0056]
其中,在[1x-x-x0x10x0x0x1-x11-x0x0x0x0x0x0x0x1x-x-xx]数组中,“x”代表不关心(cate),
“‑”
代表no。
[0057]
通过python脚本转换后,生成的可综合verilog文件的内容如下:
[0058]
[0059][0060]
所述可综合testbench文件启动后,通过计数器(counter)将io端口的每个周期(cycle)值发出去。
[0061]
本实施例的另一实施方式中,自动生成的可综合testbench文件还支持上fpga(field-programmable gate array,现场可编程门阵列)验证,可以对前述可综合testbench文件的综合网表进行功能验证:因为对网表的仿真比对rtl的仿真更加接近真实芯片的行为。
[0062]
具体的,参见图3所示,包括如下步骤:对综合网表进行插入逻辑测试(design for testability,dft)和布局布线处理以得到pr网表,所述pr网表是在dft网表基础上完成布局布线(placement routing)后的网表,其功能和时序最为接近物理芯片;将pr网表转换为bitfile文件后,将bitfile文件烧写到fpga子板上;上电复位启动后,通过fpga子板将io激
励信息通过插槽发送给socket底板上的芯片,并通过fpga子板获取前述芯片输出的实际返回值;fpga子板将获取的前述实际返回值与预设的理想返回值进行比对以验证可综合testbench文件的正确性。此时,当实际返回值与理想返回值一致时,可综合testbench文件验证测试通过,此时,可以触发fpga子板上提示灯点亮,否则判定验证测试结果为失败。
[0063]
作为典型方式的举例,可以将可综合testbench文件的综合网表通过fpga综合工具synplify和pr工具vivado进行处理,产生二进制的bitfile,然后将bitfile文件烧写到fpga子板(fpga芯片板)内。等待上电复位启动后,fpga子板开始将io激励信息通过插槽发送给socket底板上的待测芯片(芯片dut),芯片最后会输出返回值,称为实际返回值。fpga子板接收到返回值开始进行数据比对,当实际返回值与理想返回值一致时,判定测试结果通过(pass),fpga板上的led提示灯点亮,否则测试结果失败(fail)。
[0064]
采用socket板的好处是可以随时取放芯片,达到了构建小型自动化测试平台的目的。当ate测试有大量芯片被筛选为不合格时,可以将自动生成的可综合verilog进行处理后生成bitfile文件并烧写到fpga板上测试芯片。
[0065]
可选的,所述fpga板上设置有绿灯和红灯两种提示灯,测试结果通过时,触发绿灯亮;测试结果为失败时,触发红灯亮。当然,上述提示方式作为优选而非限制,比如本领域技术人员也可以根据需要选择其它基于声音和/或光照的提示结构来表示测试结果,例如蜂鸣器,如果测试结果成功,则蜂鸣器不鸣叫,如果测试结果失败,则蜂鸣器鸣叫。如此,可以及时地同时测试人员测试结果。
[0066]
本发明的另一实施例,还提供了一种芯片ate测试中的wgl文件处理装置。
[0067]
所述装置包括接收单元,文件转换单元和文件验证单元。
[0068]
所述接收单元,用于获取待验证的波形生成语言wgl文件。
[0069]
所述文件转换单元,用于通过前述转换脚本将前述wgl文件转成基于verilog语言的仿真testbench文件和基于可综合verilog语言的可综合testbench文件,所述可综合testbench文件能够综合成网表。
[0070]
所述文件验证单元,用于通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io激励,并获取待测芯片的响应输出信息,并将前述响应输出信息与预设的标准输出数据进行比对以验证前述wgl文件的正确性。
[0071]
另一方面,所述装置还可以包括网表验证单元,用于对前述可综合testbench文件的综合网表进行功能验证;所述网表验证单元被配置为:对综合网表进行插入逻辑测试和布局布线处理以得到pr网表,将pr网表转换为bitfile文件后,将bitfile文件烧写到fpga子板上。
[0072]
所述fpga子板被配置为,在上电复位启动后,将io激励信息通过插槽发送给socket底板上的芯片,并获取前述芯片输出的实际返回值;以及,将获取的前述实际返回值与预设的理想返回值进行比对以验证可综合testbench文件的正确性。
[0073]
其它技术特征参考在前实施例,在此不再赘述。
[0074]
本发明的另一实施例,还提供了一种芯片ate测试方法。所述包括如下步骤:
[0075]
s10,获取eda验证端提供的用于ate测试的vcd波形文件。
[0076]
s20,对前述vcd波形文件进行转换以生成wgl文件后,通过脚本将前述wgl文件转
成基于verilog语言的仿真testbench文件和基于可综合verilog语言的可综合testbench文件,所述可综合testbench文件能够综合成网表;通过仿真testbench文件向可综合testbench文件发送启动命令,可综合testbench文件接收到启动命令后启动运行,向待测芯片发送io激励,并获取待测芯片的响应输出信息;将前述响应输出信息与预设的标准输出数据进行比对。
[0077]
s30,比对一致时,将前述wgl文件转换成ate机台文件后,输入到ate测试端进行功能测试。
[0078]
进一步,还可以包括对前述可综合testbench文件的综合网表进行功能验证的步骤,具体如下:对综合网表进行插入逻辑测试和布局布线处理以得到pr网表,将pr网表转换为bitfile文件后,将bitfile文件烧写到fpga子板上;上电复位启动后,通过fpga子板将io激励信息通过插槽发送给socket底板上的芯片,并通过fpga子板获取前述芯片输出的实际返回值;fpga子板将获取的前述实际返回值与预设的理想返回值进行比对以验证可综合testbench文件的正确性。
[0079]
其它技术特征参考在前实施例,在此不再赘述。
[0080]
在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1