PrimeTime Labs学习笔记(三)

本文深入探讨了时序分析的关键命令,包括如何使用set_app_var设置默认值,report_analysis_coverage检查时序违例,report_constraint-all_violators列出设计中的违规,report_global_timing获取顶层时序摘要,report_qor获取设计质量信息。文章还介绍了setup和hold的slack计算,以及如何通过不同命令获取路径组、输出端口、时钟信息和路径细节。此外,强调了下降沿和上升沿在hold slack计算中的应用,并提供了相关例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 本文对应PrimeTime2018.06 Lab3的学习

  •  set_app_var可以通过-default参数将内部变量的值设为默认值。

  • 可以使用report_analysis_coverage来快速地判断下哪些地方存在时序违例,表中的Constrained Pin即约束的endpoint。

  •  使用report_constraint -all_violators命令将设计中违反design rule的violations打印出来,打印的信息基于path_group。

  • 使用report_global_timing命令可以得到top-level的summary的时序,里面主要会有WNS、TNS和NUM信息。

  •  使用report_qor命令可以得到设计的质量信息,qor即quality of design的简写。注意该命令可以得到各个path_group的状态,Cell的统计、Area、DRC信息等。

  • setup的slack计算是(data required time) - (data_arrival time)。
  • hold的slack计算是(data_arrival time) - (data required time)。

下面第一个是setup的report_timing,第二个是hold的report_timing。

--------

  • 通常,flip-flop的下降沿延迟比上升沿延迟要短,因此下降沿延迟往往被使用在了hold slack的计算中,以便得到更差的slack结果。但是存在例外,同时考虑到flip-flop的上升沿延迟和end-point的hold time requirement时,我们也会使用上升沿来计算最差的slack,就如下面的例子一样(左侧是最差的slack,右侧是指定了-delay_type min_fall的slack)。

  •  使用get_path_group命令可以得到路径组的集合。
report_timing -group [get_path_group *] -slack_lesser_than 0
  •  使用all_outputs命令可以得到所有输出端口的集合。
report_timing -group PCI_CLK -to [all_outputs]
  •  使用all_registers -level_sensitive命令来得到设计中的latch集合。-data_pins选项得到latch的引脚。

  • 使用report_clock命令来得到时钟相关的信息。

  •  使用report_timing -rise_from clk1 -fall_to clk2来灵活地指定start_point和end_point的transition驱动沿。类似的选项还有-fall_from、-rise_to

  •  使用report_timing -max_paths num命令可以将多条路径打印出来,需要注意使用-max_paths num选项时会隐式地设置-slack_lesser_than 0,因此时序满足的那部分是不会显示出来的。如果需要将满足时序的那部分也显示出来,那就需要显式声明slack,比如:-slack_less_than 100

//ps1.如果有同学需要学习资料,可以共享交流,站内私信即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值