GOF DFT DRC介绍
GOF ECO内置了方便快捷的DFT DRC(Design Rule Check)方案,让芯片设计工程师做芯片功能ECO时不需要因DFT问题而考虑折中。GOF DFT DRC工具可以检查扫描链中的问题,或者手工ECO造成误操作,如shift enable pin误接到0。
GOF DFT DRC主要包含以下规则:
扫描链断裂 (ERROR_MULTI_PATHS) 扫描链末尾是常量 (ERROR_END_CONST) 扫描链末尾不是flop或者不是EDT逻辑 (ERROR_END_AT_INST) DFT测试点由不可控的信号驱动 (ERROR_DFT_TESTPOINT_DRIVEN) DFT测试点有多条有效路径,可能引起glitch (ERROR_DFT_TESTPOINT_GLITCH) Flop由普通时钟驱动,非DFT定义的时钟驱动 (ERROR_CLOCK_UNDEFINED) Flop的复位pin有多条有效路径,可能引起glitch (ERROR_RESET_GLITCH, ERROR_SET_GLITCH)
GOF DFT DRC的一个例子
读lib库、网表,设置扫描链的scan mode=1、scan enable=1,再设置扫描链的起点和终点port。并指定scan clock和scan reset。最后调用dft_drc() api函数。Perl脚本如下:
# File: dft_drc_check.pl
use strict;
setup_eco("dft_drc");
read_library("stdlib.lib");
read_library("sram256x11.lib");
read_library("sram256x96.lib");
read_design("-imp", "digital_top_dft.v");
set_top("digital_top");
set_pin_constant("P2D_TEST", 1);
set_pin_constant("P2D_SCEN", 1);
set_scan_pairs("P2D_SCIN[0]", "D2P_SCOUT[0]");
set_scan_pairs("P2D_SCIN[1]", "D2P_SCOUT[1]");
set_scan_pairs("P2D_SCIN[2]", "D2P_SCOUT[2]");
set_scan_pairs("P2D_SCIN[3]", "D2P_SCOUT[3]");
create_clock("P2D_SCLK", 10);
create_reset("P2D_RSTN", 1);
my $err = dft_drc();
在Terminal里,运行GOF脚本,如下:
gof -run dft_drc_check.pl
如果运行结果显示clean,则扫描链是没有问题的。如果报错,可以用start_gui() api在GOF Debug里进行调试,和用gof eco api来fix。
INFO! Flops in scan chain percentage : 99.49%
INFO! DFT DRC is clean
关于NanDigits Design Automation
Nandigits Design Automation于2007年成立,公司总部位于美国硅谷圣何塞(San Jose)。2016年10月在中国大陆成立销售和技术支持部门。我们是完整的芯片网表解决方案提供商,主要产品有网表功能ECO工具GOF ECO、逻辑等价性检查工具GOF LEC,网表调试工具GOF Debug、汽车电子功能安全验证的GOF Formal。到目前,我们已经帮助全球数十家芯片设计公司Tapeout超过100个项目。
欢迎评估试用
技术支持:support@nandigits.cn
官方网站
https://nandigits.co
联系评估和试用