STA分析(一)

时序检查的最基本的两个指标:setup和hold check. 一旦一个时钟加在FF的时钟断,setup和hold check就会自动加在该FF的时序检查中。其中worst_case

对应setup check.其中best_case对应hold check。

setup timing check 检查max constraint, Tlaunch + Tck2q + Tdp < Tcapture +Tcycle - Tsetup.

Tlaunch和Tcapture分别是clock tree到launch FF和capture FF时钟端的延时。其中左侧也称为data arriving time,右侧称为data requiring time.

当data requiring time - data arrving time为正时,slack为正,否则setup violated。

所有的Path Group按时钟clock来进行分组。

在时序报告中,还会有clock uncertainty和clock network delay两项参数。分别由clock source的jitter和network的propagated产生。

SDC定义:create_clock -name CLKM -period 10 -waveform {0 5} [get_ports CLKM]

set_clock_uncertainty -setup 0.3 [all_clocks] (参数由lib决定)

set_clock_transition -rise 0.2 [all_clocks]

set_clock_transition -fall 0.15 [all_clocks]

1)clock latency可以分为两类:clock source latency也叫做insertion delay,propagated delay from clock source to clock definition point.

clock network delay,propagated from clock definition point to FF clock.

其中clock network latency用来在CTS之前的clock path 建模。一旦CTS完成,clock network latency会被忽略。

SDC命令:set_clock_latency (-source) -rise 0.7 [get_clocks CLKM]

set_clock_latency (-source) -fall 0.65 [get_clocks CLKM]

2)Input to FF Path。

因为input的关系,时序报告中会有一个input external delay, 这个input delay可以挂接在virtual clock或real clock中,

create_clock -name VIRTUAL_CLKM -period -waveform {0 5} set_input_delay -clock VIRTUAL_CLKM -max 2.55 [get_ports INA]

2.55可以通过指定input port的driving cell,然后根据input transaction和output capacitance来确定。

set_driving_cell -lib_cell BUFF -library lib013lwc [get_ports INA]。

set_input_transition -rise 0.3 [get_ports CLKM]

set_input_transition -fall 0.45 [get_ports CLKM]

set_input_delay -clock VIRTUAL_CLKM -max 3.6 [get_ports INB]

该input delay加在data arriving time一端。

3)FF to output path

因为output的关系,时序报告中会有一个output external delay, 这个output delay可以挂接在virtual clock或real clock中,

set_output_delay -clock VIRTUAL_CLKP -max 5.1 [get_ports ROUT] set_load 0.02 [get_ports ROUT],set_load表示额外的load。

注意这个output external delay是加在data requiring time一侧的。

频率直方图(Frequency Histogram):对于一个optimized design来说,zero slack line会尽可能的靠近左,也就是说,slack多数为正。

还有一个指标是直方图的拱顶,代表最多数的slack水平,如果越靠近左,timing越是严峻。

Hold Timing Check:保证一个正在改变输出的FF不会覆盖掉该FF的当前值,在capture FF还未收到该值时。

检查同一个时钟active edge下,launch FF到capture FF的时间。所以hold check与时钟周期无关。

检查max constraint, Tlaunch + Tck2q + Tdp < Tcapture +Thold. 即在不考虑时钟延时问题时,路径延时大于hold时间。好让寄存器中

                                                                                                                   的锁存器无法在当前时钟锁存该值,而等到下一时钟。

左侧同样是data arrving time,右侧是data requiring time。data requiring time - data arrving time为负时,slack为负,此时

hold check满足,否则hold check violated。

当launch FF和capture FF不是一个时钟源时,如果Capture FF的clock edge在launch FF clock之前,则时钟对于hold

                                   check来说,是正余量。

当launch FF和capture FF是一个时钟源时,Capture FF的clock edge一般在launch clock之后,此时,时钟是负余量。

setup violation只能引起操作频率的下降,但是hold violation会毁掉一个design.因为本该下一时钟到达Capture FF的数据,却在当前

时钟到达Capture FF,时序关系乱了,而且建立时间也得不到保证。

1)Input to FF Path.

用来设置input external delay

约束为min,set_input_delay -clock VIRTUAL_CLKM -min 1.1 [get_ports INA]

该input delay加在data arriving time一端。

2)Ouput to FF Path.

用来设置output external delay

约束为max,set_output_delay -clock VIRTUAL_CLKP -min 2.5 [get_ports ROUT]

 注意这个output external delay是加在data requiring time一侧的。但是为负。即这也应该是一个正余量。

时间: 2024-10-05 21:21:28

STA分析(一)的相关文章

STA分析(七)

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定义

STA分析(六)

在深亚微米技术(deep submicron)中,关于crosstalk和noise对design的signal integrate的影响越来越大.主要表现在glitch和对delay的影响. 1)metal layers越来越多:2)metal wire变得越来越薄而细:3)单位晶圆上的cells越来越多:4)供应电压越来越小,留给noise的margin越来越少. 2)时钟速率越来越快. 在分析crosstalk时,其中受影响的signal叫做victim.影响别的signal的叫做aggr

STA分析(五)

互联线的寄生参数 一般一个cell或者block的连接pin就叫做一个net.在物理实现的时候,一条net可能会穿过几层metal,因为每个metal层的电阻,电容值都不一样.所以,在分析 net的寄生参数(parasitics)时,一般把一个net分为多段,每段在一个metal层.这里的一段也叫做,interconnect trace. 电阻resistance,主要来源于不同metal层和过孔via之间的trace. 电容capacitance,也来源于trace,可以分为grounded

STA分析(二)

multicycle path:当FF之间的组合逻辑path propagate delay大于一个时钟cycle时,这条combinational path能被称为multicycle path. create_clock -name CLKM -period 10 [get_ports CLKM] set_multicycle_path 3 -setup -from [get_pins UFF0/Q] -to [get_pins UFF1/D] set_multicycle_path 2 -

STA分析(三)

CMOS集成电路的基本结构是以P型材料作为衬底(p-substrate),直接生成NMOS, 同时增加N肼(n-well),在其上制造PMOS. 增加两个bulk(P+,N+)防止非MOS管内的PN结反偏. NMOS一般放在Pull-down结构中,PMOS一般放在Pull-up结构中. NMOS与PMOS均采用增强型的类型,这样便于控制channel length. Bulk端和Gate,Source,Drain通过metal层引出. 在基本的invert中,NMOS的Drain与PMOS的S

STA之AOCV

为什么要引入AOCV 为了精确性,为了剔除悲观度.用set_timing_derate来设置OCV,对于一个固定的corner,只能对data/clock, cell/net, late/early分别设不同的值,由下图可知,这个值是个trade off的结果,在保证yield的前提下,尽量不那么悲观,但由于其『固定天性』,这个值既不能cover最悲观的部分,而对另一部分又过于悲观. 什么是AOCV AOCV是一种用伪统计(pseudo-statistical )来模拟variation的方法,

STA之PVT

在STA星球,用library PVT.RC corner跟OCV来模拟这些不可控的随机因素.在每个工艺结点,通过大量的建模跟实测,针对每个具体的工艺,foundary厂都会提供一张推荐的timingsignoff表格, 建议需要signoff的corner及各个corner需要设置的ocv跟margin.这些corner能保证大部分芯片可以承受温度.电压跟工艺偏差,一个corner=libraryPVT+ RC corner + OCV,本文将关注于library PVT. PVT也称为Ope

后仿 ---- 转载

转载自: http://www.chipsbank.com/news_detail/newsId=121.html 1.后仿是否必要随着芯片规模的增大,关于IC设计流程中的后仿是否必要,有多种声音. 认为不必要的理由是:布局布线后的网表,已经可以通过STA保证时序,后仿只不过是确认一遍电路的时序.而且随着电路规模不断增大,仿真工具的仿真速度的提升仍不明显,后仿必然是一个很耗时的步骤,时间代价大而收益不明显. 认为有必要的理由是,从公司以往多个项目的经验来看,后仿中也发现了一些问题.而对于有些设计

Multi-voltage和power gating的实现

power domain:一个逻辑的集合体,包含power supply的一些信息.建立在FE. voltage area:chip上的一块物理区域.可以看作power domain的物理实现. Level shift,isolate cell,retention register的插入,越早越好,这样他们对timing和physical design的 影响,能更早的可见,CTS和DFT应该是对power已知的. Power Intent描述设计中的power domain,level shi