门级静态时序分析与PrimeTime使用(3)

2019-03-22 10:52

Pt_shell>set link_path “* pt_lib.db STACK_lib.db Y_lib.db” * pt_lib.db STACK_lib.db Y_lib.db

读入设计:

PrimeTime支持以下设计格式:

. Synopsys database files (.db) (Use the read_db command) . Verilog netlist files (Use the read_verilog command)

. Electronic Design Interchange Format (EDIF) netlist files (Use the read_edif command.)

. VHDL netlist files (Use the read_vhdl command.) 读入AM2910的顶层设计文件: pt_shell> read_db AM2910.db

Loading db file '/u/joe/primetime/tutorial/AM2910.db' 1

链接设计:

pt_shell> link_design AM2910

Loading db file '/u/joe/primetime/tutorial/pt_lib.db'

Loading db file '/u/joe/primetime/tutorial/STACK_lib.db' Loading db file '/u/joe/primetime/tutorial/Y_lib.db' Linking design AM2010 ...

Loading db file '/u/joe/primetime/tutorial/STACK.db' ...

Designs used to link AM2910:

CONTROL, REGCNT, STACK, UPC, Y Libraries used to link AM2910: STACK_lib, Y_lib, pt_lib

Design 'AM2910' was successfully linked 1

显示当前已载入的设计: pt_shell>list_designs

得到当前载入单元的信息: pt_shell>report_cell

编译一个标记模型(Stamp Model):

标记模型是一个诸如像DSP或RAMS那样复杂模块的静态时序模型。 标记模型与.lib模型共存,而不能代替它们。

- 建立标记模型是用在晶体管层次的设计上,在这个层次上没有门级网表。 - 标记模型语言是一种源代码语言,被编译成Synopsys的.db文件格式,可

以被PrimeTime或Design Compiler使用。

- 标记模型包含引脚到引脚的时序弧、建立和保持时间数据、模式信息、引

脚的电容和驱动能力等等。标记模型还能保存属性(面积等等)。 - 三态输出、锁存器和内部生成的时钟都可以被建模。 一个标记模型包括两种源代码文件格式:

- .mod文件

仅包含引脚到引脚的弧的描述(没有延时数据)。 - .data文件

包含.mod文件中每条弧的延时数据。

标记模型可以有多个.data文件来描述不同运作条件下的时序。 两种文件格式都需要编译成一个.db模型。

编译AM2910中Y模块的标记模型(标记源代码文件是Y.mod和Y.data): pt_shell> compile_stamp_model -model_file Y.mod \\

-data_file Y.data -output Y

Wrote model library core to ?./Y_lib.db? Wrote model to ?./Y.db?

PrimeTime生成两个.db文件:

Y_lib.db:一个库文件,包含一个单元(cell)。这个单元叫做核(core)。 Y.db:一个设计文件,引用Y_lib.db中的单元核。

编译一个快速时序模型(Quick Timing Model):

可以为设计中还没有完成的模块建立一个快速时序模型,以使得完整的时序分析能够进行。通常的情形是:

- 模块的HDL代码还没有完成时

- 为了划分设计,在评估阶段为实际设计进行时序预测、约束估计时 - 模块的标记模型还没有完成时

一个快速时序模型是一组PrimeTime命令,而不是一种语言。为了方便和文档化可以将它们写在一个脚本文件中,然后保存为.db的格式。在PrimeTime和Design Compile中快速时序模型很有用处。

还可以将快速时序模型保存为标记模型,这是开始一个复杂标记模型的一种便利的方法。

例子中STACK模块的快速时序模型脚本文件是stack.qtm.pt,建立这个模型: pt_shell> source -echo stack.qtm.pt ...

pt_shell> report_qtm_model; ...

pt_shell> save_qtm_model -output STACK -format db Wrote model library core to './STACK_lib.db' Wrote model to './STACK.db' 1

进行时序分析

配置运作环境

读入并链接AM2910设计:

pt_shell> set search_path \

pt_shell> set link_path \ pt_shell> read_db AM2910.db pt_shell> link_design AM2910

链接了AM2910会导致其它已经链接的设计变为不链接的状态。在内存里只允许有一个链接的设计。当一个设计不链接,所有时序信息将被去除,并会出现警告,这和Design Compiler不同。如果需要保存所标注的信息,可以在链接一个新的设计之前用write_script命令。如果以后重新链接这个设计,只要运行这个脚本就可以了。

建立运作条件和连线负载模型:

PrimeTime在生成建立时序报告(setup timing reports)时使用最大(Maximum)运作条件和连线负载模型;在生成保持时序报告(hold timing reports)时使用最小(Minimum)运作条件和连线负载模型。

pt_shell> set_operating_conditions -library pt_lib -min BCCOM -max WCCOM pt_shell> set_wire_load_mode top

pt_shell> set_wire_load_model -library pt_lib -name 05x05 -min pt_shell> set_wire_load_model -library pt_lib -name 20x20 –max

如果运作条件在两个不同的库中,用set_min_library命令来在最大库和最小库中建立联系。

得到一张库的列表:

pt_shell> list_libraries Library Registry:

STACK_lib /home/gray/primetime/tutorial/ STACK_lib.db:STACK_lib

Y_lib /home/gray/primetime/tutorial/Y_lib.db:Y_lib * pt_lib /home/gray/primetime/tutorial/ pt_lib.db:pt_lib 得到一个库的详细信息: pt_shell>report_lib pt_lib

基本声明:

pt_shell> create_clock -period 30 [get_ports CLOCK]

pt_shell> set clock [get_clock CLOCK] pt_shell> set_clock_uncertainty 0.5 $clock pt_shell> set_clock_latency -min 3.5 $clock pt_shell> set_clock_latency -max 5.5 $clock pt_shell> set_clock_transition -min 0.25 $clock pt_shell> set_clock_transition -max 0.3 $clock


门级静态时序分析与PrimeTime使用(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新民主主义论 毛概读书笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: