QTM用于为没有门级网表的模块建立时序模型,但是仍然有一定的时序特性,相当于黑盒子。
常用于供系统工程师在布局或者顶层电路的时序分析时使用,此时HDL代码还没有开始编写,也有可能是第三方提供的IP核,无法查看内部电路结构。
4-bit宽度的同步加法器/减法器
编写QTM时,可以指定具体的pin脚到pin脚的延迟。
此模块的参数如下:
脚本编写
#1.写出模块名字 create_qtm_odel ADDSUB #2.定义IO端口 create_qtm_port {Clk} -type clock create_qtm_port {A[3:0] B[3:0] add_subN} -type input create_qtm_port {Y[3:0] carry_borrow} -type output #3.定义输入端口的延时和负载 set_qtm_global_parameter -param setup -value 0.0 create_qtm_constraint_arc -setup -from Clk \ -to {A[3:0] B[3:0] add_subN} -value 2.0 -edge rise set_qtm_port_load {Clk A[3:0] B[3:0] add_subN \ -value 0.05 #4.定义输出端口的延时和驱动强度 set_qtm_global_parameter -param clk_to_output -value 0.0 create_qtm_delay_arc -from Clk \ -to {Y[3:0] carry_borrow} -value 0.5 -edge rise set_qtm_port_load {Y[3:0] carry_borrow} -value 0.05 #5.输出报告,检查QTM模型的正确性 redirect qtm.rpt report_qtm_model #6.保存时序模型 save_qtm_model
QTM模型在PT中使用存储命令后保存为.db文件,可以看到文件属性是黑盒子的QTM
加载模型的方式: