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

source 3create_test_protocol
# Read the design from the unmapped flow
#read_ddc mapped/ORCA.ddc
#set current_design ORCA
#link
set test_simulation_library ../ref/tmax/libs.v
remove_test_protocol

# Setup timing
set test_default_delay 0
set test_default_bidir_delay 0
set test_default_strobe 40

# Declare signals for the protocol
set_dft_signal -view existing_dft -type ScanClock -timing {45 55} -port {pclk sdr_clk sys_clk}
set_dft_signal -view existing_dft -port prst_n -type Reset -active_state 0
set_dft_signal -view existing_dft -port scan_en -type ScanEnable -active_state 1
#set_dft_signal -view existing_dft -type Constant -active_state 1 -port test_mode
set_dft_signal -view existing_dft -type Constant -active_state 0 -port conf_ena


##
 read_test_protocol -section test_setup ./scripts/test_setup.spf -verbose
 write_test_protocol -output  output.spf


# From the above specifications, create the test protocal
create_test_protocol

dft_drc 

如果我们现在没有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测试的时候有该有的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值