作者:高亚军
资源、速度和功耗是FPGA设计中的三大关键因素。随着工艺水平的发展和系统性能的提升,低功耗成为一些产品的目标之一。功耗也随之受到越来越多的系统工程师和FPGA工程师的关注。Xilinx新一代开发工具Vivado针对功耗方面有一套完备的方法和策略,本文将介绍如何利用Vivado进行功耗分析和优化。
功耗估计
在Vivado下,从综合后的设计到布局布线后的设计,其间产生的任何DCP文件都可用于功耗估计,如图 1所示。打开综合后的设计或布局布线后的设计,既可以在图形界面模式下,选择Report Power,也可以直接用Tcl命令report_power获取功耗估计结果。其中,利用布局布线后的设计可获得更为精确的功耗估计结果。
在Vivado下,有两种功耗估计模式。一种是向量模式,需要提供SAIF(Switching Activity Interchange Format)或VCD文件;一种是非向量模式,只需要提供简单的参数即可,但估计结果不够准确。SAIF文件通过仿真生成,因此需要在Simulation Settings中进行设置,如图 2所示。这里的仿真只能是综合后的功能/时序仿真或者布局布线后的功能/时序仿真,这是由图 1的流程决定的。Xilinx建议在向量模式下选择SAIF文件,因其估计速度要比VCD快。
选择Report Power之后,弹出图 3所示的界面,填入相应的参数,如果是向量模式,在Switching窗口中选择相应的SAIF文件,如图 4所示。可以看到Report Powe