存储器内建自测试方法

文档序号:6736630阅读:353来源:国知局
专利名称:存储器内建自测试方法
技术领域
本发明涉及IC设计中进行存储器内建自测试领域,特别是通过Mask Change 的方式修改了 ROM系数仍可重复使用的存储器内建自测试方法。
背景技术
随着半导体工艺尺寸不断縮小,集成电路IC设计的规模越来越大,高度复杂 的IC产品正面临着高可靠性、高质量、低成本以及更短的产品上市周期等日益严 峻的挑战。 一方面随着半导体工艺尺寸的縮小,嵌入式存储器可能存在的缺陷类 型越来越多;另一方面,随着IC产品的复杂度的提高,只读存储器ROM在IC产 品中的比重越来越大;所以对存储器进行测试越来越刻不容缓。利用存储器内建 自测试有很多其它技术优势,首先它可以实现可测性设计的自动化,自动实现通 用存储器测试算法,达到高测试质量、低测试成本的目的;其次存储器内建自测 试电路可以利用系统时钟进行"全速"测试,从而覆盖更多生成缺陷,减少测试 时间;最后它可以对每一个存储单元提供自诊断和自修复功能。此外存储器内建 自测试的初始化向量可以在很低成本的测试设备上进行。所以,从高测试质量、 低测试成本的角度考虑,存储器内建自测试是目前嵌入式存储器测试设计的主流 技术。
IC设计时完成的版图只是一些图像或/和数据,在把设计结果送到工艺线上 时,还必须经过制版的过程。我们看到的器件的版图是一组复合图,它实际上是 由若干的分层图形叠合而成,这个过程和印刷技术中的套印技术非常相像。制版 的目的就是产生一套分层的版图掩模Mask,为将来进行图形转移,即将设计的版 图转移到硅片上去做准备。通常, 一套掩模版有几十层分层掩模版。例如, 一个 一般的IC设计,如果在工艺代工厂(Foundry)中芯国际(SMIC)流片的话,大 概需要二十八层掩模版。集成电路的加工过程的复杂程度和制作周期在很大程度 上与掩模版的多少有关。
一般在工程样片试制阶段或者量产过程中,如果是制作了整套的掩模版进行 IC生产后发现有部分缺陷需要修改,或者有部分设计需要进行优化升级,可以通 过修改一层或者几层掩模版的方式来达到目的,即"Mask Change"。这样的话, 能够有效的减少设计更新所需时间,加快产品的上市。同时,不需要由于一些小 的设计修改重新制作整套的掩模版,节省了设计的成本。但是,能够通过Mast Change来进行优化和修改的电路,通常比较简单,或者改动很小,可以通过软件 辅助和手工配合的方式来达到目的。 一旦改动较大,就有可能需要修改十几层, 甚至几十层掩模版,这样反而得不偿失。但是,只读存储器不同于一般的IC硬件 电路,它是由Foundry提供的工具Memory Compiler直接生成,并且能够在保证 ROM的大小和深度不变的情况下,通过修改一层掩模版的方式自由地修改所有系数 的值。因此,很多设计公司都喜欢将软件程序放在ROM中,在生产过程中只需要 进行一次简单的Mask Change,就能够进行相关的软件程序升级。在当今的存储器内建自测试(MBIST)方法中, 一般是将设计中所需的系数或 者软件程序存放在只读存储器中,把通过相关设计工具(例如Mentor的 MbistArchitect)产生的标准校验码放在只读存储器外的硬件电路中。在存储器内 建自测试过程,只读存储器外的硬件电路将只读存储器中的全部系数读出来,通 过硬件电路中的存储器内建自测试固有算法,生成一个其特有的校验码,与只读 存储器外的硬件电路中保存的标准校验码进行比对,用以判断只读存储器在代工 厂物理生产过程中是否有损坏。当只读存储器的位宽、深度一定时,其对应的存储器内建自测试算法电路也是完全相同的。但是,如果ROM内含的系数发生改变,其对应特有的校验码也会 随之发生改变。对于已经作了所有层次的掩膜的芯片,若通过Mask Change的方 式,对只读存储器外硬件电路存储的标准校验码进行修改会有很大的实现难度和风险,甚至没有任何的可信性。因此,一旦设计需要修改系数或者升级软件程序,为了实现存储器内建自测试,那么必须重新投片,既浪费金钱,又浪费时间。发明内容本发明为解决上述技术问题,提出了通过Mask Change的方式修改了ROM的系数仍可重复使用的存储器内建自测试方法。 本发明的技术方案如下存储器内建自测试方法,其特征在于首先判断ROM中是否有冗余地址,当 有冗余地址时用于存储标准校验码,然后将ROM中的系数文件转化成一定的格式, 然后通过设计工具产生自测试逻辑和与ROM对应的标准校验码,最后将标准校验
码写入冗余地址并生成新的R0M。
所述一定的格式是转化系数文件用的工具软件需要的格式。 但是,在设计工具软件脚本的编写过程中,对只读存储器读写地址的控制描 述,应该屏蔽存储校验码所需冗余读写地址的定义,即在对只读存储器读写地址 的控制描述中将最大地址设为只读存储器实际地址与存放标准校验码所占用的地 址的差值,没有对存放标准校验码所占用的地址进行控制描述,从而起到屏蔽作 用。
所述设计工具可以是Mentor的MbistArchitect, MbistArchitect产生自测 试逻辑和与ROM对应的标准校验码。
所述自测试逻辑就是存储器内建自测试算法电路。
可以通过Foundry提供的存储器产生工具重新生成新的只读存储器。
本发明的有益效果如下
本发明可以保证标准校验码和系数都能够通过Mask Change的方式进行相应 的简单修改,从而能够重复使用存储器内建自测试进行ROM的损坏测试,而不需 要通过重新制作整套Mask的方式修改存放在ROM外的标准校验码,节省了成本和 时间,降底了成品的更新换代的难度。 具体实施例 实施例1
经过Mask Change修改系数仍可重复使用的存储器内建自测试方法,首先判 断ROM中是否有冗余地址,当有冗余地址时用于存储标准校验码,然后将ROM中 的系数文件转化成一定的格式,然后通过设计工具产生自测试逻辑和与ROM对应 的标准校验码,最后将标准校验码写入冗余地址并生成新的R0M。
例如,需要存放在ROM中的系数有120个,但是生成的ROM地址有128个, 则说明这个ROM拥有8个冗余地址,可以存放标准的校验码。
所述一定的格式是转化系数文件用的工具软件需要的格式,例如Mentor的 MbistArchitect所需要的格式,格式为16进制地址/ 16进制系数。
但是,在设计工具软件脚本的编写过程中,对只读存储器读写地址的控制描 述,应该屏蔽存储校验码所需冗余读写地址的定义,即在对只读存储器读写地址 的控制描述中将最大地址设为只读存储器实际地址与存放标准校验码所占用的地 址的差值,没有对存放标准校验码所占用的地址进行控制描述,从而起到屏蔽作用。 所述设计工具可以是Mentor的MbistArchitect, MbistArchitect产生自领!) 试逻辑和与ROM对应的标准校验码。 所述自测试逻辑就是存储器内建自测试算法电路。 可以通过Foundry提供的存储器产生工具重新生成新的只读存储器。 实施例2 要设计一个深度(地址)为256,需要存放的系数文件(roraA_cof.txt)中有 240个系数,位宽为32位的只读存储器A,可通过以下步骤来实现 ① 因只读存储器A深度为256,需要存放的系数有240个,所以可以确认有冗 余的地址存放32位标准校验码; ② 将系数文件romA—cof. txt转换为MbistArchitect所需要的格式(例如011A /01B74C7F;)。由于只读存储器A的位宽为32,存放32位标准校验码需要 占用只读存储器A的1个地址。在设计工具软件脚本里,对只读存储器A 读写地址的最后一个地址(255)进行屏蔽,即对只读存储器A读写地址的 控制描述中将最大地址设为254 (存储器读写地址范围为0 254); ③ 用Mentor的MbistArchitect产生自测试逻辑,共有4个文件 Compressor—lib. v, romA—bist. v, romA—bist—con. v, romA—tb. v 在romA一tb. v中可以得到32位标准校验码,将其写入romA—cof. txt的最后 一行,利用存储器产生工具DR0M一HSD产生romA; 实施例3 要设计一个深度为128,需要存放的系数文件(romB—cof. txt)中有120个系 数(此120个系数的系数文件己经转换为所需的格式即"16进制地址/ 16进制系 数;"),位宽为8位的只读存储器B(romB),可通过以下步骤来实现 ① .因只读存储器B(romB)深度为128,需要存放的系数有120个,所以可以确 认有冗余的地址存放32位标准校验码; ② .由于只读存储器B(romB)的位宽为8,存放32位标准校验码需要占用只读 存储器B的4个地址。在设计工具软件脚本里,对只读存储器B读写地址 的最后四个地址(124 127)进行屏蔽,即对只读存储器B读写地址的控 制描述中将最大地址设为123 (存储器读写地址范围为0 123) ③ .用Mentor的MbistArchitect产生自测试逻辑,共有4个文件
<formula>formula see original document page 7</formula>在romB_tb. v中可以得到32位标准校验码如32 'h45f64f3b,将其写入 romB一cof.txt的后面(分四行写,每八位一行,将32位标准校验码的高八 位写入地址124,低八位写入地址127中),利用存储器产生工具DROM一HSD 产生romB; 实施例4要设计一个深度为64,需要存放的系数文件(romC_cof.txt)中有60个系数 (此60个系数的系数文件已经转换为所需的格式即"16进制地址/ 16进制系 数;"),位宽为17位的只读存储器C(romC),可通过以下步骤来实现① 因只读存储器C(romC)深度为64,需要存放的系数有60个,所以可以确 认有冗余的地址存放32位标准校验码;② 由于只读存储器C(romC)的位宽为17,存放32位标准校验码需要占用只 读存储器C的2个地址。在设计工具软件脚本里,对只读存储器C读写 地址的最后两个地址(62 63)进行屏蔽,即对只读存储器C读写地址 的控制描述中将最大地址设为61 (存储器读写地址范围为0 61)③ 用Mentor的MbistArchitect产生自测试逻辑,共有4个文件
Compressor—lib. v, romC—bist. v, romC一bist—con. v, romC—tb. v④ 在romC—tb. v中可以得到32位标准校验码,将其写入romC_cof. txt的 后面(分两行写,每17位一行,添加2个0在32位标准校验码的高15 位前构成17位数字写入地址62, 32位标准校验码的低17位写入地址 63中),利用存储器产生工具DR0M_HSD产生romC;
权利要求
1、存储器内建自测试方法,其特征在于首先判断ROM中是否有冗余地址,当有冗余地址时用于存储标准校验码,然后将ROM中的系数文件转化成一定的格式,然后通过设计工具产生自测试逻辑和与ROM对应的标准校验码,最后将标准校验码写入冗余地址并生成新的ROM。
2、 根据权利要求l所述的存储器内建自测试方法,其特征在于所述一定的 格式是转化系数文件用的工具软件需要的格式。
3、 根据权利要求2所述的存储器内建自测试方法,其特征在于所述工具软 件转化系数文件时,对只读存储器读写地址的控制描述屏蔽了存储校验码所需冗 余读写地址的定义,即在对只读存储器读写地址的控制描述中将最大地址设为只 读存储器实际地址与存放标准校验码所占用的地址的差值。
4、 根据权利要求l所述的存储器内建自测试方法,其特征在于所述自测试逻辑就是存储器内建自测试算法电路。
5、 根据权利要求l所述的存储器内建自测试方法,其特征在于所述生成新的ROM是通过存储器产生工具重新生成的。
全文摘要
本发明公开了存储器内建自测试方法,其特征在于首先判断ROM中是否有冗余地址,当有冗余地址时用于存储标准校验码,然后将ROM中的系数文件转化成一定的格式,然后通过设计工具产生自测试逻辑和与ROM对应的标准校验码,最后将标准校验码写入冗余地址并生成新的ROM;本发明可以保证标准校验码和系数都能够通过Mask Change的方式进行相应的简单修改,从而能够重复使用存储器内建自测试进行ROM的损坏测试,而不需要通过重新制作整套Mask的方式修改存放在ROM外的标准校验码,节省了成本和时间,降底了成品的更新换代的难度。
文档编号G11C29/12GK101339811SQ200810045810
公开日2009年1月7日 申请日期2008年8月14日 优先权日2008年8月14日
发明者唐杜娟, 修 杨 申请人:四川登巅微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1