在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16240|回复: 31

[求助] DFT中扫描链的插入而引入的测试端口是自己加上去的还是自动加上去的呢?

[复制链接]
发表于 2012-8-6 10:34:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
DFTC做DFT的时候,compile -scan是将flop转为scanned flop,这是会自动添加SI/SE,这个没有什么问题。
小弟现在想咨询各位大神的是,在生成protocol的时候,之前的一些设置,比如
set_dft_signal -view existing_dft -type ScanClock -port clk_df -timing [list 45 55]
set_dft_signal -view existing_dft -type Reset -port reset_n -active_state 0
set_dft_signal -type ScanDataIn -port  test_in
set_dft_signal -type ScanDataOut -port  test_out
这四条设置命令中,clk_df就是原本自己模块的时钟吗?(按理说应该不是呀,那需要自己设置一个时钟吗?)
同理,reset_n就是自己模块的reset吗?那test_in和test_out呢?
这四个设置中的端口是模块自己本身的还是应该自己手动先在RTL级代码中添加的呢?(如果是自己添加进去的端口,比如test_in,那么这个test_in肯定就是接在一个MUX-flop的输入端的,那这样的话也就没有必要用compile -scan自动生成scan flop了吧,因为端口处的scan -flop的SI端口的输入就是test_in亚)
发表于 2012-8-6 13:15:22 | 显示全部楼层
与scan相关的信号有:test_clk,ext_rstn,scan_enable,scan_in,scan_out。
这些信号都要做到外部可控,也就是说这些信号最终要接到pad上(单独出或者复用)。
这几个命令是指定数字顶层哪些port是给这些信号用的。
测试的时候时钟是外部给的,rst信号也是外部给的,不用内部产生的时钟和rst信号,
其它的3个信号是控制scan使能和scan pattern的输入与输出的,同样是外部控制。
这几个信号一般在rtl都要考虑,在做DFT的时候将他们用你说的这几个指令指定就好了。
发表于 2012-8-6 13:36:46 | 显示全部楼层
都是自己添加上去的,到了管脚部分,可以复用也可以单独引出
 楼主| 发表于 2012-8-6 19:07:37 | 显示全部楼层
回复 2# otogyg


   恩,非常感谢您的回答。还是有几个比较模糊的地方。您说到测试时钟是外部给的,不是内部产生的。那是不是指整个芯片上应该会有两个时钟pad,一个是function clock,即用于正常工作的时钟;另一个是测试时钟,即用于测试的。是这个意思吗?那这样的话两个时钟pad在芯片内部是通过一个选通的方式选择其中一个时钟吗?其他信号同理。   另外,有个不明白的,如果rtl已经设计好了DFT,比如一个将一个输入测试数据和一个正常数据进行MUX。那为什么还需要compile -scan呢?
   能否麻烦您解惑一下,非常感谢
与scan相关的信号有:test_clk,ext_rstn,scan_enable,scan_in,scan_out。
这些信号都要做到外部可控,也就是说这些信号最终要接到pad上(单独出或者复用)。
这几个命令是指定数字顶层哪些port是给这些信号用的。
测试的时候时钟是外部给的,rst信号也是外部给的,不用内部产生的时钟和rst信号,
其它的3个信号是控制scan使能和scan pattern的输入与输出的,同样是外部控制。
这几个信号一般在rtl都要考虑,在做DFT的时候将他们用你说的这几个指令指定就好了。
 楼主| 发表于 2012-8-6 19:10:39 | 显示全部楼层
回复 3# helte320


   请问一下复用的概念是指?今天我试着随便综合了一个电路,然后进行了DFT的综合。发现如果我set_dft signal -view e -type ScanClock -port clk的话(其中clk就是原来的function clock),发现在电路图上clk没有发生任何改变。如果我对输入的数据端口设置为ScanDataIn,那么这个数据端口就会进行串链。再另外,如果我对reset信号设置为-active_state 0 的dft_signa,发现也没有什么变化,请问这个是怎么回事?还是跟您说的不一样呢
发表于 2012-8-6 21:14:32 | 显示全部楼层
回复 4# sages


1)正如你所说function clock 和test clock 是分开的,芯片里要做clock选择,测试时芯片用的是test clock。
    test clock 可以与其它pin复用一个pad(节省pad)。
2)compile -scan 这个参数是指定设计里所用的filp_flop 都用scan filp_flop,如果没有-scan 综合是用一般的filp_flop的。
 楼主| 发表于 2012-8-6 22:03:19 | 显示全部楼层
回复 6# otogyg


   您好,我的意思是说,如果我在RTL级已经做了内部的信号选通了,为什么还要DC自动帮我换scan flop呢?或者您的意思是不是应该这样理解,就是只是在输入端口处的test_in、clock、reset、test_mode以及输出端口的test_out需要自己手动在RTL级添加代码,让他们能够进行选通。而芯片内部的flop则只需要通过compile -scan命令自动将flop换为scan flop即可。而在RTL级添加的选通,可以选择让test_in或者正常数据输入,选择让test_clock还是正常clock进入,选择让test_reset还是reset进入,而这些选择都是通过test_mode来进行的???

如果是这样的话,我想请问一下,为什么不直接利用正常的reset的端口呢?他俩有什么区别吗?
发表于 2012-8-7 09:23:39 | 显示全部楼层
回复 8# sages

1)只需要在输入输出端口添加,内部有工具做。
2)测试时要求芯片的复位信号外部可控,即由外部产生复位信号送入芯片,
     不能受内部信号影响。
不知道这么说,你明白不。
 楼主| 发表于 2012-8-7 11:13:45 | 显示全部楼层
回复 9# otogyg


   也就是说,在原来的功能模块中,直接添加test_clock, reset_n, test_mode, scanin和scanout这几个端口就行了。只定义前四个端口为input,最后一个为output就可以了吗?而至于该端口与内部应当怎么连接,不需要我手动定义,直接交给DC进行DFTC就可以了是吗?
发表于 2012-8-7 11:19:23 | 显示全部楼层
回复 10# sages

时钟和复位信号的选择还是要做的(用scan_enable来选)。
还有就是在dft compiler中用set_dft_signal 来告诉工具
哪个是测试时钟,哪个是测试复位信号,等等。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-3 07:19 , Processed in 0.270556 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表