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. 硬件RDMA的驱动配置和测试

    author:headsen chen date: 2019-01-18  10:22:20 notice:created  by headsen chen himself and not allow ...

  2. windows本地启动tomcat闪退

    da开cmd, 进入tomcat所在目录的bin目录: 执行startup.bat 查看设置的环境变量是否正确:如果不正确则在windows中设置正确的相关环境变量即可:

  3. pandas 数据预处理

    pandas 数据预处理 缺失数据处理 csv_data=''' A,B,C,D 1.0,2.0,3.0,4.0 5.6,6.0,,8.0 0.0,11.0,12.0,,''' import pand ...

  4. DevOps之零停机部署

    “零停机部署(ZDD)可在不中断现有服务的情况下部署新版系统.” 通过ZDD方式部署应用程序时,可在确保用户不会遭遇应用程序停机的前提下将新版应用引入生产环境.从用户和公司的角度来看,这应该是最佳部署 ...

  5. CodeForce 832A Sasha and Sticks

    A. Sasha and Sticks time limit per test2 seconds memory limit per test256 megabytes inputstandard in ...

  6. 洞察行业领先者的前沿思想——第五届TOP100全球软件案例研究峰会精彩谢幕

    (第五届TOP100summit开幕式现场) 12月09日-12日,由msup主办的第五届TOP100全球软件案例研究峰会(以下简称TOP100summit)在北京国家会议中心举行,作为互联网行业最有 ...

  7. iOS电话等中断事件的开始和结束通知

    #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewCont ...

  8. 对爱奇艺PC Web主站来说,良好的SEO能够帮助其获得更多的搜索流量,因而页面上一些非常重要的内容仍然需要依靠服务端进行渲染,由于另外开发一套基于Node的SSR后台成本较高,而乐趣(基于java和velocity模板引擎)平台作为渲染系统已经十分成熟且运行稳定,在充分试验后,我们决定在Uniqy中使用服务端同步与客户端浏览器异步二次渲染相结合的方式,结合Vue2.0提供的 slot插槽机制,很

    https://mp.weixin.qq.com/s/eB20BoqzENO_oNk8eDg4Eg 干货|爱奇艺PC Web新框架实践 原创: 前端研发团队 爱奇艺技术产品团队 昨天      

  9. 【make install】自定义安装目录,添加动态链接库 【--prefix】 【ldconfig】 【LD_LIBRARY_PATH】

    怎么卸载make install安装的软件? https://www.zhihu.com/question/20092756 怎么指定安装目录以及对应的添加动态库的方法 linux库在不指定安装路径时 ...

  10. 洛谷P2322 最短母串问题 [HNOI2006] AC自动机

    正解:AC自动机+最短路 解题报告: 传送门! 这题之前考试考到辣,,,我连题目都没看懂这种傻逼事儿就不要说了QAQ 然后就港正解辣 首先这题可以用dp做?等下写 但是一般来说看到这种,第一反应就,先 ...