一、DC
1、准备工作
创建DC工作目录syn
将工艺库文件添加到lib目录下,verilog文件放到RTL目录下
2、开始综合
首先进入到work目录下,打开终端启动dc_shell
执行以下命令进行综合并生成约束文件和网表文件
set design_path "../rtl"
set verilog_files [glob -nocomplain -type f $design_path/*.v]
foreach file $verilog_files {
read_file -format verilog $file
}
set_app_var link_library ../lib/fast.db
set_app_var target_library ../lib/fast.db
check_design
create_clock "clk" -period 4
report_clock
set_clock_uncertainty -setup 0.15 [get_ports clk]
set_clock_transition 0.12 [get_clocks clk]
set_input_delay -max 3 -clock clk [get_ports rst]
set_input_delay -max 3 -clock clk [get_ports ld]
set_input_delay -max 3 -clock clk [get_ports text_in*]
set_input_delay -max 3 -clock clk [get_ports key*]
set_output_delay -max 3 -clock clk [all_outputs]
check_design
compile
report_timing
write_sdc ../report/aes.sdc
write_sdf ../report/aes.sdf
write_file -format verilog -output ../mapped/aes_netlist.v
二、PTPX
1、准备工作
创建pt工作目录,将功耗分析所需文件移到工作目录下
2、使用pt进行实时功耗分析
打开终端输入pt_shell
执行以下命令进行实时功耗分析,并生成波形和out文件
set power_enable_analysis TRUE
set power_analysis_mode time_based
set link_library "./lib/fast.db"
read_verilog ./netlist/aes_netlist.v
current_design aes_cipher_top
current_design
link
current_design
read_sdc ./aes.sdc
check_timing
update_timing
report_timing
read_vcd -strip_path aes_test/uut ./dump.vcd
report_switching_activity -list_not_annotated
report_annotated_power -list_annotated
check_power
update_power
report_power -hierarchy -verbose
set_power_analysis_options -waveform_format fsdb -waveform_output aes_px
report_power > design.out
out文件格式:
三、verdi
使用verdi查看实时功耗分析后生成的波形文件fsdb
1、进入放有fsdb文件的目录下
2、打开终端,输入以下命令:
verdi -ssf ./primetime_px.fsdb -nologo &
弹出verdi页面
点击下图中的get single,也可以使用快捷键g
在弹出的窗口中选中要查看的信号,并点击ok
随即就会成功显示功耗波形