H.H_Tang的个人空间 https://blog.eetop.cn/1706554 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Scan technique (扫描链插入)的一些学习总结

热度 2已有 3914 次阅读| 2020-2-21 14:52 |个人分类:scan|系统分类:芯片设计| scan chain, DFT

Scan technique是DFT中的一个重要部分,虽然我用来不是干这个的,但是原理是通的,这里讲一下最近的一些学习经验吧。

DFT引出了Scan technique

首先DFT的目的是利用辅助性设计对芯片的physical defects进行检测,方法是通过patterns来对physical defects对应的 fault model进行求解。而在复杂的电路中很难根据输入输出的关系来推断电路中的defects 位置。插入扫描链可以更好地观测和控制电路中的各个时序节点,从而通过扫描链更快速方便地实现对电路中的defects 进行检测(可以理解为将一个大的时序电路化简为很多个小的组合电路来求解)。

Scan technique的原理及过程

1.标准单元替换

即将标准的DFF转换为SFF,目前MUX-DFF是最常用的扫描结构。另外还有双端口clock scan,LSSD 电平敏感设计,但是很少用。

2.扫描链连接

没啥说的,就是连起来。


注意事项
1.同一个设计中有positive和negative的时钟

针对这个设计,DFF+ /DFF- 分别代表上升沿触发和下降沿触发的D触发器,如果在插扫描链的过程中要将他们连成一条链,该怎么办?会是如下的哪种状况呢?

正沿在前 负沿在后

负沿在前 正沿在后

根据DFT compiler 的结果应该是 负沿在前 正沿在后,可以进行以下分析:

假如我们想将 0101 从SI移入SO,两种情况会出现什么情况:

正沿在前 负沿在后

这种方案最终导致SF+2 和SF-1的值始终不变,所以不行,

负沿在前 正沿在后

这种方案比较合理。

2. 多时钟域

原理如上图所示,而时钟之间的关系大致可以分为以下两种:

分析方法和上面正沿负沿一样,就不再画图了。

实验环境1:

该环境就是用来学习的。

工具:synopsys DC 2016.03,集成DFT compiler

对AES-128加密电路进行了扫描链插入,网表由dc综合生成。工艺库smic180

对应的源文件和工程,tcl命令,软件之类的需要可私。

环境2:

用于FPGA上使用(我用来故障攻击的),网表由synopsys synplify pro 转化。

扫描链由自己用python写的脚本插入,包括向量的生成。

后面会开源对应的控制电路和脚本。



1

点赞

刚表态过的朋友 (1 人)

发表评论 评论 (1 个评论)

回复 sdlyyuxi 2023-6-27 19:23
假如我们想将 0101 从SI移入SO,两种情况会出现什么情况:
是不是写错了,应该是1010吧?

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 5

    粉丝
  • 3

    好友
  • 4

    获赞
  • 2

    评论
  • 1340

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-28 10:24 , Processed in 0.026396 second(s), 16 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部