冗余修正电路及应用其的冗余修正方法与流程

文档序号:17397789发布日期:2019-04-13 00:57阅读:190来源:国知局
冗余修正电路及应用其的冗余修正方法与流程

本发明涉及半导体集成电路设计技术,尤其涉及一种冗余修正电路及应用其的冗余修正方法。



背景技术:

随着半导体工业的发展,对电子装置的高速化、高精度及高稳定的要求越来越严格。在半导体集成电路设计技术中,一次性可编程存储器(otp)作为一种半导体器件在通信设备、计算机等的处理器中得到广泛应用,且对其性能的要求也越来越高。

在一次性可编程存储器(otp)中,为了修正由于各种原因导致的写入错误位,一般都进行冗余修正,方式有多种,比如在写入存储器时,同时写入2个或以上位(bit),让它们相互之间互为冗余,但这种方式将消耗更多的面积。另一种比较常用的方法是在otp的正常bit外,增加一定比例的用于冗余修正的bit,把需要修正的bit和数据映射到这些对应的冗余修正bit中。在正常读取数据时,通过已经存好的冗余修正位替代读出数据中的错误bit来达到修正目的。

然而,请参阅图1,图1为典型otp冗余修正字的位基本结构示意图。如图1所示,目前的冗余修正方式在冗余修正操作中,一般都是把输入地址位和冗余修正字中存储的所有地址位都进行一一比较,匹配后再进行修正操作,因此存在电路结构复杂、占用面积大,且功耗大、修正延时大及可靠性差等问题。



技术实现要素:

本发明的目的在于提供一种冗余修正电路,以简化电路和版图设计,提高效率。

本发明提供的一种冗余修正电路,包括:冗余字修正标志产生模块,连接一冗余字模块及读出信息的读出地址单元,所述冗余字模块包括n个冗余字单元,所述冗余字修正标志产生模块接收所述冗余字模块的n个冗余字单元的字地址及所述输出地址单元的字地址,输出n个冗余字修正标志;以及冗余修正阵列,包括n个串联连接的冗余修正模块,所述冗余修正阵列连接所述冗余字修正标志产生模块,接收n个冗余字修正标志,并接收读出信息的读出数据,且根据所述n个冗余字修正标志输出冗余修正电路的修正后数据,其中n为大于等于1的整数。

更进一步的,所述冗余字模块由第1个至第n个冗余字单元组成,每个冗余字单元包括字地址和位地址,且每一冗余字单元分别连接所述冗余字修正标志产生模块,输出其冗余字单元的字地址给所述冗余字修正标志产生模块。

更进一步的,所述读出信息的读出地址单元包括位地址和字地址。

更进一步的,所述冗余字修正标志产生模块由异或非门和与门组成,读出信息的读出地址单元的字地址和冗余字的字地址的每一位bit作为异或非门的输入,以使读出信息的地址单元的字地址的每一位bit与所有冗余bit各自所在的字地址进行比较。

更进一步的,当读出信息的地址单元中的字地址的每一位bit与所有冗余bit各自所在的字地址匹配时,所述冗余字修正标志产生模块输出的冗余字修正标志置“1”,如果不匹配,输出的冗余字修正标志置“0”。

更进一步的,当读出信息的地址单元中的字地址的每一位bit与所有冗余bit各自所在的字地址匹配时,所述冗余字修正标志产生模块输出的冗余字修正标志置“0”,如果不匹配,输出的冗余字修正标志置“1”。

更进一步的,所述冗余修正模块包括逻辑电路和mux2路复用电路,所述mux2路复用电路包括两个输入支路,每一个输入支路包括一个可控的开关,第一个输入支路的可控开关的一个端接收修正位修正值,第二个输入支路的可控开关的一个端接收读出值,两个输入支路另一端连接构成所述冗余修正模块的输出端,其中,所述逻辑电路由一个与门和一个非门组成,所述与门的两输入端分别接收所述冗余字修正标志产生模块输出的冗余字修正标志和对应的修正位,所述与门的输出端连接第一个输入支路的可控开关的栅极,以控制第一个输入支路的可控开关,所述与门的输出端更连接所述非门的输入端,所述非门的输出端连接第二个输入支路的可控开关的栅极,以控制第二个输入支路的可控开关。

更进一步的,所述冗余修正模块的个数与所述冗余字模块内的冗余字单元的个数相同,为n。

本发明还提供应用上述冗余修正电路的冗余修正方法,包括:第一步进行字地址比较:所述冗余字修正标志产生模块接收所述冗余字模块的n个冗余字单元的字地址及接收所述输出地址单元的字地址,将所述输出地址单元的字地址和冗余修正bit所在的字地址进行比较,确认读出字是否需要修正,如果匹配,则把输出的冗余字修正标志置“1”;如果不匹配,输出的冗余字修正标志置“0”;以及第二步进行位修正:当读出输入地址的数据后,该数据逐次通过由n个冗余修正模块串联组成的n层修正阵列,其中每层修正模块是否工作由第一步的冗余修正标志控制,当修正标志为“1”时,在该层上数据bit读出值被对应的冗余bit修正值替代,完成修正操作;当修正标志为“0”时,在该层上数据bit不作修正操作,直接进到下一层的修正阵列,完成修正读出字中对应的数据位。

更进一步的,第一步中对于需要修正的有n个冗余bit,每个冗余bit会对应产生n个冗余修正标志,其中n为大于等于1的整数。

本发明提供的冗余修正电路及其操作过程,通过包括冗余字修正标志产生模块和n个串联连接的冗余修正模块的冗余修正电路,在读出地址时,冗余字修正标志产生模块先对地址中的字地址的每一位bit与所有冗余bit各自所在的字地址进行比较,如果匹配,则通过n个串联连接的冗余修正模块对该字地址中的每一位逐位进行修正,而不是把读出地址与冗余bit的全部地址进行比较,提高了比较效率,节省了面积,减少了功耗;之后采用串级修正的模式,把所有冗余bit的修正操作进行串级排列,每级冗余修正后的输出作为下一级修正的输入,简化了电路和版图设计,提高了效率。

附图说明

图1为典型otp冗余修正字的位基本结构示意图。

图2为本发明一实施例的冗余修正电路示意图。

图3为本发明一实施例的冗余字修正标志产生模块的电路示意图。

图4为本发明一实施例的冗余修正阵列的电路示意图。

图5为本发明一实施例的冗余修正模块的细部电路示意图。

图中主要元件附图标记说明如下:

100、冗余字修正标志产生模块;200、n个冗余字模块;300、读出地址单元;400、冗余修正阵列。

具体实施方式

下面将结合附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在不做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明一实施例中,提供一种冗余修正电路,可以提高otp中冗余修正电路的工作效率,减少面积和功耗。请参阅图2,图2为本发明一实施例的冗余修正电路示意图,如图2所示,本发明的冗余修正电路包括:冗余字修正标志产生模块100,连接一冗余字模块200及读出信息的读出地址单元300,冗余字模块200包括n个冗余字单元,冗余字修正标志产生模块100接收冗余字模块200的n个冗余字单元的字地址及输出地址单元300的字地址,输出n个冗余字修正标志;冗余修正阵列400,包括n个串联连接的冗余修正模块,冗余修正阵列400连接冗余字修正标志产生模块100,接收n个冗余字修正标志,并接收读出信息的读出数据,且根据n个冗余字修正标志输出冗余修正电路的修正后数据,其中n为大于等于1的整数。

更具体的,请再参阅图2,如图2所示,冗余字模块200由第1个冗余字单元、第2个冗余字单元、……及第n个冗余字单元组成,每个冗余字单元包括字地址和位地址,且每一冗余字单元分别连接冗余字修正标志产生模块100,输出其冗余字单元的字地址给冗余字修正标志产生模块100。如:第1个冗余字单元连接冗余字修正标志产生模块100,并输出第1个冗余字单元的字地址给冗余字修正标志产生模块100,第2个冗余字单元、……及第n个冗余字单元与第1个冗余字单元的连接关系和工作原理相同,在此不再赘述,因此冗余字模块200输出n个冗余字的字地址给冗余字修正标志产生模块100。

请再参阅图2,如图2所示,读出信息的读出地址单元300包括位地址和字地址,读出地址单元300连接冗余字修正标志产生模块100,并输出读出地址单元300的字地址给冗余字修正标志产生模块100。

如此,冗余字修正标志产生模块100接收冗余字模块200的n个冗余字单元的字地址(如字地址1、字地址2、……及字地址n)及接收输出地址单元300的字地址。

具体的,请再参阅图3,图3为本发明一实施例的冗余字修正标志产生模块的电路示意图。如图3所示,冗余字修正标志产生模块100由异或非门和与门组成,读出信息的读出地址单元的字地址和冗余字的字地址的每一位bit作为异或非门的输入。具体的,以输出冗余字1修正标志为例说明冗余字修正标志产生模块的工作原理,如图3所示,异或非门的两个输入端分别接收读出信息的字地址(读-字地址<n>)和冗余字1字地址(冗余字1字地址<n>)。具体的,第一个异或非门接收读-字地址<1>和冗余字1字地址<1>,第二个异或非门接收读-字地址<2>和冗余字1字地址<2>,第n个异或非门接收读-字地址<n>和冗余字1字地址<n>,相邻两异或非门的输出输入到下一级一个与门的输入端,直至最后一个与门输出冗余字1修正标志。也即,如上所述,在本发明中,对读出信息的地址单元的字地址的每一位bit与所有冗余bit各自所在的字地址进行比较,而不是像现有技术中把读出信息的地址(包括字地址和位地址)与冗余bit的全部地址(包括字地址和位地址)进行比较,提高了比较效率,节省了面积,减少了功耗。

在本法一实施例中,当读出信息的地址单元中的字地址的每一位bit与所有冗余bit各自所在的字地址匹配时,冗余字修正标志产生模块100输出的冗余字修正标志置“1”,如果不匹配,输出的冗余字修正标志置“0”,如此输出n个冗余字的冗余字修正标志,即n个冗余字修正标志。当然,在本发明一实施例中,当读出信息的地址中的字地址每的一位bit与所有冗余bit各自所在的字地址匹配时,冗余字修正标志产生模块100输出的冗余字修正标志也可置“0”,如果不匹配,输出的冗余字修正标志置“1”。

具体的,请再参阅图4,图4为本发明一实施例的冗余修正阵列的电路示意图。如图4所示,冗余修正阵列400由多个冗余修正模块串联组成。在本发明一实施例中,冗余修正模块的个数与冗余字模块200内的冗余字单元的个数相同,为n。请再参阅图5,图5为本发明一实施例的冗余修正模块的细部电路示意图。如图5所示,冗余修正模块包括逻辑电路110和mux2路复用电路120,mux2路复用电路120包括两个输入支路,每一个输入支路包括一个可控的开关,第一个输入支路的可控开关的一个端接收修正位修正值,第二个输入支路的可控开关的一个端接收读出值,两个输入支路另一端连接构成该冗余修正模块的输出端。其中,逻辑电路110由一个与门和一个非门组成,与门的两输入端分别接收冗余字修正标志产生模块100输出的冗余字修正标志和对应的修正位,与门的输出端连接第一个输入支路的可控开关的栅极,以控制第一个输入支路的可控开关,与门的输出端更连接非门的输入端,非门的输出端连接第二个输入支路的可控开关的栅极,以控制第二个输入支路的可控开关。如此,当冗余字修正标志为“1”,也即读出信息的地址中的字地址的每一位bit与所有冗余bit各自所在的字地址匹配时,第一个输入支路的可控开关导通,mux2路复用电路120输出的值为修正值;当冗余字修正标志为“0”,也即读出信息的地址中的字地址的每一位bit与所有冗余bit各自所在的字地址不匹配时,第二个输入支路的可控开关导通,mux2路复用电路120输出的值为读出值。如此通过n个冗余修正模块串联组成的n层修正阵列,其中每层修正模块是否工作由冗余修正标志控制,当修正标志为“1”时,在该层上数据bit读出值被对应的冗余bit修正值替代,完成修正操作;当修正标志为“0”时,在该层上数据bit不作修正操作,直接进到下一层的修正阵列。依次进行,直到完全通过所有n层修正阵列,最后的输出值即为经过修正的正确值。如此,简化了电路和版图设计,节省了面积,减少了功耗,提高了效率。

更进一步的,应用上述的冗余修正电路的冗余修正方法为:

第一步进行字地址比较:冗余字修正标志产生模块100接收冗余字模块200的n个冗余字单元的字地址及接收输出地址单元300的字地址,将输出地址单元300的字地址和冗余修正bit所在的字地址进行比较,确认读出字是否需要修正,如果匹配,则把输出的冗余字修正标志置“1”;如果不匹配,输出的冗余字修正标志置“0”。

如此,对于需要修正的有n个冗余bit,每个冗余bit会对应产生n个冗余修正标志,其中n为大于等于1的整数。

第二步进行位修正:当读出输入地址的数据后,该数据逐次通过由n个冗余修正模块串联组成的n层修正阵列,其中每层修正模块是否工作由第一步的冗余修正标志控制,当修正标志为“1”时,在该层上数据bit读出值被对应的冗余bit修正值替代,完成修正操作;当修正标志为“0”时,在该层上数据bit不作修正操作,直接进到下一层的修正阵列,完成修正读出字中对应的数据位。

如此,依次进行,直到完全通过所有n层修正阵列,最后的输出值即为进过修正的正确值。

如此,在读出地址时,先对地址中的字地址的每一位bit与所有冗余bit各自所在的字地址进行比较,如果匹配,则通过冗余修正阵列对该字地址中的每一位逐位进行修正,而不是把读出地址与冗余bit的全部地址进行比较,提高了比较效率,节省了面积,减少了功耗,且电路结构简单,简化了版图设计。

综上所述,通过包括冗余字修正标志产生模块和n个串联连接的冗余修正模块的冗余修正电路,在读出地址时,冗余字修正标志产生模块先对地址中的字地址的每一位bit与所有冗余bit各自所在的字地址进行比较,如果匹配,则通过n个串联连接的冗余修正模块对该字地址中的每一位逐位进行修正,而不是把读出地址与冗余bit的全部地址进行比较,提高了比较效率,节省了面积,减少了功耗;之后采用串级修正的模式,把所有冗余bit的修正操作进行串级排列,每级冗余修正后的输出作为下一级修正的输入,简化了电路和版图设计,提高了效率。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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