本人作为新入职DFT工程师,正在阅读学习synopsys的DFT Compiler手册,在此既为学习记录,也为分享。


为一个core design增加test wrapper,就成为了wrapped core。wrapped core在scan测试期间既可以提供测试访问(test access)又可以提供测试隔离(test isolation)。

当将一个DFT-inserted core集成进top-level的design中时,core-level的扫描测试结构也被集成进了top-level。此时,如果想要将core-level的逻辑和top-level分开进行测试,这时的core就必须是wrapped core。

DFT Compiler提供了两种core wrapping的flow,一种是basic的具有基本的core wrapping的功能,另一种是通过最大程度地复用已经存在的function寄存器来减少core wrapping带来的面积和timing问题。

wrapper cells and wrapper chains

wrapped core具有一条wrapper chain,用于将core与其周围的逻辑隔离开。wrapper chain是由插在core的I/O ports和core的逻辑之间的wrapper cells构成的,如下图所示。
wrapper chain
wrapper cell是由扫描单元和mux逻辑组成,既可以透明地传递I/O信号,又可以在输入端capture值以及在输出端launch值。wrapper chain是shift chain(有别于常规的scan chain),可以将已知的值移入wrapper cell以及将捕获的值移出。

core wrapping主要用于data ports,以下的ports会被排除在外:
• function clock和test clock;
• 异步复位信号;
• scan_input、scan_output、scan_enable等global测试信号;
• wrapper相关信号;
• 在测试期间需要定义恒定值的信号;

wrapper chain可以提供四种操作模式,如下:

1.inactive模式

在此模式下wrapper chain相当于不存在,I/O信号直接穿过它,是在功能模式和non-wrapper test模式下的行为。
inactive

2.inward-facing模式(内部测试)

该模式是用来在隔离开周围逻辑的情况下测试core的逻辑,包括wrapper chain和core的internal chain,输入的wrapper cells提供可控制性,输出的wrapper cells提供可观测性。如果指定了特殊值以保护周围的扇出逻辑不受core 输出的影响,它们的值由输出的wrapper cells所驱动。
intest

3.outward-facing模式(外部测试)

该模式是用来在隔离开core的逻辑的情况下测试周围的逻辑,只包括wrapper chain,输出的wrapper cells提供可控制性,输入的wrapper cells提供可观测性。如果指定了特殊值以保护core的逻辑不受周围的扇入逻辑的影响,它们的值由输入的wrapper cells所驱动。core的输入时钟不起作用。
extest

4.安全模式

该模式可以为所有指定了安全值的wrapper cell驱动安全值,既包括core的输入也包括core的输出,没有chain,core的时钟也不起作用。
安全
在core-level串chain的时候,不会将普通的scan chain和wrapper chain混起来的,但是二者可能会被相同的codec压缩。在将core集成进top-level时,为了长度平衡串chain会将core-level的scan chain和wrapper chain以及top-level的scan chain混在一起。core-level的scan chain不包含在外部测试模式中。

最后,欢迎大家关注微信公众号:数字IC小白成长记录
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐