一种片上随机存取存储器内建自测试方法和装置与流程

文档序号:14689830发布日期:2018-06-15 16:53阅读:243来源:国知局
本发明实施例涉及测试
技术领域
,尤其涉及一种支持数据写入的片上随机存取存储器内建自测试方法和装置。
背景技术
:RAM(Random-AccessMemory,随机存取存储器)因为低功耗、硅面积开销小等优点而被广泛应用在集成电路产品中。随着集成电路产品,例如片上RAM容量越来越大,数量越来越多,在生产制造过程中不可避免会出现RAM的失效,带有失效存储单元的芯片将引起产品级不可预估的错误,致使纠正成本骤增。因此在Wafer阶段,对RAM进行高覆盖率的测试和筛选成为芯片全生命周期中非常重要的一环,而如何通过Wafer测试快速定位缺陷单元,提高检测覆盖率,进而减少测试时间,提高测试效率,是在芯片设计之初需要深入分析和解决的问题。传统的片上RAM测试通常通过外部测试设备进行,例如在对片上RAM的测试中,包括直流特性测试、交流特性测试、功能测试、可靠性测试等,对存储器故障的测试通常使用March算法,该March算法能够根据存储器的结构,编写一定形式的测试图形来覆盖所有的存储单元,检测这些存储单元的功能。然而,针对不同的被测RAM,通常需要不同的测试时间和测试系统,例如一个片上系统中有不同核逻辑组合在一个芯片上,若需要测试所有核的指标则需要对应的所有测试系统执行测试。由于片上系统规模和集成度不断扩大,电路结构往往比较复杂,传统的测试方法显然难以满足需求。BIST(Build-In-Self-Test,内建自测试)是在设计时在电路中植入相关功能电路用于提供自我测试功能的技术,以此降低器件测试对自动测试设备的依赖程度。因此,RAMBIST正逐渐成为片上RAM测试的主要手段。现有技术的RAMBIST电路常用的检测算法是MarchLR算法。该MarchLR算法具有检测速度较快的特点,在检测单一单元的故障和耦合故障上也能达到一定的覆盖率。然而,现有的片上RAMBIST检测电路,在功能上仅仅检测RAM物理故障缺陷,而且不够灵活与高效。技术实现要素:本发明实施例提供了一种片上随机存取存储器内建自测试(RAMBIST)方法和装置,能够提高测试芯片数量、节约检测时间、减少检验步骤,从而降低芯片测试成本和提高测试效率。本发明实施例提供了一种片上RAMBIST方法,包括:预先设置写入功能模式Pattern和测试功能Pattern,所述写入功能Pattern包括指令和结束标志,所述测试功能Pattern包括指令、测试起始地址和结束标志;当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据所述取值地址读取指令;当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从所述测试起始地址开始在RAM执行指令进行测试,并输出测试结果。进一步地,所述写入功能Pattern中的指令为8bits命令字,结束标志为1bit低电平;所述方法还包括:所述写入功能Pattern在测试时钟BIST_clk下降沿发数据,RAMBIST模块在测试时钟上升沿采样数据,对写入功能Pattern硬件译码,执行指令功能。进一步地,所述测试功能Pattern中的指令为8bits命令字,测试起始地址为20bits命令字,结束标志为1bit低电平;所述测试功能Pattern在测试时钟BIST_clk下降沿发数据,RAMBIST模块在测试时钟上升沿采样数据,对测试功能Pattern硬件译码,执行功能。进一步地,所述当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据所述取值地址读取指令,具体为:当RAMBIST模块通过I/O接口接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,对写入功能Pattern硬件译码,译码正确后,RAM选择使能,RAM写请求信号有效,RAMBIST模块从取值地址开始,将指令从DIN写入RAM;在写入RAM完成后,CPU将取值地址映射到对应的RAM,系统复位,RAM选择使能,RAM写请求信号有效,CPU从取值地址开始,从DOUT读取指令。进一步地,所述当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从所述测试起始地址开始在RAM执行指令进行测试,并输出测试结果具体为:当RAMBIST模块接收到测试功能Pattern时,获取测试功能Pattern中的指令、测试起始地址和结束标志,RAM选择使能,基于MarchLR算法,从测试起始地址开始在RAM执行指令进行测试;如果在测试过程中未检测到错误,等待测试完成后,输出正确测试结果,所述正确测试结果包括正确标志;如果在测试过程中检测到错误,等待测试完成后,输出错误测试结果,所述错误测试结果包括错误标识和错误地址。进一步地,所述方法还包括:对于片上不同数据宽度、容量的RAM进行并行测试。本发明实施例还提供了一种片上RAMBIST装置,所述装置中RAMBIST模块通过输入/输出接口接收信息,并和RAM连接通信,RAM通过系统总线和CPU交互信息,指令存在Rom和Flash,CPU通过系统总线从Rom和Flash取指、译码和执行;所述装置预先设置写入功能模式Pattern和测试功能Pattern,所述写入功能Pattern包括指令和结束标志,所述测试功能Pattern包括指令、测试起始地址和结束标志;当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据所述取值地址读取指令;当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从所述测试起始地址开始在RAM执行指令进行测试,并输出测试结果。进一步地,所述写入功能Pattern中的指令为8bits命令字,结束标志为1bit低电平;所述测试功能Pattern中的指令为8bits命令字,测试起始地址为20bits命令字,结束标志为1bit低电平。进一步地,所述RAM_BIST模块接口信号分为输入信号和输出信号,其中:所述输入信号,包括clk为时钟信号,rst_n为低复位信号,en为工作使能信号,all_en为全片并行测试工作使能,addr_max为测试RAM的最大地址值;所述输出信号,包括BIST_rd_data为RAM读出数据,BIST_cen为RAM选择使能,BIST_addr为RAM地址,BIST_we为RAM写请求信号,BIST_oe为RAM输出使能信号,BIST_wr_data为RAM写入数据,IO_out为正确/错误标志及错误地址输出IO。进一步地,所述当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据所述取值地址读取指令,具体为:当RAMBIST模块通过I/O接口接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,对写入功能Pattern硬件译码,译码正确后,RAM选择使能,RAM写请求信号有效,RAMBIST模块从取值地址开始,将指令从DIN写入RAM;在写入RAM完成后,CPU将取值地址映射到对应的RAM,系统复位,RAM选择使能,RAM写请求信号有效,CPU从取值地址开始,从DOUT读取指令。进一步地,所述当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从所述测试起始地址开始在RAM执行指令进行测试,并输出测试结果具体为:当RAMBIST模块接收到测试功能Pattern时,获取测试功能Pattern中的指令、测试起始地址和结束标志,RAM选择使能,基于MarchLR算法,从测试起始地址开始在RAM执行指令进行测试;如果在测试过程中未检测到错误,等待测试完成后,输出正确测试结果,所述正确测试结果包括正确标志;如果在测试过程中检测到错误,等待测试完成后,输出错误测试结果,所述错误测试结果包括错误标识和错误地址。进一步地,所述RAMBIST模块对于片上不同数据宽度、容量的RAM进行并行测试。本发明实施例提供的片上RAM内建自测试方法和装置,基于MarchLR算法,支持RAM写入指令并执行功能,同时增加了输出出错地址、起始地址可配、全片并行测试功能的方案,能够提高测试芯片数量、节约检测时间、减少检验步骤、从而达到降低芯片测试成本和提高测试效率的目的。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。图1为本发明实施例中片上RAMBIST电路结构示意图;图2为本发明实施例中RAM_BIST模块接口信号示意图;图3为本发明实施例中片上RAMBIST方法的流程示意图;图4为本发明实施例中写入功能Pattern译码功能的仿真波形示意图;图5为本发明实施例中写入功能Pattern中的指令写入RAM功能的仿真波形示意图;图6为本发明实施例中单个RAM测试起始地址配置及启动的仿真波形示意图;图7为本发明实施例中检测到地址错误数据的仿真波形示意图;图8为本发明实施例中检测结束后输出错误标志及错误地址的仿真波形示意图;图9为本发明实施例中检测正确输出标志的仿真波形示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本发明实施例中片上RAMBIST电路结构示意图,如图1所示,RAMBIST模块通过I/O(输入/输出)接口接收信息,并和RAM连接通信,RAM通过系统总线和CPU交互信息;指令存在Rom和Flash,CPU通过系统总线从Rom和Flash取指、译码、执行,配置各模块,完成应用。图2为本发明实施例中RAM_BIST模块接口信号示意图,其中clk为时钟信号,rst_n为低复位信号,en为工作使能信号,all_en为全片并行测试工作使能,addr_max为测试RAM的最大地址值。BIST_rd_data为RAM读出数据,BIST_cen为RAM选择使能(低有效),BIST_addr为RAM地址,BIST_we为RAM写请求信号,BIST_oe为RAM输出使能信号,BIST_wr_data为RAM写入数据,IO_out为正确/错误标志及错误地址输出IO。由于Rom和Flash自身设计原因、工艺原因,或封装和搬运过程中可能造成的芯片Rom和Flash程序区域损坏,导致芯片上电后无法执行指令,无法测试各模块功能。Rom和Flash虽然损坏,CPU和其他模块可能完好,在现有技术中,这样的芯片一般也只能舍弃,从而降低了可测试的芯片数量。然而,如果尝试新工艺,或MPW(MultiProjectWafer)阶段,待测芯片数量有限,则每一个封装的芯片都是有价值并可以加以充分利用的。相对于现有技术,本发明增加了写入RAM指令数据功能并在RAM中执行指令功能,具体地,通过外部I/O将指令程序写入RAM并在RAM中,执行写入的指令功能,从而可以测试模块功能,提高测试芯片数量,降低测试成本。此外,现有RAMBIST测试电路设计不够灵活与高效。主要体现在:现有设计只输出测试结果标志,不输出具体的错误地址,因此无法了解存储器整体坏区位置,不利于与芯片制造商沟通、分析存储器坏区所占比例修改及分布情况;现有技术从地址“0”开始递增变化检测,初始检测地址不可以配置。如在前次测试中发现错误并报出错误地址后,需要从此地址开始继续了解后面RAM单元的情况,则无法实现;现有设计对于配置不同容量RAM的芯片,往往需要不同测试模型分别测试,增加了测试时间,提高测试成本。针对以上问题,本发明提供了一种基于MarchLR算法,支持RAM写入指令并执行功能,同时增加了输出出错地址、起始地址可配、全片并行测试功能的方案,达到提高测试芯片数量、节约检测时间、减少检验步骤、降低芯片测试成本、提高测试效率的目的。图3为本发明实施例中片上RAMBIST方法的流程示意图。如图3所示,包括:步骤301,预先设置写入功能Pattern(模式),所述写入功能Pattern包括指令和结束标志;当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据取值地址读取指令。在本步骤中,预先设置写入功能Pattern结构,该写入功能Pattern结构包括指令和结束标志,在本发明的具体实施例中,如下表1所示,该写入功能Pattern结构可以由8bits命令字的指令和1bit低电平的结束标志组成。表1当RAMBIST模块通过I/O接口接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM。写入功能Pattern在测试时钟BIST_clk下降沿发数据,RAMBIST模块在测试时钟上升沿采样数据,对写入功能Pattern硬件译码,执行指令功能。例如在一具体实施例中,仿真波形如图4所示,写入功能Pattern的命令字为0x03H,后接1bit低电平作为结束标志,译码正确之后,开始执行写入功能Pattern,wr_RAM_cos_FLAG硬件置“1”。此时,RAM选CEN拉低,WE为高写有效,从地址0开始,从DIN写入写入功能Pattern,如图5所示,连续地址写入36’h8_0402_0100。在将写入功能Pattern中的指令写入RAM完成后,CPU将取值地址映射到对应的RAM,系统复位,CPU从取值地址开始读取指令,以便后续执行指令程序,测试系统和未损坏的其他模块。例如在一具体实施例中,从RAM执行写入功能Pattern的命令字为0x06H,译码正确之后,RAM_cos_en硬件置“1”,取指地址映射至此RAM。系统复位sys_rstn置“1”,RAM片选CEN拉低,WE为高读有效,从地址0开始,从DOUT读取指令程序,连续地址读出36’h8_0402_0100。步骤302,预先设置测试功能Pattern,所述测试功能Pattern包括指令、测试起始地址和结束标志;当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从测试起始地址开始在RAM执行指令进行测试,并输出测试结果。在本步骤中,预先设置测试功能Pattern结构,该测试功能Pattern结构包括指令、测试起始地址和结束标志,在本发明的具体实施例中,如下表2所示,该测试功能Pattern结构可以由8bits命令字的指令、20bits命令字的测试起始地址和1bit低电平的结束标志组成。表2测试功能Pattern在测试时钟BIST_clk下降沿发数据,RAMBIST模块在测试时钟上升沿采样数据,对测试功能Pattern硬件译码,执行指令功能。当RAMBIST模块接收到测试功能Pattern时,获取测试功能Pattern中的指令、测试起始地址和结束标志。打开使能,RAMBIST电路开始工作,具体地,基于MarchLR算法,从测试起始地址开始在RAM执行指令进行测试。如果在测试过程中未检测到错误,等待测试完成后,输出正确测试结果,该正确测试结果包括正确标志,如表3所示,例如输出正确标志“0x9009H”。表30x9009H如果在测试过程中检测到错误,等待测试完成后,输出错误测试结果,该错误测试结果包括错误标识和错误地址,如表4所示,例如输出错误标志“0x5555H”和第一个出现错误的地址。表40x5555H2Obits错误地址例如在一具体实施例中,仿真波形如6所示,单RAM测试的Pattern为0x33H,后接1bit低电平,然后是起始地址(Start_addr)=0x3H,译码正确之后,RAM_BIST_flag硬件置“1”,RAMBIST模块从地址“3”开始检测工作。如图7所示,RAMBIST模块在检测过程中,“28”地址读写数据错误为“0xaH”;如图8所示,检测结束后输出错误标志“0x5555H”,并输出错误地址为“0x28H”;如图9所示,AMBIST模块在检测过程中未检测到错误,等待测试完成后,则输出正确标志“0x9009H”。值得关注的是,本发明支持片上所有RAM并行测试,从而对于不同数据宽度、容量的RAM,能够简化测试步骤,减少检测时间,降低测试成本,提高测试效率。本发明还提供了一种片上RAMBIST装置,可参看图1所示,所述装置中RAMBIST模块通过输入/输出接口接收信息,并和RAM连接通信,RAM通过系统总线和CPU交互信息,指令存在Rom和Flash,CPU通过系统总线从Rom和Flash取指、译码和执行;所述装置预先设置写入功能模式Pattern和测试功能Pattern,所述写入功能Pattern包括指令和结束标志,所述测试功能Pattern包括指令、测试起始地址和结束标志;当RAMBIST模块接收到写入功能Pattern时,RAMBIST模块将自身切换为RAM写入程序状态,并将写入功能Pattern中的指令写入RAM,CPU将取值地址映射到对应的RAM,并根据所述取值地址读取指令;当RAMBIST模块接收到测试功能Pattern时,基于MarchLR算法,从所述测试起始地址开始在RAM执行指令进行测试,并输出测试结果。本发明所提供的一种片上RAMBIST装置中的具体技术细节和一种片上RAMBIST方法中对应的的技术细节类似,故在此不赘述。在本发明中,片上RAMBIST实现了支持指令写入RAM并运行指令功能,支持初始地址可配、错误地址输出、全片并行检测功能;此外,支持指令写入RAM并运行指令,全片并行检测,实现了高效、高故障覆盖率的RAMBist检测方案。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1