Scan plan阶段

文章目录


本项目记录的是XX29,,第一个自己承担的项目。RLXX29A是RLE1039A的正式版。

确认schedule

在INTCK上,我们填写的schedule需要保持与DD的schedule一致。私下teams询问DD,是否确认schedule是如下图所示。
Scan plan阶段
确认好后,我们DFT人员编辑DFT的schedule,点击Schedule Edit
Scan plan阶段
只需要按照下图,照着DD填写的schedule填写红色字体的starttime时间即可。
Scan plan阶段
之后schedule就会出现两行,一行是DD的schedule,一行是DFT的schedule。
Scan plan阶段

1、开始做scan_plan(6/1~7/21)

Scan plan阶段
Scan plan阶段
关注的时间点是进入APR TRIAL的时间,7/22号进入APR TRIAL,因此在7/22号一个星期之前(7/15号)我们必须要求DD提供block的design,然后我们在7/22之前要完成block的insertion 提供给DD。
7月22之后,我们DFT人员需要DD提供chip_setting.tcl以及chip的netlist,然后我们开始打ATPG,与此同时APR的同仁也开始对block进行APR。

我们在INTCK上需要提交两份文件scan plan slideScan Plan excel
先确认好scanplan.excel之后再做slide。
我们需要check DD做的初版的plan是否合理:
check的poin如下:

1. scan chain是否大于scan clock?
因为我们采用的是mix edge,而scan in和scan out(scan chain设定依据来源)小于了scan clock,就会导致tool会多开以test_si和test_so命名的port。
如下图所示
# of Extl. scan chain需要满足大于# of scan clock
Scan plan阶段

2. Clock loading (DFF/clock)的数量不超过100K
我们需要保证一个scan clock drive的SDFF数目不能过大,不超过100K,如上图所示,只需要保证 # of SDFFs per Clock的数目不超过100,000。

3、确保compression ration不超过200(ultral)
璐璐师姐:不清楚MAX的建议值,ultra的建议值是200;MAX限制值是2*2^(n-1),且MAX external chain不能为1,Ultra的限制值无限。

华华师姐:认为MAX建议值200,ultra的建议值是300;MAX限制值是2*2^(n-1),且MAX external chain不能为1,Ultra的限制值无限。
Scan plan阶段
INTCK的建议值:Ultra低于200,DFTMAX低于100.
Scan plan阶段
最终确定是100和200.
Scan plan阶段
4、确认每个mode的scan chain(每个mode,FT与FT之间的数目,CP与CP之间的数目)数目是一致的
这份DD针对DFT提供的slide是不够完整的,因为有的block,是会等我们串完后复用的。
Scan plan阶段
我们应该看DD的这份
Scan plan阶段
如下图所示,我们可以看到给DFT的这份excel下面,dpmac_off是只有一个block,实际上,这个block是有dpmac_off_d0,dpmac_off_d1,dpmac_off_d2这三个block的,也就是说给我们DFT串scan的,重复的就不会写在里面。
Scan plan阶段
Scan plan阶段
所以,下面分为了4个mode,每个mode的scan chain数目都是44,因为给scan chain SI/SO用的pad一共就88个。每一个mode的scan clock可以不相等,下面DFT.excel里面标注的scan clocks:21是一个最大值。
Scan plan阶段
下图,是DD的excel,我们可以check scan chain加起来是不是都为44,即每个mode的chain都为44.
Scan plan阶段
Scan plan阶段
Scan plan阶段
Scan plan阶段

5.确定com架构,同一个mode只能选择一种com架构
有些hardmacro是reuse的其他project的, design直接使用已經串好的netlist,其scan chain的分配為固定值,而且所在mode的compression架構需要與hardmacro一致

6. 对于talk较多的block,应该放在一个mode里面
对于block与block之间interface较多的,应该放在一个mode里面,因为我们目前无法实现mode与mode之间的测试。

7. 确认scan chain length是否balance?
我们需要缩短最长的scan chain length,从而减少test time,test time是以最长的scan chain length来衡量。
DD一般会给我们一个初版的scan chain数量的规划,然后我们再去调整,如下图所示,在mode 0当中,我们可以看到最长的chain length是15823,如果我们要减少test time的话,需要给这个block多规划一条chain,然而这条chain从哪里来:
一方面可以将only intl的首尾相接,如下图所示,314和200就可以合并成一条scan chain。
另一方面,chain length比较短的,并且Extl scan chain比较多的,可以划分一条出来。比如下面的3 4500,就可以划分一条出来。让其变为2条scan chain ,chain length为3*4500/2=6750。
况且,我们现在有几个block都有15823,另一个为15914,所以只降一个还不行,这个 {3 4500}是因为是复用的别的project的block。因此下面已经难以进行更优的balance。
Scan plan阶段

上一篇:DI依赖注入


下一篇:Creator 利用定时器schedule 和 unschedule 阶段执行任务1任务2