Prime Time中的clock分析包括:

1)Multiple clocks,clock from port/pin,virtual clock。

2)Clock network delay and skew,clock latency----delay of the clock network relative to the source。

clock skew-----variation of arrival time of clock at destination point。

3)Gated clock,perform both setup and hold check on the gating signal。

4)Generated clocks,such as clock divider or PLL。

5)Clock transition times,specify the transition times of clock signals。

create_clock -period 10 -waveform {2 4} [get_ports A]

clock的source可以是port A,net N或者FF的pin Q。不指定source时,表示virtual clock。

-name 对该clcok的命名,不添加时,由clock的source名代替。

-add 在同一source上定义两个clock,create_clock -period 20 -waveform {1 3} [get_ports A] -add。

-waveform [a1 a2]第一个值表示第一个上升沿,第一个值表示第一个下降沿。

-source 一般加get_pins/get_ports等,表示一个端口或门电路接口。

-master_clock 一般是一个clock name,来自create_clock或create_generate_clock等命令。

也可以是get_ports命令,可以和-source的变量一致。

get_clocks -filter "period <= 5.0" PHI*

-filter 进行条件过滤。

get_clocks *表示所有clock。

remove_clock [get_clocks CLKB*] 删除时钟定义。。

Specifying clock characteristic:

Latency包括clock source latency和clock network latency。中间点clock definition point。

uncertainty表示maximum difference在register的clock arrival signals。也叫做skew。

使用set_clock_latency -source对source latency进行model,对network latency的model分不同的阶段:

在post_layout之后,使用set_propagated_clock来进行model,在pre_layout,使用set_clock_latency来进行model。

set_clock_latency 1.5 -source -early [get_clocks CLK]

-rise/fall来指定latency在rising/falling edg。

-min/max指定一个range。

-late/early指定longest path as late path,shortest path as early path。

做setup check时,source clock做late version,destination clock做early version。

做hold check时,source clock做early version,destination clock做late version。

-source指定source latency,没有定义时表示network latency。

可以通过-dynamic 指定clock jitter的值

Intraclock Uncertainty:

在single clock上定义skew和jitter,需要指定一个clock,port,pin,

如果指定一个clock,表示所有这个clockdrive的sequential elements都会使用这个uncertainty,

如果指定一个port,pin,表示所有的fanout都会使用这个uncertainty。

针对setup和hold的check,uncertainty的值可以设置不同,-setup/-hold

setup check会被jitter和skew影响,hold只会被skew影响。

set_clock_uncertainty -setup 0.5 [get_clocks C2]

Interclock uncertainty:

-from表示start clock(launch reg),-to表示destination clock(capture reg)

setup check和hold check都会被jitter和skew影响。

set_clock_uncertainty -from C1 -to C2 -setup

set_clock_uncertainty -rise_from C1 -fall_to C2 0.5

-from和-to的属性会被严格执行,如果会出现-from建模capture reg的情况,需要在定义。

如果interclock uncertainty和intraclock uncertainty都被定义,inter的优先级较高。

set_clock_transition 0.64 -fall [get_clocks CLK1]

-fall/-rise,分别指定transition time。

-min/max,分别制定range。

对于multiple clock的分析:

两个clock之间的关系可以是:synchronous,asynchronous,exclusive。

在没有其他设置时,如果存在一条path,launched by one clock,captured by other clock,PT会认为

这两个clock的关系是sync的,由create_clock定义的time zero为sync点,expands到两个clock时钟的

least common multiple,来进行同步和分析。

async clock,对于两个clock domain,clock edges可以发生在any time的时钟。

对于这样的async clock,launched by one clock,captured by other,PrimeTime不会检查timing path,

通过set_clock_groups -usync 命令设置之后,效果等同于设置false path。

Exclusive clock,没有interact的clock,only one clock is enabled at any given time。

set_clock_groups -logically_exclusive -group {CK1} -group {CK2}

当定义两个group时,表示两个group之间是exclusive的,在与第三个group之间是没有这个设置的。(CK1与CK2 exclusive)

set_clock_groups -logically_exclusive -group {CK1}

当只定义一个group时,表示该group与剩下的所有的clock都是这样的设置。(CK1与剩下的所有的clock都是exclusive的)

还有一种physically_exclusive的设置,主要用在PT SI分析crosstalk时。

clock mux时的处理:

1)列出所有的false_path

2)使用set_case_analysis

3)使用disable_timing命令

4)set_clock_group命令

特例:

clock的更多相关文章

  1. 修改Linux系统日期与时间date clock

    先设置日期 date -s 20080103 再设置时间 date -s 18:24:30 为了永久生效,需要将修改的时间写入CMOS. 查看CMOS的时间: #clock -r 将当前系统时间写到C ...

  2. 操作系统页面置换算法(opt,lru,fifo,clock)实现

    选择调出页面的算法就称为页面置换算法.好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问或者以后较长时间内不会再访问的页面先调出. 常见的置换算法有以下四种(以下来自操作系统课本). ...

  3. Cesium应用篇:3控件(1)Clock

    创建 跟Clock相关的主要有Animation控件和Timeline控件,通常两者会放在一起使用. 在Cesium中,Viewer默认开启这两个控件,如果你想要不显示控件,可以在Viewer初始化中 ...

  4. get back to the slower clock rate that allows it to save more power

    http://www.howtogeek.com/177790/why-you-cant-use-cpu-clock-speed-to-compare-computer-performance/ Wh ...

  5. Clock rate

    https://en.wikipedia.org/wiki/Clock_rate The clock rate typically refers to the frequency at which a ...

  6. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别【转】

    转自:http://www.cnblogs.com/krythur/archive/2013/02/25/2932647.html 转自http://blog.sina.com.cn/s/blog_7 ...

  7. 最少clock

    var elClock = document.getElementById("clock");var getTime = function(){ var _ = ['00','01 ...

  8. 用clock()函数计算多项式的运行时间

    百度百科中定义clock():clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock(void) ; 简 ...

  9. 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。

    package com.hanqi.test; public class Clock { int hh; int mm; int ss; String time; Clock(int h,int m, ...

  10. Clock Skew , Clock Uncertainty和 Period

    本文将介绍FPGA中和时钟有关的相关概念,阅读本文前需要对时序收敛的基本概念和建立.保持关系有一定了解,这些内容可以在时序收敛:基本概念,建立时间和保持时间(setup time 和 hold tim ...

随机推荐

  1. Java学习-005-初学常用的几个经典循环控制源代码

    最近一段时间公司 App 改版,一直处在需求评审.代码评审.测试计划.测试用例.用例评审.用例执行.缺陷管理.测试总结的循环中,因而博客也好久没有更新了.虽然工作确实忙了点,但是也是自己懒惰了,从今天 ...

  2. js跳转方法

    很有用的东西,参考自http://www.zhuoda.org/lunzi/66097.html 第一种 <script language="javascript" type ...

  3. [转]ANDROID L——Material Design详解(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...

  4. raspberry 烧写镜像到SD卡

    刚开始接触树莓派,需要烧写系统镜像到SD卡,网上找了些资料,记录于此. raspberry镜像下载: https://www.raspberrypi.org/downloads/ 烧写工具: wid3 ...

  5. http://blog.csdn.net/jiyiqinlovexx/article/details/38326865

    http://blog.csdn.net/jiyiqinlovexx/article/details/38326865

  6. Xcode编译WebApps找不到js的错误解决办法<转>

    使用Xcode做WebApps时,使用UIWebview来调用一个页面,有时会遇到问题,其一就是编译的时候出现黄色感叹号的Warning,js文件都报错:warning: no rule to pro ...

  7. NSOperationQueue 多线程

    staticNSOperationQueue * queue; - (void)viewDidLoad { [superviewDidLoad]; queue = [[NSOperationQueue ...

  8. webstorm注册

    选择“license server” 输入:http://114.215.133.70:41017(适用ws2016.2.2) 2.3选择activation code注册 43B4A73YYJ-ey ...

  9. centos python 2.7 安装

    一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...

  10. UIStoryboard类介绍(如何从Storyboard中加载View Controller)

    如何从Storyboard中加载View Controller? 1. 首先了解下UIStoryboard类: @class UIViewController; @interface UIStoryb ...