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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3308|回复: 1

[求助] DFT 门控时钟产生的时钟,无法使用扫描寄存器替换

[复制链接]
发表于 2017-10-25 13:54:31 | 显示全部楼层 |阅读模式

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

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

x
新手上路,将已经综合的netlist插入DFT,DFT代码如下

analyze -format verilog -lib WORK {add_noscan.v}

current_design add
link

set_dft_signal -view exist -type ScanClock   -port clk -timing [list 45 55]
set_dft_signal -view exist -type Reset       -port rstb -active_state 0
set_dft_signal -view exist -type Constant    -port TEST_MODE -active_state 1


set_dft_signal -view spec -type TestMode  -port  TEST_MODE
set_dft_signal -view spec -type ScanDataIn  -port enc_din[0]
set_dft_signal -view spec -type ScanDataOut  -port enc_infram_wdata[0]
set_dft_signal -view spec -type ScanEnable -port  TEST_SE
set_dft_configuration -fix_clock enable -fix_set enable -fix_reset enable
set_autofix_configuration -type clock -method mux -control_signal TEST_MODE
set_scan_path  -view spec C1 -scan_data_in  enc_din[0] -scan_data_out  enc_infram_wdata[0]

create_test_protocol
dft_drc
compile -scan
dft_drc
preview_dft
insert_dft

write -f verilog -hier  -o add.v
生成的add.v


下面的代码应用DFT进行扫描连的插入
netlist的门控时钟代码如下: SNPS_CLOCK_GATE_HIGH_turbo_enc clk_gate_cod_tmr_reg ( .CLK(clk), .EN(N96),
        .ENCLK(net292), .TE(1'b0) );


QDFFRBNLERMX1 cod_tmr_reg_11_ ( .D(N108), .CK(net292), .RB(n194), .Q(
        enc_infram_addr[11]) );
  QDFFRBNLERMX1 cod_tmr_reg_10_ ( .D(N107), .CK(net292), .RB(n193), .Q(
        enc_infram_addr[10]) );
  QDFFRBNLERMX1 cod_tmr_reg_9_ ( .D(N106), .CK(net292), .RB(n193), .Q(
        enc_infram_addr[9]) );



运行DFT之后代码如下

  SNPS_CLOCK_GATE_HIGH_turbo_enc_test_1 clk_gate_cod_tmr_reg ( .CLK(clk), .EN(
        N96), .ENCLK(net292), .TE(1'b0), .turbo_enc_TEST_MODE_in(TEST_MODE) );
  QDFFRBNLERMX1 cod_tmr_reg_11_ ( .D(N108), .CK(n183), .RB(rstb), .Q(
        enc_infram_addr[11]) );
  QDFFRBNLERMX1 cod_tmr_reg_10_ ( .D(N107), .CK(net292), .RB(rstb), .Q(
        enc_infram_addr[10]) );
  QDFFRBNLERMX1 cod_tmr_reg_9_ ( .D(N106), .CK(net292), .RB(rstb), .Q(
        enc_infram_addr[9]) );





可以看出门控时钟改变了,但是由net292信号驱动的D触发器没有被扫描触发器,并且有下面Warning信息
Warning: Cell cod_tmr_reg_11_ (QDFFRBNLERMX1) is not scannable. (TEST-126)
Information: There are 44 other cells with the same violation. (TEST-171)


Modeling violations completed...
-----------------------------------------------------------------


-----------------------------------------------------------------
Begin Pre-DFT violations...


Warning: Clock input CK of DFF cod_tmr_reg_11_ not active when clocks are set on. (D9-1)
Information: There are 44 other cells with the same violation. (TEST-171)


Pre-DFT violations completed...


请问这个是什么原因,还有进过DFT后门控时钟是否正确
发表于 2017-11-3 15:24:56 | 显示全部楼层
运行DFT工具前的代码:QDFFRBNLERMX1 cod_tmr_reg_11_ ( .D(N108), .CK(net292), .RB(rstb), .Q(enc_infram_addr[11]) );
运行工具之后的代码
QDFFRBNLERMX1 cod_tmr_reg_11_ ( .D(N108), .CK(n183), .RB(rstb), .Q(enc_infram_addr[11]) );工具不会去修改时钟源的,而且一般也不会去修改门控时钟的固有结构,只会在EN信号前加一级mux,由test_en信号来接管原来的en信号,现在莫名的多了一个引脚.turbo_enc_TEST_MODE_in(TEST_MODE) 有点奇怪。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-2 00:34 , Processed in 0.016009 second(s), 6 queries , Gzip On, Redis On.

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