STA静态时序分析2——sdc exceptions约束总结

set_false_path

语法:set_false_path -from pin/clk -to pin/clk -setup/hold 所有开关都是可选的,但至少要有一个from或to
用法:设置无需进行时序检查的路径,即假路径,这些路径的时序弧仍然存在并且会计算时序结果,只不过不进行报告和修复。通常包括某些不需要检查的IP端口、IO端口等,signoff前需要跟前端确认,而且最好尽量少用正则匹配,否则可能会设置了多余的路径导致PR工具没有进行修复违例很大,最后手修可太难了。

set_disable_timing

语法:set_disable_timing [get_cells XX] -from block_pin -to block_pin
用法:打断某个cell的两个pin之间的时序弧,所有经过这两个pin的路径都不会计算延迟也不会报告,所以这个指令比较危险,必须要前端明确确认之后使用。一般用于FLASH等两个不需要检查的端口之间。

set_case_analysis

语法:set_case_analysis 1/0 [get_pins XXX/X]
用法:用于某些IP只检查特定输入情况下的时序,比如插入scan chain的网表在scan mode只检查scan_enable为1的情况

set_multicycle_path

语法:set_multicycle_path int -setup/hold -start/end -from clk/pin-to clk/pin 其中-start是from高频时钟to低频时钟使用,-end是from低频时钟to高频时钟使用
用法:用于放松路径检查,通常用于主时钟(驱动的路径)和分频时钟(驱动的路径)之间,且一般情况下-setup和-hold成对出现,hold放宽倍数值为setup-1,这点自己去搜。另外注意,有些multicycle设置是单边的,比如一些IP 是高速写低速读,此时只有低频时钟到高频时钟可以设置multicycle。

set_sense

语法:set_sense -stop_propagation -type -clocks [get_pins XX/X] ,此处只说stop_propagation的用法,set_sense的另一个用法见我另一篇博客。
用法:用于将某个时钟在某一个cell的pin停掉,比如某个模块或IP不用某个时钟检查。这个指令非常好用,比较常见的用法是某个时钟如果小于一定频率时才穿过ICG去检查ICG后的路径,但高于这个频率时只有分频时钟去检查,此时就可以把设置的高频时钟从这个ICG的outpin停掉,类似的,这个用法也可以用来给某些模块、IP降频。这个指令也有一定风险,需要前端明确确认。

set_path_margin

语法:set_path_margin -int -setup/hold -from XX -to XX
用法:给某些IP、模块降频或升频,对于setup设置margin值为负的时候是降频放宽约束,margin值为正的时候是收紧约束。

set_max/min_delay

语法:set_max/min_delay int -from XX -to XX
用法:用来给部分路径放宽或加紧约束,常用于IO路径放款最大延迟约束,或是一些MEM的pin本身的建立时间就非常大也可以用这条指令来额外放宽约束。

下面额外说一些特殊的group_path

同步时钟:一般来自一个时钟源通过分频等形成的新时钟之间是同步的,同步时钟之间会进行路径检查,只有同步时钟之间可以设置multicycle。
异步时钟:不同时钟源之间是异步的,一般时钟源可以来自片外IO输入、片内PLL生成等。
逻辑互斥:一般是通过MUX进行时钟选择的时候,任一时刻MUX输出端的时钟只可能来自一个时钟源。
物理互斥:两个时钟完全没有路径交汇的时候可以设置为物理互斥。
只有同步时钟之间会检查时序,异步、互斥都不检查。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STAStatic Timing Analysis)静态时序分析是设计验证中非常重要的一部分,它能够保证设计的时序满足要求,并且对于设计中存在的时序问题进行诊断和修复。PT(PrimeTime)是业界较为常用的 STA 工具之一。下面是一个 PT 做 STA 静态时序分析的教程。 1. 确定时序约束 时序约束文件是进行静态时序分析的基础,它描述了设计中的时序要求。时序约束应该包括时钟频率、时钟时序、输入输出延迟等信息。在 PT 中,时序约束文件格式为 SDC(Synopsys Design Constraints)。 2. 进行时钟分析 时钟分析是静态时序分析的第一步,它能够检查时钟网络中存在的时序问题。在 PT 中,我们可以使用 clock report 命令生成时钟分析报告。时钟分析报告能够帮助我们确定时钟路径、时钟树等信息。 3. 进行时序分析 在进行时序分析之前,我们需要将设计进行综合,并产生时序数据库(.db 文件)。时序分析主要包括前端分析和后端分析,前端分析主要是对时序路径进行分析,后端分析主要是对时序路径进行优化。 在 PT 中,我们可以使用 timing report 命令生成时序分析报告,报告中包括了时序路径、时序偏差等信息。我们可以根据报告中的信息进行时序优化,例如添加时钟缓冲、调整时钟路径等操作。 4. 进行时序约束修复 在进行时序分析时,PT 会给出一些违反时序约束的警告和错误信息。我们需要根据这些信息进行时序约束修复,以保证设计满足时序要求。在 PT 中,我们可以使用 constraint report 命令生成时序约束修复报告,报告中包括了需要修复的时序约束信息。 5. 进行时序分析验证 在进行时序分析之后,我们需要进行时序分析验证,以保证时序分析结果的准确性。在 PT 中,我们可以使用 report checks 命令生成时序分析验证报告,报告中包括了时序分析结果的正确性信息。 以上就是 PT 做 STA 静态时序分析的教程,希望能够对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值