Timing path:从register clock/input port开始,经过一些combinational logic,终止在register data/output port。

PT以path grouping为单位来分析和报告timing。

DC,每个path group可以指定一个weight,来尽力做design optimizaiton,但是这个weight在PT中并没有用。

每个create clock命令都会生成一个对应的path group。

PT中还有自己的default group:clock_gating_default**:path以combinational element为终点。

async_default*:path以async的preset和clear为终点。

*default*:剩下的所有clock,如以output为终点的clock。

也可以自己定义group_path:group_path -name out1bus -to [get_ports OUT_1*] 然后可以报告该path group的timing。

report_timing命令中的属性:

Number of paths:-nworst  显示每个end point最worst的N条path,-max_paths  显示整个group的worst path的个数

Types of paths:-path_type full    -delay_type max

Amount of detail

Startpoints,endpoint

-path_type full_clock/full_clock_expanded 显示完整的data path和clock path

full 显示完整data path

short 只显示一条data path的startpoint和endpoint

-transition_time   报告路径的transition time

-capacitance       报告路径的capacitance

对于exception timing的rpt:

1)-exceptions dominant 报告路径中的exception constrained

2)-exceptions overridden 报告路径中被覆盖的exception constrained

3)-exceptions all 报告所有的exception path,包括unconstrained startpoint 和unconstrained endpoint

exceptions path的三种属性:方便进行filter

dominant_exception timing path的类型:false path, min_delay, max_delay, multicycle_path

endpoint_unconstrained_reason:no_capture_clock, dangling_end_point(floating point no timing constraints), danin_of_disable(disable timing arc)

startpoint_unconstrained_reason:no_launch_clock,dangling_start_point,fanout_of_disable

filter_collection $path {defined(dominant_exception)}

filter_collection $path {undefined(dominant_exception)}

get_timing_path更好的删选timing path

set x [get_timing_paths -from A -through B -to C]

report_timing $x -exceptions all

Path Sepecification Methods

-from $startpoint

-to $endpoint

-through

report_timing -from [get_clocks ...] -though $startpoint

report_timing -through $endpoint  -to [get_clocks ...]

report_timing -through {B1 B2}

更加精细的方式:

-rise_from/-rise_to

-fall_from/-fall_through...

set_false_path -to [get_clocks CLK]   :取以CLK为终点的timing path,data端的FF的clock是CLK

path:a,b,c,d有效

set_false_path -rise_from [get_clocks CLK] :以CLK为起点,且data端以clock的rising edge来触发

path:a,d有效

report_timing -rise_from [get_clock clk] -nworst 100

对于delay的report:

report_delay_calculation -from BLK1/A -to BLK1/z

Timing path的更多相关文章

  1. standard cell timing model

    standard cell timing model 主要包括两方面的信息: Cell Delay  calculation Output Transition  calculation 首先,cel ...

  2. 读懂timing report

    三部分:表头/launch path /capture path 1.表头 1) 工具版本信息:如示例中的18.10-p001,对某个具体项目timing signoff 工具的版本最好保证一致: 操 ...

  3. clock

    Prime Time中的clock分析包括: 1)Multiple clocks,clock from port/pin,virtual clock. 2)Clock network delay an ...

  4. (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化

    三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...

  5. IN2REG group 的时序分析

    针对 IN2REG 的 timing group,其 timing 模型是假设 input pin 外面有一个虚拟的reg(如图中的 reg1),这个虚拟reg的 clock 是 virtual cl ...

  6. clock gating check

    在 sta 分析时,经常会碰到 clock gating cell (一般是 ICG cell 或者 latch)引起的 violation,这种 violation 很常见,而且往往很难修. 为什么 ...

  7. STA分析(七) sdc

    STA分析前的环境设置,包括:setup clocks,specifying IO characteristics 1)定义一个master clock:create_clock -name .. - ...

  8. STA分析(一) setup and hold

    timing check可以分为Dynamic Timing Analysis(Post_sim)和Static Timing Analysis STA:可以分析的很全面:仿真速度也很快:可以分析控制 ...

  9. FPGA静态时序分析基础

    FPGA静态时序分析基础 基本概念 Skew: 时钟偏移 Skew表示时钟到达不同触发器的延时差别,Tskew = 时钟到达2号触发器的时刻 - 时钟到达1号触发器的时刻. Jitter: 时钟抖动 ...

随机推荐

  1. C++ string 类的 find 方法实例详解

    1.C++ 中 string 类的 find 方法列表 size_type std::basic_string::find(const basic_string &__str, size_ty ...

  2. Base64编码简介

      基本概念   Base64这个术语最初是在“MIME内容传输编码规范”中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种“二进制到文本”的编码方法,它能 ...

  3. Mysql bench执行sql语句批量操作数据所遇到的问题

    一.错误 rror Code: 1175. You are using safe update mode and you tried to update a table without a WHERE ...

  4. 跨集群 distcp命令

    两个集群之间做数据同步,而且两个集群之间的版本不一致,这个时候使用的是hftp协议或者webhdfs协议! 如果试图在两个运行着不同HDFS版本的集群上使用distcp命令来复制数据并使用hdfs协议 ...

  5. next()与nextLine的区别

    next():    1.一定要读取到有效字符后才可以结束输入.    2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉.    3.只有输入有效字符后才将其后面输入的空白作为分隔符 ...

  6. js中常用的Tab切换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 所有设备的CSS像素

    mydevice.io Mobile devices, in Responsive Web Design, relate to a core value which is the value of C ...

  8. mysql syntax bypass some WAF

    select{x table_name}from{x information_schema.tables} mysql> select{x table_name}from{x informati ...

  9. Larbin初试

    前阵子找工作的时候经常会看到epoll多路复用的知识点,无奈自己一点都不懂.慌忙之际也只能去了解个大概.所以最近闲下来之后想要基于epoll机制实现一个比较有用的东西,刚好最近又想爬些东西,希望这次能 ...

  10. String-自定义功能

    <script> /* *发现js中的String对象有限,想要对字符串操作的其他功能. *比如:去除字符串两端的空格.这时只能自.定义 */ //去除字符串两端的空格 function ...