【技术实现步骤摘要】
一种用于抗单粒子翻转存储器的可选位宽纠检错电路
本专利技术涉及一种用于抗单粒子翻转存储器的可选位宽纠检错电路,特别涉及一种对64位数据进行Hamming码的编码操作以及对经过编码的72位数据进行奇偶校验的纠检错电路,属于集成电路领域。
技术介绍
存储器资源是电子系统中的重要资源,系统中需要存储器进行输入数据缓冲、中间数据暂存、输出结果存储与访问等操作。通常在可编程逻辑器件、片上集成系统和高速模数、数模转换器中均设置了大量的存储器电路,以确保器件能够顺利进行高速、大规模的数据处理任务,是确保器件高性能运行最为重要的电路模块。对于应用在空间设备中的器件通常会受到空间单粒子效应的影响,会使存储器中的数据发生单粒子翻转,造成用户数据的错误。目前在存储器加固设计中,主流的方法是使用四交叉的双模冗余结构。这种方法能够有效防止单粒子效应造成的多个数据位翻转,但在单次读写操作中,发生单个数据位翻转的概率仍然较大且难以避免,因此有必要采用纠检错电路对存储器的数据进行校验,实现器件运行的可靠性和稳定性。传统的校验方法包括奇偶校验 ...
【技术保护点】
1.一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:包括纠检错编码模块和纠检错解码模块;/n纠检错编码模块:能够对11~64位宽的输入数据进行校验码编码操作,生成用于对数据进行纠检错的8位校验码,和输入数据一起输出给纠检错解码模块;/n纠检错解码模块:能够对来自纠检错编码模块的数据信号进行解码校验,当数据信号中存在一位错误时输出一位错误提示以及错误位置,并对错误进行纠正,当数据信号中存在两位错误时输出两位错误提示。/n
【技术特征摘要】
1.一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:包括纠检错编码模块和纠检错解码模块;
纠检错编码模块:能够对11~64位宽的输入数据进行校验码编码操作,生成用于对数据进行纠检错的8位校验码,和输入数据一起输出给纠检错解码模块;
纠检错解码模块:能够对来自纠检错编码模块的数据信号进行解码校验,当数据信号中存在一位错误时输出一位错误提示以及错误位置,并对错误进行纠正,当数据信号中存在两位错误时输出两位错误提示。
2.根据权利要求1所述的一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:纠检错编码模块具有DI<63:0>共64个数据输入端口和CLK、EN、S<1:0>共4个控制端口以及DIP<7:0>共8个数据输出端口,控制端口S<1:0>为位宽选择端口,通过设置S<1:0>的值实现对11~64位宽的输入数据进行编码;
控制端口CLK用于为纠检错编码模块内的输出寄存器提供时钟,控制端口EN用于为纠检错编码模块内的输出寄存器提供使能信号,当EN为1、CLK为方波时纠检错编码模块启用,所有端口均有效,当EN为0、CLK为恒0或恒1时纠检错编码模块停用,所有端口均无效。
3.根据权利要求2所述的一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:设置S<1:0>的值实现对11~64位宽的输入数据进行编码的具体方式如下:
当S<1>和S<0>均为1时,纠检错编码模块能够对58~64位宽的数据进行编码,此时DI<63:0>均有效,DIP<7:0>输出8位校验码;当S<1>为1、S<0>为0时,纠检错编码模块能够对27~57位宽的数据进行编码,此时DI<56:0>有效,DI<63:57>无效,DIP<5:0>输出校验码的有效位,DIP<7:6>置0;当S<1>为0、S<0>为1时,纠检错编码模块能够对12~26位宽的数据进行编码,此时DI<25:0>有效,DI<63:26>无效,DIP<4:0>输出校验码的有效位,DIP<7:5>置0;当S<1>和S<0>均为0时,纠检错编码模块能够对11位宽以内的数据进行编码,此时DI<10:0>有效,DI<63:11>无效,DIP<4:0>输出校验码的有效位,DIP<7:5>置0。
4.根据权利要求3所述的一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:
纠检错编码模块包括第一编解码模块K15、第二编解码模块K16、第三编解码模块K17、第四编解码模块K18、第五编解码模块K19、第六编解码模块K20、第七编解码模块K21、第八编解码模块K22、八个输出寄存器、九个与门和一个或门K39;
八个输出寄存器分别为输出寄存器K23、输出寄存器K24、输出寄存器K25、输出寄存器K26、输出寄存器K27、输出寄存器K28、输出寄存器K29和输出寄存器K30;
九个与门分别为与门K31、与门K32、与门K33、与门K34、与门K35、与门K36、与门K37、与门K38和与门K40;
输入端A<35:0>根据不同的编码顺序连接到输入端DI<63:0>;
连接关系如下:
第一编解码模块K15的输入端A<35:0>的36个输入接口分别连接DI<0>、DI<1>、DI<3>、DI<4>、DI<6>、DI<8>、DI<10>、DI<11>、DI<13>、DI<15>、DI<17>、DI<19>、DI<21>、DI<23>、DI<25>、DI<26>、DI<28>、DI<30>、DI<32>、DI<34>、DI<36>、DI<38>、DI<40>、DI<42>、DI<44>、DI<46>、DI<48>、DI<50>、DI<52>、DI<54>、DI<56>、DI<57>、DI<59>、DI<61>、DI<63>、GND;
第二编解码模块K16的输入端A<35:0>的36个输入接口分别连接DI<0>、DI<2>、DI<3>、DI<5>、DI<6>、DI<9>、DI<10>、DI<12>、DI<13>、DI<16>、DI<17>、DI<20>、DI<21>、DI<24>、DI<25>、DI<27>、DI<28>、DI<31>、DI<32>、DI<35>、DI<36>、DI<39>、DI<40>、DI<43>、DI<44>、DI<47>、DI<48>、DI<51>、DI<52>、DI<55>、DI<56>、DI<58>、DI<59>、DI<62>、DI<63>、GND;
第三编解码模块K17的输入端A<35:0>的36个输入接口分别连接DI<1>、DI<2>、DI<3>、DI<7>、DI<8>、DI<9>、DI<10>、DI<14>、DI<15>、DI<16>、DI<17>、DI<22>、DI<23>、DI<24>、DI<25>、DI<29>、DI<30>、DI<31>、DI<32>、DI<37>、DI<38>、DI<39>、DI<40>、DI<45>、DI<46>、DI<47>、DI<48>、DI<53>、DI<54>、DI<55>、DI<66>、DI<60>、DI<61>、DI<62>、DI<63>、GND;
第四编解码模块K18的输入端A<35:0>的36个输入接口分别连接DI<4>、DI<5>、DI<6>、DI<7>、DI<8>、DI<9>、DI<10>、DI<18>、DI<19>、DI<20>、DI<21>、DI<22>、DI<23>、DI<24>、DI<25>、DI<33>、DI<34>、DI<35>、DI<36>、DI<37>、DI<38>、DI<39>、DI<40>、DI<49>、DI<50>、DI<51>、DI<52>、DI<53>、DI<54>、DI<55>、DI<56>、GND、GND、GND、GND、GND;
第五编解码模块K19的输入端A<35:0>的36个输入接口分别连接DI<11>、DI<12>、DI<13>、DI<14>、DI<15>、DI<16>、DI<17>、DI<18>、DI<19>、DI<20>、DI<21>、DI<22>、DI<23>、DI<24>、DI<25>、DI<41>、DI<42>、DI<43>、DI<44>、DI<45>、DI<46>、DI<47>、DI<48>、DI<49>、DI<50>、DI<51>、DI<52>、DI<53>、DI<54>、DI<55>、DI<56>、GND、GND、GND、GND、GND;
第六编解码模块K20的输入端A<35:0>的36个输入接口分别连接DI<26>、DI<27>、DI<28>、DI<29>、DI<30>、DI<31>、DI<32>、DI<33>、DI<34>、DI<35>、DI<36>、DI<37>、DI<38>、DI<39>、DI<40>、DI<41>、DI<42>、DI<43>、DI<44>、DI<45>、DI<46>、DI<47>、DI<48>、DI<49>、DI<50>、DI<51>、DI<52>、DI<53>、DI<54>、DI<55>、DI<56>、GND、GND、GND、GND、GND;
第七编解码模块K21的输入端A<35:0>的36个输入接口分别连接DI<57>、DI<58>、DI<59>、DI<60>、DI<61>、DI<62>、DI<63>、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND、GND;
第八编解码模块K22的输入端A<35:0>的36个输入接口分别连接DI<0>、DI<1>、DI<2>、DI<4>、DI<5>、DI<7>、DI<10>、DI<11>、DI<12>、DI<14>、DI<17>、DI<18>、DI<21>、DI<23>、DI<24>、DI<26>、DI<27>、DI<29>、DI<32>、DI<33>、DI<36>、DI<38>、DI<39>、DI<41>、DI<44>、DI<46>、DI<47>、DI<50>、DI<51>、DI<53>、DI<56>、DI<57>、DI<58>、DI<60>、DI<63>、GND;
八个输出寄存器的数据输入端D与八个编解码模块的输出端ZN一一对应连接,八个输出寄存器的控制端CLK全部连接至纠检错编码模块的控制端口CLK,八个输出寄存器的控制端EN全部连接至纠检错编码模块的控制端口EN,八个输出寄存器与八个与门一一对应,每个输出寄存器的输出端Q连接至对应与门的一个输入端,与门K31、与门K32、与门K33和与门K34的另一个输入端均连接VCC,与门K35的另一个输入端连接或门K39的输出端,或门K39的两个输入端分别连接控制端口S<1:0>;与门K36的另一个输入端连接控制端口S<1>,与门K37、与门K38的另一个输入端连接与门K40的输出端,与门K40的两个输入端分别连接控制端S<1:0>,与门K31至K38的输出端作为DIP<7:0>。
5.根据权利要求4所述的一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:纠检错编码模块中的第一编解码模块K15、第二编解码模块K16、第三编解码模块K17、第四编解码模块K18、第五编解码模块K19、第六编解码模块K20、第七编解码模块K21、第八编解码模块K22电路结构相同,均为由异或门构成的编解码模块。
6.根据权利要求1所述的一种用于抗单粒子翻转存储器的可选位宽纠检错电路,其特征在于:纠检错解码模块具有DI1<63:0>、DIP1<7:0>共72个数据输入端口和CLK1、EN1共2个控制端口以及DCHECK<6:0>共7个纠错信号输出端口以及SBITERR、DBITERR共2个错误标志位端口;
控制端口CLK1用于为纠检错解码模块内的输出寄存器提供时钟,EN1用于为纠检错解码模块内的输出寄存器提供使能信号,当EN1为1、CLK1为方波时错误标志位端口SBITERR、DBITERR均有效,当EN1为0、CLK1为恒0或恒1时错误标志位端口SBITERR、DBITERR均无效;输入端口DI1<63:0>...
【专利技术属性】
技术研发人员:陈雷,刘亚泽,王文锋,李学武,孙华波,孙健爽,郭琨,倪劼,赫彩,甄淑奇,
申请(专利权)人:北京时代民芯科技有限公司,北京微电子技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。