微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 请教scan模式下面timing的约束

请教scan模式下面timing的约束

时间:12-12 整理:3721RD 点击:
以前做设计的,现在被拉来做dft的全流程,真是头大,
stuck at scan的clock走的是原来functional clock的路径,所以应该没问题
不过scan enable貌似没有约束,应该怎样约束呢?
还有scan in 和scan out的IO 应该怎么约束?
scan chain的shift timing怎么约束呢(就是在scanen为高时从一个ff到下一个ff)
谢谢
另外仿真各位都是用post-layout来访的吗?

一般单独做一个scan mode的sta脚本
独立create时钟来约束
scan_in/scan_out/scan_en都用这个时钟来约束
当然如果你要跑at speed那么就要用func的时钟频率来约束
这种情况下脚本要复杂的多,同时scan的设计也会相对复杂

sta可以check,不过synthesis和dft insertion的时候不能约束一下吗

一般来说syn之前是没有scan的
scan是syn的过程中插入的,一般都会在syn的过程中插入scan之后
做一个increase compile,用来优化scan相关的
不过意义也不是特别大,因为scan chain只是链接DFF,相邻DFF在scan chain
上不会有逻辑,而syn一般只针对setup,而scan chain的问题一般在hold,所以
对scan chain做syn意义也不是很大,而对于setup来说,一般scan的freq会比func的
freq低(at speed除外),所以setup也没什么好优化的了(因为func的syn已经优化好了)

请教负沿触发的ff现在貌似都是violation,这个在scan chain里面应该怎么处理

我们以前做的scan,综合出来的fall edge的都不测
一般来说这种dff应该不会很多才对
如果一定要测,在综合的时候禁用fall edge的DFF cell
这样综合出来会是时钟上先有一个反相器,在加一个rise edge的DFF
然后在插入scan的时候用scan clock去修复这个DFF的clock
这样就可以了

set_scan_configuration -clock_mixing mix_clocks -style multiplexed_flip_flop
set_scan_configuration -clock_mixing mix_edges
set_scan_configuration -add_lockup true
set_scan_configuration -lockup_type latch

最近设计每天都在改动,我今晚再综合一把看看结果

简化问题是个好办法,最近事情一坨坨的,我有空试试,明早过来看结果

这种算不算有问题GPIO0 是scan clock:
Warning: Clock GPIO0 can capture new data on TE input CKN of DFF …/neg_clk_reg. (D14-29)
Badly placed ()'s.
Source of violation: input CK of DFF …/pos_clk_reg.
neg_clk_reg的代码是这样的
always@ (negedge clk or negedge rst_n)
  if(!rst_n)
    neg_clk_reg <= 1'b0 ;
  else
    neg_clk_reg <= pos_clk_reg ;
end
不过scan chain的 report上面有neg clk

哇,多谢,coverage还不够高,再查查其他问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top