(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf_第1页
(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf_第2页
(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf_第3页
(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf_第4页
(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(微电子学与固体电子学专业论文)一种sram内建自测电路的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 本文主要介绍了一种s r a m 内建自测电路的设计与应用。本文设计的s r a m b i s t 电路具有故障覆盖率高、结构简单和可复用性高等特点。 文章首先介绍了s r m 的组成结构与工作原理,借助p s p i c e 电路仿真软件对 s r a m6 管存储单元的工作原理进行了实际分析。然后文章对s r a m 的故障模型以 及相应的诊断方法进行了说明,并且简要介绍了几种常见的s r 删内建测性算法和 常用的b i s t 结构。详细分析了s r 埘内建测试算法中较为优化的m a r c hc + 算法, 阐述了由线形反馈移位寄存器实现地址发生器的可能性与实现方法。 文章详细说明了基于姒r c hc + 算法与l f s r 的s r a mb i s t 电路的设计方法与 过程。本章对l f s r 理论进行了简要的阐述,对l f s r 实现b i s t 地址发生器的方法 做了详细的分析,对比分析了基于计数器与基于l f s r 的两种地址发生器,说明了 由l 粥r 实现的地址发生器的优越之处一占用面积小、可复用性高。对眦r c hc + 算法的实现步骤做了详细的分析,最后给出了以l f s r 作为地址发生器的m a r c ic + 算法有限状态转移图,根据该有限状态机对算法进行了v e r i l o g 行为级描述,并 完成了仿真与综合。对s r a l ib i s t 电路中的数据发生器和比较器模块进行了分析、 v e r i l o g 行为级描述、仿真与综合对s r 枷b i s t 整体电路的设计过程进行了说 明,并给出了电路在非测试状态和内测试状态的仿真结果与电路的综合方法。 通过一个实际的专用集成电路,给出了本文设计的s r a mb i s t 电路的嵌入式 s r a i i 内建自测试解决方案,分析了s r a mb i s t 电路与该a s i c 中相关模块接口电 路的设计思路,从而从使用角度对电路进行了验证,并且说明了该b i s t 电路的应 用方法。 最后文章对s r a m 内建自测试的延伸课题内建自修复技术进行了简单介 绍,针对文中所设计的s r a mb i s t 电路,对b i s r 电路的实现做了一些大体设想, 为后继工作作了铺垫。 关键词:s r 棚内建自测电路a r c hc + 算法线性反馈移位寄存器v e r ;i o g b 啦疆d a b s t f a c t n et h c s i si l l u m i m t e st h ed 嚣细锄da p p l i c a t i o no fan c ws r a mb u i l t i ns c l f - t c s t d r 饥i t 删sn e wb i s td 枷i t i s 聆u s a b l e ,咖p a c t 锄do fl l i g hf a u l t v c m g e ,w l i i c hi s p m d i c a la n dp i o s p e 娥i v c a t 丘r s t ,t h c w o r l 【p r i n c i p l e 柚d t h c p a n s t h a l c o m p o s i 乙wa i c i n t i o d u c e d a c m o ss r a m 6 t 吼哦g co e n i s 锄d y z e d 髑i n gp s p i c e m nm c f a u n m o d c l s 卸d t h c j rt c s t 吨m c 恤o d s ,s 衄ep o p u l 盯b i s ta l g o 舳脚柚ds t r u c t i l 圮黜i n t 硎u c e d n e t h 鹤i sd j 蚓l 鼬sm a r c h c 斗a 1 9 0 r i t h m ,w l l i c hh 硒ah i 曲m n v 啪g c ,卸dl i n e 对 f c c d b a c ks h i f tr e 酉s t e r s w h i c h 啪b cl i s c dt oi m p l 锄锄tt h ea 拙岱sg c n c m t o ro f t h c b i s t 1 1 l i st h 髓i s 缸u s 髓o nt h ep i o c c 豁锄l dm e t h o d0 fd 伪i 伊i n gt h cs r a mb i s t b a s c d m a r c hc + a l 鲥t h m 柚du 唱r f i r s t l y t h cb 弱i ct h c o f yo fu 毽r 柚dm e m e t h o dt 0a d a p tl f s rt ot h ca d d f e 稿g c n 咖ra 肥柚a l y z c d b a s c d m p a r i n gt l 托 a d d r e 鹳g e n e r a t o 埽i m p l e m e m c db yi j f s r 柚db y 彻m t c f ,t h cg e n c m t o fi m p l e m c n t c d b yu 强ri sm o 佗咖p a c t 柚dr c u s a b l c a c o o f d i n gt 0n ”f i n i t es t a t cm a c h i o ft h c b i s t 璐i n gm a r c hc + a 1 9 0 m h ma n dl 腿,t h et h 髂i sd e s i 印st h eb i s t n 仃o u 盯 w i t hv c m o gh d l1 n b ed c s i 萨m e t h o d so fd a l ag c n e m l o r 觚do o m p 盯a i o ra 托a l s o s h o w n n es i m u l a i i 卸ds y n t h 伪i s - 豁u l t s0 fc v c r yp a n so f n 比b i s ta g i v 姐i n c s p d i n g c i i s h 伽d 盯t 0 v c d f y t h e b l s t d r c u i t s ,t h c s l b 蝴b i s t i s 删c a l l y u s c d t o t e s t 啦 t h ec m b c d d o ds r a m i n 缸a s i c ( a p p l i c a t i o ns p c c 垴ch t e 掣a t c d ( 瀣锄i l ) t h et h 鼯i s i n t 刚u 淄m e m 劬0 do f i n 蝴gm es r a m b i s t a n do t h e rp a r t so f 恤a s i c i n o r d e r t 0s h o w t h e g e m r a l m e t h o d t o u 辩t h c b i s t f o rt h ef i l t i l w o i kb u m i n 辩m r c p a 址w h i c hi s 蛐既t c 胍i o fb i s tj s i n t r o d u c c di nt h cl a s tc h a d t e l k y w o r d s :s 鼬w ,b u i l t 血s e 睢t c s t ( b i s ,耽盹蚴i “a l g o 删l m , “n e 缸鼬a c ks h i f tr e g i s t e r s ( u 毽r ) ,v c i i l o g 创新性声明 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:i 皇:垂 导师签名: 日期竺! 圭:! 璺= , 日期一 关于使用授权的声明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期问论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。 本人签名:盘:! 垒 导师签名:鎏丝堑基 日期塑兰垒! 生竺 日期助g ,加 第一章绪论 第一章绪论 本章是论文的概述,首先介绍课题的来源以及研究意义,然后简要介绍了本 文所做的工作。 1 1 课题的来源与研究意义 课题的来源是信息产业部广州电子五所承担的总装备部国防科研项目“s o c 测试设计技术”。 s r a m 是s o c 电路及高性能处理系统中( 如c p u 、d s p ) 的重要模块。近 年来,嵌入式存储器不论在芯片面积所占的比例上还是数量上,都有显著增加, 在电路中占的比重越来越大。嵌入式s r a m 不同于独立的存储器芯片,直接连接 嵌入式s r a m 的外部加l 管脚很少或没有,导致直接可控性和可观性低。s l 认m 结构具有规律性,虽然在设计初期可易于进行可测性设计,但因包含时序特征单 元,存储器测试比结构有规律的组合电路的测试要复杂得多。s r a m 中的多种故 障类型也加剧了测试难度,不同的算法所能测试的故障类型有限,要想进行高故 障覆盖率的测试,测试向量的长度非常长,随着存储器容量的增加,测试数据越 来越大,远远超出了测试设备( a 皿i ) 的处理能力。加上s i 认m 结构比较灵活, 构成一些灵活的特种s m 蝴包括:先进先出( f 球0 ) 高速缓冲存储器、双端口 r a m 允许两个独立器件同时对同一存储器的读和写、按内容编址的存储器 ( c a m ) 等,结构的特殊性使得其测试更加复杂不同于常规结构。因此嵌入式 s r a m 的可测性问题凸显出来,成为较大v l s i 、s o c 芯片设计关心的一个热点 问题。解决这些问题比较有效的方法就是内建自测试( b i s t ) 。b i s t 的设计不仅 要满足较高的故障覆盖率,而且要尽量少地占用芯片的面积。从本质上讲,要有 优化的内建自测试算法和电路实现结构。 本文设计了一种结合算法和结构的新型s r a mb i s t 电路,该电路在算法上 满足了较高的故障覆盖率,在结构上也进行了改进,该设计方案已经应用在实际 的s o c 项目中 2 一种辄a m 内建自测电路的设计 1 2 本文所做的工作 本文介绍了s r a m 故障类型,对比介绍了几种传统内建测试算法,设计了一 种基于m a r c hc + 测试算法与线性反馈移位寄存器( u 强r ) 的内建自测电路。 主要工作有; 1 m a r m “算法及其实现方法的研究 2 u 嗒r 原理及其应用的研究 3 采用u 嗒r 实现m a r c hc + 算法的方法 4 电路的v 蹦1 0 9 可综合程序设计、仿真与综合 5 电路在实际s o c 中的应用方案 6 电路改进的设想 论文提出的基于u 峪rm a r c hc + 算法的s i 认m 内建自测试的新结构,相 对于传统的s r a m 内建自测试结构,具有面积小、速度快、可复用及故障覆盖率 高等优点,是一种实用的、低成本高效率的s r a m 内建自测试结构。 第二章s i 认m b l s t 简介 第二章s r a mb i s t 简介 3 本章主要介绍了s r a m 的结构和工作原理,s r a m 的故障模型,简要介绍了 几种常见的s r a m 内建测性算法和常用的b i s t 结构。 2 1s r a m 的结构与工作原理 s r a m 主要由行译码器( r o wd c o o d e r ) ,列译码器( c 埘u 姗d c 0 0 d e r ) ,读 写电路( r c a 删r i t cc i 枷i t s ) ,灵敏放大电路以及存储单元阵列( a m yo f s t o r a g c c e u ) 等功能模块构成,其工作原理框图见图2 1 。 i n p u “) u i p u t ( mb 晦 图2 1s r a l 垤工作原理框图 s r a m 的容量可表示为n m 其中n = 2 l ,表示l 位地址的寻址范围:m 表示字节宽度。l 位地址又划分为i 广k 位行地址( r o wa d d i i e 豁) 和k 位列地址 ( c o l u 柚a d d - e 嚣) 。对于一个确定的i ,k 行地址,经过行译码器分解后,成为唯 一一位为1 ( 高电平) 和其余位为0 ( 低电平) 的2 i 厂k - 1 行字线( w b r d u 北) 若 一行字线为l 表示该行被选中。对于一个确定的k 列地址,经过列译码器分解后, 再经过选择器( m u x ) 唯一选中m 列存储单元,。因此,对于一个确定的地址, 对应唯一一组m 位的存储单元。当一组单元被选中后,外部电路就可以对其进行 访问。在读周期,首先通过灵敏放大器( s e n 辩a m p l i f i ) 对位线上的微小差别进 行放大,然后经过缓冲器( b u 疵r ) ,最后到达数据线。 4 一种s r a m 内建自测电路的设计 s r a m 的存储单元有4 管和6 管两种,其中6 管单元占主流。6 管s l 认m 的 基本存储单元是两个反相器级联构成的双稳态电路两个反相器级联构成的双稳 态电路,其门级和晶体管级电路图如图2 2 所示。它是两个物理尺寸和特性完全相 等的反相器,其中一个的输出作为另一个的输入在一个反向器的输入端施加输 入信号,在输出端得到响应;在另一个反向器上完成同样的步骤,得到另一个响 应;将两个响应曲线合到一起可得该双稳电路的电压传输特性曲线,又叫蝶形图, 如图3 所示从图3 可以看出,电路可能稳定工作在a b 或c 点。假如电路工 作在c 点,由于在c 点附近反向器处于高增益放大区,所以很小的输入变化都会 产生急剧的输出变化,所以c 点不可能成为稳定的工作点,稳定工作点只能是a 点或者b 点。在a 点或b 点,整个环路的增益很小,即使产生较大的偏离( 只 要不超过c 点) ,也会逐渐减小,直到消除。这个特点使该电路可以稳定地存储一 对相反的逻辑( 高,低电平) ,而上文提到的s n i 可以反映存储的稳定性。当该电 路作为s r a m 的存储单元时,要保证读周期不改变存储的信息,就不能使电路中 的任一节点的电压与c 点电压的大小关系发生改变。而写周期若要改变存储的逻 辑,只需使其中一个反向器的输入从c 点的一边变化到另一边。 图2 2 两个反向器级联组成的双稳态电路 图2 3 电压传输特性曲线( 蝶形图) 图2 4 是带有预充电管的s r a m 单元电路。m 1 一m 6 构成存储单元的核心电路, 其中m 1 一m 4 构成上文所讲的双稳态电路,m 5 ,m 6 是传递晶体管,m 5 的一端连 接位线b l ,m 6 的一端连接位线b l b ,它们的栅极都接在字线w l 上。m 8 、m 9 第二章s r a m b i s t 简介 和m 1 2 构成预充电电路。 v - 2 ,钾 图2 4 带有预充电管鲫渔m 存储单元 用p s p l c e 对图3 所示的电路进行瞬态分析,结果如图4 所示。 :! 叩工皿 : r 卫丁口工卫 匝皿 :匹二二二二二二二二 _ _ ( a ) 由上至下分别为髓q ,w l ,w b 和w b b 的波形图 ) 由上至下分别为b l 鼬,o ,和0 b 的波形图 图2 5p s p l c e 瞬态分析结果 5 6 一种s r a m 内建自测电路的设计 图4 所示曲线的名称与图3 所示电路中节点的名称一一对应。在读周期,两条位 线的电压差异较小,需要灵敏放大器来放大输出。在写周期,单元存储的数据发 生了变化。 2 2s i t a m 故障模型 在存储器的寿命周期中,其失效都是由设计错误、材料和工艺缺陷、工作极 端环境及老化效应引起的为了分析故障存储器电路行为,开发故障检测技术、 研究s 黜m 的故障检测方法,必须先建立s r a m 单元的故障模型。下面将分别讨 论s r a m 的各个模块的故障模型。 2 2 1 存储阵列故障模型 存储器阵列故障一般包括固定型故障、变迁故障、桥接故障、保持故障、耦 合故障、图形敏感故障和动态故障( 或延时故障) 存储器的固定型故障,又称& 心故障,示意图见图1 。s a f 故障定义为使得 存储单元恒定地存储l 和0 的功能性故障。& 蟑故障的检测比较简单,向每一个 存储单元写入1 ( 或o ) ,然后读出,检验即可测试到有无s a f 故障。 吣w ,汐州 图2 6 固定型故障 变迁故障的示意图见图2 6 。变迁故障的定义是当某一个存储单元不能从0 状 态变迁到1 状态或者不能从1 状态变迁到0 状态,事实上,它是固定型故障的一 种特殊形式。如果存储单元电路中的某个元件损坏,或者电路之间发生短路、断 路,都会导致触发器的双稳态功能失效,不能存储1 或者0 数据,实现不了由o 改变为l ( u p 故障) 或由1 改变为0 ( d o w n 故障) 的转换。为检测转换故障, 测试必须第一步先写0 ,然后写1 并读出( 检测u p 故障) ;第二步先写1 ,然后 写o 并读出( 检测d o w n 故障) 第二章s l 认m 脚s t 简介 图z 7 变迁故障 w , 7 耦合故障:存储器结构上的规律性,其中一个单元的值可能因为其他单元状 态的改变而变化,描述这种现象的故障为耦合故障。一个单元中数据的改变会使 另一个单元中的数据取反。称为倒置耦合故障。一个单元中数据的改变导致另一 个单元中的数据取一个固定值如果改变前数据为0 ,将变为1 ,如果改变前数据为 1 ,将保持不变,称为等幂耦合故障。偶合故障模型常用于两个相邻存储单元之间, 可以采用齐步法进行测试,按地址递增的顺序可检测低地址的耦合故障;按地址 递减的顺序可检测高地址的耦合故障。 存储单元由于阵列中其他单元的不同操作导致状态的错误,描述这种现象的 故障称为图形敏感故障。造成图形敏感故障的主要原因是存储单元的密度高,导 致单元之间相互干扰。如果一个单元( 不妨称为基单元) ,因邻居单元的活动导致 状态的错误,这种现象称为邻居图形敏感故障。一个基单元的单元邻居有五单元 邻居和九单元邻居两种形式,如图2 8 。检测邻近图案敏感故障是非常复杂的,需 要许多种不同的检测途径。要将所有这些检测方法在内建自测电路中实现是不现 实的,因为这要大大增加芯片面积并需产生很长的测试向量。 田髑 ( a ) 五单元邻居 九单元邻居 图2 8 邻居图形敏感故障 2 2 2 地址译码器故障 译码器应能保证每一个地址能且只能访问一个存储单元,还要保证每个单元 都可以访问。如果地址译码器失效,将会导致一些存储单元无法存取,而另一些 8 一种鄹t a m 内建自测电路的设计 存储单元具有一个以上的地址,或者几个存储单元具有同一地址。地址译码器故 障模型采用的是功能性故障,测试方法是穷举测试,然后确认相应的输出端是否 与预期的相符。 2 2 3 灵敏放大器和读写控制电路故障 读出放大器的故障表现为失去双稳态功能:一侧卡死在o 状态,或者1 状态; 两侧浮空都为高电平或低电平。因此,读出放大器的故障能够以存储单元的故障 形式表现出来,即看成是一列或半列存储单元卡死在1 状态或o 状态。 读写控制电路的故障皆可看成若干个存储单元或者全部存储单 元卡死在1 或o 状态。 2 3 可测性算法简介 通常存储器电测试包括交、直流参数测试和功能测试。直流和交流参数测试 一般用于检测存储器表现为外部行为的故障,如输入输出阈值电压、输入输出电 流、静态和动态的功耗电流、传输延迟和访问时序。功能测试通常为了检测功能 性故障模型,如前文提到的各种故障模型如固定故障、桥接、耦合、图形敏感等 故障模型等。 s r a m 的测试算法有多种,可分为两大类:一类是当一些存储单元内容发生 特定的变化后,读出所有的存储单元;另一类是只读出内容发生变化的单元。测 试算法的好坏是用测试效率来衡量的,测试效率高是指:能用尽可能少的测试图 形检测到尽可能多的故障。 s r a m 比较成熟的算法有m s c a n 算法、q u 胁玎算法、c h c c h b r d 测试、 m _ 、鹃+ + 算法和m a r c hc 算法等。存储器测试算法比较多,但没有一种算法能够 检测所有类型的故障,对于同一类型故障,各种算法的操作次数即复杂程度相差 比较大,因此有必要对它们进行比较分析,为实际的存储单元测试选择合适的测 试算法提供参考。存储器测试算法及其复杂程度对比分析结果见表2 1 。 表2 1 存储器测试算法及其复杂程度 测试算法复杂程度 可检测的故障 1234567 m s c a n4 n g m a d2 ( 2 n 2 + n ) 第二章s l 认m b l s t 简介 m 甜曲j n g 2 ( 2 n 2 + n ) x 0 ,l g a l d i a( 2 n 啦+ 4 ) + 5 n 1 ,2 g a l c o l3 n 蛐+ 4 m a r c h c +1 4 n c h e d 璩f n + 3 2 n 1 0 9 2 n + 4 9 表中可检测的故障一栏中1 7 分别代表地址故障、固定故障、变迁故障、耦 合故障、恒定开路故障、时间放障和桥接故障。 从表2 1 可以发现,g u b 和g a l c o l 算法的测试复杂程度比较高,但故 障覆盖率比较低,而m a r c h c + 算法的测试复杂程度比较低但故障覆盖率比较高, 该算法的故障覆盖率高达9 9 左右,为存储器内建自测试的一个好的测试算法选 择。文章将在下一章详细介绍m a r c hc + 算法。 2 4s r a mb i s t 电路结构 s r a mb i s t 结构的研究比较深入,时间也比较长。2 0 世纪8 0 年代初期,存 储器b i s t 结构由地址发生器、数据发生器和比较器组成,比较器设计在芯片上, 但不在存储器电路模块内,这种结构兼容从芯片外部定义测试图形和时序的方式, 测试图形由芯片的测试引脚控制,可以实时测试,只需很少的外部引脚。这种存 储器b i s t 结构可以采用线性反馈移位寄存器( u 嗒r ) 作为地址发生器和数据发 生器,好处是r a m 电路模块不需要多大的修改,但由于u 嗒r 的混淆效应,不能 保证很好的故障覆盖率 图2 9 s r a m 内建自测试原理图 1 0 一种s r a m 内建自测电路的设计 大部分的s r a mm s t 电路结构从外部看来大体相同,原理框图见图2 9 。在 工作方式下,测试功能电路不起作用,整个电路对访问者来讲是与没有m s t 的 s r a m 没有不同。在测试方式下,自测电路按照特定的算法要求,对s r a m 进行 读写操作,此时s r a m 的地址是由地址发生器产生的,在写访问方式下,写入的 数据由数据发生器产生,在读方式下,比较电路会将从s r a m 对出的数据和数据 发生器产生的数据进行比较。这种比较有时是每次读操作完成之后都要进行的, 有时是进行压缩比较。 本文采用的也是这种结构的内建自测电路。在下一章中将重点展开算法的分 析和电路的设计过程。 第三章基于m a i k h c + 算法与u 苍r 的s 糊b i s t 电路设计旦 第三章基于m a r c hc + 算法与l f s r 的s r a mb is t 电路设计 本章是本文的重点内容。本章主要介绍m a r c hc + 算法原理与实现方法,线 性反馈移位寄存器原理与应用,基于m a r c hc + 算法与u 毽r 的s r a mb i s t 电 路的设计。 3 1 姒r c hc + 算法 目前,有多种较为成熟的算法支持嵌入式静态存储器内建自测试,例如 m s c a n 算法、g a i 脚算法、m _ 1 s + + 算法和m a r c hc 算法等等。与其他算 法相比,m 姐c hc 算法复杂度较低,故障诊断能力较强,所以得到广泛采用, 并且成为许多新型算法的基础。m a r c hc + 算法就是其中比较优化的一种。 3 1 1 姒r c hc + 算法介绍 m a r c hc + 算法是对m a r c hc 算法的一种改进。采用m a r c hc + 算法对存 储器进行内建测试时,每个测试周期下对每个存储单元需要1 4 次读写操作,其复 杂读与存储器的存储容量n 成正比。m a r c hc + 算法的一般表达如下: 、 f o r i = 1 t o n :d i o w n t e oa tc c n i c 1 ) n t i n u c f o f i - l t 0 n :d o r e a d u i t o v c r i f y o w r i t e la tc e l l i r e a dc c l l i t ov c 曲l g o n t i n u e f b f i = 1 t o n :d o r e a dc e l l i t o v e r i f v l w 矗t e 0a t c c n i r c a dc c i t o v e r i f v 0 c 幽u c 一种s r a m 内建自测电路的设计 f b f i = n 1 0 1 :d o r c a dc c u i t o v c r i f v 0 w r i t c la tc c l l i r dc e l l i t o v e i i f v l c d n t i n u c f b f i = n 1 0 1 :d 0 m 础i t o w 时f v l w r i t e 0 缸u i r e a d n i l o 舳0 c b n t i 眦 f 0 r i - n t 01 :d o r e a d 础i t o v c i i f v o c 枷劬c e n d m a r c hc + 算法测试的第一个过程是按照正序对存储器的所有单元写0 ,然 后在正序方式对每个单元进行读0 ,写l 和读1 操作,最后正序对每个单元进行 读l ,写0 和读0 操作。每个读操作完成之后都要检验读出的值是否与预期的值 相同,如果不同则说明该单元出现了故障。 第二个过程是在逆序方式对每个单元进行读0 ,写l 和读1 操作,然后逆序 对每个单元进行读1 ,写o 和读0 操作,最后逆序对每个单元进行读0 操作。 在用m a r c hc + 测试存储器时,访问地址的顺序为正向和逆向两个方向,即 如果某一地址) d 。( 在正向访问时是第n 个被访问,在逆向时是倒数第n 个被访 问,地址可以连续,也可以不连续,比如对3 位地址的访问顺序可以是正向 o ,5 , 2 ,3 ,7 ,1 ,4 ,6 ,逆向 6 ,4 ,l ,7 ,3 ,2 ,5 ,o ,也可以是正向 0 ,1 ,2 , 3 ,4 ,5 ,6 ,7 ,逆向 7 ,6 ,5 ,4 ,3 ,2 ,1 ,0 第一种实现方法中的地址可 以采用能产生伪随机向量的u 唱r ,第二种可以采用常用的计数器实现。本文将 在下面的有关章节里详细说明由u 嗒r 实现m a r c hc + 算法的优点与方法。 3 1 2m a r c h 元素表达法 一种算法的表达方法可以有很多种,其中有些也可以表达m a r c h 算法。而 m a r c h 测试也有特有的表达方法一m 柚t c h 元素表达法 m a r c h 测试常用m a r c h 元素符号组成的序列来表达。一个m a r c h 元素 符号由表示阵列地址正序的符号和操作序列组成符号“t ”表示地址正序,符 第三章基于m a r o i c + 算法与u 玛r 的s r a m m s t 电路设计旦 号“l ”表示地址逆序,符号“:”地址正序或逆序均可 测试中对存储器的操作是下面集合中的一个: “i o ”表示读操作,期望结果是0 ; “r 1 ”表示读操作,期望结果是1 ; “w o ”表示写o 操作; “w 1 ”表示写1 操作。 m a r c h 元素中的操作是才处理下一个元素之前连续施加给每一个元素。 几种常见的m a r c h 测试用m a r c h 元素符号表达如下: m a 醛+ l ( w o ) f w 1 ) i ( f 1 ,删 m a 尉:h c ( w o ) f ( i o ,w 1 ) t ( r 1 ,w o ) 如,w 1 ) j ( r 1 ,w o ) ( w o ) 姒r c h c + ( w o ) t w 1 ,r 1 ) t ( r 1 ,们,i o w 1 ,f 1 ) ( r 1 ,w o ,奶 l ( 种 3 2 线性反馈移位寄存器( l f s r ) 本文将采用u 峪r 作为地址发生器来实现m a r c hc + 算法,其较计数器实现 的优越性将在后面的章节里面对比给出。本节先引入u 硌r 。 3 2 1l f s r 简介 线性反馈移位寄存器( u n 翰rf e c d b a c ks h i f ir c 百s a 酿) 主要用来生成伪随机序 列。与同余方法生成的伪随机序列的不同之处在于,由u 嗒r 生成的序列只与寄 存器的初始状态和反馈方式有关,从实质上讲,这种数字序列不是随机的,因为 每一个矢量生成的概率是相等的,即同样的序列会周期性她重复。由于这些特点, u 7 s r 经常用在加密算法中,也通常用在专用集成电路的内建测试中,有时也直接 用在电路设计中,如用逻辑电路来实现俄罗斯方块游戏的设计中。 一般地,线性反馈移位寄存器反馈的连接方式有四种,图3 1 表示异或门内 接线性反馈移位寄存器,简称x o rm 型u 峪r ;图3 2 表示同或门内接线性反馈 移位寄存器,简称) o rm 型u 峪r ;图3 4 表示异或门外接型反馈移位寄存器, 简称x 0 re e 型u = s r ;图3 4 表示同或门外接型反馈移位寄存器,简称) 斟o re e 型u 珞r 。 1 4 一种s r a m 内建白测电路的设计 图3 1x o r m 型u 晤r 图3 2 怕喂正型u 强r 图3 3x o r e e 型u 嗒r 图3 4 q 0 r 髓型u 毽r 对于反馈移位寄存器和异或门构成的电路,可以按照以下关系式生成序列: = 毋a 1 c i 式中,i 是时钟数:札是序列系数,为0 或1 ;c 【是常系数,也叫抽头( t a p ) 系数,为o 或1 ;o 表示m 个逻辑变量的模为2 的加法。 对于m 位的线性反馈移位寄存器,最多可以产生( 2 m 1 ) 个不同的状态。如 果一个序列发生器正好产生这( 2 m 1 ) 个不同的状态后才重复产生此序列,则此 序列发生器称为最大长度序列发生器。包含且只包含这( 2 m 1 ) 个不同状态的序 列称为最大长度序列。 在一些反馈连接下,l f s r 所产生的序列不是最大长度的,用它们测试故障时 会大大降低故障的覆盖率。用线性反馈移位寄存器如何才能生成最大长度的序列 呢? 答案是电路对应的多项式是本原多项式。可以证明:基于非本原多项式的系 数连接而成的伪随机电路生成的伪随机序列不是最大长度的。 第三章基于m a r = i ic + 算法与u 强r 的s r a mb i s t 电路设计 3 2 2 基于本原多项式的l f s r 事实上,对于任意一个m 位的线性反馈移位寄存器,根据本原多项式的系 数连接异或门所形成的伪随机序列发生电路,均可以生成最大长度( 2 m 1 ) 的序 列,称之为m 序列。 从数学理论可以知道,对于m 维的多项式中( x ) ( m = d c g 中( x ) ) ,共有 中( l = 2 m 一1 ) m 个不同的本原多项式,其中中( l ) 是欧拉函数。经过推断可 以看出,m ( l ) 随着m 的增加而快速增加,那么产生最大长度序列的m 维的多 项式中( x ) 的个数也相应地快速增加,对于每一个m ,总会存在项数最少而且每项 系数为l 的多项式,这样的多项式叫做本原多项式。基于本原多项式所实现的电 路最简单下表列出了m ( = 2 0 情况下的本原多项式。 表3 1m = 2 0 情况下的本原多项式 m ( x ) m o ( x ) 1 1 + x1 11 + x i 螺1 1 21 + x + f1 2l + x 、x 7 + 产 3l + x + f1 3 1 + x + f + x i 怄1 3 41 + x + 1 4 l + x 帐1 1 + x 1 2 帜“ 51 + x 2 01 5 l + x + x 61 + x + x 61 6 l + # x 3 + 一+ x ” 71 + x + x 。 。 1 7 l + x ,+ x 1 7 8l + x + x 6 + x 。 1 81 + x 7 慨1 8 9 l 枢,1 91 + + x3 + x 5 + 一 1 0 1 + x | + x 埔2 0“? + ” 需要说明的是,本原多项式具有这样的特征:中( x ) 1 = x m o ( x 1 ) ,也就是说本 原多项式的反也是本原多项式,根据本原多项式的反的系数连接而成的伪随机序 列生成电路,也能够生成最大长度的序列。譬如,多项式m ( x ) = 1 + x + x 5 + x 6 幅8 是 多项式中( x ) = 1 + 】【2 + x 3 + x 7 + x 8 的反,两者都是本原多项式,根据它们的系数连接而 成的伪随机序列生成电路,均可以生成最大长度的序列。 一种s r a m 内建自测电路的设计 3 2 3l f s r 的实现方法 由上面的分析可以知道,要设计能产生最大长度伪随机序列的u i s r ,首先要 根据序列的位数确定本原多项式图3 5 所示的l f s r 具有二进制的抽头( t a p ) 系数c 1 ,q ,( n ,这些系数决定y 【n 】是否被反馈给寄存器的特定级。图中 所示结构有c l 庐1 ,因为y 【n 】直接连接到最左边一级的输入一般来说,如果q m l = 1 ,那么对于j = 2 ,3 ,n ,第j 级的输入是由y 【j 1 】和y 【n 】的异或形成。 否则第j 级的输入就是j 1 级的输出,即j 1 y 【j 】 = y 【j = 1 】。抽头( t a p ) 系数向量 由u 唱r 的特征多项式决定。 图3 j 使用模2 ( 异或) 加的u 嗒r 例如,m = 3 的本原多项式是m ( x ) = 1 + x + ? ,对应的抽头( t a p ) 系数向量为 101 , 对应的电路如图3 6 所示;m = 5 的本原多项式是中( x ) = “冉】【5 ,对应的抽头( t a p ) 系数向量为 o10 o1 ,对应的电路图如图3 7 所示。 图3 6m = 3 的u 珞r图3 7m = 5 的u 嗒r 进一步,为了在数字系统设计中使用u 毽r ,就要对u i s r 的进行硬件描述 语言进行描述。在此列举m = 5 的u 塔r 对应的语言描述来说明对u 塔r 描述的方 法,由于本文采用的是v c r i l o g 描述,所以只对v c i i l o g 的描述作一说明: 第三章基于m a r a “、+ 算法与u 毽r 的s r a mb 1 s t 电路设计翌 m o d u l eu 嗒r 5 _ 1 2 ( c l o c l 【 q ) ; i n p u tc l o c k l 0 u t p u t 【4 :o 】q ; 膜块定义 l 嗡s ) 、意 腧出信号,位宽为5 b i t s i e g 【4 :o 】峪r ; ,定义5 个寄存器 硒f b c d b a c k = u 隅r 【4 】; 定义反馈连线 广事实上,对于所有的m 型u 毽r ,都有类似的定义 a l w a y s 0 0 s e d g ec l o c k ) b c g i n u 唱r 【0 】 = f e e d b a c k ; 最后一个寄存器的输出,作为第一个的输入 u 嗒r 【l 】 = u 峪r 【o 】; 第一个寄存器的输出,作为下一个的输入 u 嗒r 【2 】 = u s r 【1 】“f c e d b a c k ; ,这里对应一个加x 0 r 的反馈 ,u s r 【2 】 - u 峪r 【1 】一“缸d b a c k 还可以用该句即加一个x n o r 的反馈 u 峪r 【3 】 = u 强r 【2 1 ; ,第3 个寄存器的输出,作为下一个的输入 u 毽r 【4 】 - u i s r 【3 】; ,第4 个寄存器的输出,作为下一个的输入 e n d a 鹞i 萨q = u 嗒r ; c n d m o d u l e 通过上面的举例和分析,可以总结出设计一般u 峪r 的方法是,首先根据需 要产生序列的位数来确定相同位数的本原多项式,然后根据本原多项式来确定反 馈移位寄存器的二进制抽头( t a p ) 系数,最后根据系数进行电路设计或硬件语言 描述。 3 3 基于m a r c hc + 算法与l f s r 的s r a mb i s t 电路设计 经过上面对m a r c hc + 算法的分析,可以知道m a r c h “算法要求的地址可 以不连续,但是必须要可以正反两个方向来产生伪随机的地址,而u 嗒r 可以满 足产生与s r a m 地址相同位宽的伪随机序列,如果对u s r 做一些调整就不难满 足m a r c h “地址发生器的要求了。直观地看,相同位数的u 毽r 必定比计数器 要节约硬件,而且速度也比较快,在以后的章节中,文章将给出实际的比较结果 这就是文章课题的最初思路的来源。 一种鲫0 蝴内建自测电路的设计 3 3 1 电路整体结构的设计 在采用m a r c hc + 算法对嵌入式s m 气m 进行内建自测试时,电路结构与一 般的s 鼬mb i s t 电路结构大体相同,即由控制器、地址发生器、数据发生器和 比较器等模块组成,如图3 8 所示。控制器控制整个电路的工作,地址发生器产 生测试时需要的地址,数据发生器产生测试向量,比较器来完成对读出数据和期 望数据的比较从而给出测试结果。 f l 唱 n j l c d , 图3 8s r a m b l s t 电路框图 外电路可以通过向控制器发送测试有效信号t c s u 强a b l c 来启动电路对s r a m 进行自测试。控制器通过控制通路选择器来选择s r a m 的数据流和地址流的方 向。在测试状态,s r a m 的地址由地址发生器产生,数据来自数据发生器,流向 比较器,比较器向外电路发送反映测试结果的f l a g 信号。在每一个测试周期结束 之后,控制器发出一个脉冲信号t c s t d 岫c ,表示测试完成;如果电路仍然要求工 作在测试状态,则自动进入新的测试周期在正常工作状态,地址由外电路产生, 数据与外电路的数据线相连。由于我们设计的s r a m 模块还有一个同步控制器, 所以s i 认m 可与外部电路进行同步或异步通信。 在设计好电路的整体结构之后,就要对电路的各个模块进行设计。 3 3 2s r a m 的v e r i l o g 行为模型 根据实际需要,下面对容量为2 k 的8 位s 鼬k m 进行v c r i l o g 行为描述。该 s r a m 具有双向数据端口;地址线为l l 位,高7 位控制存储阵列的1 2 8 行,低4 位控制1 6 列字节阵列。门控双向数据通路具有三态特性。用v 嘶l o g 对该s 免a m 的定义如下: 第三章基于m a l 【a c + 算法与u ;s r 的s 洲b l s t 电路设计 旦 m o d u l er a m2 0 4 8 - 8 ( d a t a ,a d d r ,c s j ,0 e b ,w e ”; ,c s _ b 为低电平有效的选通信号,o 耻为低电平有效的读信号,w eb 低电 平有效的写信号, p 啪c t c r 、柏r 心i z e = 8 ; 字长为8 p a 姗e t e r a d d r _ s i z c = 1 1 ;,地址为1 1 位 p 猢e t e rm e m - d c p t h = 1 2 8 ; ,一列对应1 2 8 个字 p 猢e t c rc o l a d d i ,i 臻= 4 ,列地址为4 位 岬e t c r wa d d r - s i = 7 ; 行地址为7 位 p a 珊n c t c ri i i 乏p a n 锄= 8 t b z z z zz z 盟;8 位的高阻向量 i n 伽t 【w o r ds i - 1 :o 】d a t a ;双向数据端口 i n p u t 【a d d r _ s 协1 :o 】a d d r ; ,地址端口 i n p u tc s _ b ,o e j ,w e _ _ b ;,腔制信号输入端口 在用v c r i l o g 对s r a m 进行描述的时候,存储单元应该用二维向量来表示 例如: 代g 【w o r d s i z c - 1 :0 】r a m 1 0 1 【m e m - d c p t t 卜1 :0 】; 根据s r a m 的特点,读操作有效的条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论