一种用于协助硅后测试的芯片测试方法与流程
未命名
09-16
阅读:124
评论:0
1.本技术涉及集成电路测试领域,具体涉及一种用于协助硅后测试的芯片测试方法。
背景技术:
2.本部分旨在为权利要求书中陈述的本技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。
3.复杂芯片的bring-up(上电启动测试)或者复杂场景的配置(如多个子系统配合的性能测试),由于硅片无法直接观测内部信号,配置信息需要多次迭代才能成功,dv(design verification,功能验证,属于设计前端仿真)与硅后测试编程语言差异、关注粒度和角度不同,可能导致设计验证的测试用例无法直接用于硅后测试,而设计验证在rtl(register-transfer level,寄存器传输级)仿真中可以观测内部的任何信号,及时发现及纠正错误配置或者错误配置流程。
技术实现要素:
4.本技术的目的在于提供一种用于协助硅后测试的芯片测试方法,可以大幅降低硅后测试难度,节省测试时间成本。
5.本技术公开了一种用于协助硅后测试的芯片测试方法,包括:获取项目的模式描述文本;基于所述模式描述文本,通过脚本生成器调用功能仿真模板生成功能仿真用例;使用所述功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正所述模式描述文本,再次生成寄存器转换级电路仿真用例,进行功能仿真,直至功能仿真通过;使用通过功能仿真的所述模式描述文本通过所述脚本生成器调用硅后测试模板生成与所述功能仿真用例同源的硅后测试用例;使用所述硅后测试用例进行硅后测试。
6.在一个优选例中,还包括:获取相近项目的相近模式描述文本;基于所述相近模式描述文本,通过脚本生成器调用所述功能仿真模板生成所述功能仿真用例;使用所述功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正所述相近模式描述文本,再次生成寄存器转换级电路仿真用例,进行功能仿真,直至功能仿真通过;使用通过功能仿真的所述相近模式描述文本通过所述脚本生成器调用硅后测试模板生成与所述功能仿真用例同源的硅后测试用例;使用所述硅后测试用例进行硅后测试。
7.在一个优选例中,还包括:所述脚本生成器根据所述模式描述文本提供的信息找到对应的标签并找到对应的库文件,所述库文件包括各团队的原子操作库文件;所述脚本生成器根据所述模式描述文本中对应的指令翻译为对应的操作并生成对应的用例供各个团队进行测试。
8.在一个优选例中,所述描述文本包括组合成所有芯片的配置流程的指令集。
9.在一个优选例中,所述描述文本被配置为用基础语言和文本配置文件描述配置流程。
10.在一个优选例中,硅后测试团队提供所述模式描述文本,功能验证团队根据所述模式描述文本生成测试用例,在验证环境中进行验证。
11.在一个优选例中,所述功能验证团队根据所述硅后测试团队提供的测试场景,编写所述模式描述文本,生成测试用例,在验证环境中进行验证。
12.在一个优选例中,所述功能仿真包括观测所述寄存器转换级电路内部信号并纠正错误配置或错误配置流程。
13.在一个优选例中,所述项目使用独立的文本配置文件。
14.在一个优选例中,所述描述文本包括项目对应标签及目录、测试用例名以及由原子操作组成的任务。
15.本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
16.本技术的实施方式中,用描述文本生成功能仿真用例,用功能仿真用例进行功能仿真,如果验证失败则修改描述文本,继续生成功能仿真用例仿真,直到仿真结果符合预期,再用仿真成功的描述文本对应的描述文本生成硅后测试用例,功能仿真相对于硅后测试有更多测观测信号,调试起来更容易。
17.进一步地,由于功能仿真用例和硅后测试用例的同源性,可以保证用于硅后测试的用例已经通过功能仿真,降低错误配置和错误配置流程发生的概率;进一步地,对于相近项目的验证,可以生成相近项目的描述文本进行功能仿真,该相近项目的描述文本对于相近项目可以进行复用。
18.硅后测试难度大大高于功能仿真,因为功能仿真可以以很小的代价观测到任意中间结果,容易调试,而硅后测试出问题时,可能是硬件的问题,也可能是测试用例的问题,通过上述方法可以大大减少测试用例出问题的可能性。
19.上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。
附图说明
20.图1是根据本技术的一个实施方式的流程示意图;图2是根据本技术的一个实施方式的流程示意图;图3是根据本技术的一个实施方式的流程示意图。
具体实施方式
21.在以下的叙述中,为了使读者更好地理解本技术而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
22.部分概念的说明:功能验证,也称为功能验证测试。在芯片测试中,前端设计用硬件描述语言verilog将模块功能以代码来描述实现,也就是将芯片所需的功能通过机器可以理解的语言描述出来,形成rtl代码。功能验证主要负责就是验证前端设计工程师所出的rtl代码是否真正实现了芯片所要具备的功能。
23.硅后验证:在流片后,使样品在真实环境中进行验证,称为硅后验证。在硅后验证中,使用计算机上的软件工具配置芯片,并将测试代码下载到芯片中进行各种测试。
24.原子操作:是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何切换到另一个线程的操作。
25.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
26.本技术涉及一种用于协助硅后测试的芯片测试方法,其流程如图1所示,该方法包括以下步骤:在步骤101中,获取项目的模式描述文本。
27.在步骤102中,基于模式描述文本,通过脚本生成器调用功能仿真模板生成功能仿真用例。
28.在步骤103中,脚本生成器根据模式描述文本提供的信息找到对应的标签并找到对应的库文件,库文件包括各团队的原子操作库文件。
29.在步骤104中,使用功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正模式描述文本直至功能仿真通过。
30.在步骤105中,脚本生成器根据模式描述文本中对应的指令翻译为对应的操作并生成对应的用例供各个团队进行测试。
31.在步骤106中,使用通过功能仿真的模式描述文本通过脚本生成器调用硅后测试模板生成与功能仿真用例同源的硅后测试用例。
32.在步骤107中,使用硅后测试用例进行硅后测试。
33.在一个可选的实施例中,如图2所示,该方法还可以包括:在步骤201中,获取相近项目的相近模式描述文本;在步骤202中,基于相近模式描述文本,通过脚本生成器调用功能仿真模板生成功能仿真用例;在步骤203中,使用功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不
通过则更正相近模式描述文本直至功能仿真通过;在步骤204中,使用通过功能仿真的相近模式描述文本通过脚本生成器调用硅后测试模板生成与功能仿真用例同源的硅后测试用例;在步骤205中,使用硅后测试用例进行硅后测试。
34.在一个可选的实施例中,描述文本可以包括组合成所有芯片的配置流程的指令集。
35.在一个可选的实施例中,描述文本可以被配置为用基础语言和文本配置文件描述配置流程。
36.在一个可选的实施例中,功能仿真可以包括观测寄存器转换级电路内部信号并纠正错误配置或错误配置流程。
37.在一个可选的实施例中,项目可以使用独立的文本配置文件。
38.在一个可选的实施例中,描述文本包括项目对应标签及目录、测试用例名以及由原子操作组成的任务。
39.在一个可选的实施例中,硅后测试团队提供模式描述文本,功能验证团队根据模式描述文本生成测试用例,在验证环境中进行验证。修改模式描述文本,通过脚本生成器,生成最终的硅后测试用例供硅后测试团队使用。
40.在一个可选的实施例中,功能验证团队根据硅后测试团队提供的测试场景,功能验证团队提供模式描述文本,生成测试用例,在验证环境中进行验证。通过脚本生成器,生成最终的硅后测试用例供硅后测试团队使用。
41.为了能够更好地理解本技术的技术方案,下面结合一个具体的例子来进行说明,该例子中罗列的细节主要是为了便于理解,不作为对本技术的保护范围的限制。
42.脚本生成器根据模式描述文本,以及设计验证和测试团队提供的最底层的基本操作(原子操作模板),先生成功能仿真用例,若功能仿真不通过,则修正模式描述文本直至功能仿真通过后,生成硅后测试用例供测试团队使用。
43.工作模式可以包括下面两种方式:1)硅后测试团队提供模式描述文本,验证团队根据模式描述文本生成验证用例,在验证环境中跑过,修改模式描述文本,利用脚本生成器,生成最终的硅后测试用例给测试团队;2)功能验证团队根据测试团队提供的测试场景,编写模式描述文本,生成验证用例,在验证环境中跑过,利用脚本生成器,生成最终的硅后测试用例给测试团队。
44.另外,如图3所示,对于不同的项目,模式描述文本仍然有复用性。对于a项目,可以生成n个模式描述文本:模式描述文本0-模式描述文本n,对于b项目,可以生成对应于a项目的n个模式描述文本:模式描述文本0_-模式描述文本n_。a项目和b项目的模式描述文本都可以输入至同一个脚本生成器中,从而生成功能仿真用例和硅后测试用例。
45.关于指令集,可以包括基础指令和拓展指令。
46.基础指令可以包括但不限于以下,可以根据需要进行相应地组合或变化:1.写单个reg单笔数据:wreg_addr_《addr》_data_《data》2.读单个reg返回单笔数据
rreg_addr_《addr》3.写单个reg with掩码:wreg_addr_《addr》_data_《data》_mask_《mask》只改变mask位为1对应的bit4.读单个reg并作比较(data&mask),不符合预期输出特定字符(报异常):rreg_addr_《addr》_data_《data》_mask_《mask》5.循环读reg直至读到某个特定的状态(data&mask),再执行下一步polling_addr_《addr》_data_《data》_mask_《mask》6.等待特定延迟wait_《delay》delay为10进制整数+单位(s/ms/us/ns/ps)7.等待某个信号上升沿在特定时间内,如果没等到,输出特定字符串(报异常)1)wait_pos_《pad》 (不限时间, 直至等到为止)2)wait_pos_《pad》_time_《time》pad对应芯片pad, path 对应rtl信号路径,time为10进制整数8.等待某个信号下降沿在特定时间内,如果没等到,输出特定字符串(报异常)1)wait_neg_《pad》 (不限时间,直至等到为止)2)wait_neg_《pad》_time_《time》time为数值+单位,比如20s,20ms,20us,20ns,20ps9.等待某个信号为特定电平(0/1),如果没等到,输出特定字符串(报异常)1)wait_lvl_《pad》_logic_《0/1》 (不限时间,直至等到为止)2)wait_lvl_《pad》_logic_《0/1》_time_《time》(time时间后,检查pad信号是否变成value)time为数值+单位,比如20s,20ms,20us,20ns,20ps10.等待某个信号等于特定值(浮点数),如果没等到,输出特定字符串(报异常)1)wait_lvl_《pad》_value_eq_《value》_abs_《abs》 (不限时间,直至等到为止)2)wait_lvl_《pad》_value_eq_《value》_abs_《abs》_time_《time》time时间后(time为数值+单位,比如20s,20ms,20us,20ns,20ps),查询pad信号是否变成value,允许误差为abs11.等待某个信号大于特定值(浮点数),如果没等到,输出特定字符串(报异常)1)wait_lvl_《pad》_value_lg_《value》_abs_《abs》 (不限时间,直至等到为止)2)wait_lvl_《pad》_value_lg_《value》_abs_《abs》_time_《time》time时间后(time为数值+单位,比如20s,20ms,20us,20ns,20ps),查询pad信号是否大于value12.等待某个信号大于特定值(浮点数),如果没等到,输出特定字符串(报异常)1)wait_lvl_《pad》_value_sm_《value》_abs_《abs》(不限时间,直至等到为止)2)wait_lvl_《pad》_value_sm_《value》_abs_《abs》_time_《time》time时间后(time为数值+单位,比如20s,20ms,20us,20ns,20ps),查询pad信号是否大于value
13.写单个cmdwcmd_《cmd》拓展指令可以包括但不限于以下,可以根据需要进行相应地组合或变化:1.写单个reg多笔数据:(同一个reg多次配置)wreg_addr_《addr》_data_《data0》_《data1》_《data2》
…
《datan》:注:可以分解成指令1:wreg_addr_《addr》_data_《data0》wreg_addr_《addr》_data_《data1》wreg_addr_《addr》_data_《data2》wreg_addr_《addr》_data_《data3》
…
wreg_addr_《addr》_data_《datan》2.写多个reg单笔数据:(多个reg配置用同一个数据)wreg_addr_《addr0》_《addr1》
…
《addrn》_data_《data》:注:可以分解成指令1:wreg_addr_《addr0》_data_《data》wreg_addr_《addr1》_data_《data》wreg_addr_《addr2》_data_《data》wreg_addr_《addr3》_data_《data》
…
wreg_addr_《addrn》_data_《data》3.写多个reg多笔笔数据:(多个reg配置用不同数据)wreg_addr_《addr0》_《addr1》
…
《addrn》_data_《data0》_《data1》
…
《addrn》注:可以分解成指令1:wreg_addr_《addr0》_data_《data0》wreg_addr_《addr1》_data_《data1》wreg_addr_《addr2》_data_《data2》wreg_addr_《addr3》_data_《data3》
…
wreg_addr_《addrn》_data_《datan》4.写多个cmdwcmd_《cmd0》_《cmd1》_《cmd2》
…
《cmdn》注:可以分解成指令8:wcmd_《cmd0》wcmd_《cmd1》wcmd_《cmd2》
…
wcmd_《cmdn》5.写多个reg多笔笔数据,burst操作:(多个reg配置用不同数据)
bwreg_addr_《addr0》_data_《data0》_《data1》
…
《addrn》注:可以等效为:wreg_addr_《addr0》_data_《data0》wreg_addr_《addr0+1*offset》_data_《data1》wreg_addr_《addr2+2*offset》_data_《data2》wreg_addr_《addr3+3*offset》_data_《data3》
…
wreg_addr_《addrn+n*offset》_data_《datan》offset为2个相邻reg的偏移6.读多个reg并作比较(data&mask),burst操作,不符合预期输出特定字符(报异常):brreg_addr_《addr》_data_《data0》_《data1》
…
《datan》
…
mask_《mask0》_《mask1》
…
《maskn》注,可以等效为:rreg_addr_《addr》_data_《data0》_mask_《mask0》rreg_addr_《addr+1*offset》_data_《data1》_mask_《mask1》rreg_addr_《addr+2*offset》_data_《data2》_mask_《mask2》
…
rreg_addr_《addr+n*offset》_data_《datan》_mask_《maskn》offset为2个相邻reg的偏移可选地,模式描述文本可以由3部分构成:1)验证/测试等团队项目对应标签及目录;2)测试用例名;3)原子操作组成的任务。
47.具体地,模式描述文本可以包括但不限于下述内容:dv_tag=《project0_v3.0》 //验证原子操作库标签名,里面包含验证平台基本指令和扩展指令的实例dv_path=/project/dac_xxx/xxxxx/dvtest_tag=《project0_v2.1》 //测试原子操作库标签名,里面包含测试平台基本指令和扩展指令的实例test_path=/project/dac_xxx/xxxxx/test //对应case=《dac_ch1_output_test》//用例名称main={wait_200_us; //等待200us芯片上电polling_addr_8’h01_data_16’h0001_mask_16’hffff ;//循环读8’h01 状态寄存器reg,直至读到32’h0001, 若读到此状态,说明芯片已经状态符合预期wreg_addr_8’h02_data_16’h5a5a; //配置8’h02 reg(ch1数据寄存器)为16
‘
h5a5arreg_addr_8’h02_data_16’h5a5a_mask_16’hffff; //配置8’h02 reg(ch1数据
寄存器)为16
‘
h5a5await_lvl_dac_out1 _value_eq_2.5v_abs_0.1v_time_20us;//20us检查dac_out1 pad的输出电压是否是2.5v,误差允许为0.1vwait_100us; //等待100us}在一个可选的实施例中,脚本生成器可以根据上述模式描述文本提供的信息找到对应的标签,从而找到库文件,里面包含功能验证/硅后验证各个团队的原子操作任务函数,脚本生成器根据库文件将测试用例对应主函数中对应的指令翻译和组装对应的操作,生成对应的测试用例,各个团队拿到测试用例,编译运行,便可以得到同源的操作。
48.在一个可选的实施例中,由模式描述文本生成的功能仿真用例可以包括但不限于以下内容:`ifndef dac_ch1_output_test__sv`define dac_ch1_output_test__svclass dac_ch1_output_test extends base_test;`uvm_component_utils(dac_ch1_output_test)extern function new(string name = "dac_ch1_output_test", uvm_component parent = null);extern task do_test();endclassfunction dac_ch1_output_test::new(string name = "dac_ch1_output_test", uvm_component parent = null);super.new(name, parent);endfunctiontask dac_ch1_output_test::do_test();// wait_200_usbegin#200us;end// polling_addr_8’h01_data_16’h0001_mask_16’hffffbeginbit [15:0] wdata;bit [15:0] rdata;bit [15:0] exp_data;bit [15:0] mask;bit [7:0] addr;addr = 8'h01;mask = 16'hffff;exp_data = 16'h00001;while((rdata&mask)!=exp_data)begin
read_reg(addr,rdata);endend// wreg_addr_8’h02_data_16’h5a5a;beginbit [15:0] wdata;bit [7:0] addr;wdata=16'h5a5a;addr=8'h02;write_reg(addr,wdata);end// rreg_addr_8’h02_data_16’h5a5a_mask_16’hffffbeginbit [15:0] wdata;bit [15:0] rdata;bit [15:0] exp_data;bit [15:0] mask;bit [7:0] addr;addr = 8’h02;wdata=16'h5a5a;read_reg (addr,rdata);if((rdata&mask)!=wdata)`uvm_error("",$psprintf("exp_data=0x%h while rdata=0x%h",exp_data,rdata))end// wait_lvl_dac_out1 _value_eq_2.5v_abs_0.1v_time_20usbeginreal act = 0.0;real exp = 2.5;real toller=0.1;#20us;act = hdl_top.dac_out1;if(abs(act,exp)》toller)`uvm_error("",$psprintf("exp =%.8f act=%.8f toller=%.8f",exp,act,toller))end// wait_100_usbegin#100us;
endendtask`endif在一个可选的实施例中,由模式描述文本生成的硅后测试用例可以包括但不限于以下内容:main(){uint16_t rdata;float out1;hard_init();// wait_200_usdelayus(200);// polling_addr_8’h01_data_16’h0001_mask_16’hffffrdata= dac_rreg(0x01);while(rdata&0xffff != 0x5a5a){rdata= dac_rreg(0x01);delayus(1);}// wreg_addr_8’h02_data_16’h5a5a;dac_wreg(0x02,0x5a5a);// rreg_addr_8’h02_data_16’h5a5a_mask_16’hffffrdata= dac_rreg(0x02);if(rdata&0xffff != 0x5a5a){print_log(“errror rdata is not match wdata”);//print to teriminal}// wait_lvl_dac_out1 _value_eq_2.5v_abs_0.1v_time_20usdelayus(20);out1 = out_measure(1);// run adc to cature out, and convert to float dataif(out1《(2.5-0.1) ){print_log(“errror! out=%.8f not as expected!”,out1);//print to teriminal}// wait_100_usdelayus(100);
…
}
…
相应地,本技术的实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本技术的各方法实施方式。计算机
可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0049]
需要说明的是,在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本技术中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
[0050]
在描述方法的步骤时使用的序号本身并不对这些步骤的顺序构成任何的限定。例如,序号大的步骤并非一定要在序号小的步骤之后执行,也可以是先执行序号大的步骤再执行序号小的步骤,还可以是并行执行,只要这种执行顺序对于本领域技术人员来说是合理的即可。又如,拥有连续编号序号的多个步骤(例如步骤101,步骤102,步骤103等)并不限制其他步骤可以在其间执行,例如步骤101和步骤102之间可以有其他的步骤。
[0051]
本说明书包括本文所描述的各种实施例的组合。对实施例的单独提及(例如“一个实施例”或“一些实施例”或“优选实施例”);然而,除非指示为是互斥的或者本领域技术人员很清楚是互斥的,否则这些实施例并不互斥。应当注意的是,除非上下文另外明确指示或者要求,否则在本说明书中以非排他性的意义使用“或者”一词。
[0052]
在本说明书提及的所有文献都被认为是整体性地包括在本技术的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
[0053]
在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
技术特征:
1.一种用于协助硅后测试的芯片测试方法,其特征在于,包括:获取项目的模式描述文本;基于所述模式描述文本,通过脚本生成器调用功能仿真模板生成功能仿真用例;所述脚本生成器根据所述模式描述文本提供的信息找到对应的标签并找到对应的库文件,所述库文件包括各团队的原子操作库文件;使用所述功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正所述模式描述文本,再次生成寄存器转换级电路仿真用例,进行功能仿真,直至功能仿真通过;所述脚本生成器根据所述模式描述文本中对应的指令翻译为对应的操作并生成对应的用例供各个团队进行测试;使用通过功能仿真的所述模式描述文本通过所述脚本生成器调用硅后测试模板生成与所述功能仿真用例同源的硅后测试用例;使用所述硅后测试用例进行硅后测试。2.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,还包括:获取相近项目的相近模式描述文本;基于所述相近模式描述文本,通过脚本生成器调用所述功能仿真模板生成所述功能仿真用例;使用所述功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正所述相近模式描述文本,再次生成寄存器转换级电路仿真用例,进行功能仿真,直至功能仿真通过;使用通过功能仿真的所述相近模式描述文本通过所述脚本生成器调用硅后测试模板生成与所述功能仿真用例同源的硅后测试用例;使用所述硅后测试用例进行硅后测试。3.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,硅后测试团队提供所述模式描述文本,功能验证团队根据所述模式描述文本生成测试用例,在验证环境中进行验证;修改所述模式描述文本,通过所述脚本生成器,生成最终的硅后测试用例供所述硅后测试团队使用。4.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,所述描述文本包括组合成所有芯片的配置流程的指令集。5.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,所述描述文本被配置为用基础语言和文本配置文件描述配置流程。6.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,所述功能仿真包括观测所述寄存器转换级电路内部信号并纠正错误配置或错误配置流程。7.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,所述项目使用独立的文本配置文件。8.如权利要求1所述的用于协助硅后测试的芯片测试方法,其特征在于,所述描述文本包括项目对应标签及目录、测试用例名以及由原子操作组成的任务。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机
可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至8中任意一项所述的方法中的步骤。
技术总结
本申请涉及集成电路测试领域,公开了一种用于协助硅后测试的芯片测试方法,可以大幅降低硅后测试难度。该方法包括:获取项目的模式描述文本。基于模式描述文本,通过脚本生成器调用功能仿真模板生成功能仿真用例。使用功能仿真用例进行寄存器转换级电路功能仿真,若功能仿真不通过则更正模式描述文本,再次生成寄存器转换级电路仿真用例,进行功能仿真,直至功能仿真通过。使用通过功能仿真的模式描述文本通过脚本生成器调用硅后测试模板生成与功能仿真用例同源的硅后测试用例。以及,使用硅后测试用例进行硅后测试。后测试用例进行硅后测试。后测试用例进行硅后测试。
技术研发人员:毛焰烽 历广绪 陈哲 张俊
受保护的技术使用者:上海类比半导体技术有限公司
技术研发日:2023.08.11
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
