职场文秘网

首页 > 领导讲话 > 政府报告 / 正文

使用PrimeTime,PX进行功耗分析

2020-05-20 17:37:24

 使用PrimeTime PX进行功耗分析 一、工具介绍 PrimeTime是synopsys开发的一款专门的静态时序分析软件,PrimeTime PX是集成在软件中的一个工具,可以用来对Design Compilier(DC)综合后的V文件进行功耗分析。PrimeTime的一个特点就是它对功耗的分析比DC给出的功耗信息要精确得多,所以一般采用PTPX进行功耗分析。

 PTPX可以进行两种模式的功耗分析:

 l 平均功耗分析(Averaged Power Analysis) 在这种模式下,动态翻转速率可以是默认值或者是用户自定义的,也可以由HDL的仿真文件提供。进行平均功耗分析时可以使用两种格式的激励文件,分别是SAIF和VCD。

 l 基于时序的功耗分析(Time-Based Power Analysis) 在这种模式下,为了获得精确的与时序有关的功耗信息,必须要有仿真文件提供激励。Time-Based支持VCD、VPD以及fsdb格式的激励。特别是对于VCD文件来说,可以支持RTL级别的仿真文件或者是Gate级别的仿真文件。对于RTL Level的VCD文件要使用read_vcd –rtl或者是read_vcd –zero_delay命令,否者会被识别成Gate Level的仿真文件。

 二、PTPX工具进行功耗分析流程 使用PTPX进行功耗分析之前,要准备如下文件:

 l 逻辑综合后的.V文件 l 静态时序分析的.sdc文件 l 有功耗信息的.db文件 l RTL的仿真文件.VCD 2.1

 .V文件、.sdc文件以及.db文件的获得 在使用DC完成对工程的综合后,会得到一个如下图所示的V文件(以本实验室综合所用工程rfid2016_v2为例,V文件存放在/rfid2016_v2/flow/syn/result目录下):

  图2-1 .V文件存放目录 V文件里面的内容如下:

  图2-2 综合后.V文件内容 接下来获取.sdc文件,PTPX用到的.sdc文件和DC用到的.sdc文件一致。

 最后是.db文件,与.sdc文件一样,.db文件也是综合时用到的.db文件。需要注意的是这些db文件必须是具有功耗信息的。

 2.2

 .VCD文件的获取 .VCD文件指的是Value Change Dump,VCD是IEEE 1364标准中定义的一种ASCII文件,是通用的文件格式。

 它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整个仿真的信息,我们可以用这个文件来再现仿真,也就能够显示波形。

 因为VCD是Verilog HDL语言标准的一部分,因此所有的Verilog的仿真器都能够查看该文件。这里以Modelsim仿真工具为例,说明产生VCD文件的两种方法。

 1. 使用Modelsim编译工程后,在控制台使用命令行来生成VCD文件:

 **************************** VCD file filename.vcd VCD add path /*,//如果要在当前目录下生成(即与sim.bat同目录),直接VCD add /* ****************************

 图2-3使用命令行生成VCD文件 注意:在使用控制台之前先restart一下,生成VCD之后再运行仿真。

 2. 直接在testbench中使用系统函数$Dump来生成VCD文件,以本次使用的testbench tb_soc_xcs为例,在Initial块中加入如下两行代码:

 **************************** $dumpfile("top_soc_xcs.vcd");//"top_soc_xcs为生成的VCD文件名 $dumpvars(0,tb_soc_xcs.utop_soc_xcs);//tb_soc_xcs.utop_soc_xcs即testbench的模块名以及它例化的整个工程的顶层模块名,如果不这样命名,在使用Modelsim仿真时会报错。

 **************************** 使用这种方式生成VCD文件时,不用点击Modelsim中的Run图标,VCD文件中就已经包含全部变量的值变化信息。

  图2-4使用系统函数生成VCD文件 生成的VCD文件内容如下:

  图2-5 VCD文件内容示例 2.3

 TCL脚本的撰写 使用TCL脚本可以将使用PTPX时的诸多命令综合到一起,这样进行功耗分析就会简单明了许多,要使用这个脚本,只需在pt_shell中source这个脚本即可。

 1. 在服务器中右键open terminal 2. Cd到PT的目录下 3. 输入pt_shell进入命令行模式或者primetime进入图形界面 4. Cd到TCL脚本的目录 5. 输入source filename.tcl进行功耗分析 实际流程如下所示:

  图2-6使用TCL脚本进行功耗分析 TCL脚本如下:

 #################################### # # set the power analysis mode # #################################### # set power_enable_analysis TRUE

 set power_analysis_mode

 time_based # #################################### # # read and link the gate level netlist # #################################### # set search_path "./data/ "

 set MaxLibName sc9mc_logic0040ll_base_rvt_c50_tt_typical_max_1p20v_125c

 set MaxLibDbFile ${MaxLibName}.db

 set link_library "*

  sc9mc_logic0040ll_base_rvt_c50_tt_typical_max_1p20v_125c.db"

 read_verilog /home/rfid/zilong/power_analyse/data/top_soc_xcs_syn.v

 current_design top_soc_xcs

 link # #################################### # # READ SDC and set transition time or annotate parasitics # #################################### # read_sdc

 /home/rfid/zilong/power_analyse/data/top_soc_xcs_SYN.sdc -echo # #################################### # # Check,update,or report timing # #################################### # check_timing

 update_timing

 report_timing # #################################### # # read switching activity file # #################################### # read_vcd

 -rtl ./data/top_soc_xcs.vcd

 -strip_path

 tb_soc_xcs/utop_soc_xcs

 report_switching_activity -list_not_annotated # #################################### # check_power

 update_power

 set_power_analysis_options -waveform_format out -waveform_output vcd

 report_power –hierarchy #################################### 注意:read_sdc一定要加-echo,否则会显示无法读取sdc文件,另外在sdc文件中定义了current design,而在tcl脚本中也定义了,ptpx在读入sdc时会报错,需要将sdc中的current design删掉。另外read_vcd时-strip_path后面的带路径为dump file时的带路径,否则读取不到VCD文件中的信息。

 2.4 使用PTPX查看功耗曲线 TCL脚本运行完之后会给出一个power report,如下图所示:

  图2-7功耗报告

 脚本运行之后,如果没有报告error,会在脚本的同级目录下生成一个.fsdb的文件,在图形界面打开这个文件就可以查看功耗曲线了。图形界面的打开方法是在pt_shell中输入gui_start。

  图2-8 pt_shell中打开图形界面

 图2-9图形界面示例 图形界面打开之后,在菜单栏中选择power->View Waveforms,可以导入之前生成的.fsdb格式的文件查看波形。在查看波形的界面选择signals->get signals,可以选择查看不同模块或信号的波形,这里以整个模块的功耗为例,在左边的窗口选择”/”,右下窗口选择”Pc(top_soc_xcs)”,如下图所示:

  图2-10 get signals中选择模块 最后得到整个模块的功耗 如下图所示:

  图2-11整体工程功耗 从图中可以看到,整个模块的功耗峰值在6.16mW。

 三、参考文献 eetop.cn_PrimeTime PX User Guide 2010.06

Tags: 功耗   分析   PrimeTime  

搜索
网站分类
标签列表