prime time 怎么看时序

如题所述

PrimeTime是Synopsys的一个单点的全芯片、门级静态时序分析器。它能分析大规模、同步、数字ASICS的时序。PrimeTime工作在设计的门级层次,并且和Synopsys其它工具整合得很紧密。 基本特点和功能: 时序检查方面: 建立和保持时序的检查(Setup and hold checks) 重新覆盖和去除检查(Recovery and removal checks) 时钟脉冲宽度检查(Clock pulse width checks) 时钟门锁检查(Clock-gating checks) 设计检查方面: 没有时钟端的寄存器 没有时序约束的结束点(endpoint) 主从时钟分离(Master-slave clock separation) 有多哥时钟的寄存器 对层次敏感的时钟(Level-sensitive clocking) 组合电路的反馈环(Combinational feedback loops) 设计规则检查,包括最大电容(maximum capacitance)、最大传输时间(maximum transition)和最大扇出(maximum fanout) PrimeTime 时序分析流程和方法: 在时序分析之前需要做的步骤: 1、 建立设计环境 - 建立搜索路径(search path)和链接路径(link path) - 读入设计和库 - 链接顶层设计 - 建立运作条件、连线负载模型、端口负载、驱动和传输时间 2、 说明时序声明(约束) - 定义时钟周期、波形、不确定性(uncertainty)和滞后时间(latency) - 说明输入、输出端口的延时 3、 说明时序例外情况(timing exceptions) - 多周期路径(multicycle paths) - 不合法路径(false paths) - 说明最大和最小延时、路径分割(path segmentation)和失效弧(disabled arcs) 4、 进行分析和生成报告 - 检查时序 - 生成约束报告 - 生成路径时序报告 开始 先建立目录并将PrimeTime本身所带的一个例子拷到新建的目录下,在下面的内容中将要用到这个例子。 mkdir primetime

cd primetime cp –r $SYNOPSYS/doc/pt/tutorial . cd tutorial 确认目录中有以下这些文件: AM2910.db The design .db for the top-level of the design CONTROL.db The design .db for the CONTROL block REGCNT.db The design .db for the REGCNT block UPC.db The design .db for the UPC block Y.data The Stamp data file for the Y block Y.mod The Stamp model file for the Y block Y_lib.db The library .db for the Y block STACK_lib.db The library .db for the STACK block pt_lib.db The technology library .db stack.qtm.pt The quick timing model script for the stack block optimize.dcsh The dc_shell optimization script timing.dcsh An example DC shell timing script for translation tutorial.pt The complete PrimeTime tutorial script for your reference. 例子是一个AM2910微处理器,如图所示模块图。 运行PrimeTime: pt_shell 定义搜索路径和链接路径: pt_shell>set search_path “.” 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 显示当前已载入的设计: 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中的单元核。
温馨提示:答案为网友推荐,仅供参考
相似回答