0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数模混合芯片scan chain问题解析

要长高 来源:eetop 作者:eetop 2023-12-08 11:24 次阅读

前几天回了一位网友的贴子。这位网友的问题很经典。整理一下,也许对其他朋友有点帮助。

Q1:

目前有这样一个设计需求,该IC总体有数字部分和模拟部分组成,现在要求对数字部分插scan chain,实际芯片中数字部分很多输入/输出信号是直接连接到模拟电路,而不是连接到芯片的IO上,因为scan chain要求数字电路输入可控和输出可观察,面对这种情况,实际在插scan chain时数字部分的输入输出一般是怎么处理,欢迎各位大佬指点,小弟不胜感激

Answer:

输入:模拟到数字的信号不可控,需要和数字registered outputs mux一下提高test coverage。关键词是registered output! 这个技巧俗称scan loopback。

输出: scan的时候不希望模拟控制信号频繁上下跳动,要求把数字到模拟的输出置为static low or high。注意:有的模拟模块在scan的时候要求一直enable,对应的enable控制信号在scan时必须mux到static high。例如,部分数字是LDO供电,这部分数字在scan chain里,跑scan的时候LDO自然不能关掉。这个场景在低功耗设计中很常见。

示意图如下。左边是scan loopback mux,右边是 scan tieoff。

1639850865802156.png

Q2:

关于输入信号处理时参与MUX的“registered outputs ” 怎么选取的呢,这里选择哪一个register有什么讲究吗

Answer:

有讲究,首选选离得近的,不然place & route会浪费太多routing resource,还会影响 timing。 参考一下top level layout 给 digital 的 pin location

如果是PLL之类,有些 timing critical 的 output 尽量不要拿来做 scan loopback,选一些不太重要的

Q3:

有几个问题想再追问下:1.按照上述处理,是不是在真实的ATE测试时只需要控制芯片pin上的几个scan信号就能完成scan测试?那是不是可以进一步理解成任何数字电路都可以按照上述思路处理,然后最后只通过pin上的几个scan信号(不用任何PI/PO)完成ATPG测试?

2.上述处理后能保证覆盖率吗,在tmax产生ATPG时需要注意些什么?

3.在设计中有一个负沿的D触发器,在插入DFT是设置了mix_edges,最后这个负沿的D触发器串在了chain的最前面,这时会出现一个“1 Trailing edge port captured data affected by new capture violation”的违例,这种情况需要处理吗?然后又怎么处理?

Answer:

1. 是的。通常 scan 信号可以复用 SPI, I2C,需要小心。减少整个片子 pin 数量,降低 package 成本,整个片子才会有竞争力。大厂的数模混合芯片没有scan专用的pin就是这个道理。

2. 覆盖率 95% 还是可以做到的,虽然加入的 scan mux 上损失一些覆盖率,但是加入后提高了整个设计的覆盖率。

3. 如果没有 timing 问题, 不需要处理。 如果 setup 不能满足,可以降低 scan 频率。

Q4:

产生ATPG的still文件中依然会有对“form analog”和“to analog”这些信号有赋值等操作,感觉此时的still文件中不是应该就只有对scan的几个信号有赋值或其他操作吗?

Answer:

假设数字顶层是 digtop,有一堆 from_analog*, to_analog* 之类的 IO。这个 digtop 是不能直接给 ATPG tool 用的,要在外面加一个 wrapper,姑且称为 digtop_tmax 吧。 这个 digtop_tmax 的 IO 应该只包括 scan pattern 能控制的 digtop input, 以及 scan pattern 能观察到的 digtop output。 from_analog*, to_analog* 都不在 digtop_tmax 的 IO list 里。这样最后的 stil 里就不会出现 from_analog*, to_analog*

Q5:

那这个wrapper是在插scan chain完成后手动修改网表去形成,还是通过设置工具的某些命令去形成?

Answer:

这个 digtop_tmax 实际上相当于 chip_top 去掉其中的模拟部分。

如果 Cadence 里已经有 chip_top 的 symbol view,生成一个 Verilog view, 再手动例化 digtop。

嫌麻烦就完全手动

Q6:

1.这样操作是不是又要重新生成新的spf文件? 设计中from annlog 和 to analog的pin巨多,手动是不是太麻烦了 。

2.我看了下DFTMAX的ug,在第12章节讲了wrapper cores ,我在想是不是我这种类型的设计能不能在RTL阶段不做任何代码处理,在DFT时直接走wrapper cores的流程,这样具有可行性吗?

Answer:

RTL 阶段插入 scan mux, scan loopback。

跑 TetraMAX 的时候写一个 digtop_tmax 或 chip_top,仅仅用于跑 generate spf。

这里有个省时的小窍门。 scan 相关的 port 一般就 5/6 个信号。digtop_tmax 里接上这几个信号就可以了。 其他的像 from_analog*, to_analog*, ATE 根本看不到,也不需要看到。例化 digtop 的时候这些信号可以不出现在 port mapping 里,大大简化 digtop_tmax 的工作量。工具会自动把这些 from_analog*, to_analog* 当成 X 处理,这也正是我们希望的

Q7:

我们的设计数字电路大概有1500个D触发器,从测试成本和测试时间来考虑(scan 的pin可以适当多些),一般插几条chain比较合适?这里chain的条数的定义一般是怎么评估的呢

Answer:

1. 片子的 package 最多能有几个 digital I/O。 数模混合片子大部分 I/O 都是模拟,数字很少,scan pin 数量的上限就在那里,也就限制了 scain chain 的条数。如果允许,当然时多几条 scan chain 更好,减少 test time。 但是 package 也是成本的很大部分,不能随心所欲增加 digital I/O 增加 scan chain 数量。有时 package 是用户使用场景决定的,无法选大的。例如8 pin package, 内部模拟数字一大堆,也蛮常见的。

2. 为了减少 test time, 可以考虑 scan 跑得快一些。 很多时候 scan mode 时钟比 functional mode 时钟快很多倍就是这个道理

Q8:

1.之前几天仅仅是把DFT流程跑通,没有关注测试模式下timing的问题,我想问下在测试模式下,scan的时钟和scan的信号怎么约束,和function 模式结合起来约束又该如何考量(是不是要用set_case_analysis之类的命令)? 实际跑function的频率就几十M,这种测试模式下需要有at-speed的考虑吗?

Answer:

1. Timing 分析可以用 MMMC (multi-mode multi-corner)。Mode 分成两个,func_mode, scan_mode,写两个 SDC。

func_mode SDC 第一句: set_case_analysis 0 [get_port scan_mode*]

scan_mode SDC 第一句: set_case_analysis 1 [get_port scan_mode*]

scan_mode SDC 里 create_clock -name scan_clock 可以跑得快一点。如果 scan_clock 可以超过 functional clock,at-speed test 就不重要了。

很重要的一点,一定要跑 sdf 反标后仿,把所有 vector 跑一遍,确认无误。 很多时候跑 sdf 反标后仿可以发现问题。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号处理
    +关注

    关注

    48

    文章

    999

    浏览量

    103201
  • 模拟信号
    +关注

    关注

    8

    文章

    1115

    浏览量

    52386
  • 数字信号
    +关注

    关注

    2

    文章

    949

    浏览量

    47510
  • 控制信号
    +关注

    关注

    0

    文章

    162

    浏览量

    11948
收藏 人收藏

    评论

    相关推荐

    如何通过仿真有效提高数模混合设计性

    如何通过仿真有效提高数模混合设计性 一 、数模混合设计的难点 二、提高数模混合电路性能的关键
    发表于 08-01 19:28 1544次阅读
    如何通过仿真有效提高<b class='flag-5'>数模</b><b class='flag-5'>混合</b>设计性

    数模混合电路设计的难点

    数模混合电路设计的难点 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈。众所
    发表于 10-05 09:46 2674次阅读

    我的数模混合设计难点经验

    大家好这是我的第一篇数模混合电路的设计的文章,做为这个坛子的开篇只贴分享给大家。不足之处还望大家及时指出,共同交流。呵呵作为干扰源的数字电路部分多采用CMOS工艺,从而导致数字信号输入端极高
    发表于 12-02 15:44

    数模混合SOC芯片的可测性方案的实现

    实际产品的测试需要,提出了基于JTAG接口的,包括了上述四中测试手段的可测性设计方案。该方案经过SMIC 0.18微米工艺流片验证,不仅证明功能正确,而且在保证了一定的覆盖率的条件下实现了较低的测试成本,是‘项非常实用的测试设计方案。数模混合SOC
    发表于 12-12 17:58

    请教Chipscope和boundary chain问题

    新手请教:virtex5中有4条boundary scan chain(USER1,USER2,USER3,USER4),创建chipscope ICON时只能使用一条chain。那么做了4条为什么只能用一条,4条
    发表于 02-13 09:21

    帮你理解DFT中的scan technology

    Scan stitching 是把上一步中得到的SDFF的Q和SI连接在一起形成scan chain。在芯片的顶层有全局的SE信号,以及scan
    发表于 06-14 14:20

    数模混合电路设计的难点

    数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈。众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信号,才方便做进一步 的处理。模拟信号和数字信号的转变是否实时、精确,是电路设计
    发表于 09-18 23:48

    射频与数模混合类高速PCB设计

    理清功能方框图 网表导入PCB Layout工具后进行初步处理的技巧射频PCB布局与数模混合类PCB布局 无线终端PCB常用HDI工艺介绍信号完整性(SI)的基础概念 射频PCB与数模混合
    发表于 09-27 07:54

    数模混合仿真在以太网芯片设计中的应用

    数模混合仿真在超大规模集成电路验证中具有十分重要的作用。本文介绍了数模混合仿真的实现原理和仿真方法。在集成以太网控制芯片设计中,采用这种
    发表于 02-24 15:42 10次下载

    DS26522 JTAG Scan Chain Mappin

    Abstract: This application note describes the JTAG hardware boundary scan chain for the DS26522
    发表于 04-18 11:45 867次阅读
    DS26522 JTAG <b class='flag-5'>Scan</b> <b class='flag-5'>Chain</b> Mappin

    一文读懂DC/AC SCAN测试技术

    1 读入没有插入scan的网表 2 使用Design compiler 插入scan chain和OCC (on chipclocking)模块,同时插入mux, fix DRC 3
    发表于 10-26 16:01 3.7w次阅读
    一文读懂DC/AC <b class='flag-5'>SCAN</b>测试技术

    知存科技数模混合存算一体AI芯片专利解析

    知存科技的该项专利是关于数模混合存算一体芯片技术,除能有效降低设计复杂度和制造成本外,还特别适用于人工智能神经网络的运算。
    的头像 发表于 12-24 11:02 7166次阅读
    知存科技<b class='flag-5'>数模</b><b class='flag-5'>混合</b>存算一体AI<b class='flag-5'>芯片</b>专利<b class='flag-5'>解析</b>

    MCU芯片设计了mbist、scan chain之后,功能仿真失败?

    接着上文,MCU芯片设计了mbist、scan chain之后,功能仿真失败?
    的头像 发表于 02-20 09:35 1558次阅读

    是否需要补插scan chain的isolation cell?怎么插呢?

    当然最显而易见的办法就是vclp检查哪儿需要补插isolation cell,那么是否需要补插scan chain的isolation cell, 怎么插呢?
    的头像 发表于 05-10 09:18 1363次阅读
    是否需要补插<b class='flag-5'>scan</b> <b class='flag-5'>chain</b>的isolation cell?怎么插呢?

    芯片设计测试中scan和bist的区别

    Scan stitching 是把上一步中得到的Scan DFF的Q和SI连接在一起形成scan chain。在芯片的顶层有全局的SE信号,
    发表于 10-09 16:53 3962次阅读
    <b class='flag-5'>芯片</b>设计测试中<b class='flag-5'>scan</b>和bist的区别