Scan Chain的原理与实现(实践)-top down flow
文章目录
- 实验步骤
理论部分已经奠定了基础,我想记录实践部分,希望能在实践中,不断深化对ug的理解,对整个DFT的理解。
本次实验的目标是实现TOP Down Flow、熟悉DFT的基本脚本
实验目录环境:
此时,我们DFT的工作人员已经得到了ddc文件,所以在scripts文件夹里面我们不用关心1compile。
实验步骤
启动dc
dc_shell &执行脚本2read_design
source 2read_design脚本如下:
set hdlin_enable_rtldrc_info true;# enable rtl code checking in DV set test_simulation_library "./tmax/rams.v"# Read the mapped ORCA design read_ddc mapped/ORCA.ddc current_design ORCA link
执行脚本3create_test_protocol
如果我们现在没有read spf文件,然后就创建协议运行的话,会出现如下的pre-DFT violation
注意:上面的脚本不是一次写进去,如果是unmapped的ddc,应该不会有spf文件,所以流程应该是声明信号、然后创建协议,然后吐出spf文件。
那现在跑pre dft的话,会出现如下的错误:
D1是时钟相关的,D3是复位相关的。这两个是最常见的错误。
打开第一个D1的violation,发现mux的选择端口由三个配置寄存器控制,而这三个寄存器的值现在是不知道的。可以通过internal pin来赋值。另外,还可以看到时钟此时为X态,因为工具选为pin data为clock off状态。关于pindata的具体细节,后续会专门写一篇文章。这里就不再浪费时间赘述。
但是我们可以看到其实是下图中的mux的选择端口出了问题。
虽然采用internal pin设置为constant的值来产生pattern,但是在真正测试的时候,这三个寄存器的值是需要真正的赋值上去的,也就是说你需要pattern让这三个寄存器在ATE测试的时候有该有的值。
总结
以上是生活随笔为你收集整理的Scan Chain的原理与实现(实践)-top down flow的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ATPG Practice ATPG P
- 下一篇: Verdi-ug --- nwave T