每天学命令

2023-11-13

report_timing 
[-clock_from edge_from {lead | trail}]] 
[-clock_to clk_signame_list] [-edge_to {lead | trail}]]  
[-rise | -fall]  
[-early | -late]  
[-hpin] 
[-check_type {setup | hold | pulse_width | clock_period |clock_gating_setup  
 | clock_gating_hold | clock_gating_pulse_width | data_setup | data_hold |recovery | removal | clock_separation 
 | skew | no_change_setup | no_change_hold} 
[–debug {time_borrow | unconstrained}] 
[-max_paths integer | [-nworst integer ]  
 | -begin_end_pair] 
[{-from | -from_rise | -from_fall} pin_list ]  
[{-through | -through_rise | -through_fall} pin_list ]  
[{-not_through | -not_rise_through |-not_fall_through} object_list ] 
[{-to | -to_rise | -to_fall} pin_list ]  
[-point_to_point] 
[-check_clocks]  
[-path_group groupname_list ]  
[-path_exceptions {applied | ignored | all}]  
[-net]  
[-unique_pins]  
[-path_type {end | summary | full | full_clock | end_slack_only  |summary_slack_only}]  
[-max_slack float ]  
[-min_slack float ]  
 | -unconstrained [-delay_limit float ] 
]  
[-view { viewName }]  
[-format column_list ]  
[-collection] 
 [-machine_readable ]  


report_timing是平时分析timing时用得最多的一个命令,它可以报出一条完整path的详细timing信息。前文有介绍过timing report的格式

【Innovus/Encounter时序报告解读】

大家看完上面这篇文章后,应该能更好地理解report_timing这个命令


-clock_from  指定source clock, 只报出以该clock作为source clock的path,见例子1

-clock_to   指定traget clock, 只报出以该clock作为target clock的path,见例子1

-edge_from {lead | trail}   指定source clock的edge, leading还是trailing,只报出该edge下的path,用在-clock_from上,见例子2

-edge_to {lead | trail}   指定target clock的edge,leading还是trailing,只报出该edge下的path,用在-clock_to上,见例子2

-rise | -fall  指定endpoint上的edge是rise还是fall,只报出符合这种情况的path,见例子3

-early | -late  报出用于hold分析的early path, 以及setup分析的late path,见例子4。early path以及late path的区别,如下图所示:

-hpin  hpin字栏里如果是hierarchical pin,就在生成的report中显示hpin字样,见例子5

-check_type  报出指定检查类型的path,检查的类型包括以下几种

setup | hold |pulse_width | clock_period | clock_gating_setup | clock_gating_hold |clock_gating_pulse_width | data_setup | data_hold | recovery | removal |clock_separation | skew | no_change_setup | no_change_hold

具体每种类型介绍可以参考

【每天学命令<report_analysis_coverage>】

–debug {time_borrow | unconstrained}  这个可以报出具体time borrow或者unconstrained的原因,见例子6

-max_paths  报出指定数量的相同end point的path timing情况,比如说:-max_paths 10就是报出10条最差的相同end point上的path timing情况。

-nworst  报出指定数量的不同end point的path timing情况,比如说:-nworst 10就是报出10条最差的不同end point上的path timing情况。

-begin_end_pair  对同一个start point和end point的path来说,只报出一条path

-from |-from_rise | -from_fall  报出以指定pin上为起点的path,可以通过-from_rise或者-from_fall来控制起点的edge

-through | -through_rise | -through_fall  报出经过指定pin的path,可以通过-through_rise或者-through_fall来控制经过pin的edge

-not_through | -not_rise_through | -not_fall_through  报出不经过指定pin的path,可以通过-not_rise_through或者-not_fall_through来控制不经过该pin的edge

-to | -to_rise | -to_fall  报出以指定pin为终点的path, 可以通过-to_rise或者-to_fall来控制终点的edge

-point_to_point  报出design中累计的arrival time,见例子7

-check_clocks  生成clock capture path上的具体timing report信息, 而不是传统的data path上的delay,见例子8

-path_group  报出指定path group上的timing信息,见例子9

-path_exceptions {applied | ignored | all}   在timing report的最后加上path exception情况,applied代表报出path honor的path exception,类似自己设置的path exception可以被报出来那种;ignore代表报出path ignore掉的path exception,类似设置了好几种path exception,有几条被忽略了这种;all代表两种都报出来,见例子10

-net  把net的delay也报出来,会在timing format里多生成一栏,见例子11

-unique_pins  对同一个start point和end point的pin来说,只报出一条path上的timing信息,见例子12

-path_type  根据path类型指定生成的timing report, 一共有以下几种

end:生成的report只含有endpoint, cause, slack, arrival time, required time, phase和view信息,这是简化版的report,见例子13

summary: 生成的report只含有start point, endpoint, cause, slack, arrival time, required time, phase和view信息,见例子13

full:生成的report中含有整个clock launch path上的timing信息,这是默认的timing report格式,见例子13

full_clock:生成的report中会报出整个clock capture path上的timing信息,见例子13

end_slack_only:只报出endpoint上的slack值,见例子13

summary_slack_only:只报出beginpoint,endpoint上的slack值,见例子13

-max_slack:报出slack小于指定数值的timing path信息

-min_slack:报出slack大于指定数值的timing path

-unconstrained: 报出unconstrained的timing path. 如果path找不到对应的require time. 那该条path就称为unconstrained path,见例子14

-delay_limit :  指定unconstrained path的delay上限

-view :  指定报出哪个analysis view下的timing情况

-format  column_list:指定生成的timing report的格式,我们可以选择想要显示的列,所有的可以显示的列如下:adjustment, annotation, aocv_adj_stages, aocv_derate, arc, arrival, arrival_mean, arrival_sigma, arrival_sensitivity, arrival_sigma, cell, delay, delay_mean, delay_sigma, delay_sensitivity, delay_sigma, direction, edge, fanin, fanout, hpin, incr_delay, instance, instance_location, load, net, phase, phys_info, pin, pin_load, pin_location,power_domain, required, retime_delay, retime_incr_delay, retime_slew, slew,stage_count, stolen, transition, timing_point, total_derate, user_derate, voltage, when_cond, wire_load,见例子15

-collection  返回timing path的指针,对于tcl指定很有用,见例子16

-machine_readable  生成一个global timing debugger可以使用的文件

SSTA有关的那几个就不介绍了,暂时不是很懂

例子:

1. report_timing -clock_from CLK1 -clock_to CLK2 -max 100

Path 1: MET Setup Check with Pin ff6/CK

Endpoint:   ff6/D (^) checked with  leading edge of 'CLK2'(target clk)

Beginpoint: ff3/Q (^) triggered by  leading edge of 'CLK1' (sourceclk)

 

2. report_timing -early -clock_from CLK2 -clock_to CLK2 -edge_to lead -edge_from trail -max_path 100

Path 1: MET Early External Delay Assertion

Endpoint:   out        (^) checked with leading edge of 'CLK2'

Beginpoint: sub1/FF1/Q (^) triggered by trailing edge of 'CLK2'

Path Groups: {CLK2}

 

3. report_timing -from in1 -clock_from CLK -rise

Path 1: VIOLATED Setup Check with Pin ff1/CKN

Endpoint:   ff1/D (^) checked with trailing edge of 'CLK2'

Beginpoint: in1   (^) triggered by  leading edge of 'CLK'

 

4. -early

<CMD> report_timing -from in1 -clock_from CLK -rise -early

Path 1: MET Hold Check with Pin ff1/CKN

Endpoint:   ff1/D (^) checked with trailing edge of 'CLK2'

Beginpoint: in1   (^) triggered by  leading edge of 'CLK'

 

-late

<CMD> report_timing -from in1 -clock_from CLK -rise -late

Path 1: VIOLATED Setup Check with Pin ff1/CKN

Endpoint:   ff1/D (^) checked with trailing edge of 'CLK2'

Beginpoint: in1   (^) triggered by  leading edge of 'CLK'

 

5. report_timing -hpin

6. time_borrow

<CMD> report_timing -to ff02/D -from ff01/Q  -view view6 -debug time_borrow

unconstrained 

<CMD>report_timing -to out1 -view view1 -unconstrained -debug unconstrained

Path Unconstrained Reason:

-------------------------------

The endpoint 'out1' is an unconstrained output port, with noset_output_delay constraint

 

7. <CMD> report_timing -point_to_point

8. <CMD> report_timing -check_clocks  -unconstrained -from clock1

9. <CMD> report_timing -max_paths 100 -path_group CLOCK2

10. <CMD> report_timing -early -clock_from CLK -from in2 -through buf133/A -to dff1/D -path_exceptions all

11. <CMD> report_timing -net

12. report_timing -path_type summary_slack_only -unique_pins

13. report_timing -path_type end

report_timing -path_type summary

report_timing -path_type full

report_timing  -path_type full_clock

report_timing -path_type end_slack_only

report_timing -path_type summary_slack_only 

14. report_timing -unconstrained

Path 1: Endpoint:   DTMF_INST/TDSP/p_reg_30/D (^) (unconstrainedoutput)

Beginpoint: DTMF_INST/TDSP/ir_reg_9/Q  (^) triggered by

leading edge of 'vclk1'

Arrival Time                  15.807

Analysis View: default_analysis_view_setup

     + Clock Network Latency (Prop)  1.995

     = Beginpoint Arrival Time       1.995

 

15. report_timing -unconstrained -format {pin arrival phase}

16. report_timing [report_timing -collection]



往期回顾

静态时序分析STA合集一

静态时序分析STA合集二

时序基本概念介绍<sdc合集>

数字后端基本概念合集(一)

数字后端基本概念合集(二)

数字后端基本概念合集(三)

Low Power概念介绍合集

数字后端dbGet使用方法合集

号外,数字后端交流群招人啦

IC圈的世界杯 | 论芯片设计的胜利十一人

知否?知否?Block PD应该提交哪些数据?

Timing ECO手修攻略

数字后端面试100问(2019全新版)

数字后端面试100问(校招版)

简历请戳邮箱:taozhang3260@163.com

觉得有用的话,给我点个好看吧

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每天学命令 的相关文章

  • 开源License的类型

    如今 Stallman率先推出的GPL已经进入到第三个版本 GNU GPLv3 且这只是几十种开源License类型中的一种 开源组织OSI 是一个在1998年成立的 为了推广开源程序和规范术语使用的组织 它已经批准了80多种开源许可证 这
  • JS数组方法&&es5数组新增方法

    1 unshift 给数组的开头添加一个或多个元素 数组名 unshift 一个值或多个值 返回添加以后的新数组的长度 2 push 给数组的末尾添加一个或多个元素 数组 push 一个值或多个值 返回新数组的长度 3 shift 给数组的
  • C++的Json库的简单实现

    我的Json库实现 Json 实现Json 我的源码 点这里 https github com jo qzy MyJson 和效果图 Json库中的类实现 JSON Value类 JSON Reader JSON Writer FastWr
  • 第十二章 Ambari二次开发之集成Alluxio

    1 Alluxio高可用部署 生产环境 使用具有高可用性的模式来运行Alluxio masters 1 1 Alluxio架构 Alluxio可以被分为三个部分 masters workers以及clients 一个典型的设置由一个主服务器
  • MySQL 过滤重复数据

    方法1 加关键字 DISTINCT 在mysql中 可以利用 SELECT 语句和 DISTINCT 关键字来进行去重查询 过滤掉重复的数据 语法 SELECT DISTINCT 字段名 FROM 数据表名 DISTINCT 关键字的语法格
  • HTML+CSS+JavaScript写计算器

    思维导图 代码 HTML div div div div div div
  • TestNg多线程—— 并行执行测试

    多线程并行执行测试 可以通过参数设置来实现不同级别的多线程配置测试 1 test级别的多线程测试 每个
  • 第二章:25+ Python 数据操作教程(第十八节如何使用 Matplotlib 库在 python 中执行绘图和数据可视化)持续更新中

    本教程概述了如何使用 Matplotlib 库在 python 中执行绘图和数据可视化 这篇文章的目的是让您熟悉该库的基础知识和高级绘图功能 它包含几个示例 将为您提供使用 Python 生成绘图的实践经验 目录 什么是 Matplotli
  • phpshe v1.7漏洞复现(Sql injection+XXE)

    前几天研究了一下xss的绕过 这两天准备深入研究下sql注入的审计 首先自动审计一波 看到疑似的一个变量覆盖点 点进去看原来是 register globals的隐患消除 简单来说如果这个配置设置为On的话 从客户端传输过来的任意参数值会被
  • jboss 热部署

    文章目录 JBoss EAP 6 4 0 GA AS 7 5 0 Final redhat 21 JBoss EAP 6 4 0 GA AS 7 5 0 Final redhat 21
  • 一文学会动态规划

    系列文章目录 注意 在学习理论之前 希望读者能看如下几个例子 有助于理解 算法导论 学习 十七 动态规划之钢条切割 C语言 算法导论 学习 十八 动态规划之矩阵链乘 C语言 算法导论 学习 十九 动态规划之最长公共子序列 C语言 文章目录
  • 浅谈数据挖掘——频繁模式、序列挖掘与搜索优化算法

    本系列将从下面几方面谈谈最近的一点点收获 令声明 本文主要是对我找到的一个莫名其妙国外英文pdf文件的学习与解读 因为我也没有找到他的出处 也没作者也没学校 所以我仅以此段文字向这个未知的作者致敬 本文主要处于科普类的理解 列出的主要算法并
  • SpringBoot学习之单点登录

    SpringBoot学习之单点登录 单点登录 登录 注销 部署 实现 主要功能 重要步骤 sso client拦截未登录请求 sso server拦截未登录请求 sso server验证用户登录信息 sso server创建授权令牌 sso
  • 直播运营岗

    一 理论知识 直播基础知识 直播团队构成 直播工作流程 中控工作流程 中控话术 二 界面操作 电商罗盘 巨量百应 直播伴侣 发单打单 产品链接 三 进阶学习 千川投放 直播复盘 四 面试规划 简历制作 职业生涯规划 1 直播基础知识 1 1
  • 银河麒麟桌面操作系统安装 postgreSQL13(源码安装)

    1 首先下载源码postgres wget http ftp postgresql org pub source v13 1 postgresql 13 1 tar bz2 2 解压 tar xjvf postgresql 13 1 tar
  • visual studio 2017 installer 安装包制作过程出现的问题---无法注册模块 HRESULT -2147024769 请与您的技术支持人员联系...

    使用visual studio 2017 installer制作打包程序时如果用到了外部控件需要按以下方式操作 1 将应用程序及应用程序所用到的所有DLL拷贝到打包目录 加入打包程序之中 2 将应用程序的XXX dll或XXX ocx的Re
  • STM32 C++编程系列一:STM32 C++编程介绍

    一 STM32及其他单片机开发现状 在目前绝大部分的单片机开发当中 C语言占据着主流的地位 但由于C语言本身是一种面向过程的语言 因此在当前利用面向对象思想构建可复用代码为主流的今天显得比较麻烦 很多人写单片机程序时都会遇到一个问题 明明写
  • 大数据采集概述

    文章目录 大数据采集概述 1 互联网大数据与采集 1 1互联网大数据来源 1 社交媒体 2 社交网络 3 百科知识库 4 新闻网站 5 评论信息 6 位置型信息 1 2 互联网大数据的特征 1 大数据类型和语义更加丰富 2 数据的规范化程度
  • 内存溢出问题解决思路

    内存溢出问题解决 一 常规解决思路 首先 在JVM参数配置时需要配置内存溢出后dump出内存的快照来 配置如下 XX HeapDumpOnOutOfMemoryError XX HeapDumpPath 内存快照 hprof输出路径 然后
  • 理解Java类加载的步骤

    前言 与在编译时需要进行 连接 工作的语言不同 在Java语言里 类的加载 连接 初始化过程都是在程序运行期间完成的 这种策略虽然牺牲了一小部分性能 但是大大增加了Java的灵活性 Java里天生可以动态拓展的语言特性就是依赖运行期动态加载

随机推荐

  • Linux线程同步(二)---互斥锁实现线程同步

    一 why 先给自己打个广告 本人的微信公众号 嵌入式Linux江湖 主要关注嵌入式软件开发 股票基金定投 足球等等 希望大家多多关注 有问题可以直接留言给我 一定尽心尽力回答大家的问题 在博客 Linux线程同步 一 初识篇 中 介绍了为
  • 基于STM32F407的人脸追踪

    整体概述 本项目采用两个舵机构成的二自由度的电动云台作为执行机构 控制摄像头在水平和垂直方向的运动 舵机带动摄像头进行二维平面的运动的同时 摄像头进行实时人脸检测 一旦检测到人脸 则进行人脸跟踪 摄像头采用星瞳openMV H7 主控采用的
  • (C语言)打印菱形图案 (15分)

    本题要求编写程序 打印一个高度为n的 由 组成的正菱形图案 输入格式 输入在一行中给出一个正的奇数n 输出格式 输出由n行星号 组成的菱形 如样例所示 每个星号后跟一个空格 输入样例 7 输出样例 通过点 模拟 include
  • EM算法估计beta混合模型参数

    1 用 network memerisation 造成的 clean noisy 数据 loss 差异来区分 clean noisy data 当得到一批数据的 normalised loss l i 0
  • android 填充,Android Drawable部分填充

    是的 如果您使用Layer List并定义重叠的项目 则是可能的 这是一个例子 android height 30dp gt android height 30dp gt 您可能需要尝试这些值 并根据需要进行调整 编辑 我认为您无法指定相对
  • MATLAB 添加自有的工具包

    我们经常会用到一些专业的MATLAB工具包 这些工具包下载好后应该如何添加呢 下面简单介绍 1 在命令行中敲入 pathtool 启动 设置路径 窗口 如下图所示 2 根据自己的需求 选择 添加文件夹 或者 添加并包含子文件夹 然后选择自己
  • linux 串口调试助手,COMTool: Cross platform Serial Assistant ( 跨平台 串口 调试 助手 串口助手 串口调试助手 linux windows mac R...

    COMTool A cross platform serial debug tools written by python Windows Linux Elementry OS Raspberry Pi3 screenshot shows
  • Mediapipe+OpenCV图像识别技术与Unity引擎的结合-Part2

    前言 之前写了一篇文章 Mediapipe OpenCV图像识别技术与Unity引擎的结合 其中的技术是Python利用OpenCV图像捕捉 配合强大的Mediapipe库来实现人体动作检测与识别 将识别结果实时同步至Unity中 实现人物
  • 开机出现文件windows root\system32\ntoskrnl.exe的另类解决办法

    一般的复制文件方法就不说了 我的这个是因为拷贝ntoskrnl exe还提示错误的解决办法 发生这种问 题主要可能有以下原因 Boot ini 文件的 Boot Loader 部分中的 Default 值丢失或无效 Ntoskrnl exe
  • JavaScript之变量和类型

    变量和类型 用处 1 让代码可以重复使用 重用性 2 修改代码方便 灵活 灵活性 1 上面 i love you 要写4次 2 把 love 改成 hate 要写4次 改成使用变量
  • 解决Windows因D3DCompiler_47.dll文件找不到等问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个D3DCompiler 47 dll文件进行安装
  • 基于RBAC模型的权限设计思路

    一 RBAC模型 进行设计前 最好能够理解技术模型 在业界接受度较高的功能权限模型是RBAC Role Based Access Control 模型 其基本理念是将 角色 这个概念赋予用户 在系统中用户与权限之间通过角色进行关联 以这样的
  • 解决: 0x803f7001 在运行Microsoft Windows 非核心版本的计算机上,运行“ slui.exe 0x2a 0x803f7001 “以显示错误文本,激活win10步骤流程。

    一 解决 0x803F7001在运行Microsoft Windows非核心版本的计算机错误 首先 按下win R打开 运行 输入 regedit 后回车 打开注册表 然后再注册表下输入地址HKEY LOCAL MACHINE SOFTWA
  • 有计算机考试励志的文案,抖音冲刺高考励志文案

    不知不觉就是2021年的高考了 其实高考也没有什么可怕的 保证心态好 就可能考出比平时更好的成绩 冲刺高考励志句子怎么写有哪些你知道吗 今天小编在这给大家整理了一些关于冲刺高考励志句子 我们一起来看看吧 冲刺高考励志句子 1 再苦再难 也要
  • js 中map()方法和reduce()方法

    js中的map是映射的意思 即原数组被映射成新的数组 而这个数组是由原数组中的每个元素调用一个特定的方法返回值组成的新数组 比如 首先定义一个方法F 然后map F 那么执行结果就是所有输入的值执行完F这个方法后产生的新数组 注意 map
  • Java加密技术(三)——PBE算法

    除了DES 我们还知道有DESede TripleDES 就是3DES AES Blowfish RC2 RC4 ARCFOUR 等多种对称加密方式 其实现方式大同小异 这里介绍对称加密的另一个算法 PBE PBE PBE Password
  • win10专业版激活(cmd方式)

    转载于 https www cnblogs com bug baba p 11225322 html
  • VBS基础篇 - 条件语句(1) - If...Then...Else

    转自http www cnblogs com sirrah articles 2349078 html 使用条件语句和循环语句可以控制脚本的流程 使用条件语句可以编写进行判断和重复操作的 VBScript 代码 在 VBScript 中可使
  • 法如X330扫描仪在行业内的使用性

    3D扫描仪是一种用于捕捉实物三维模型的设备 通常通过激光 光线 摄像头等技术获取物体表面的点云数据 并将其转换成可编辑的三维模型 扫描仪的操作流程 1 准备工作 首先需要确定需要扫描的物体的大小 形状和材质 根据物体大小选择适当的扫描仪型号
  • 每天学命令

    report timing clock from edge from lead trail clock to clk signame list edge to lead trail rise fall early late hpin che