适用于各类周期性测试算法的存储器内建自测试电路的制作方法

文档序号:11136073阅读:379来源:国知局
适用于各类周期性测试算法的存储器内建自测试电路的制造方法与工艺

本发明涉及存储器可测性设计(DFT)设计领域,更具体地说,本发明涉及一种适用于各类周期性测试算法的存储器内建自测试电路。



背景技术:

SOC芯片中各类存储器的可测性设计是一项关键设计工作,实现该功能的MBIST(存储器内建自测试,Memory Built-In Self Test)模块是现代SOC芯片的重要模块,对降低测试成本、提高对存储器失效问题的分析能力起着关键作用。对于不同的存储器类型或不同测试需求,MBIST会采用不同的测试算法。对于通常的存储器测试流程,常用到的测试算法有:All0/All1、CheckBoard/Invert CheckBoard、Diagonal、各种March算法、读写电流测试算法等等。

通常MBIST设计是根据确定的存储器类型、结构、容量大小确定几种测试算法,分别设计后整合成一个MBIST。其缺点为:每个存储器的MBIST算法需要单独设计,开发成本高周期长;一个MBIST的测试算法固定,不能根据实际需求使用其他算法,不利于测试成本与调试需求的优化考虑。



技术实现要素:

本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够适用于各类周期性测试算法的存储器内建自测试电路。

为了实现上述技术目的,根据本发明,提供了一种适用于各类周期性测试算法的存储器内建自测试电路,包括:内建自测试控制单元、时钟控制信号产生器、地址产生器、数据产生器、数据比较器、可选延时单元、以及多个控制寄存器;其中,所述多个控制寄存器包括:地址扫描寄存器、算法元素寄存器、算法操作寄存器、数据寄存器以及延时寄存器;而且其中,算法元素寄存器和算法操作寄存器连接至内建自测试控制单元并且分别向内建自测试控制单元提供算法元素值和各算法元素中的操作值,自测试控制单元根据该两组寄存器提供的算法构成信息控制其他模块协同运作,时钟控制信号产生器向存储器提供工作时钟与一些相应控制信号,地址产生器根据地址扫描寄存器的配置下向存储器提供算法相关地址量,数据产生器根据地址变化情况读取数据寄存器的相应数据值提供给存储器或数据比较器,数据比较器在存储器做读取操作时将存储器输出结果与数据产生器提供的期望值比较并将比较结果反馈给自测试控制单元,延时单元是一个可选模块在运行一些特殊需要做延时操作的算法时为自测试控制单元提供延时信号,其延时长度有延时寄存器配置。通过配置所述的多个控制寄存器,该存储器内建自测试电路可实现各类周期性存储器测试算法。

优选地,所述的适用于各类周期性测试算法的存储器内建自测试电路还包括:延时单元和延时寄存器;其中延时寄存器连接至延时单元,而且延时单元连接至内建自测试控制单元。

优选地,时钟控制信号产生器用于产生时钟控制信号。

优选地,地址产生器用于产生用于存储器的地址信号。

优选地,数据产生器用于产生写入存储器的数据。

优选地,延时寄存器用于设置延时单元的延时长度。

优选地,所述存储器内建自测试电路具有如下基本操作命令:

配置命令,用于配置各个算法寄存器;

运行命名,用于启动一个测试算法;

继续命令,用于在算法运行出错进入暂停状态后继续往下执行测试算法;

停止命令,用于中断测试算法,回到空闲状态。

优选地,测试算法的执行配置有两种模式,一种模式为失效停止模式,其中在测试结果出错时测试算法结束;另一种模式为失效暂停模式,其中在测试结果出错时算法暂停进入暂停状态。

本发明提供了一种通用的MBIST电路设计,该电路有一组对应模块电路、一系列寄存器的设置、一组命令设置以及一套算法运行操作流程和状态机设计组成。该引擎通过配置各个算法寄存器的实现各种常用算法对不同的存储器进行测试。

所述的MBIST电路为通用引擎电路,可实现各类常用的存储器测试算法,电路简单,操作方便,配合对应的命令与状态机设置可实现各类测试与调试要求。应用在各个SOC芯片中使用该MBIST引擎只需要根据存储器的情况配置好其地址范围就可完成MBIST的电路设计,可大大降低MBIST设计难度、缩短项目开发周期、加强存储器的测试灵活性与对发现问题的分析能力。

附图说明

结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:

图1示意性地示出了根据本发明优选实施例的适用于各类周期性测试算法的存储器内建自测试电路的电路结构图。

图2示意性地示出了根据本发明优选实施例的算法配置寄存器的设置示例。

图3示意性地示出了根据本发明优选实施例的MBIST引擎的算法运行状态机示例。

需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。

具体实施方式

为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。

本发明公开了一种可实现对存储器进行测试各类周期性算法的通用MBIST电路。该电路通用算法操作核心,具体算法可配置的特性可降低MBIST设计难度、缩短项目开发周期、加强存储器的测试与问题分析能力。

为方便对本发明的MBIST电路进行说明,这里对存储器测试算法的做一个简要说明。一个存储器测试算法通常符号表示为:{(操作0,操作1...);↑(操作0,操作1...);↓(操作0,操作1...);...}。测试算法整体为用大括号{}括起来一组采用分号分的隔算法元素组成,按顺序可命名为算法元素0、算法元素1…;而每个算法元素为小括号()括起来的一组逗号分隔的操作组成;每个算法元素前有一个表示地址扫描方向的箭头符号,↑表示地址按最小到最大方向扫描,↓表示地址按最大到最小方向扫描,表示地址按任意方向扫描;算法元素中的操作通常有W0、R0、W1、R1几种,分别表示对存储器写数据0、读数据0、写数据1、读数据1。图1示意性地示出了根据本发明优选实施例的适用于各类周期性测试算法的存储器内建自测试电路的电路结构图。

如图1所示,根据本发明优选实施例的适用于各类周期性测试算法的存储器内建自测试电路包括:内建自测试控制单元301、时钟控制信号产生器302、地址产生器303、数据产生器304、数据比较器305、以及多个控制寄存器。

其中,所述多个控制寄存器包括:地址扫描寄存器309、算法元素寄存器310、算法操作寄存器311、和数据寄存器307。

而且其中,算法元素寄存器310和算法操作寄存器311连接至内建自测试控制单元301并且分别向内建自测试控制单元301提供算法元素值和算法操作值,数据比较器305将从存储器读取数据与期望值比较并且向内建自测试控制单元301提供数据比较结果值,内建自测试控制单元301分别向时钟控制信号产生器302、地址产生器303和数据产生器304提供控制信号,而且数据寄存器307连接至数据产生器304。

优选地,根据本发明优选实施例的适用于各类周期性测试算法的存储器内建自测试电路还包括:延时单元306和延时寄存器308;其中延时寄存器308连接至延时单元306,而且延时单元306连接至内建自测试控制单元301。延时寄存器308用于设置延时单元306的延时长度。

其中,时钟控制信号产生器302用于产生时钟控制信号;地址产生器303用于产生用于存储器的地址信号;数据产生器304用于产生写入存储器的数据。

所述的通用MBIST电路中各个配置寄存器的说明如下,其中关键的地址扫描寄存器、算法元素寄存器、算法操作寄存器的设置如图2所示,如下所述的各个寄存器的配置方式只是一个示例,实际可按本MBIST电路的设计思想灵活配置:

数据寄存器中存储了D0和D1两个数据,非别对应W0/R0与W1/R1操作的用到的数据,这里W0/R0代表写入数据D0与读出数据D0,W1/R1代表写入数据D1与读出数据D1,数据位宽可根据需求与用法确定。

延时寄存器用于设置延时单元的延时长度。

地址扫描寄存器用于配置地址相关设置,bit1与bit0用于配置每个算法元素中的地址扫描模式,取值00为一般扫描,一次扫描完全部地址后结束操作;01、10、11为电流测试所需的地址扫描配置,非别为一直扫描操作直到一个延时周期结束,一直扫描直到接收到停止命令,一直在特定地址间扫描操作直到接受到停止命令。bit2表示扫描路径,0表示位线地址优先扫描,1表示字线地址优先扫描。bit3、bit4分别用于配置位线地址和字线地址为奇数和偶数时的操作可用于配置CKB/iCKB算法,0表示位线和字线地址为奇数和偶数时操作一样均由算法操作寄存器决定,1表示位线地址和字线地址偶数时操作由算法操作寄存器决定,奇数时W0/R0、W1/R1分别替换为W1/R1、W0/R0。bit5为对角线选项可用于配置Diagonal算法,0表示各个地址的操作均按照算法操作寄存器决定,1表示当字线与位线地址相等时对于的W0/R0、W1/R1替换为W1/R1,W0/R0。

算法元素寄存器用于对算法元素进行配置。bit3、bit2、bit1、bit04位用于确定本次算法中算法元素的个数,4’b0000代表该测试算法只有1个算法元素,4’b1111代表共有16个算法元素。bit4开始的连续多位分别表示各个算法元素的地址扫描方向,每位对应一个算法元素,如可定义bit4对应于算法元素0,bit5对应于算法元素1,其值为0表示地址扫描从最小地址扫描到最大地址即↑(地址上升顺序),值为1表示地址扫描从最大地址扫描到最小地址即↓(地址下降顺序)。

算法操作寄存器用于对每个算法元素中的操作进行配置。该寄存器分为多段,每段对应一个算法元素。每段中最低3位用于配置该算法元素中操作数量,3’b000代表只有一个算法元素,而3’b111这里定义为该算法元素为一个不做任何读写的延时操作以满足一些特殊算法中的延时需求,该延时操作由延时单元完成。。每段中后几位非别定义该算法元素中各个操作的类型,每两个字节对应一个操作的类型,其值为00/01/10/11时分别定义为W0/W1/R0/R1这几种操作。

所述的通用的MBIST电路的运作方式为在MBIST测试开始前,先通过配置到所述的地址扫描寄存器、算法元素寄存器、算法操作寄存器、数据寄存器和延时寄存器等寄存器中设定所需要的测试算法,在给定测试启动信号后,在算法控制单元的控制下,时钟控制信号产生器302根据寄存器所配置的算法产生相应的时钟信号、读写操作信号等并作用于待测的存储器;同样地,地址产生器303产生相应的地址信号;写操作时数据产生器304产生相应写入待测存储器单元的数据信号并;读操作时数据产生器304产生读出期望值送到数据比较器305中与从存储器单元读取所得数据进行比较来判断是否正确。

所述的通用MBIST引擎的基本操作命令设置有:配置命令—用于配置各个算法寄存器;运行命名—用于启动一个测试算法;继续命令—用于在算法运行出错进入暂停状态后继续往下执行测试算法;停止命令—用于中断测试算法,回到空闲状态。测试算法的执行可配置两种模式,一种为失效停止模式即测试结果出错,该测试算法结束;另一种为失效暂停模式,测试结果出错,算法暂停进入暂停状态,此时可做一个调试操作。可根据测试的不同需要增加或减少命令。

所示的MBIST电路的一次算法运行状态机如图3所示。基本的三个状态为:空闲、运行、暂停。电路复位重置、完成寄存器配置、算法运行结束或算法运行中发出停止命令后会处于空闲状态,此时可配置新的算法或等待下次测试启动。空闲状态接收到运行命令后,算法开始执行,该MBIST电路处于运行状态。测试算法结束、测试算法配置为Fail-停止模式时测试结果出错或者接收到停止命令,该MBIST电路会回到空闲状态。测试算法为失效暂停模式时如果测试结果出错该MBIST电路会进入暂停状态用于调试。暂停状态时接收到继续命令会回到运行状态继续往下测试,接收到停止命令会该MBIST电路会回到空闲状态。如果不需要暂停调试操作模式,可取消掉暂停状态。

在根据本发明优选实施例的适用于各类周期性测试算法的存储器内建自测试电路中,通过对各个控制寄存器的不同配置,该MBIST电路可实现各类周期性测试算法或图样(diagram or pattern)比如:All0/All1、CKB/iCKB、Diagonal、各种March算法、电流测试算法等,从而完成对各类存储器的测试。

该MBIST电路中各类算法的实现共用一套电路设计结构简单,在SOC中应用时只需要根据存储器情况设置好地址范围参数就可完成MBIST设计。其不需要电路设计过程中预先确定测试算法,而是可在测试时再确定的特点,减少了BIST电路的设计时间,缩短了项目开发周期,而且使得该测试工作更加灵活。

需要说明的是,除非特别说明或者指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。

可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

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