SOC中多片嵌入式SRAM的DFT实现方法
本文基于MBIST的一般测试方法来对多片SRAM的可测试设计进行优化,提出了一种通过一个MBIST控制逻辑来实现多片SRAM的MBIST测试的优化方法。
1 MBIST介绍
MBIST意即存储器内建自测试(Memory Build In Self Test),是目前业界用来测试存储器的一种常见方法,其原理是通过多次反复读写SRAM来确定其是否存在制造中的缺陷。MBIST的EDA工具可针对内嵌存储器自动创建BIST逻辑,它支持多种测试算法的自动实现(常用算法为March C+),并可完成BIST逻辑与存储器的连接。此外,MBIST结构中还可包括故障自动诊断功能,方便故障定位和特定测试向量的开发。MB-IST的基本结构如图1所示。
![](../img/ele-ee/ee-37810nrnmnngwhss.jpg)
整个SRAM和MBIST控制逻辑构成的整体只是在原有SRAM端口的基础上增加了复位信号rst_n和bist_start信号(为高表示开始测试)两个输入信号,同时增加了test_dONe(为高表示测试完成)、fail_h(为高表示出现故障)、addr_er(fail_h为高时输出的故障地址有效)等三个输出信号。
2 多片SRAM的MBIST测试结构
基于SMIC 0.13um工艺的OSD (On Screen Display)显示芯片需嵌入地址位宽为8-bit、数据位宽为512-bit。即大小为256x512bit的SRAM来存储大量的客户定制字符。由于Artisan的SPSRAM Generator支持的SRAM模型的最大数据位宽为64 bit,故可通过8片大小为256×64 bit的SRAM来实现。
利用Mentor公司的MBIST Architect选取March3算法可产生两种MBIST结构。其一为每片256x64 bit的SRAM各生成一套MBIST逻辑,以构建MBIST并行结构,图2所示为其并行结构示意图。该方法可对所有MBIST的test_done(完成标志)进行"与"操作,以保证所有SRAM都测试结束;fail_h(失效标志)可进行"或"操作来实现(高有效),只要有一个SRAM出现故障即停止测试,否则表明所有SRAM测试都通过。
![](../img/ele-ee/ee-37811tdy5sb2vfvf.jpg)
第二种方法是针对256×64bit大小的SRAM只生成一套MBIST,然后通过附加的状态机和数字逻辑来对多片SRAM逐一进行测试,即构建如图3所示的MBIST串行结构。当所测的某一个SRAM出现故障即停止测试,若所有SRAM测试结束都未有error信号输出,则表明所有SRAM测试均通过。
![](../img/ele-ee/ee-37812eojr45ouebt.jpg)
3 结果比较
对于串行MBIST结构,在前端设计时需要考虑到所有SRAM的大小等情况,而多数设计中,嵌入的SRAM大小各不相同,所以,前端实现较复杂;复用同一套MBIST结构(如激励产生结构和比较电路等)虽然节省面积,但为了有利于时序收敛及绕线,往往需要SRAM靠近与之有逻辑关系的功能单元,但这会对芯片整体物理版图的设计带来一定束缚;SRAM数量较大时,逐一测试显然能使功耗降到最低,但可能导致测试时间增长,测试成本上升。
对于并行MBIST结构,由于SRAM各成体系,互不相扰,前后端实现都很容易,芯片测试时间短,但较之串行MBIST结构,则会增加芯片面积和功耗,而且其功耗还有可能超过电源网供电容限而导致芯片烧掉;
两种实现方法的结果比较如表1所列。
![](../img/ele-ee/ee-37813cmlmhqjwyo5.jpg)
基于表1,该OSD芯片应采用并行MBIST结构。对多个不同大小的SRAM MBIST架构,采用串行MBIST结构可以大幅降低面积与功耗,但无论对于串测还是并测来说,随着数据位宽较大的SRAM (如位宽64 bit)数量的增多,与SRAM直接相连的逻辑会显著影响扫描测试的覆盖率。
4 MBIST对扫描测试覆盖率的影响
DFT设计有可控制性和可观测性两个基本原则,即对DFT设计要求所有输入逻辑是可控的和输出逻辑是可测的。不可控逻辑和不可测逻辑对测试覆盖率提出了很大的挑战。通常可以通过适当添加测试点的方式,使原来不可控和不可测的逻辑变化反映到扫描链上,使之变得间接可控和可观测,以提高整个芯片的测试覆盖率和测试效率。
Svnopsys公司的TetraMAX ATPG定义的故障覆盖率(fault coverage)如下:
![](../img/ele-ee/ee-37814kap2xxaqdjx.jpg)
若测试覆盖率较低,首先应分析DRC(design rule constraint)Violations,并尽量消除DRCViolations。再分析AU(ATPG untestable)报告,减少AU的数量。按照模块层次来报告测试覆盖率时,应找到覆盖率低的模块重点分析。该项目的AU报告中和RAM有关的部分占了很大一部分。RAM自测试模块的测试覆盖率只有6%。分析工具把RAM当做black box,由于这些SRAM的数据位很宽,故SRAM数据端口不可控和不可测的逻辑(称为阴影逻辑)更多,芯片的测试覆盖率也更低。给RAM加旁路(bypass)逻辑,测试模式下将输入和输出连起来,可使原来不可控和不可观测的逻辑变化反映到扫描链上,使之变得间接可控和可观测,从而提高整个芯片的测试覆盖率。RAM的输入比输出多,故可用XOR连接。对于XOR/XNOR门,为
- 提高智能电表精度新方法,内置高耐度nvSRAM(02-24)
- SRAM特点及工作原理(07-02)
- SRAM模块,SRAM模块结构原理是什么?(02-24)
- 非易失性SRAM DS1747(08-28)
- 基于SRAM的FPGA设计IP的解决方案(03-07)
- 基于Microsemi FPGA的TFT控制的四大解决方案(04-07)