可测试性设计原理:Wrapping Core (Ⅰ)

Wrapping core


Wrapping core的出现类似于为每一个core做一个boundary,方便我们对每一个core进行独立测试。本文主要讲一下wrapping core的基本原理,下篇文章会讲一下DFTC的两种core wrapping flow。参考(翻译)自《Synopsys® TestMAX™ DFT User Guide》,FYI。

当一个做好dft inserted的core要集成到top level时,core scan结构会和top level的scan结构整合到一起,这会使得我们无法对这个core进行单独的测试,所以需要做成wrapper core。

Wrapper Cells and Wrapper Chains

每个wrapped core都有一条wrapper chain来将core与周围逻辑隔离。Wrapper chain 是wrapper cell串到一起,wrapper cell由scan cell和MUX组成,插在I/O port和core logic之间。
A wrapping core
所以wrapper cell可以传递I/O信号或者作为input capture value,作为output launch value。
Core Wrapping主要用来wrap core data port,但是以下的port不能被wrapping:

Functional and test clock ports
Asynchronous set or reset signal ports
Scan-input, scan-output, scan-enable, and other global test signal ports
Wrapper signal ports
Any port with a constant test signal value defined

wrapper chain的四种mode:

  • Inactive mode
    在这个mode下wrapper chain不活动,I/O信号可以通过它,这种模式应用在mission mode和所有不需要wrapper的测试mode;

Inactive Mode of Wrapper Chain

  • Inward-facing mode(INTEST)
    这种mode用于隔离core周围逻辑来测试core,它包括wrapper chain和internal chain。Input wrapper cell提供可控制性,Output wrapper cell 提供可观测性。如果指定了safe value来保护周围的fanout逻辑不受core 输出响应的影响,它们会使用output wrapper cell驱动。

Inward-facing mode

  • Outward-facing mode(EXTEST)
    这个mode测试的是围绕core的logic,不测core本身,它只包括wrapper chain,Input wrapper cell提供可观测性,Output wrapper cell提供可控制性。如果指定了safe value来保护core input不受周围fanin逻辑响应的影响, 它们会使用input wrapper cell驱动,core的时钟输入不受影响。

Outward-Facing Mode of Wrapper Chain

  • Safe mode
    在此模式下用 wrapper cell驱动被specified的safe value,safe value由input wrapper cell驱动输入到core input,由output wrapper cell驱动输入到周围的fanout逻辑。不涉及scan chain(internal or wrapper),时钟输入不受影响。 Safe Mode of Wrapper Chain在wrapper core的创建过程中,DFT insertion不会混合wrapper chains和regular scan chains,尽管他们可以被相同的逻辑解压缩。
    在top level core integration时,DFT insertion可以混合core level wrapper chain,core level scan chain ,top level scan chain来达到平衡长度的目的。 core level scan chain不包含在top level下outward facing mode测试下。

Wrapper Test Modes

当core wrapping被启用时,insert_dft 命令会默认创建4中core wrapping test mode:

  • wrp_if
    这种test mode是面向内部未压缩的scan mode,wrapper chain处于intest mode,wrapper chain和internal core chain都是启用的。
  • ScanCompression_mode
    这种test mode是面向内部压缩scan mode,wrapper chain处于intest mode,wrapper chain和internal core chain都被scan compression codec启用和压缩。只有scan compression被启用时这个模式才可以被启用。
  • wrp_of
    这种test mode是面向外部的未压缩scan mode,只有wrapper chain被启用并且处于EXTEST mode。
  • wrp_safe
    这种test mode下input和output wrapper cell会根据safe value specification驱动safe value输入,这种模式只有在至少有一个port有safe value被定义的情况下才可以被创建。

Wrapping Three-State and Bidirectional Port

为了防止core integration期间出现竞争的问题,三态和双向port的wrapping不同于常规的输入输出port。the wrapper cell在控制和数据信号的driver插入。

Three-State Port Wrapping

对于三态port来说,wrapper cell被加到与port相连的三态driver或pad cell的数据输出路径和控制路径。只有当控制路径的wrapper cell使能三态门时,数据输出路径的wrapper cell才能控制输出端口值,否则没有作用。
三态的驱动总有一个安全状态,可以输出高阻态,但是并不是因为wrapper cell本身,所以可以忽略这里关于wrapper cell没有安全状态的规范。

Bidirectional Port Wrapping

对于双向port来说,wrapper cell被添加到与双向I/O pad相连的数据输出路径,控制路径以及数据输入路径。
双向驱动程序需要设置一个安全状态,用来将driver cell置于输出模式,由输出wrapper cell驱动output data,忽略这里关于wrapper cell没有安全状态的规范。
三态和双向控制及数据路径使用当前wrapper flow 配置的share or dedicated wrapper cell。在maximized reuse flow中,工具使用高电平有效作为driver control signal。

  • 11
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺旺小小书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值