PrimeTime会自动track clock tree中的inverter和buffer,从而得到每个register的clock sense。

如果clock tree中,只有buffer和inverter,到达register clock的clock signal可以表示为"unate"。

positive unate:rising edge的clock source引起register clock pin的rising edge。

negative unate:rising edge的clock source引起register clock pin的falling edge。

clock被PT评断为non-unate的情况:

异或逻辑中,clock unate的极性跟另一个input有关,PT认为是一个non-unate的信号。

PrimeTime认为pulse generator的输出不是unate。

在non-unate的clock network中,可以通过命令set_clock_sense来设置需要分析的clock的sense。

如果对一个unate的clock,使用这个命令,sense与实际的sense不一致时,PrimeTime产生一个error。

set_clock_sense -positive -clock [get_clocks CLK] [get_pins mux1.z]----------只有positive sense的clock传递过去。

-clock来指定pin上的clock,一个pin上可能有多个clock source。

set_clock_sense -stop_propagation +timing arc 表示clock在这个timing arc上, physically上不会进行propagate。

set_clock_sense -logical_stop_propagation 表示clock可能会作为data继续进行propagate,但是不会作为

clock进行分析。

set_clock_sense -logical_stop_propagation -clocks CLK U3/A

pulse clock:一些短的pulse,它的rising和falling edge都由一个clock的同一个edge来trigger。

pulse clock的定义可以由一个pulse generator cell/create_generated_clock/set_clock_sense

-edge {1 1 3}表示第一个上升沿和下降沿都是1时刻,3时刻是下一个上升沿。

在半导体设备中,process/temperature/voltage对器件性能影响很大,在PrimeTime中,通过命令

set_operating_conditions来设置operate condition,(process, temperature, voltage)

PrimeTime提供的三种analysis mode;

1)single operating mode,  launch clock,data基于该condition的max,capture clock基于该condition的min.

2)best-case/worst-case mode,对于setup check,使用worst case,对于hold check,使用bese-case

相同点:launch clock,data基于该condition的max,capture clock基于该condition的min.

不同点:使用两个condition。

3)On-Chip-Varient mode,允许同一个path在进行setup和hold check时,可以使用不同的PVT(operating mode)

相同点:对于setup mode,launch clock和data使用max delay,capture clock使用min delay。

不同点:但是max delay和min delay的condition是不同的

相同点:对于hold mode,launch clock和data使用min delay,capture clock使用max delay。

不同点:但是max delay和min delay的condition是不同的

在一个minimum-maximum的analysis中,这个minimum和maximum的值可以是:

1)Input and Output external delays

2)Port wire load model/Net wire load model

3)Delays annotated form Standard Delay Format(SDF)

4)Port Fanout number

5)Net capacitance/resistance

6)Clock latency and Clock transition time

7)Input port driving cell

在计算maximum时,PT使用longest path, worst-case operating conditions, longest transition times, maximum cell delays

Net delay value的值,可以直接通过两个sdf的文件来标识,也可以让PT基于不同的operating condition来计算。

Best-case/Worst-case相对于Single operating condition来说,只是节约了时间,并没有加强约束。

但是OCV的结果会更加悲观。

Worst-case(data delay最大),用于检查setup check,Best-case(data delay最小),用于检查hold check。

但是data端用Worst case,capture clock端用Best case只能用OCV来分析。

OCV(On chip varient):由于cell位置的不同,在制造过程中,而带来的cell/net的uncertainty。

OCV在CTS之前,ideal clock network中,可以用set_clock_uncertainty来建模

在CTS之后,用propagated clock latency来建模

使用bc-wc进行时序分析时的delay信息来源:

1)从两个SDF files中annotate delay;  读取两个sdf文件或者一个sdf文件中有min/max信息

read_sdf  -analysis_type bc_wc my_design.sdf(读取sdf中的max/min两种数值)

2)让PrimeTime自己计算delay;  需要设置两个operating condition来进行计算

set_operating_conditions -min BCCOM -max WCCOM

OCV通过用两种极端的condition来计算最worst的情况,

还有一种set_derate的情况,也可以用来分析更worst的情况,人工增加某段延时,或者某个path的延时。

set_timing_derate -early 0.8 -late 0.2

-early设置path中的最短路径,-0.8表示减少20%的mergin,如setup check中的capture clock

hold check中的data path

-late设置path中的最短路径,-1.2表示增加20%的mergin,如setup check中的data path

hold check中的capture clock

set_timing_derate -net_delay -early 0.8 [get_cells hier_cell]

report_timing_derate -net -early 0.80

report_timing_derate [get_cells U*]

报告出design中derate的情况

set_operating_conditions -analysis_type on_chip_variation -min BEST -max WORST

report_timing -delay_type min

report_timing -delay_type max

Clock Reconvergence Pessimism removal(CRPR)

在OCV模式下的,更精确的一种限制,对于两条共享一段physical segment的path,同时被设置了min delay

path和max delay path。通过CRPR来消除这种不合理的path segment

在primetime中,通过timing_remove_clock_reconvergence_pessimism来设置。

这时的report,slack会更加合理。

通过set_pulse_clock_min_width和set_pulse_clock_max_width来对clock pulse的width进行约束。

对于level-high的pulse width check,Primetime用rising edge的max delay和falling edge的min delay来进行检查

在OCV模式下,也需要设置CPRP,来使得check更加合理。

clock sense和analysis mode的更多相关文章

  1. [zz] Principal Components Analysis (PCA) 主成分分析

    我理解PCA应该分为2个过程:1.求出降维矩阵:2.利用得到的降维矩阵,对数据/特征做降维. 这里分成了两篇博客,来做总结. http://matlabdatamining.blogspot.com/ ...

  2. malware analysis、Sandbox Principles、Design && Implementation

    catalog . 引言 . sandbox introduction . Sandboxie . seccomp(short for secure computing mode): API级沙箱 . ...

  3. 静态时序分析(static timing analysis)

    静态时序分析(static timing analysis,STA)会检测所有可能的路径来查找设计中是否存在时序违规(timing violation).但STA只会去分析合适的时序,而不去管逻辑操作 ...

  4. Cluster analysis

    https://en.wikipedia.org/wiki/Cluster_analysis Cluster analysis or clustering is the task of groupin ...

  5. Technical analysis of client identification mechanisms

    http://www.chromium.org/Home/chromium-security/client-identification-mechanisms Chromium‎ > ‎Chro ...

  6. clock gating and PLL

    一个gating的clock是指:clock network除了包含inverter和buffer外,还有其他logic. PrimeTime会自动的对gating input进行setup和hold ...

  7. PTPX中的clock tree与LP design

    PTPX在加入CPF/UPF这样的文件后,可以分析multi-voltage,power-gating这样的设计. 针对某个power rail的cell,PTPX支持进行annotate. set_ ...

  8. PTPX的average power analysis

    在average power analysis中,switching activity被分解为toggle rate和static probabilities两部分. annotation的sourc ...

  9. PTPX Power Analysis Flow

    PrimeTime PX工具是PrimeTime工具内的一个feature. PTPX的功耗分析,可以报告出chip,block,cell的各个level的功耗. 使用PTPX可以分析的功耗的方式: ...

随机推荐

  1. java的transient

    今天遇到个了一个问题,在使用Swing的drap and drop处理JTree的时候,我的TreeNode中的UserObject中引用了java.awt.Image类. 然后在dnd的时候会报ja ...

  2. 其他常用HTML 片段

    1.input placeholder 文字居中 字体大小+上下padding值等于设计稿宽度 设计稿中总高度为86px   padding:27px 0;font-size:30px;   2.英文 ...

  3. cf707D. Persistent Bookcase(离线+dfs)

    题目链接:http://codeforces.com/problemset/problem/707/D  有一个n*m的书架,有K个操作,求每个操作后一共有多少本书:有4种操作: 1:x y 如果 x ...

  4. JavaWeb学习笔记(一)Mac 下配置Tomcat环境

     最近,想鼓捣与服务器端的交互,只能自己搭建环境了. 上个周一鼓捣了一点,周五再鼓捣,发现忘得已经差不多了.好记性不如烂笔头,还是记录下来比较好. 首先,去Tomcat的官网,下载Mac版的Tomca ...

  5. JS-005-常见下拉列表 Select 和 datalist

    下拉列表在我们日常的网页浏览的过程中,随处可见,是 web 编程过程中大家非常熟悉的一个页面元素,随着 HTML 语言的日益强大,其在广大攻城狮的手中可谓是千变万化,有了很多不同的实现方式.本文主要以 ...

  6. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

  7. face mask in opencv

    http://stackoverflow.com/questions/22427550/face-mask-in-opencv

  8. 分享一下怎么开发一款图片视频类App,秒拍和prisma

    第一步,分解短视频App的功能 我们在秒拍官网看到如此描述: [视频拍摄及导入]支持直接拍摄及导入手机本地的视频 [照片电影]照片专属特效,轻松创作照片电影 [MV特效]10余款全新MV特效,让普通视 ...

  9. pip使用国内镜像服务器

    国内在使用pip安装python组件时特别慢,最好是使用国内的镜像获取python组件.测试过几个镜像服务器,douban的速度相对较快和稳定,因此经常用它作为镜像. 具体的修改步骤在pip手册上有, ...

  10. 第八篇 SQL Server代理使用外部程序

    本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...