Primetime 的使用

开始

先建立目录并将PrimeTime本身所带的一个例子拷到新建的目录下,在下面的内容中将要用到这个例子。

mkdir primetime

cd primetime

cp –r $SYNOPSYS/doc/pt/tutorial .

cd tutorial


运行PrimeTime:  pt_shell
后面的 命令都是在这个shell之下运行的

1. 编译时序模型 ( 这1 节中的操作并非对所有的设计都是必需的
1.1编译 Stamp Model
Stamp model 是针对于复杂模块--例如 DSP核心或者 RAM--而建立的静态时序模型。它一般是为晶体管级的设计而创建的,在设计中没有门级的网表。

一个 Stamp model 包括两个源文件:
1).mod 文件,包含对 pin-to-pin 的 arc 的描述(不包括延时)。
2).data 文件,包括.mod 文件中描述的每一个 arc 的延迟数据。
例如,对于 AM2910 设计中的 Y 模块(见图 2-2),编译其 Stamp model:

compile_stamp_model -model_file Y.mod -data_file Y.data -output Y

其中 Y.mod 和 Y.data 是源文件,编译后生成了两个.db 文件:Y_lib.db 和 Y.db。
其中 Y_lib.db 是一个库文件,其中包括一个被称为 core 的单元;而 Y.db 是一个
设计文件,是 Y_lib.db 中的单元 core 的例化。正是由于它们之间的这种关系,为
了在链接时能够正确地例化 Y.db,库 Y_lib.db 必须要加入到链接路径(link_path)中去。

1.2   编译快速时序模型
对于设计中的某些未完工的模块--比如说,该模块的 HDL,或者完整的
stamp model 没有完成--你可以创建一个快速时序模型来进行分析。快速时序模
型是一个临时性的模型,可以提供进行时序分析而需要的时序信息。实际上,快速
时序模型是包含一系列 pt_shell 命令的文件,而不是语言。这样比使用 Stamp mo
-del 的语言去写一个模型花费的时间更少。
例如为 AM2910 中的 STACK 模块创建一个快速时序模型:
source -echo stack.qtm.pt
report_qtm_model;
save_qtm_model -output STACK -format db 
其中 stack.qtm.pt 是一个脚文件,描述了建立快速时序模型所需要的所有
pt_shell 命令,所以在这里直接 source 就可以了。它的具体内容参见附录[1]。
创建好之后,用 save_qtm_model 命令把该模型保存为.db 格式的文件。同其
他类型的模型一样,PrimeTime 也创建了两个.db 文件,STACK_lib.db 和 STACK
.db。

Primetime <wbr>的使用



进入正题:
作一些基本的环境设置和准备工作
设置查找路径: set search_path "."                         这里“.”代表  当前目录
设置链接路径: set link_path "* pt_lib.db STACK_lib.db Y_lib.db"
读入设计文件: read_db AM2910.db     (还支持read_verilog   read_edif   read_vhdl 等)
链接顶层设计: link_design AM2910   
(显示当前已载入的设计: pt_shell>list_designs  得到当前载入单元的信息: pt_shell>report_cell
设置操作条件和线上负载/端口驱动 负载等
set_operating_conditions -library pt_lib -min BCCOM -max WCCOM

set_wire_load_mode top
set_wire_load_model -library pt_lib -name 05x05 -min
set_wire_load_model -library pt_lib -name 20x20 -max

set_driving_cell -lib_cell IV -library pt_lib [all_inputs]
set_capacitance 0.5 [all_outputs]         对所有的输出端设置50pf的电容负载。
对有关时钟的参数进行设置
create_clock -period 30 [get_ports CLOCK]
set clock [get_clock CLOCK]
set_clock_uncertainty 0.5 $clock
set_clock_latency -min 3.5 $clock
set_clock_latency -max 5.5 $clock
set_clock_transition -min 0.25 $clock
set_clock_transition -max 0.3 $clock

当然也可以这样设置:
create_clock -period 30 -waveform [0 15] clk
set_clock_uncertainty 0.5  [get_clocks clk]
set_clock_latency -min 3.5 [get_clocks clk]
set_clock_latency -max 5.5 [get_clocks clk]
set_clock_transition -min 0.25 [get_clocks clk]
set_clock_transition -max 0.3 [get_clocks clk]

设置时钟-门校验(clock-gating checks)
设定时钟-门的建立和保持时间的数值,以及最小的脉冲宽度。
set_clock_gating_check -setup 0.5 -hold 0.1 $clock
set_min_pulse_width 2.0 $clock

在开始静态时序分析之前,注意要执行下面的指令进行检查:
check_timing 
该命令会检查该设计的结构和约束,给出可能存在的时序问题,如果存在问题的话
则给出 errors 或者 warnings。

设置端口延迟并检验时序
对于所有与时钟相关的端口,都要设置输入、输出的延迟。
set_input_delay 0.0 [all_inputs] -clock $clock
set_output_delay 2.0 [get_port INTERRUPT_DRIVER_ENABLE]   -clock $clock
set_output_delay 1.25 [get_port MAPPING_ROM_ENABLE]   -clock $clock
set_output_delay 0.5 [get_port OVERFLOW]   -clock $clock
set_output_delay 1.0 [get_port PIPELINE_ENABLE]   -clock $clock
set_output_delay 1.0 [get_port Y_OUTPUT]   -clock $clock


或者最简单的:(相当于时序约束)
set_input_delay 15.0 -clock clk  [all_inputs]  
set_output_delay 15.0 -clock clk  [all_inputs]  


保存以上的设置
使用 write_script 命令将所作的设置保存到一个脚文件中,这样在下一次运行的时候可以直接通过该文件来完成所有的设置。
该命令可以生成三种格式的文件:
write_script -format dctc1 -output AM2910.tc1
write_script -format dcsh -output AM2910.dcsh
write_script -format ptsh -output AM2910.pt

运行基本的分析:
 得到约束报告
 report_constraint
如果在命令中加入-verbose 参数,将在 report 中得到更详细的细节。如果加入-all_violators 参数,在 report 中会列出对于每一项约束,设计中违反最严重的端点。
 report_constraint -all_violators

得到基于路径的时序分析
report_timing 
在没有任何命令参数时,在 report 中列出的是对于每个 path group,该设计中最长的最大路径。如果需要的是该设计中最短的最小路径的话,可以在命令中加上-delay min 参数。
或者加一些参数
report_timing  -to [all_outputs]
当然在分析前也可以添加时序例外后,再进行约束报告和时序分析。


注意: 读写SDF

对于起初的静态时序分析,估计网络的延时信息是基于一个连线负载模式。 实际上延时是与设计中单元和网络的布局布线有关的。

一个布局器或一个布线器提供更详细和更精确的延时信息,可以用来提供给PrimeTime作更精确的分析。这个过程被称作反标(back-annotation)。反标信息经常是以标准延时格式Standard Delay Format(SDF)提供的。


所以, 在布局布线后,现在的网表中已经包括了实际的时钟数信息。所以上面关于

对有关时钟的参数进行设置

create_clock -period 30 -waveform [0 15] clk
set_clock_uncertainty 0.5  [get_clocks clk]
set_clock_latency -min 3.5 [get_clocks clk]
set_clock_latency -max 5.5 [get_clocks clk]
set_clock_transition -min 0.25 [get_clocks clk]
set_clock_transition -max 0.3 [get_clocks clk]

这一段,,在布局布线后可以直接改为
create_clock -period 30 -waveform [0 15] clk
set_propagated_clock [get_clocks clk]

set_propagated_clock 命令可以根据时钟数,自动计算时钟信号到达终点的延时和偏移。
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: primetime 是一个视频编辑软件,用于剪辑、调色和修饰各种视频素材。它的使用手册非常详细,为用户提供了全面的指导和解释,以便更好地使用该软件。 首先,primetime 使用手册介绍了软件的基本概念、界面和基本操作。用户可以从中了解primetime的工作流程,掌握软件的核心功能。 其次,手册详细解释了primetime的各种工具和效果,并提供了一些常用的技巧和技术,例如调整对比度、色彩平衡和模糊等效果,以及如何添加和修改文本、图像和声音等素材。 最后,手册还提供了一些实用的建议和技巧,例如如何使用primetime进行视频编码、如何导出成品视频和如何使用特定的格式和分辨率等。 总的来说,primetime 使用手册是一个非常全面、详细和实用的指南,可以帮助用户掌握 primetime 的核心功能和技术,进而将素材剪辑为高质量的视频成品。 ### 回答2: Primetime使用手册是用户学习和使用Primetime软件操作的指南手册。使用手册主要分为三个部分,分别是软件简介、用户教程和功能手册。 软件简介部分介绍了Primetime软件的基本信息以及软件的安装和启动方式。用户教程部分详细介绍了Primetime软件的各项功能操作,包括文件上传、编辑和审核等功能的使用方法。功能手册则列出了Primetime软件的功能菜单和快捷键,方便用户使用。 在使用手册上,用户可以对Primetime软件进行全方位的了解和学习。用户可以通过学习使用手册了解Primetime软件的各项功能,掌握软件的使用技巧和操作方法。在熟悉软件的基本操作后,用户可以快速熟练地进行各项操作,提高工作效率。 此外,使用手册还提供了常见问题解答和技术支持,用户在使用Primetime软件过程中,遇到问题可以查看常见问题解答及技术支持,以便及时解决问题。 总之,Primetime使用手册是帮助用户学习和掌握Primetime软件使用的重要工具,让用户能够更加高效、方便地使用Primetime软件,提高工作效率,实现自我价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值