最近开了一个新项目,四天没更新了,有点乱,今天先捋一下功耗预算吧。
赛灵思常用的功耗预算有两种方法:
1,对于设计前的功耗预算:对于方案初始芯片选型时,如果方案对于功耗有很大要求,那么第一步就是要进行芯片的功耗进行预估和评价,从而判断该片是否符合方案要求,当然选型时不光看功耗,也要看资源,准备下一篇总结一下资源的选型(只是这样想,具体下一篇写啥到时候再说)。
2,对于方案中的功耗预算:如果方案基本已经确定,程序也写的差不多,前提是一定要有整体程序的绝大部分资源已经写好,始终约束和引脚约束已经写好,賽灵思可以直接通过ISE或者VIVADO进行功耗预估。
今天主要说一下第一种预算方法,第二种也介绍一下。
1,对于设计钱的功耗预算:
对于设计前的功耗预算,前提是要知道方案整体要用大概多少资源,也就是首先要对整体资源使用情况有大概了解,然后根据资源使用情况在资源足够的情况下去预算不同芯片的功耗问题。
FPGA的全称为大规模可编程逻辑矩阵,功耗为单位时间内的能量消耗,而这就出现了对应的问题:1)就是功耗和FPGA的内部参考时钟有关系,始终越快肯定单位时间内触发器的反转速度越快,还有一个是反转概率,也就是有百分之多少的触发器要反转,这就是要知道为什么要知道程序中参考时钟和反转率。2)FPGA中大部分的功耗都在触发器上,因为一般情况下触发器用的最多,所以要考虑触发器等内部器件的使用数量。
根据上面的叙述,就知道要做设计前的功耗预算,就要先对系统的整体时钟有个构架,然后对整体资源消耗有个构架。我是先大概写了个程序,程序基本功能就是目标功能也就是资源消耗基本差不多就这样,但是没有进行引脚约束和时钟约束,综合之后到产生比特流文件是报错,但是不影响ISE对资源的分配。
好了,废话不多说了,来点干货,直接去http://china.xilinx.com/products/design_resources/power_central/下载对应要预算功耗的芯片型号的excel表格,这里就不得不说一下excel的强大功能了,真的太强了,佩服佩服!
下载下来之后首先要将本地的excel打开宏权限,以office2007为例:
点击excel options,然后 点击trust center settings
选成上述情况就ok。
然后重启一下excel之后打开下载的表格,
是我最后的预算结果,忽略表格上的结果。要看的是最下面的
从clock、logic,IO、BRAM、DSP、等等模块根据使用预算进行填写然后填完之后再看summary功耗就已经算出来了。
我根据综合出的summary按照各个分类填入表格中自动出来上述结果了。
这只是一个简单预估,理论上讲应该偏差不大。
2,设计中的功耗预估
目测是在设计中,程序综合布线完成之后,直接打开XPOWER就出来了,用之前的程序试了一下:
打开XPOWER是通过打开的。
又将综合好的程序的summary填写到excel表中,发现功耗不对,对比之后发现,功耗误差在IO口、PLL、MMCM、和BRAM上,因为这部分属于硬核部分,数据手册读的不够仔细,没有将PLL、MMCM这些硬核填进去(PLL、MMCM功耗很大!)。下一步数据手册仔细读一下,然后再更新一下这篇。
本文转载自:https://blog.csdn.net/u011327754/article/details/79960729