静态时序分析
更新时间:2023-11-28 12:40:01 阅读量: 教育文库 文档下载
静态时序分析(Static Timing Analysis)技术是一种穷尽分析方法,用以衡量电路性能。
它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。
静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。
它完全克服了动态时序验证的缺陷,适合进行超大规模的片上系统电路的验证,可以节省多达20%的设计时间。
PT是Synopsys的sign-off quality的STA工具,是一个单点的全芯片、门级静态时序分析器。
PrimeTime工作在设计的门级层次,并且和Synopsys其它工具整合得很紧密。 基本特点和功能:
建立和保持时间的检查(setup and hold checks) 时钟脉冲宽度的检查
门控时钟检查(clock-gating checks) recovery and removal checks unclocked registers
未约束的时序端点(unconstrained timing endpoints) multiple clocked registers
组合反馈回路(combinational feedback loops) 基于设计规则的检查,包括对最大电容、最大传输时间、最大扇出的检查等。
设置设计环境
设置查找路径和链接路径
The search_path variable specifies a list of directory paths thatPrimeTime uses to find the designs, libraries, and other files.
The link_path variable specifies a list of libraries that PrimeTime uses to link designs
读入设计(和库文件) 链接顶层设计
对必要的操作条件进行设置,这里包括了线上负载的模型、端口负载、驱动、以及转换时间等
指定时序约束(timing constraints)
定义时钟周期、波形、不确定度(uncertainty)、延时(latency) 指明输入输出端口的延时等
设置时序例外(timing exceptions)
设置多周期路径(multicycle paths) 设置虚假路径(false paths)
定义最大最小延时(max | min delay) 无效的arcs(disable timing)
进行时序分析:
在作好以上准备工作的基础上,可以对电路进行静态时序分析,生成constraint reports 和path timing reports。
PrimeTime提供两种用户界面,图形用户界面GUI(Graphical User Interface)和基
于Tcl的命令行界面pt_shell,其运行方式分别是:
%PrimeTime %pt_shell
1 设计输入
PT不能读取RTL源文件,它是静态分析引擎,只能读取映射后的设计,包括db、verilog、vhdl等格式的文件。 pt_shell>read_db–netlist_only
由于db格式的网表包含约束和环境属性等,故使用–netlist_only选项指示PT只加载结构化网表。
pt_shell>read_verilog
2 时钟规范
创建时钟
create_clock
-period period_value [-name clock_name] [-waveform edge_list] [source_objects]
source_objects Specifies the objects used as sources of the clock. The sources can be ports, pins or nets in the design. If you do not use this option, you must use the -name option, which creates a virtual clock not associated with a port, pin or net. When a net is used as the source, the first driver pin of the net is the actual source used in creating the clock.
pt_shell>create_clock -period 4 -waveform [list 0 2] –name\\ clk [get_portsclk]
2 时钟规范
时钟延迟
set_clock_latency
[-rise][-fall]
[-min][-max] [-source] delayobject_list
pt_shell>set_clock_latency 1.2 -rise [get_clocks CLK1]
2 时钟规范
时钟转换
set_clock_transition [-rise][-fall] [-min] [-max] transition clock_list pt_shell>set_clock_transition 0.38 -rise [get_clocks CLK1]
传播时钟
set_propagated_clockobject_list
pt_shell>set_propagated_clock [all_clocks]
2 时钟规范
指定时钟歪斜:在同步设计中,数据在一个时钟边沿由FF发送,在下一个时钟沿由另一个FF接收,理想情况下两个边沿间应有准确的一个时钟周期的延时,然而由于连线延迟的差异,接收时钟沿可早、可晚。为保证设计的robust,须指定时钟歪斜。
set_clock_uncertainty
[-from from_clock | -to to_clock]
[-rise] [-fall] [-setup] [-hold] uncertainty
pt_shell>set_clock_uncertainty -setup 0.65 [get_clocks CLK] pt_shell>set_clock_uncertainty -hold 0.45 [get_clocks CLK]
2 时钟规范
指定生成的时钟
create_generated_clock
[-name clock_name] -source master_pin
[-divide_bydivide_factor | -multiply_bymultiply_factor] [-duty_cycle percent] source_objects
pt_shell>create_generated_clock -multiply_by 2
-duty_cycle60 -source [get_pins CLK] [get_pins foo1]
时序分析命令
禁止时序弧
分别禁止时序弧
pt_shell>set_disable_timing–from A2 –to Z
[get_cells U1]
pt_shell>report_disable_timing
情形分析
pt_shell>set_case_analysis 1 test_mode pt_shell>remove_case_analysistest_mode
时序分析命令
多周期路径
set_multicycle_path
时序分析命令
虚假路径
set_false_path
[-from from_list]
[-through through_list] [-to to_list]
pt_shell>set_false_path -from ff12 -to ff34
pt_shell>set_false_path -from ff1/CP -through {U1/Z U2/Z}
-through {U3/Z U4/C} -to ff2/D
pt_shell>foreach_in_collection clk1 [all_clocks] { foreach_in_collectionclk [remove_from_collection [all_clocks]
[get_clocks $clk1]] {
set_false_path -from [get_clocks $clk1] -to [get_clocks $clk2] }
}
时序分析命令
生成报告
report_timing
[-from from_list] [-to to_list] [-through through_list]
[-delay_typedelay_type] [-nworstpaths_per_endpoint] [-max_paths count] [-nets] [-group group_name] [-significant_digits digits] [-nosplit] [-transition_time] [-capacitance]
时序分析命令
生成报告
report_bottleneck
[-from from_list] [-to to_list] [-through through_list] [-max_cellscell_count] [-max_pathspath_count]
[-nworst_pathspaths_per_endpoint] [-group group_name] [-significant_digits digits] [-nosplit]
swap_cellcell_listswap_in
pt_shell>swap_cell {u1 u2} [get_lib_cellsmisc_cmos/LC3]
正在阅读:
静态时序分析11-28
优秀少先队活动案例01-07
盛新凤 《跨越百年的美丽》教学实录及评析05-18
Linux课程设计04-08
胰岛素基础知识。杨翠04-21
2022年入党积极分子第四季度思想汇报07-31
水产养殖学详细教案04-17
初中数学中考一轮复习(1)03-08
【完整版】2022-2025年中国电梯门及控制系统行业市场竞争战略制04-11
法院执行申请书最新6篇03-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 时序
- 静态
- 分析
- 音乐的故事
- 四川大学16秋《计算机网络课程设计9013》课程设计
- 疯狂市场操作手册 - 王长震 - 图文
- LED基本工作原理(精)
- 2013高三化学第一轮复习导学案(化学实验的基本方法等74份) 人教课标版19(精品教案)
- 2019届最新小学数学试卷 新人教版小学六上数学第7、8单元测试题2
- 山西省太原市20117-20118学年高二上学期期末考试政治试题1
- 梅兰竹菊哪位画家画的好,当代名家梅兰竹菊作品请鉴赏! - 图文
- 物流运输管理办法
- 大班数学教案:学习7的组成
- 2017年2月27日速卖通考试
- 2020届高考化学一轮复习专题一物质的量(3)(含解析)新人教版
- 2018-2019年初中数学浙教版《八年级下》《频数及其分布(旧)》《3.2 频数分布直方图》精选专
- 用心工作心得体会
- 人教版七年级上册数学 第一章 检测 优秀试题
- ansys各种结构单元介绍 - 图文
- 太阳能光伏行业超纯水系统
- 2016秋季行政管理学网上形考全部题目答案
- 苏教版二年级下册语文第三单元检测卷
- 我爱这土地教学设计(定稿)