专栏中心

EEPW首页 > 专栏 > DFT Compiler的学习-----part2 scan replacement

DFT Compiler的学习-----part2 scan replacement

发布人:mayer 时间:2009-05-17 来源:工程师 发布文章
DFT Compiler的学习-----part2 scan replacement

今天着重分析下扫描单元替换(scan replacement)的内容。所谓scan replacement,顾名思意就是在设计中用扫描单元替代非扫描单元。如果设计是以RTL形式给出的,则在RTL综合成门级网表的过程中自动插入扫描单元。如果设计是以门级网表给出来的,则专门做一次扫描替换。

流程:1.选择扫描链的策略---> 2.test DRC检查---> 3.带扫描链的综合

在做扫描链之前,还需要考虑下面问题:
1 .根据目前设计的格式,选择插入扫描链的流程。
如果是RTL或者未优化的门级设计,则采用test-ready Compile,如果是优化的门级设计,采用constraint-optimized 插入方式。test-ready Compile包括逻辑优化和扫描链插入。采用的命令就是 compile -scan。优点就是流程简单,能够得到更好时序和面积。注意test-ready Compile只是将单元替代,并没有将扫描单元连接起来。

2.找出扫描替代的障碍。
障碍有很多种啊,比如本身工艺库就不提供扫描单元,或者某些寄存器找不到相对应的扫描单元,或者设计本身有dont_touch属性或者scan_element属性为false等等。
(set_scan_element truefalse [get_cells ADA])
扫描链类型本身有带mux的寄存器,LSSD,clocked SD。具体选择那一个要考虑到工艺库和本身的设计,一般采用带mux的寄存器。有两种方式来设置扫描链的类型,一种就是设计 test_default_scan_style变量。设置的方法跟tcl设置变量的方法一样,默认的是multiplexed_flip_flop。另一种设置的方式是set_scan_configuration -style来设置。
(tips:如何查看typical库中是否有扫描单元呢。
get_pins typical/*/* -filter "signal_type==test_scan_in")

在插入扫描链的过程中,可以指定扫描单元。使用的命令是set_scan_register_type。选项有- exact和-type,如果使用了exact选项,则在后面的优化过程中(compile -increment)仍然会保留只使用type列表中的扫描单元。(注意DC命令中类似的命令就是set_register_type)。

下面说说constraint-optimized的扫描链插入流程。包括插入扫描链,根据约束优化扫描逻辑,修正DRC错误。对于这种流程,输入可以是优化后的门级网表,可以不包含扫描单元,也可以包含扫描单元。这里需要用到的命令有:
set_drc_configuration
preview_dft.
这些命令以后再深入学习把。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

硅生命周期管理对芯片架构的现实影响

EDA/PCB 2025-12-22

光纤制导导弹关键技术

视频 2010-01-14

这个AI能在石头剪刀布上打败你:储层计算芯片提供快速且低功耗的预测

美国计划自1970年代以来最大规模的核能项目

CP900编程器使用指南 V1.0

Numonyx相变存储器介绍

视频 2010-01-14

意法半导体STM8L低能耗系列MCU技术演示

视频 2010-01-14

CP932编程器使用指南

电网级的泡泡电池很快就会普及

环境能源管理器处理两种能量收集源

宣城立讯入选IPC QML验证制造商名录,树立汽车电子可靠性新标杆

我们现在知道火星上的时钟会快得多

国外军用飞艇装备技术发展

视频 2010-01-14

CP900编程器软件 V1.0

资源下载 2007-03-30

诚聘

开太网讯 2005-03-23

我们会在看到通用人工智能时认出它吗?

智能计算 2025-12-22

虚拟同步机可以帮助稳定电网

电源与新能源 2025-12-22

CP932编程软件 (英)

资源下载 2007-03-30

国外巡飞弹技术发展

视频 2010-01-14

2026内存危机:手机电脑涨价,竟因AI抢走了所有芯片?

更多 培训课堂
更多 焦点
更多 视频

技术专区