微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > PT没有问题,为什么仿真时报timing violation

PT没有问题,为什么仿真时报timing violation

时间:12-12 整理:3721RD 点击:
单时钟系统,P&R后经PT分析没有Violation。但是仿真出现了setup和hold violation,不知道是什么问题引起的,谢谢。 CLK 加了CLK BUFFER
具体的时钟综合脚本如下
create_clock -period 18 -name CLK -waveform {0 9} {clk}  
set_clock_latency 1.4 CLK
set_clock_uncertainty -setup 0.75 CLK
set_clock_transition -max 0.9888 CLK
set_ideal_network {clk}
set_input_delay 1 -clock CLK {di}
set_output_delay 1 -clock CLK {so}
#########################
set_max_transition 0.9888 $top_design
set_max_fanout 16 $top_design
set_false_path -from [get_ports rst_n]
set_ideal_network [get_ports rst_n]
set_dont_touch  [get_ports rst_n】
谢谢
.34

跑波形,trace呗,还有可能TB加的激励不对呢,这都不好说哦。

加的激励是50M的标准时钟,输入di和clk上升沿对齐的,不知道有没有问题啊
.34

加激励的时候可以模拟下PAD上的延迟,让输入在CLK沿后delay一下
试着加个#1看看效果~ 我之前遇到过一个类似的问题,这样就好了,
我也不确定你是什么问题,也是猜测的.

你不会是用这个脚本来跑STA的吧?
post-layout STA,需要set_propagated_clock [all_clocks]

我设置了set_propagated_clock [all_clocks]
.34

加#1应该没有什么问题,但是假如只是0.1的话还是会跑错的,是不是要把input delay设置的准确点,谢谢
.34

我不是搞backend的,我是verification的,具体多少 这个 我很难讲啊(这个是不是可以估出一个范围的?)

相对于50M的时钟,我能不能吧这个set_input_delay 1ns去掉,谢谢
.34

pr之后,
set_clock_latency 1.4 CLK
set_clock_uncertainty -setup 0.75 CLK
set_clock_transition -max 0.9888 CLK
set_ideal_network {clk}
都应该去掉

可以修改set_input_delay 1 -clock CLK {di}
为set_input_delay -max 1 -min 0 -clock CLK {di},谢谢
.56

interface的timing,是需要constaint的呢,还是false path?
如果是前者,在PT里面close timing后,post sim不应该有问题。当然,post sim时的激励应该和PT里的constraint一致。
如果是后者,post sim可能会有violation,但是是可以忽略的呀。ASYN path的正确是由design来保证的。

1. 看看SDF是否正常标上了。
2. 看仿真出错的log,找到出现violation的寄存器,通过波形看看时序是否跟SDF中标注的一致。

先看具体是什么violation啊,是真的还是假的violation,具体结合design来看
即使pt没报violation,象cdc的path在仿真时报violation也是正常的,这种情况只能force notifier成某个固定值,以避免仿真器报错

单时钟,约束里也没有multicycle啥的,
应该不是sync的问题,
我记得有些仿真器对于sdf里面的负值好像有说法的,
你可以看看log,sdf反标有什么问题。
如果反标没问题,那就怪了。
你确定sta时候没问题吗。
你的设计reset,没问题吧。
为啥还要false path的

我看了下,clk加了2级buffer。有0.3ns的延迟,di只有0.1ns的延迟。是不是我设置了set_input_delay 1, 所以PT没问题。但是我di和clk的上升沿是对齐的,所以导致仿真问题,不知道是不是这样的
.56

前面的flow都OK,后仿真跑不跑其实都差不多,这个再看看PR之后的STA分析,看看是不是PT约束脚本有什么问题没,并经pre sta和post sta还是有点区别的

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

网站地图

Top