PrimeTime指南

您所在的位置:网站首页 数字ic设计实例有哪些 PrimeTime指南

PrimeTime指南

2024-07-11 21:16| 来源: 网络整理| 查看: 265

        PrimeTime(PT)是Synopsys的sign-off quality的静态时序分析工具。PrimeTime可以集成于逻辑综合和物理综合的流程,让设计者分析并解决复杂的时序问题,并提高时序收敛的速度。

一、概述

        PT最大的两个特点是:

基于时序路径进行分析由约束(constraint)驱动

        PT可以进行一系列的时序检查

        有一些额外的检查可以在库中指定,例如:         clock separation:这是对主/从锁存器的约束,在两个时钟之间的最小要求的时钟间隔,以避免锁存器成为transparent。         nonsequential:这类似于两个数据引脚之间的数据到数据的设置和保持检查。

constraint check:由使用者指定的约束检查(如 set_output_delay)library check:由供应商在库中为特定的子单元指定的检查(如 setup/hold)

        STA是基于时序路径进行检查的,在STA中,对时序路径的定义如下:

        一共有四类路径,我们使用report_global_timing命令就可以查看违例的时序路径:

        此外,我们可以使用report_analysis_coverage命令来查看一个简单的汇总报告:

        PT具有非常多的功能,而在使用PT之前,我们首先要知道PT的使用要求,即其最基本的输入要求:

         其中,SPEF 是 IEEE标准的寄生交换格式,GPD是synopsys公司寄生交换格式。

二、PT 的 Analysis Flow 

        PrimeTime的时序分析主要有以下几步:

载入设计与相关库文件读入相关寄生参数载入约束文件,包括时序约束进行分析并产生报告保存session退出恢复session

        这个STA流程需要反复迭代进行,直到达到sign off的要求。 

1、读入设计与相关库文件

        使用read_verilog命令即可读入设计文件,而current design命令是用来设置Top的。

         其中,list_designs的标识含义如下:

* :指明该design是current designL:指明该design已经链接N:指明该design不在memory中(未载入PT中)l:指明该design部分链接

        在PT读入设计及相关库文件之前,常常设置两个路径变量,以方便地解决文件查找的问题:

        1、指定Prime Time搜索设计、逻辑库和其他设计数据的目录,如时序模型。通过设置search_path变量来完成此任务:

pt_shell> set_app_var search_path "目录路径"

        Prime Time会按照你指定的顺序搜索这些目录。

        2、通过设置 link_path 变量来指定 PrimeTme 在设计层次中寻找库文件。

pt_shell> set_app_var link_path "目录路径"

        该变量可以包含短线(-)、库名和文件名。*指示PrimeTime在内存中搜索设计。Prime Tme按照你指定的顺序搜索库。主库是link_path中的第一个库。

        使用link_design就可以读入相关的库文件:

 2、读入相关寄生参数

        利用read_parasitics命令即可读入寄生参数相关文件,使用-format即可指定读入的文件格式:

        PrimeTime支持以下格式的文件:

Galaxy Parasitic Database(GPD)Standard Parasitic Exchange Format(SPEF)Detailed Standard Parasitic Format(DSPF)Reduced Standard Parasitic Format(RSPF)Milkyway(PARA)

         PrimeTime推荐使用GPD以及SPEF格式的文件。

        在读入寄生参数后,我们可以利用以report_annotated_parasitics命令来检查寄生参数标记的情况:

         需要注意的是,read_parasitics命令会自动显示该报告,我们也可以在read_parasitics时检查PARA- RC-Warnings。

        任何未被标记的pin to pin nets都需进一步检查。Driveless 和Loadless nets 通常是未使用的pin造成的,这些未标记的nets一般来说是正常的。

3、读入约束文件

        使用read_sdc读入设计约束文件:

         再读入约束文件后,需要进行约束完整性的检查,使用check_timing -verbose命令:

         最后,一些单周期静态STA的例外情况有以下几种,即需要单独进行分析:

False pathMulti-cycle pathset_max_delay and set_min_delay

        而没有正确指定的例外情况需要忽略,使用report_exceptions -ignore命令进行查看:

 4、进行分析

         PBA: Path Based Analysis

        在save_session前运行PBA选项可以避免在恢复session后重新计算。

         而使用report_timing命令,配合其选项可以产生更详尽的报告:

         GBA:Graph Based Analysis

5、保存session

        使用save_session可以保存session

pt_shell>save_session $session_directory

        一个保存好的session包含以下信息用于恢复。

链接的设计和加载的库时钟、时序例外和其他约束条件操作条件反标SDF的延迟和寄生参数变量设置网表编辑(insert buffer、size cell、swap cell)。分析数据交叉耦合(cross-coupled)的延迟数据和噪声数据

        其目录格式如下(以orca项目为例):

6、退出

        一般使用以下命令完成退出

     

        当然,也可以单独使用这两个指令:

7、恢复session        

        使用restore_session可以保存session

pt_shell>restore_session $session_directory

三、配置文件及脚本

        setup file是PrimeTime的配置文件,其文件名为 .synopsys_pt.setup,当PT运行时会自动执行,完成配置工作。

        setup file一共有三个层级,其优先级如下:

        可以使用synopsys提供的RMgen(reference methodology generate)工具生成PT运行脚本的模板:

        其中,pt.tcl就是PT的运行脚本,其内容如下:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3