【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的目的在于提供一种存储器的自检测电路,其可以提高测试的灵活性以及测试速度。
根据本发明的一方面,本发明提供一种存储器的自检测电路,其包括数据生成器、数据比较器、地址生成器、地址选择器、寄存器组、控制信号发生器以及测试接口,其中所述寄存器组中存有测试方式、地址范围、地址生成方式以及数据生成方式,所述控制信号发生器将生成的控制信号发送给所述数据生成器和地址生成器,所述数据生成器按照所述数据生成方式生成测试数据并将所述测试数据发送给所述数据比较器和测试接口,所述测试接口将所述测试数据存入存储器中,所述地址生成器根据所述地址范围和地址方式生成测试地址并将所述测试地址发送给所述地址选择器,所述地址选择器根据所述测试地址和所述存储器中的地址进行匹配,所述测试接口根据所述寄存器组中的测试方式以及测试地址从所述存储器中读取数据,所述数据比较器比较所述测试数据和从测试接口读取的数据。
进一步的,所述寄存器组中的测试方式包括数据测试和连接测试。
更进一步的,当测试方式为连接测试时,所述数据生成器均生成固定的测试数据,所述地址生成器在不同比较次数中按照一位热码方式或多位热码方式生成不同的测试地址以进行测试;或所述地址生成器均生成固定的测试地址,然后数据生成器在不同比较次数中按照一位热码方式或多位热码方式生成不同的数据以进行测试;或地址生成器和数据生成器在不同比较次数中分别按照多位热码方式生成不同的测试地址和测试数据以进行测试。
进一步的,所述寄存器组中的地址范围根据所述存储器中的行数、列数和页数进行配置,或根据存储器中的部分行、部分列和部分页进行配置。
进一步的,所述数据生成器生成的数据和所述地址生成器生成的测试地址一一映射。
根据本发明的另一方面,本发明提供一种存储器的自检测方法,其包括:配置测试方式、地址范围、地址生成方式以及数据生成方式;根据配置的测试方式、地址范围、地址生成方式以及数据生成方式生成一一对应的测试数据和测试地址,将测试数据发送给所述存储器中,将测试地址与存储器进行行列匹配;比较具有相同地址的测试数据和存储器中读取的数据。
进一步的,所述测试方式包括连接测试和数据测试。
进一步的,当测试方式为连接测试时,均生成固定的测试数据,在不同比较次数中按照一位热码方式或多位热码方式生成不同的测试地址;或均生成固定的测试地址,在不同比较次数中按照一位热码方式或多位热码方式生成不同的测试数据。
进一步的,当测试方式为连接测试时,在不同比较次数中按照多位热码方式分别生成不同的测试数据和测试地址。
进一步的,根据所述存储器中数据的行数、列数和页数进行所述地址范围的配置,或根据所述存储器中数据的部分行、部分列和部分页进行所述地址范围的配置。
与现有技术相比,本发明通过测试仪对自检测的电路内部的寄存器进行配置,按照所述配置并通过编程以生成不同的测试数据和地址来进行对存储器的测试,使其自检测电路的测试更加灵活。
【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
本发明提供一种存储器自检测电路,其通过测试仪对自检测电路内部的寄存器对测试方法、测试数据以及测试地址进行配置,按照所述配置并通过编程以生成不同的测试数据和地址来进行对存储器的测试,使其自检测电路的测试更加灵活。其具体结构可参见图4所示。
图4为本发明中存储器的自检测电路图,其包括数据生成器410、数据比较器420、地址生成器430、地址选择器440、寄存器组450、控制信号发生器460以及测试接口470。
所述数据生成器410用于生成测试数据,并将所述测试数据同时发送给所述数据比较器420和测试接口470。所述测试数据可以为一串数字数据,如:123514567849,当然,所述测试数据也可以为一串字符数据,如:skbcj02D,且其测试数据的长度可自由伸缩。这样则提高了本发明中自检测电路测试的灵活性。这里,所述数据生成器410可以根据所述寄存器组450中配置的数据生成方式生成测试数据,如可以按照一位热码的方式生成测试数据,也可以按照多位热码的方式生成测试数据。通常,可以根据软件、硬件或软硬件结合的方式来实现其生成测试数据的功能。
所述数据比较器420接收所述数据生成器410生成的测试数据以及从所述测试接口470中读取的存储器490中的数据,并将所述测试数据和存储器中读取的数据进行比较。最后将比较结果发送给测试接口470。
所述地址生成器430用于生成测试地址,并将所述测试地址发送给所述地址选择器440。这里所述地址生成器430根据所述寄存器组450保存的地址范围以及地址生成方式以生成测试地址,如可以按照一位热码的方式生成测试地址,也可以按照多位热码的方式生成测试地址。其生成的测试地址一般为存储器490中的部分或全部地址。
在实际应用中,所述数据生成器410生成的测试数据可以和地址生成器430生成的测试地址一一映射,即一个数据对应一个测试地址。
所述地址选择器440在接收到所述测试地址后,根据所述测试地址以及所述存储器490的行列特征进行行列的匹配。以保证测试地址能在存储器490中有相对应的地址。且所述地址选择器440还可以选择其中的某一测试地址。
在一个实施例中,当所述地址选择器440配置好一个地址后,所述测试接口则从所述存储器490中读取所述地址对应的数据并放入到所述数据比较器420中,所述数据比较器420将对应所述地址的测试数据与所述读取的数据进行比较。
因为所述数据生成器410生成的测试数据如果要写入到所述寄存器490中,则需要地址的指引,即如果每个数据对应的地址确定了则可以将所述数据放入到所述地址对应的位置。又由于地址选择器440生成的测试地址与所述数据生成器410生成的数据一一对应,而测试地址为寄存器490中部分或全部地址,这样所述数据生成器410生成的测试数据便可以写入到寄存器490中。由此可知,当所述数据选择器410中的测试数据与地址生成器430生成的测试地址一一对应,且地址生成器430生成的测试地址与寄存器490中的地址一一对应,而写入到寄存器490中的数据与寄存器490中的地址一一对应,这样,可进一步推断:当所述在寄存器490的连接方式和内部均没有问题的情况下,所述数据比较器420中的数据应该与寄存器490中的数据是相同的,且均与地址生成器430中的地址一一对应。
所述寄存器组450用于存放外部测试仪480配置的测试方式、地址范围、地址生成方式以及数据生成方式。其中所述测试方式包括连接测试和数据测试,地址范围可以根据封装的存储器490的行数、列数以及页数进行配置,也可以通过存储器490的部分行、部分列和部分页进行配置,即可以配置成较小的地址范围以仅测试其中的某一块,以达到抽样测试的目的。
在一个实施例中,所述地址范围可以为存储器490的所有地址,这样则可以通过存储器490中所有的数据进行测试。在另一个实施例中,所述地址范围可以仅为存储器的一部分地址,如当存储器490为8行8列时, 仅取其内部的第2行数据来进行测试。
通常,所述地址生成器430根据所述地址范围生成对应的测试地址。由于所述寄存器组450中存放的地址范围时通过所述封装的存储器的行数、列数以及页数进行配置的,而地址生成器430又是根据所述地址范围生成对应地址的,所以地址选择器440是可以根据地址生成器430生成的地址和所述存储器490中行列特征进行配置的。
所述配置的测试方式、地址范围、数据生成方式以及地址生成方式可以根据测试方式而定,如可以根据存储器的连接的实际情况选择合适的连接测试方法。比如,在连接测试时,可以固定数据,然后测试地址按照一位热码或多位热码变化生成以进行测试;或固定地址,然后测试数据按照一位热码或多位热码变换生成以进行测试。当然,在实际应用中,其还可以利用别的方式实现对测试地址和测试数据的配置。且在具体应用中,可以根据存储器的连接选择不同的配置方式。
所述控制信号发生器460用于发送控制信号,其为整个系统的控制部分,包括负载存储器的控制命令,测试接口470对存储器的读写操作,比较器结果的输出以及送到数据比较器420内的时序匹配等。
如所述控制信号发生器460对数据生成器410和地址生成器430输入控制信号以使其对应生成测试数据和地址;所述控制信号发生器460在对数据比较器420进行数据比较时,可以获知将要比较的测试数据,并根据所述测试数据对应的地址后命令测试接口从所述存储器490中对应的地址读取数据,从而实现对应于同一个地址的测试数据以及存储器490中的数据的比较。
所述测试接口470负责接受从测试仪480配置给所述寄存器组450的值,并向所述测试仪480发送测试结果,对所述存储器490进行读写操作等。如所述测试接口470接收到所述数据生成器410生成的测试数据后写入到所述存储器490中,并根据所述地址选择器440中配置的地址从所述存储器490对应的位置读取数据以发送到所述数据比较器420中。
在一个实施例中,当外接的测试仪480向所述寄存器组450配置的测试方式为连接测试或数据测试,且在所述控制信号发生器460发送控制信号后,所述数据生成器410接收到所述控制信号后产生测试数据,并将所述测试数据发送给所述数据比较器420和测试接口470,所述地址生成器430根据寄存器中的地址范围生成地址并将其发送到所述地址选择器440中,所述测试接口470根据地址选择器中选择的地址将对应的数据写入到存储器对应所述地址的位置,此时数据生成器410生成的数据和地址生成器430生成的地址有一一映射的关系,这样在连接正确的情况下,所述数据比较器420中的测试数据应该与所述存储器490中同一个地址对应的数据是相同的。所述测试接口470从所述存储器490中读取数据,并将所述数据发送给所述数据比较器420,所述数据比较器420则将所述测试接口470发送来的数据与测试数据中和其有相同地址的数据进行比较。
一般的,对于不同的测试方式,可以根据生成不同的测试数据或测试地址进行测试。如在进行连接方式的测试时,通常由两种测试方法。
一种测试方法是先固定测试数据,即将生成的数据定位成同一个数据,如测试数据为55555,把生成的测试地址按照一位热码方式进行测试。
在一个实施例中,固定的测试数据为55,将第一位地址选为热码进行测试时,如选择00和10进行测试,即第二位不变。当对地址00进行测试时,如果两个地址线均连接正常,从存储器490中读取的数据应该均为55,则所述数据比较器420比较得到的结果应该是相同的。而当一位地址线异常时,从存储器490中得到的数据则不为55,所述数据比较器420比较得到的结果不相同,此时表明存储器490的连接有误,发送错误信息,停止测试。
另一种测试方法是先固定地址数据,即将生成的地址定位为同一个地址,如00,则测试数据按照一位热码方式进行测试,即数据生成器410在不同比较次数的测试过程中,可以固定变化测试数据中的一位,而其它位的数据始终保持不变。如第一次生成的测试数据为22,第二次变化第一位的数据后为32(即第二位保持不变),则第一次测试比较测试数据22和存储器490中读取的数据,如果数据比较器420在两次比较结构均有误的话,则表明数据线连接有误,停止测试,否则继续对其他位进行一位热码方式的测试,直到所有测试结果均正确,则发送成功信号,停止测试。。
如果测试方式为数据测试,则将测试数据写入到存储器490中然后读出来比较结果。与传统的内建数据测试方式类似,但传统的方法中的测试数据是不能变化的,即电路固化成多少就是多少,不灵活。而本发明中的测试数据可以通过编程控制测试数据的生成,比较灵活。
上述仅仅对连接方式的测试进行了两种测试方法的描述,当然,在实际应用中,还可以利用其他方式进行测试,只要利用寄存器组对数据生成方式和地址生成方式分别进行不同的配置均属于本发明保护的范围。
综上所述,本发明通过测试仪对自检测电路内部的寄存器进行配置,按照所述配置并通过编程以生成不同的测试数据和地址来进行对存储器的测试,使其自检测电路的测试更加灵活。
本发明还提供一种存储器自检测方法,其具体可参见图5所示。
图5为本发明中存储器自检测方法的流程图,其存储器自检测方法包括:
步骤510,配置测试方式、地址范围、地址生成方式以及数据生成方式。通常所述测试方式包括连接测试和数据测试;所述地址范围则一般根据所述存储器中的行数、列数和页数进行配置,其也可以通过存储器中的部分行数、部分列数和部分页数进行配置以得到一个较小的地址范围,从而达到抽样的测试目的;所述地址生成方式可以为一位热码方式生成测试地址,也可以为多位热码方式生成测试地址,当然也可以通过其他的方式生成测试地址;所述数据生成方式可以为一位热码方式生成测试数据,也可以为多位热码方式生成测试数据,当然也可以通过其他方式生成测试数据。
所述配置的测试方式、地址范围、数据生成方式以及地址生成方式可以根据测试方式而定,如可以根据存储器的连接的实际情况选择合适的连接测试方法。比如,在连接测试时,可以固定数据,然后测试地址按照一位热码或多位热码变化生成以进行测试;或固定地址,然后测试数据按照一位热码或多位热码变换生成以进行测试。当然,在实际应用中,其还可以利用别的方式实现对测试地址和测试数据的配置。且在具体应用中,可以根据存储器的连接选择不同的配置方式。
步骤520,根据配置的测试方式、地址范围、地址生成方式以及数据生成方式生成一一对应的测试数据和测试地址,将所述测试数据方发送给所述存储器中,将所述测试地址与存储器进行行列配置。
步骤530,比较具有相同地址的测试数据和存储器中读取的数据。由上可知,所述测试数据与生成的所述地址一一对应,输入到存储器中的数据域存储器中的地址一一对应,而生成的所述地址与存储器进行了行列配置,所述理论上,在存储器的连接以及本身没有问题时,比较所述测试数据和存储器中相同地址的数据是相同的。
通常,在进行测试时,需要进行多次测试,如果测试方式为连接测试时,则可以通过两种方式实现。
一种方法是:在多次测试时,均固定生成的测试数据,即每次数据均为一串相同的数据,如55555,然后地址按照一位热码的方式生成,如在第一次测试时,生成的地址为00000,在第二次测试时生成的地址为10000,即仅让一位发生变化,而其他位保持不变。这样在进行比较时,如果比较的测试数据和存储器中的数据在两次比较中结果均不同,则表示第一位地址线连接有误,发送错误信号,并停止测试,否则直到地址线均比较完毕,发送成功信号,停止测试。
另一种方式是:在多次测试时,均固定生成的地址,即每次生成的地址为相同的地址,如000000,然后测试数据按照一位热码的方式生成,如在第一次测试时,生成的数据为355555,第二次测试时,生成的数据为655555,即仅让一位数据发生变化,而其他位保持不变。这样在进行比较时,如果比较的测试数据和存储器中的数据在两次比较中结果均相同,则表示连接正确,继续比较其他数据直到所有数据比较结束均正确,则发送成功信号,停止测试;否则表示连接错误,发送错误信号并停止测试。
上述两种方式分别对测试地址和测试数据进行一位热码的测试,在实际应用中,还可以将测试地址和测试数据都按照多位码变化的方式测试。根据所述数据生成方式以及地址生成方式生成的所述测试数据和测试地址可以是多样化的,并不仅仅局限于一位热码或多位热码的生成方式,其具体的生产需要根据存储器490的具体连接而定。但只要是根据配置后的数据生成方式以及地址生成方式生成测试数据以及测试地址的方法均属于本发明的技术范围。
如果测试方式为数据测试,则将测试数据写入到存储器中然后读出来比较结果。与传统的内建数据测试方式类似,但传统的方法中的测试数据是不能变化的,即电路固化成多少就是多少,不灵活。而本发明中的测试数据可以通过编程控制测试数据的生成,比较灵活。
综上所述,本发明通过对测试方式、测试数据的生成方式以及测试地址的生产方式进行配置,可以根据测试方式灵活的得到需要的测试数据和测试地址已完成不同的测试,使得所述存储器的自检测更加灵活多变,且提高了测试速度。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。