STA分析前的环境设置,包括:setup clocks,specifying IO characteristics

1)定义一个master clock:create_clock -name .. -period .. -waveform .. [get_ports .. ]

推荐clock的name与pin的名字相同,period的单位一般是ns,waveform的第一个参数表示上升沿的发生时间。默认是{0, period/2}.

关于clock_transition的定义,如果clock定义为PLL的output,通过set_clock_transition来定义。

如果clock定义为input pin,通过set_input_transition来定义。

用来在CTS之前,确定clock的delay,在CTS之后,不再具有参考意义。

关于clock_uncertainty的定义,一般由clock的jitter和slew来组成。对于-setup来说表示clock向前的偏移量,对于-hold来说表示clock向后的偏移量。

set_clock_uncertainty -setup 0.2 [get_clocks CLK]  都使的-setup和-hold的check,余量更少。

set_clock_uncertainty -hold 0.05 [get_clocks CLK]

关于clock_latency的定义,分为两部分:network latency和source latency。其中network latency表示从clock definition到FF的clock 的clock pin的

path,source latency 表示从clock source 到clock definition的path。其中在CTS之后,network latency由set_propagated_clock来代替。

总体的clock_latency等于network_latency+source_latency。

set_clock_latency 1.322 (-source) -max [get_clocks CFG_CLK]。

若有其他的clock,并没有相位差别的,最好定义为generated_clock,这样的好处,计算clock_latency时,source_latency也

能很好的继承下来。generated_clock的source_latency表示从master_clock的definition到generated clock的definition的path。

create_generated_clock -name PCLK2 -source [get_ports PCLK] -multiply_by(devided_by) 2 [get_pins UCLK/Q]

2)Timing path:valid start_point:input port和FF的clock input。

valid end_point:output port和FF的data input。

所以一个valid的data_path是:从input port到FF的data input。

从input port到output port。

从FF的clock input到FF的data input。

从FF的clock input到output port。

STA中所有的Timing path都由endpoint的clock来定义,如若没有,则为default path group。STA中的analysis和report都以clock为单位。

3)model external attributes:

对于input delay,需要定义set_driving或set_driving_cell来确定驱动能力,也就是interconnect或其他期间的电阻值。value越小,驱动能力越强。

set_driving_cell  -lib_cell  BUFFD4  -library tech90 [get_ports testmode3]

或者可以通过set_input_transition 0.25 [get_ports SD_DIN*]来定义。

以上三种方法都是为了定义在input path中,第一个cell的delay。

对于output delay,通过定义set_load ,来定义output ports的cap load,从而来确定output中的delay。

set_load  -pin_load 0.007 [get_ports {shift_wire[31]}]

4)STA中的其他DRC:set_max_transition/set_max_capacitance/set_max_fanout/set_max_area。对象可以是pin/net/port

5)时序例外的分析:set_case_analysis:针对某个pin/port上的constant。应用在SCAN logic 和clock的 multiplexers中。

set_disable_timing:应用在clock的 multiplexers中。set_disable_timing -from S -to Z [get_cells UMUX0]

从select端到output端。

set_max_delay 1.2 -from [get_clocks SYS_CLK] -to [get_clocks CFG_CLK]:

set_max_delay 1.2 -from [get_clocks SYS_CLK] -to [get_clocks CFG_CLK]:规定特定path上的constraint,可以分割timing

arc。

对于multiplexer有两个clock的输入引脚,set_false_path在两个输入时钟间。

STA分析(七) sdc的更多相关文章

  1. 手机自动化测试:Appium源码分析之跟踪代码分析七

    手机自动化测试:Appium源码分析之跟踪代码分析七   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest推出手机自 ...

  2. STA分析(六) cross talk and noise

    在深亚微米技术(deep submicron)中,关于crosstalk和noise对design的signal integrate的影响越来越大.主要表现在glitch和对delay的影响. 1)m ...

  3. STA分析(一) setup and hold

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

  4. ABP源码分析七:Setting 以及 Mail

    本文主要说明Setting的实现以及Mail这个功能模块如何使用Setting. 首先区分一下ABP中的Setting和Configuration. Setting一般用于需要通过外部配置文件(或数据 ...

  5. SQLite入门与分析(七)---浅谈SQLite的虚拟机

    写在前面:虚拟机技术在现在是一个非常热的技术,它的历史也很悠久.最早的虚拟机可追溯到IBM的VM/370,到上个世纪90年代,在计算机程序设计语言领域又出现一件革命性的事情——Java语言的出现,它与 ...

  6. phpcms 源码分析七: 模板引擎实现

    这次是逆雪寒对模板引擎实现的分析: 1 /* 函数 template函数是在global.func.php 里面定义的. 在前面的phpcms 的首页 index.php 里就见到了. 用法: inc ...

  7. STA分析(五) parastics

    互联线的寄生参数 一般一个cell或者block的连接pin就叫做一个net.在物理实现的时候,一条net可能会穿过几层metal,因为每个metal层的电阻,电容值都不一样.所以,在分析 net的寄 ...

  8. tiny4412 串口驱动分析七 --- log打印的几个阶段之内核启动阶段(earlyprintk)

    作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 ...

  9. vuex 源码分析(七) module和namespaced 详解

    当项目非常大时,如果所有的状态都集中放到一个对象中,store 对象就有可能变得相当臃肿. 为了解决这个问题,Vuex允许我们将 store 分割成模块(module).每个模块拥有自己的 state ...

随机推荐

  1. Sass::SyntaxError related to active_admin/mixins

    in active_admin.css.sass, change: @import "active_admin/mixins"; @import "active_admi ...

  2. 【CF884D】Boxes And Balls 哈夫曼树

    [CF884D]Boxes And Balls 题意:有n个箱子和若干个球,球的颜色也是1-n,有ai个球颜色为i,一开始所有的球都在1号箱子里,你每次可以进行如下操作: 选择1个箱子,将里面所有的球 ...

  3. [右键]如何添加Sublime为右键菜单

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text\command] @=&q ...

  4. Java秒杀简单设计四:service层设计

    接上一篇 https://www.cnblogs.com/taiguyiba/p/9829191.html  封装了系统传递的数据类和异常类 本文继续设计service层设计: 1.SeckillSe ...

  5. 基于pandas python的美团某商家的评论销售(数据分析)

    数据初步的分析 本文是该系列的第一篇 数据清洗 数据初步的统计 第二篇 数据可视化 第三篇 数据中的评论数据用于自然语言处理 from pyecharts import Bar,Pie import ...

  6. The end of the world

    这首63年乡村及流行排行榜双料亚军的歌曲,(Cashbox 年终冠军)据说原是作者为怀念亡父写就,虽是流行曲风,但由Skeeter Davis演唱,却赋予其不同的生命,在键盘连绵的三连音中,少女诉说着 ...

  7. python----题库(一)

    1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行有 #!/usr/bin/env pyth ...

  8. 背包----Proud merchants

    一件物品p,q,v 分别表示物品的价格,钱少于q时就不能买,和物品的价值 n表示物品数量,m表示初始有的钱 问最多能买多少东西 01背包 注意点是,因为有一个q作为限制条件,所以n件物品不是随意选的了 ...

  9. Numpy基础学习与总结

    Numpy类型学习 1.数组的表示 import numpy as np In [2]: #numpy核心是高维数组,库中的ndarray支持多维数组,同时提供了数值运算,可对向量矩阵进行运算 In ...

  10. XTU 1261 - Roads - [最小割][2017湘潭邀请赛B题(江苏省赛)]

    之前在网上搜了一个下午没搜到这道题的题解,然后同时又对着叉姐写的两行字题解看了一个下午: 虽然基本上已经知道了这题的思路,但愣是因为自己代码实现起来太繁复,外加不确定正确性,没敢码…… 但是一道题肝了 ...