先建立目录,并将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的顶层设计文件: 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
编译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'