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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3863|回复: 3

[求助] 已解决---scandef 配置问题

[复制链接]
发表于 2019-12-11 19:59:38 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 haier822 于 2022-5-14 20:17 编辑

大家好,请教一个scandef问题。

我用RC做scan cell mapping 和 scan chain insertion(每条chain均连接到TOP 的TEST_SI*, TEST_SO*, 这些TEST_SI/SO pin是在TOP 临时添加的,在后面edt merge 在TOP里面的时候这些pin都会被去掉的), 最后将edt和scan chain做了连接(edt_scan_in, edt_scan_out都和每条chain做了连接), 最后用INNOVAS 做PR最新的innovas必须要求scandef,否则跑不下去。我是在RC做scan chain insertion 的过程中让RC 吐出来 一个scandef, 这时的scandef 中,chain的START pin 指向的是top 的TEST_SI*, TEST_SO*,  因为最终的网标edt的pin和chain相连的,所以我在这个scandef 文件中START/ STOP PIN都做了修改,例如:
//-----------------
+ START PIN dns_ab9_linx_ic_digtop_edt_i /edt_scan_in[0]
...
+ STOP PINdns_ab9_linx_ic_digtop_edt_i/edt_scan_out[0]
//-----------------

但是innovas 读入文件报错, 说找不到这个pin,不知道为什么?该怎样解决呢?




 楼主| 发表于 2019-12-13 15:27:00 | 显示全部楼层
本帖最后由 haier822 于 2019-12-17 16:09 编辑

问题解决了,现把解决过程分享给大家,也算是一种总结:
首先根据PR innovas 报告的错误编码IMPDF-279到Cadence的support site查询到如下信息:
//------------------------------------------------------------
IMPDF-279error in Innovus when reading scandef created by RC



Problem



I insert third-party compression logic on an RC netlistwith scan chains already connected. Scandef written out by the RC beforecompression insertion creates the following error when reading into Innovus:

**ERRORIMPDF-279): The I/O pin 'tst_sdi_1' specified in START point of the chain'scan_chains_1_seg1_test_clock3_internalClk_1_falling' does not exist, thechain is discarded.

How can I resolve this?



Solution



When scandef is written out before inserting the compressionlogic, it assumes dummy ports for the compression channels. Dummy ports areremoved after the compression is inserted. Mostly, MUXes are inserted to selecteither the compression path or full-scan path. So, you need to regeneratescandef taking into account the new MUXes inserted in the scan compressionchannels.

Because there are no ORDERED segments in the scan channels, youcan analyze the new connectivity of scan chains with respect to the DECOMPRESSORoutput and COMPACTOR input pins while these are connecting to the scancompression channels.

In RC-DFT, you will do the following:

1.Load the netlist with the compression inserted.

2.Define the DFT setup.

3.Specify the scan chains with respect to the compression logic pins, and thenanalyze the chains:

define_dftscan_chain -analyze -sdi -sdo -chain

Whenthis is done, the first and the last elements of the scan compression channelswill be used as the scandef START and STOP pins.
//-----------------------------------------------------------------------
结合我自己的设计flow,edt是用mentor testkompress设计的,最终的netlist中包含edt, 根据上面的步骤借助scan insertion 的环境再run一遍,不过需要修改一下:
1. 把原来的sdi, sdo的指定换成当前的edt 的pins
213 # #scan chain definition, create temporary  port, will be removed in edt link phase
214 # for {set i 1} {$i <= $scan_chain_number} {incr i} {
215 #    define_dft  scan_chain -name chain$i -sdi TEST_SI$i -sdo TEST_SO$i -create_ports
216 #   }
233 for {set i 0} {$i <= 59} {incr i} {
234     define_dft  scan_chain -analyze -sdi dns_ab9_linx_ic_digtop_edt_i/edt_scan_in[$i] -sdo dns_ab9_linx_ic_digtop_edt_i/edt_scan_out[$i]        
235 }
注意上面帮助步骤中define_dft 的命令-chain可能是旧的不用了,我当前的rc中define_dft已经没有这个option了。
2. 因为目前的netlist已经包含scan chain了,所以把原来的connect_scan_chain去掉。
#connect_scan_chain
3. 写出scandef,用write_scandef命令
write_scandef > $_REPORTS_PATH/${DESIGN}_scan_chain.def
完后,就可以得到scandef文件了,可以看到每个scan chain 的第一个scanff 作为START 点,最后一个scanff作为STOP 点。            ...
          + START */i_tpr_tdo_reg Q            ....           + STOP */ZM_stop_sync_reg_d_reg TI



发表于 2020-7-14 20:26:10 | 显示全部楼层
good
发表于 2022-3-23 20:38:16 | 显示全部楼层
有multibit单元时呢?好像不识别啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-26 18:36 , Processed in 0.019972 second(s), 6 queries , Gzip On, Redis On.

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