景芯训练营VIP学员在实践课上遇到个DFT C1 violation,导致check_design_rule无法通过,具体报错如下:
遇到这个问题第一反映一定是确认时钟,于是小编让学员去排查add_clock是否指定了时钟,指定的时钟位置是否正确。
景芯VIP学员说看了几遍还是正确指定了时钟,没有头绪。然后小编打开RTL代码一看,发现该同学犯了很低级的问题,大家猜猜是什么问题先,知识星球公布答案。
答:原因是该同学直接修改了RTL的clk连接,造成clk连接错误,tessent 工具无法trace到正确的时钟。因此。大家记住,修改代码一定要慎之又慎,不能随意改,而且改了代码一定要做lint、spyglass,保证语法OK,仿真OK。
我们知道,在下图EN端输出X时,DFF的clk端将是X,于是就会产生C1的 violation,那么如果或门换成与门呢?
如果或门换成与门呢?如果EN是X,那么与门依然输出X到DFF的clk,造成DFF无法上链,也会造成覆盖率下降。
只要改了这个问题就轻松过了DRC:
然后进行AON_WRAPPER这个harden的create_dft_specification: