为了获得功耗估算最高的可信度,您应该从门级仿真获得VCD或SAIF文件。这样,XPA就能了解内部节点的行为,从而提供更精确的估算。
从仿真获得VCD非常直观,不过根据您使用的工具(Mentor Graphics的ModelSim、赛灵思的ISim等)不同,所需的命令格式可能略有不同。如果您正在使用ModelSim工具,那么您就可用以下语法创建简单的VCD文件:
vcd file myvcd.vcd
—define the file name and location if desired
vcd add /memory_if_tb/ uut_apply/*
—the region of the design that is to be recorded
退出仿真时,结果将会保存在VCD文件中,您可在XPA中使用这个文件。如果您使用的是ISim工具,那么格式会略有不同:
vcd dumpfile myvcd.vcd —define the file name and location if desired
vcd dumpvars -m /memory_if_tb/uut_apply
—the region of the design that is to be recorded
Run Simulation
vcd dumpflush
—save results to the vcd file created
仿真工具中还有许多更高级的命令,您可用来生成VCD。在工具文档中有详细介绍。
由于包括了VCD文件,您的功耗估算可信度会有所提高。如果您不能提供仿真结果(有的运行需要很长时间),那么XPA会用其内置的分析引擎运行。在此情况下要做到准确,就应再次指定翻转率和启用率。
与XPE中一样,XPA中也应包括最差情况下的最大电源电压,这非常重要。我们也可将XPA设计导回XPE,让设计团队尝试进行更多试验性修改,从而明确这些改动对功耗和结温估算所产生的影响。
可信度还不够高该怎么办?
假设包括了仿真并提供有其它信息,那么您应该就能实现较高可信度的功耗估算和结温预测。在理想情况下,应用应该可以接受这种可信度。不过,如果实际情况下您还无法实现这样的可信度,工程师还有什么其他办法确保设计实现功耗预算目标或所需的结温呢?
为了实现所需的结果,我们可对以下设计的三处地方进行修改:源、实现和(就结温而言)物理模块设计。
在设计源中,您可采取以下步骤:
1. 删除任何异步复位。
2. 在较大组合函数之间包括流水线级。
3. 确保通过推理或实例化在器件中采用专用的资源。
综合和布局布线阶段的选项包括:
1. 针对面积最小化或功耗降低设定优化方案。
2. 检查设计约束,确保不过度约束器件。
3. 限制高扇出路径的扇出。
4. 只要有可能,状态机等就应采用RAM。
5. 确保启用重新定时。
希望通过以上步骤,功耗估算和结温预测都能得到改进。不过,如果以上还不行而且确实必要,您也可通过散热或强制气流来降低结温,只是这么做会影响项目的机械设计。
准确的估算
您可用赛灵思功耗估计器和赛灵思功耗分析器获得准确的FPGA设计功耗估算,这两款工具可共享有关信息。功耗估算的准确度取决于仿真和工程设计团队提供数据的质量。
您也应提供足够的应急方案来应对要求的变化,确保解决方案能应对电流功耗和电源电压斜率的要求。