一种宇航用带EDAC功能SRAM存储器功能验证方法技术

技术编号:11900858 阅读:410 留言:0更新日期:2015-08-19 12:52
一种宇航用带EDAC功能SRAM存储器功能验证方法,通过对带EDAC功能SRAM存储器进行全面的功能性能验证来检验带EDAC功能SRAM存储器是否满足于宇航应用要求,验证内容包括带EDAC功能SRAM存储器在EDAC开启和关闭情况下的March C算法验证、1bit注错验证和2bit注错验证。该方法将March C算法的数据背景扩展为32位字定向的算法,同时增加数据保持故障的验证;结合故障注入的EDAC测试程序作为宇航用带EDAC功能SRAM存储器的验证方法。

【技术实现步骤摘要】
一种宇航用带EDAC功能SRAM存储器功能验证方法
本专利技术涉及一种宇航用带EDAC功能SRAM存储器功能验证方法,属于宇航元器件应用验证

技术介绍
受宇宙空间中辐射的影响,航天器上的静态随机存储器(StaticRandomAccessMemory,SRAM)可能会发生单粒子翻转效应(SignalEventUpset,SEU)。SEU可能会造成存储器某一位的数据从一个稳态变化到另一个稳态,而存储器的数据变化又会使星载计算机系统的指令或是数据出错,严重时可能导致整个星载计算机系统的崩溃。因此,需要寻找一种办法来纠错或是容错。实现星载计算机SRAM容错或纠错的办法有很多,采用带EDAC功能的SRAM存储器是最直接的办法。随着工艺尺寸的不断缩小,存储容量的不断扩大,SRAM存储器的测试复杂度越来越大,为提供合格的存储器产品,必须针对各种电路故障,优化测试向量,提高产品的测试覆盖率。带EDAC功能的SRAM存储器是一种新型的存储器,目前已有的功能验证方法都是针对不带EDAC功能的SRAM存储器设计的。本专利技术即在此背景下,为了实现对带EDAC功能的SRAM存储器全面有效的验证,提出了相应的功能验证方法。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供了一种宇航用带EDAC功能SRAM存储器功能验证方法。本专利技术的技术解决方案是:一种宇航用带EDAC功能SRAM存储器功能验证方法,步骤如下:(1)将SRAM存储器的EDAC纠错模式开启,进行MarchC-算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;总体计数器的初值为0;(2)将SRAM存储器的EDAC纠错模式关闭,再次进行MarchC-算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;(3)对SRAM存储器的进行1bit注错测试,并将测试结果上传给上位机,测试结果包括多个SBE软计数器的值和多个SBE硬件计数器的值,如果所有SBE软计数器值均为0并且所有SBE硬件计数器值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;(4)对SRAM存储器的进行2bit注错测试;并将测试结果上传给上位机,测试结果包括多个MBE软计数器的值和多个MBE硬件计数器的值,如果所有MBE软计数器值均为0并且所有MBE硬件计数器值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;之后进入步骤(5);(5)判断总体计数器的值,如果总体计数器的值为0,则所述带EDAC功能的SRAM存储器功能验证通过,否则表明SRAM存储器功能异常。所述步骤(1)和步骤(2)中进行MarchC-算法功能验证均通过如下方式进行:(2.1)从首地址0x00000按递增顺序,将SRAM存储器中所有地址均初始化为0x00000000,设置错误计数器,并初始化为0;(2.2)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xFFFFFFFF;如果不同,则令错误计数器加1,同时也将该地址数据写为0xFFFFFFFF;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.3);(2.3)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xFFFFFFFF进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x00000000;如果不同,则令错误计数器加1,同时也将该地址数据写为0x00000000;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.4);(2.4)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xFFFFFFFF;如果不同,则令错误计数器加1,同时也将该地址数据写为0xFFFFFFFF;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.5);(2.5)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xFFFFFFFF进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x0000000;如果不同,则令错误计数器加1,同时也将该地址数据写为0x0000000;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.6);(2.6)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x55555555;如果不同,则令错误计数器加1,同时也将该地址数据写为0x55555555;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.7);(2.7)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x55555555进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xAAAAAAAA;如果不同,则令错误计数器加1,同时也将该地址数据写为0xAAAAAAAA;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.8);(2.8)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xAAAAAAAA进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x55555555;如果不同,则令错误计数器加1,同时也将该地址数据写为0x55555555;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.9);(2.9)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x55555555进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x33333333;如果不同,则令错误计数器加1,同时也将该地址数据写为0x33333333;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.10);(2.10)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x33333333进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xCCCCCCCC;如果不同,则令错误计数器加1,同时也将该地址数据写为0xCCCCCCCC;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.11);(2.11)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xCCCCCC本文档来自技高网...
一种宇航用带EDAC功能SRAM存储器功能验证方法

【技术保护点】
一种宇航用带EDAC功能SRAM存储器功能验证方法,其特征在于步骤如下:(1)将SRAM存储器的EDAC纠错模式开启,进行March C‑算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;总体计数器的初值为0;(2)将SRAM存储器的EDAC纠错模式关闭,再次进行March C‑算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;(3)对SRAM存储器的进行1bit注错测试,并将测试结果上传给上位机,测试结果包括多个SBE软计数器的值和多个SBE硬件计数器的值,如果所有SBE软计数器值均为0并且所有SBE硬件计数器值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;(4)对SRAM存储器的进行2bit注错测试;并将测试结果上传给上位机,测试结果包括多个MBE软计数器的值和多个MBE硬件计数器的值,如果所有MBE软计数器值均为0并且所有MBE硬件计数器值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;之后进入步骤(5);(5)判断总体计数器的值,如果总体计数器的值为0,则所述带EDAC功能的SRAM存储器功能验证通过,否则表明SRAM存储器功能异常。...

【技术特征摘要】
1.一种宇航用带EDAC功能SRAM存储器功能验证方法,其特征在于步骤如下:(1)将SRAM存储器的EDAC纠错模式开启,进行MarchC-算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;总体计数器的初值为0;(2)将SRAM存储器的EDAC纠错模式关闭,再次进行MarchC-算法功能验证,并将每个测试向量的验证结果通过串口发送给上位机,如果所有测试向量的验证结果均为0,令总体计数器的值维持不变;否则,令总体计数器的值加1;(3)对SRAM存储器进行1bit注错测试,并将测试结果上传给上位机,测试结果包括多个SBE软计数器的值和多个SBE硬件计数器的值,如果所有SBE软计数器的值均为0并且所有SBE硬件计数器的值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;(4)对SRAM存储器进行2bit注错测试;并将测试结果上传给上位机,测试结果包括多个MBE软计数器的值和多个MBE硬件计数器的值,如果所有MBE软计数器的值均为0并且所有MBE硬件计数器的值均为512K,则令总体计数器的值维持不变;否则,令总体计数器的值加1;之后进入步骤(5);(5)判断总体计数器的值,如果总体计数器的值为0,则所述带EDAC功能的SRAM存储器功能验证通过,否则表明SRAM存储器功能异常。2.根据权利要求1所述的一种宇航用带EDAC功能SRAM存储器功能验证方法,其特征在于:所述步骤(1)和步骤(2)中进行MarchC-算法功能验证均通过如下方式进行:(2.1)从首地址0x00000按递增顺序,将SRAM存储器中所有地址均初始化为0x00000000,设置错误计数器,并初始化为0;(2.2)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xFFFFFFFF;如果不同,则令错误计数器加1,同时也将该地址数据写为0xFFFFFFFF;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.3);(2.3)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xFFFFFFFF进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x00000000;如果不同,则令错误计数器加1,同时也将该地址数据写为0x00000000;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.4);(2.4)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xFFFFFFFF;如果不同,则令错误计数器加1,同时也将该地址数据写为0xFFFFFFFF;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.5);(2.5)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xFFFFFFFF进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x00000000;如果不同,则令错误计数器加1,同时也将该地址数据写为0x00000000;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.6);(2.6)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x00000000进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x55555555;如果不同,则令错误计数器加1,同时也将该地址数据写为0x55555555;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.7);(2.7)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x55555555进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xAAAAAAAA;如果不同,则令错误计数器加1,同时也将该地址数据写为0xAAAAAAAA;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.8);(2.8)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xAAAAAAAA进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x55555555;如果不同,则令错误计数器加1,同时也将该地址数据写为0x55555555;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.9);(2.9)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x55555555进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x33333333;如果不同,则令错误计数器加1,同时也将该地址数据写为0x33333333;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.10);(2.10)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x33333333进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xCCCCCCCC;如果不同,则令错误计数器加1,同时也将该地址数据写为0xCCCCCCCC;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.11);(2.11)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xCCCCCCCC进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x33333333;如果不同,则令错误计数器加1,同时也将该地址数据写为0x33333333;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.12);(2.12)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x33333333进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x0F0F0F0F;如果不同,则令错误计数器加1,同时也将该地址数据写为0x0F0F0F0F;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.13);(2.13)从末地址0x7FFFF按递减顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0x0F0F0F0F进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0xF0F0F0F0;如果不同,则令错误计数器加1,同时也将该地址数据写为0xF0F0F0F0;遍历所有地址之后,将错误计数器的值上传给上位机,再将错误计数器的值清零,之后进入步骤(2.14);(2.14)从首地址0x00000按递增顺序,读取SRAM存储器中每个地址的数据,并将读取出的数据与0xF0F0F0F0进行比较,如果相同,则表明该地址数据正确,并将该地址数据写为0x0F0F0F0F;如果不同,则令错误计数器加1,同时也将该地址数据写为0x0F0F0F0F;遍历所有地址之...

【专利技术属性】
技术研发人员:肖爱斌王斐尧王文炎赵佳张雷浩张皓源
申请(专利权)人:中国空间技术研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1