存储单元测试方法及测试系统的制作方法

文档序号:6775480阅读:394来源:国知局
专利名称:存储单元测试方法及测试系统的制作方法
技术领域
本发明涉及一种测试方法及其系统,尤其是一种存储单元测试方法及其系统。
背景技术
存储单元作为专用集成电路(Application Specific Integrated Circuit,ASIC)/现场可编程门阵列(Field Programmable Gate Array,FPGA)设计的数据存储介质,用来存放或者暂时存放参与运算的数据和运算结果,在电子通讯产品中获得了广泛的应用。随着ASIC设计技术的发展,已有越来越多的存储单元内嵌或外挂到ASIC、FPGA芯片中使用。但是在ASIC与FPGA逻辑代码设计中,存储单元经常出现一些故障,例如存储单元读写功能不正确或者一个存储单元的数据受到其它单元的数据或读写操作的影响而发生变化,即粘连现象。粘连现象分为地址粘连和Bit(比特)粘连。假设有N个存储单元,每个存储单元的数据有效位为n个,如果对N个存储单元中的任何一个进行操作,会影响到其它任何一个存储单元的内容,这种现象叫地址粘连;如果对于同一个存储单元,对n个数据有效位的任何一个比特有效位进行操作会影响到其它任何一个有效位,这种现象叫Bit粘连。存储单元的读写功能、是否存在粘连现象影响到整个逻辑设计的功能的正确性,因此对存储单元的读写功能和粘连测试是项目验证的重点。
传统的测试方法是对一个存储单元写操作以后,读取该存储单元的数据判断是否与写入的数据一致,从而测试该存储单元读写功能是否正确,然后再读取所有其它存储单元的数据判断是否存在粘连现象。该测试方法每次操作一个存储单元,需要读取其它所有存储单元的数据进行判断,如此一来,假如有N个存储单元,对所有存储单元测试一遍则需要N×(N+1)次存储单元读取操作,然而目前ASIC设计中一般有几十万个存储单元,按照这种传统的测试方法,测试效率较低。另外,传统的测试方法对所有存储单元没有统一进行清“0”,如果对某个存储单元写入数据,与其它存储单元的缺省值相同,则无法区分是否存在地址粘连现象。

发明内容
本发明要解决的问题在于提供一种测试效率较高的存储单元测试方法及其系统。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的本发明提供了一种存储单元测试方法,所述方法包括选择存储单元测试类型;根据所选择的测试类型产生相应的测试激励信号并发送至待测模块;根据所述测试激励信号,对待测模块的存储单元索引表进行读写操作;对进行所述读写操作后的存储单元索引表的数据进行分析,生成相应的测试结果。
本发明还提供了一种存储单元测试系统,用于测试待测模块的性能,所述待测模块包括至少一个存储单元以及与存储单元地址相对应的存储单元索引表,所述存储单元测试系统包括仿真机制选择单元、测试激励产生单元以及测试结果分析单元,所述仿真机制选择单元用于选择测试类型;所述测试激励产生单元根据选择的测试类型产生相应的测试激励信号发送给待测模块和测试结果分析模块;所述测试结果分析模块从所述待测模块的存储单元索引表读取数据生成测试结果。
本发明提供的存储单元测试方法及其系统,对于存储单元的地址粘连、Bit粘连以及读写功能等问题都采用统一的测试方法以及测试系统进行测试,测试系统结构简单,便于在各个项目开发中进行移植和共享,因此不仅能对存储单元进行全面的测试,而且减低了ASIC设计开发成本;即使存储单元进行频繁增减,也只需维护一张存储单元索引表即可,因此较大地提高了测试效率。


图1为本发明存储单元测试系统的结构示意图;图2为本发明存储单元测试方法的流程图;图3为本发明存储单元测试方法用于地址粘连测试的流程图;图4为本发明存储单元测试方法用于Bit粘连测试的流程图;图5为本发明存储单元测试方法用于读写功能测试的流程图。
具体实施例方式
本发明提供了一种存储单元测试方法及其系统。为使本发明更加清楚明了,以下结合附图对本发明进行详细描述。
请参照图1,为本发明存储单元测试系统的结构示意图。所述存储单元测试系统包括仿真平台10和待测试模块20,所述仿真平台10包括显示单元11、仿真机制选择单元12、测试激励产生单元13以及测试结果分析单元14。
所述显示单元11用于将从仿真平台10外部输入的信息输出给仿真机制选择单元12,并显示测试结果分析单元14输入的信息。所述显示单元11一般为人机界面,从仿真平台10外部输入的信息通常是测试人员根据不同的存储文件输入的信息,或是用于控制仿真机制选择单元12的信息。
所述仿真机制选择单元12用于接收结果显示单元11输入的信息,根据接收的信息选择仿真机制,并将选择的仿真机制分别输出给测试激励产生单元13和测试结果分析单元14。所述仿真机制是用来表征对存储单元进行测试的类型,比如是存储单元的读写功能测试、地址粘连测试还是Bit粘连测试。存储单元的读写功能测试是测试当存储单元的读写使能信号有效时对应地址的数据是否能够正常写入和读出,存储单元的读写使能信号无效时存储单元的数据线是否保持不变或高阻;地址粘连测试是测试存储单元之间是否出现相互影响制约;Bit粘连测试是测试同一存储单元数据位之间是否相互影响。
所述测试激励产生单元13用于接收仿真机制选择单元12输入的仿真机制,根据接收的仿真机制产生各种测试激励信号,并将产生的测试激励信号分别输出给待测试模块20和测试结果分析单元14。所述测试激励信号至少包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号,这些信号由仿真机制选择单元12所选择的仿真机制决定。测试激励产生单元13根据所述测试激励信号中的写使能信号、写地址信号和时钟信号,将写数据信号写入对应的存储单元;再将读使能信号、读地址信号和时钟信号输出给测试结果分析单元14,由测试结果分析单元14从待测试模块20读出结果。
所述测试结果分析单元14对从待测模块20读出的结果进行分析,并将分析后的测试结果输入显示单元11显示给用户。
所述待测试模块20包括一个存储单元索引表21和若干存储单元22,所述索引表21与存储单元地址相对应,可以从高到底也可以从低到高进行排列,其内容包括存储单元的地址值、有效位和缺省值。每次对存储单元进行读写操作检查时,只需要从存储单元索引表读取即可,下面用一个结构体说明索引表中存储单元包含的内容struct memory{addr--存储单元的地址data--存储单元对应的数据reset value--存储单元数据的复位值或者缺省值rfu mask--存储单元数据的保留位,“1”表示其对应的数据bit位是保留位valid bit--存储单元数据的有效位}请参阅图2,为本发明存储单元测试方法的流程图,本发明存储单元测试方法包括以下步骤步骤101选择对存储单元进行测试的类型。
步骤102根据所选择的测试类型产生与测试类型对应的测试激励信号,并将所述测试激励信号发送至待测模块。
步骤103根据所述测试激励信号,对待测模块的存储单元索引表进行对应的读写操作。
步骤104对进行所述读写操作后的存储单元索引表的数据进行分析,生成相应的测试结果。
请参阅图3,为本发明用于存储单元地址粘连测试流程图,具体测试过程包括以下步骤步骤201选择仿真机制为地址粘连测试机制,产生与地址粘连测试对应的测试激励信号,并将测试激励信号发送至待测试模块。
所述测试激励信号包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。
步骤202对待测试模块进行上电复位(主要是对芯片进行初始化)。
步骤203在复位过程中读取存储单元是否为缺省值,如果是,进行步骤205;如果否,进行步骤204。
步骤204显示该存储单元缺省值不正确。
步骤205将待测试模块的所有存储单元进行清“0”操作,即对所有存储单元进行写“0”,这样便于对所有存储单元按照统一规则进行测试。
步骤206从待测试模块的存储单元索引表依次弹出一个地址,读取该地址的值,检查是否为“0”,如果是,进行步骤208;如果否,进行步骤207。
步骤207显示该存储单元清“0”功能不正确。
步骤208根据步骤201中产生的测试激励信号中的写使能信号、写地址信号,将写数据信号写入存储单元,即向步骤206中存储单元索引表弹出的地址对应的存储单元所有有效位写入“1”,然后根据所述测试激励信号中的读使能信号、读地址信号以及时钟信号对该地址对应的存储单元进行回读,根据该地址的存储单元的有效位个数检查回读数据是否也包含与有效位个数相同数目的“1”,如果是,进行步骤210;如果否,进行步骤209。
步骤209显示该存储单元写功能不正确。
步骤210将该地址加1,进行相应地址的存储单元读操作,检查回读值是否为“0”,如果是,进行步骤212;如果否,进行步骤211。
步骤211显示存在地址粘连,即与当前地址相邻存储单元受到当前地址单元数据的影响。
步骤212存储单元索引表是否为空,即是否遍历存储单元索引表中所有地址,如果是,进行步骤213,如果否,回到步骤206。
步骤213地址粘连测试结束。
上述地址粘连测试方法每次只对相邻的两个地址进行是否存在地址粘连的判断,对于N个存储单元只需N×(N-1)/2次读取操作即可进行依次地址粘连遍历测试。
另外,上述地址粘连测试方法在步骤210中是将存储单元地址加1后进行读操作,即地址指针从低到高,也可以采用地址指针从高到低的方法,其它过程相同,只需在步骤210中将存储单元地址减1后进行后续操作即可。
请参阅图4,为本发明用于存储单元Bit粘连测试流程图,具体测试过程包括以下步骤步骤301选择仿真机制为Bit粘连测试机制,产生与Bit粘连测试对应的测试激励信号,并将测试激励信号发送至待测试模块。
所述测试激励信号包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。
步骤302对待测试模块进行上电复位(主要是对芯片进行初始化)。
步骤303在复位过程中读取存储单元是否为缺省值,如果是,进行步骤305;如果否,进行步骤304。
步骤304显示该存储单元缺省值不正确。
步骤305将待测试模块的所有存储单元进行清“0”操作,即对所有存储单元进行写“0”,这样便于对所有存储单元按照统一规则进行测试。
步骤306从待测试模块的存储单元索引表依次弹出一个地址,读取该地址对应的存储单元的数值是否为“0”,如果是,进行步骤308;如果否,进行步骤307。
步骤307显示该存储单元清“0”功能不正确。
步骤308根据步骤301产生的测试激励信号中的写使能信号、写地址信号以及时钟信号,将写数据信号写入存储单元,即从该地址的存储单最低有效位开始写“1”,然后根据所述测试激励信号中的读使能信号、读地址信号以及时钟信号对该地址对应的存储单元进行回读,检查读出和写入是否一致,如果是,进行步骤310;如果否,进行步骤309。
步骤309显示该存储单元存在Bit粘连。
步骤310该存储单元左移一位的有效位写入“1”,然后回读,检查读出和写入是否一致,如果是,进行步骤311;如果否,进行步骤309。
步骤311是否已遍历该存储单元所有有效Bit位,如果是,进行步骤312;如果否,进行步骤310。
步骤312存储单元索引表是否为空,即是否遍历存储单元索引表中所有地址,如果是,进行步骤313,如果否,回到步骤306。
步骤313Bit粘连测试结束。
下面以有效位为16Bit的寄存器为例对步“1”法进行具体说明,其测试激励信号为16’b0000000000000001。首先,对此寄存器写入16’b0000 0000 00000001,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 00000000 0010,然后读出检查是否与写入一致;其次,对此寄存器写入16’b00000000 0000 0100,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0000 0000 1000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0000 0001 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0000 0010 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0000 0100 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0000 1000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0001 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0010 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 0100 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0000 1000 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0001 0000 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0010 0000 0000 0000,然后读出检查是否与写入一致;其次,对此寄存器写入16’b0100 0000 0000 0000,然后读出检查是否与写入一致;最后,对此寄存器写入16’b1000 0000 0000 0000,然后读出检查是否与写入一致。这样对有效位为16Bit的地址存储器就可以遍历检查Bit位是否存在粘连问题。
另外,上述Bit粘连测试方法是从该存储单元最低位开始写“1”,然后依次左移写“1”,即地址指针从低到高,也可以采用地址指针从高到低的方法,只需从最高位开始写“1”,然后依次右移写“1”即可。
请参阅图5,为本发明用于存储单元读写功能测试流程图,具体测试过程包括以下步骤步骤401选择仿真机制为读写功能测试机制,产生与读写功能测试对应的测试激励信号,并将测试激励信号发送至待测试模块。
所述测试激励信号包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号和时钟信号。
步骤402对待测试模块进行上电复位(主要是对芯片进行初始化)。
步骤403在复位过程中读取存储单元是否为缺省值,如果是,进行步骤405;如果否,进行步骤404。
步骤404显示该存储单元缺省值不正确。
步骤405将待测试模块的所有存储单元进行清“0”操作,即对所有存储单元进行写“0”,这样便于对所有存储单元按照统一规则进行测试。
步骤406从待测试模块的存储单元索引表依次弹出一个地址,读取该地址的值,检查是否为“0”,如果是,进行步骤408;如果否,进行步骤407。
步骤407显示该存储单元清“0”功能不正确。
步骤408根据步骤401产生的测试激励信号中的写使能信号、写地址信号以及时钟信号,将写数据信号写入存储单元,即向该存储单元写入相应数据,然后根据所述测试激励信号中的读使能信号、读地址信号以及时钟信号对该地址对应的存储单元进行读出,判断读出数据是否与写入数据一致,如果是,则进行步骤410;如果否,进行步骤409。
步骤409显示该存储单元读写功能不正确。
步骤410存储单元索引表是否为空,即是否遍历存储单元索引表中所有地址,如果是,进行步骤411,如果否,回到步骤406。
步骤411读写功能测试结束。
通过本发明提供的存储单元测试方法及其系统,对于存储单元的地址粘连、Bit粘连以及读写功能等问题都采用统一的测试方法以及测试系统进行测试,测试系统结构简单,便于在各个项目开发中进行移植和共享,因此不仅能对存储单元进行全面的测试,而且减低了ASIC设计开发成本;即使存储单元进行频繁增减,也只需维护一张存储单元索引表即可,因此大大减少了工作量。
以上对本发明所提供的存储单元测试方法及其系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种存储单元测试方法,其特征在于,所述方法包括选择存储单元测试类型;根据所选择的测试类型产生相应的测试激励信号并发送至待测模块;根据所述测试激励信号,对待测模块的存储单元索引表进行读写操作;对进行所述读写操作后的存储单元索引表的数据进行分析,生成相应的测试结果。
2.根据权利要求1所述的存储单元测试方法,其特征在于,所述选择的存储单元测试的类型为地址粘连测试,所述根据所述测试激励信号对待测模块的存储单元索引表进行读写操作具体包括依次向所述存储单元索引表中每个地址所对应的存储单元内写入数据,将被写入数据的存储单元的地址值加1或减1,判断地址值加1或减1后的地址所对应的存储单元的数据是否发生变化,如果是,所述被写入数据的存储单元存在地址粘连问题。
3.根据权利要求2所述的存储单元测试方法,其特征在于,所述依次向所述存储单元索引表中每个地址所对应的存储单元内写入数据后,还包括步骤判断所述被写入数据的存储单元的读出数据与写入数据是否相同,如果否,所述存储单元写功能不正确。
4.根据权利要求1所述的存储单元测试方法,其特征在于,所述选择存储单元测试的类型为比特粘连测试,所述根据所述测试激励信号对待测模块的存储单元索引表进行读写操作具体包括向所述存储单元索引表中每个地址所对应的存储单元中的每个有效位依次写入数据,判断从被写入数据的存储单元所读出的数据和写入的数据是否一致,如果否,所述被写入数据的存储单元存在比特粘连问题。
5.根据权利要求1所述的存储单元测试方法,其特征在于,所述选择存储单元测试的类型为读写功能测试,所述根据所述测试激励信号对待测模块的存储单元索引表进行读写操作具体包括依次向所述存储单元索引表中每个地址所对应的存储单元写入数据,判断从被写入数据的存储单元所读出的数据是否与写入的数据一致,如果否,所述被写入数据的存储单元读写功能不正常。
6.根据权利要求1至5中任一权利要求所述的存储单元测试方法,其特征在于,在选择存储单元测试类型之前,进一步包括对待测模块进行上电复位,在复位过程中判断待测模块所包含的存储单元的值是否为缺省值,如果否,则确定所述存储单元缺省值不正确。
7.一种存储单元测试系统,用于测试待测模块的性能,所述待测模块包括至少一个存储单元,其特征在于,所述待测模块还包括与存储单元地址相对应的存储单元索引表,所述存储单元测试系统包括仿真机制选择单元、测试激励产生单元以及测试结果分析单元,所述仿真机制选择单元用于选择测试类型;所述测试激励产生单元根据选择的测试类型产生相应的测试激励信号发送给待测模块和测试结果分析模块;所述测试结果分析模块从所述待测模块的存储单元索引表读取数据生成测试结果。
8.根据权利要求7所述的存储单元测试系统,其特征在于,进一步包括显示单元,用于将所述存储单元测试系统外部输入的信息输出给所述仿真机制选择单元,并将所述测试结果分析单元生成的测试结果进行显示。
9根据权利要求7所述的存储单元测试系统,其特征在于,所述存储单元索引表的内容包括存储单元的地址、有效位以及缺省值。
10.根据权利要求7所述的存储单元测试系统,其特征在于,所述仿真机制选择单元选择的测试类型为地址粘连测试或比特粘连测试或读写功能测试。
11.根据权利要求7所述的存储单元测试系统,其特征在于,所述测试激励信号单元生成的测试激励信号包括写数据信号、写使能信号、写地址信号、读使能信号、读地址信号或时钟信号。
全文摘要
本发明提供了一种存储单元测试方法及其系统,所述测试方法包括选择存储单元测试类型;根据所选择的测试类型产生相应的测试激励信号并发送至待测模块;根据所述测试激励信号,对待测模块的存储单元索引表进行读写操作;生成相应的测试结果。本发明提供的存储单元测试方法及其系统测试功能较全面且能有效减少工作量以及降低成本。
文档编号G11C29/04GK1945747SQ20061015068
公开日2007年4月11日 申请日期2006年10月23日 优先权日2006年10月23日
发明者徐善锋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1