JEDEC(电子工程设计发展联合协会)已经明确规定存储设备详细测试要求,须要对抖动、定时和电气信号质量进行验证。测试参数:如时 钟抖动、创建和保持时间、信号的过冲、信号的下冲、过渡电压等列入了JEDEC为存储器技术制定的测试规范。但执行规范里的这些测试是一个很大的挑战,因 为进行这些测试极可能是一个复杂而又耗时的任务。拥有正确的工具和技术,能够减小测试时间,并确保最准确的测试结果。在本应用文章中,咱们将讨论针对存储 器测试的解决方案,这个方案可以帮助工程师打败挑战和简化验证过程。前端
目录[隐藏] |
信号的获取和探测 算法
存储器验证的第一个难点问题是如何探测并采集必要的信号。JEDEC标准规定的测试应在存储器元件的BGA(球栅阵列结构的PCB)上。而FBGA封装组件包括一个焊球链接阵列(这是出于实际目的),没法进入链接,如何进行存储器的探测呢?网络
一种解决方案是在PCB布线过程当中设计测试点,或探测存储器元件板的背面的过孔。虽然这些测试点没有严格在“存储器元件附近”,PCB走线长度通常都比较短,对信号衰减的影响很小。当使用这种方法探测时,信号完整性一般是至关不错的,能够进行电气特性的验证。工具
对于这种类型应用,可使用手持探头,可是在多个探头前端和测试点同时保持良好的电接触很是困难。性能
考虑到有些JEDEC的测量要求三个或更多的测试点,加上其余信号如芯片选择信号、RAS和CAS可能须要肯定存储器状态,许多工程师经常选择使用焊接式探头进行链接。测试
泰克公司开发了一种专为这种类型的应用设计的探测解决方案。P7500系列探头有4~20GHz的带宽,是存储器验证应用的选择。图2 说明了几个可用的 P7500系列探头前端之一,这种探头很是适合存储器验证的应用。这些微波同轴”前端在须要多个探测前端进行焊接状况时提供了有效的解决方案,同时提供优 秀的信号保真度和4GHz带宽,足已知足存储器DDR3@1600MT/s的测试需求。spa
P7500 系列探头针对存储器测试应用的另外一个优势是泰克专有的TriMode(三态)功能。这种独特的功能容许探头不但能够测试+和-差分信号,又能够测试单端信 号。使用探头前端的三个焊接链接,用户就可使用探头上控制按钮或在示波器菜单来对差分和单端探测模式之间进行切换。使用焊接探头的+链接到单端数据或地 址线,使用焊接探头的-链接到另外一相邻线。而后用户可使用一个探头,经过两个单端测量模式之间切换,很容易地测量其中任何两个信号。设计
然而,不少状况下经过背面过孔探测信号可能不是一种好的选择。使用嵌入式存储器设计,存储器元件背面可能没有可用的板上空间。甚至不少标准的DIMM,在板的两面都有存储器元件,以增长存储密度。这种状况下,测试工程师怎样才能探测到测试点呢?内存
幸运的是,即便这样状况,如今也有探测解决方案。泰克公司与Nexus科技公司合做开发了全部标准DDR3和DDR2存储器设备转接板 内插板组件。这些转接板内插板使用插槽代替存储器元件链接到被测设备。在转接板有探测的测试点,而后对齐到插槽上的位置。存储器元件再插到转接板上。图4 是这种“链接”的示意图。开发
Nexus转接独特的特色是使用专有插座和保留了每个焊料的组成部分。这使得更换转接板和存储器元件时不须要从新焊接,从而增长了灵活性,同时也下降了因为屡次焊接操做带来不稳定的电气链接的风险。
转接板内插板嵌入了小型隔离电阻,尽量接近存储器的BGA焊盘。这些电阻与P7500系列探头前端电网络彻底匹配,确保良好的信号保真度。
(1)方法1
参考文献中给出了一种测试系统RAM的方法。该方法是分两步来检查,前后向整个数据区送入#00H和#FFH,再前后读出进行比较,若不同,则说明出错。
(2)方法2
方法1并不能彻底检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH—G。MARCH一G算法可以提 供很是出色的故障覆盖率,可是所须要的测试时间是很大的。MARCH—G算法须要对全地址空间遍历3次。设地址线为”根,则CPU需对RAM访问6×2n 次。
(3)方法3
参考文献中给出了一种经过地址信号移位来完成测试的方法。在地址信号为全O的基础上,每次只使地址线Ai的信号取反一次,同时保持其余 非检测地址线 Aj(i≠j)的信号维持0不变,这样从低位向高位逐位进行;接着在地址信号为全1的基础上,每次只使地址线Ai的信号取反一次,同时保持其余非检测地址 线Aj(i≠j)的信号维持1不变,一样从低位向高位逐位进行。所以地址信号的移位其实就是按照2K(K为整数,最大值为地址总线的宽度)非线性寻址,整 个所需的地址范围能够当作是以全0和全1为背景再经过移位产生的。在地址变化的同时给相应的存储单元写入不一样的伪随机数据。在以上的写单元操做完成后,再 倒序地将地址信号移位读出所写入的伪随机数据并进行检测。设地址线为n根,则CPU只对系统RAM中的2n+2个存储单元进行访问。
基于种子和逐位倒转的测试方法是在方法3的基础上进一步改进得到的。方法3主要是使用全O和全1两个背景数来移位展开的,与MARCH—G算法 相比得到的故障覆盖率稍微低些,但使用了较少的地址单元。这里咱们把方法3中的背景数称为“种子”。以地址线为8根的RAM为例,种子分别取 00000000和11111111两个数,取00000000、111111十一、0000llll和 llll0000四个数,以及取00000000、111111十一、000011十一、11110000、001100十一、1100llOO、 01010101和10101010八个数来移位展开测试,所达到的故障覆盖率是不同的。种子数为2的改进方法要低于MARCH—G算法的故障覆盖率, 种子数为4的改进方法与MARCH—G算法至关,种子数为8的改进方法可以超过MARCH—G算法的效果。总体上基于种子和逐位倒转的改进方法是能够代替 MARCH—G算法的,可是种子数目不一样所须要的寻址次数也是不一样的。设地址线为n根,种子数为2时须要访问RAM共计4”+4次,种子数为4时须要访问 RAM共计8n+8次,种子数为8时须要访问RAM共计16n+16次,而MARCH—G算法须要访问RAM共计6×2n次。可见,基于种子和逐位倒转的 改进方法比MARCH—G算法的测试时间开销大大下降。同时,故障覆盖率会随着种子数目的增长而提升,固然不一样种子数时所须要的测试时间开销也不一样。在实 际测试应用中要根据测试时间和测试故障覆盖率的需求来选择合适的种子数目,才能达到满意的效果。