SOC中多片嵌入式SRAM的DFT实现方法(2)

2011年12月15日 10:25 来源:本站整理 作者:叶子 我要评论(0)

3 结果比较

  对于串行MBIST结构,在前端设计时需要考虑到所有SRAM的大小等情况,而多数设计中,嵌入的SRAM大小各不相同,所以,前端实现较复杂;复用同一套MBIST结构(如激励产生结构和比较电路等)虽然节省面积,但为了有利于时序收敛及绕线,往往需要SRAM靠近与之有逻辑关系的功能单元,但这会对芯片整体物理版图的设计带来一定束缚;SRAM数量较大时,逐一测试显然能使功耗降到最低,但可能导致测试时间增长,测试成本上升。

  对于并行MBIST结构,由于SRAM各成体系,互不相扰,前后端实现都很容易,芯片测试时间短,但较之串行MBIST结构,则会增加芯片面积和功耗,而且其功耗还有可能超过电源网供电容限而导致芯片烧掉;

  两种实现方法的结果比较如表1所列。

  

 

  基于表1,该OSD芯片应采用并行MBIST结构。对多个不同大小的SRAM MBIST架构,采用串行MBIST结构可以大幅降低面积与功耗,但无论对于串测还是并测来说,随着数据位宽较大的SRAM (如位宽64 bit)数量的增多,与SRAM直接相连的逻辑会显著影响扫描测试的覆盖率。

  4 MBIST对扫描测试覆盖率的影响

  DFT设计有可控制性和可观测性两个基本原则,即对DFT设计要求所有输入逻辑是可控的和输出逻辑是可测的。不可控逻辑和不可测逻辑对测试覆盖率提出了很大的挑战。通常可以通过适当添加测试点的方式,使原来不可控和不可测的逻辑变化反映到扫描链上,使之变得间接可控和可观测,以提高整个芯片的测试覆盖率和测试效率。

  Svnopsys公司的TetraMAX ATPG定义的故障覆盖率(fault coverage)如下:

  

 

  若测试覆盖率较低,首先应分析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门,为了将故障响应从它的一个输入传播到它的输出,可根据方便程度设置所有其他的输入为0或1。而对于AND/NAND门,为了将系统的故障响应从它的一个输入传播到它的输出,则必须通过将其他输入设置为l来实现,其中“l”对于AND/NAND门是一个非控制值。同理,“0”对于OR/NOR门也是一个非控制值。图4所示是旁路RAM的电路示意图。图中,多路选择器由test_mode信号控制,与RAM的输入输出连接的逻辑可测,RAM模块的测试覆盖率可提高到98.3%,相应的整个芯片的测试覆盖率提高了4个百分点。

  

 

  由此可见,MBIST结构可直接实例化地用在数字设计部分。该系统的功能逻辑部分含有万余寄存器,为了提高测试覆盖率添,加几个寄存器及很少组合逻辑作为测试点后,即可将测试覆盖率提高且不会增加太大的面积开销,因而这种方法是很有效率的。如果前期设计时就能考虑这种测试结构,DFT设计过程中就会减少反复,减少测试设计周期。

  5 结束语

  本文基于一个实际项目,分别用常用的并行与串行两种方式来实现MBIST的构架,并对其开销进行了定量与定性讨论,结果是对于不同的设计,应当灵活构建测试结构以达到设计目的。对于在嵌入式存储器数量较少,位宽较小的情况下,MBIST对扫描测试覆盖率的影响并不明显,易被人们忽视,一旦这种影响显著发生,比较高效的方法是插入旁路电路,这样,在提高覆盖率的同时也不会增加太大的面积开销。可见,对于一个嵌入多片SRAM的SOC进行DFT设计时。应从多维度灵活处理,折中考虑。

上一页12

本文导航

标签:嵌入式(1167)SRAM(66)SOC(158)