| |
另一种选择是在电路板上而不是在芯片上进行这种“数据使能”。以尽可能减小处理器时钟周期。此概念是使用 CPLD 从处理器卸载简单任务,以便使其更长时间地处于待机模式。
让我们来看一个在状态 7 和状态 8 之间频繁进行状态转换的状态机。如果您为该状态机选择二进制编码,将意味着对于每次状态 7 和状态 8 之间的状态转换,将有四位需要改变状态,如表 1 所示。如果状态机采用格雷码而不是二进制码来设计,则这两个状态之间的转移所需的逻辑转换的数量将降至仅一位。另外,如果将状态 7 和 8 分别编码为 0010 和 0011,也可以达到同样的效果。
时钟管理
在一个设计的所有吸收功耗的信号当中,时钟是罪魁祸首。虽然一个时钟可能运行在 100 MHz,但从该时钟派生出的信号却通常运行在主时钟频率的较小分量(通常为 12% ~ 15%)。此外,时钟的扇出一般也比较高——这两个因素显示,为了降低功耗,应当认真研究时钟。
如果设计的某个部分可以处于非活动状态,则可以考虑使用一个 BUFG-MUX 来禁止时钟树翻转,而不是使用时钟使能。时钟使能将阻止寄存器进行不必要的翻转,但时钟树仍然会翻转,消耗功率。不过采用时钟使能总比什么措施也没有强。
隔离时钟以使用最少数量的信号区。不使用的时钟树信号区不会翻转,从而降低该时钟网络的负载。仔细布局可以在不影响实际设计的情况下达到此目标。
对 FPGA 显然也可以使用同一概念。虽然 FPGA 不一定拥有待机模式,但使用一个 CPLD 中途栏截总线数据并有选择地将数据馈送到 FPGA 也可以省去不必要的输入转换。
CoolRunner-II CPLD 包含一种称为“数据门控”的功能,可以禁止引脚上的逻辑转换到达 CPLD 的内部逻辑。该数据门控使能可通过片上逻辑或引脚来控制。
状态机设计
根据预测的下一状态条件列举状态机,并选择常态之间转换位较少的状态值。这样,您就能够尽可能减少状态机网络的转换量(频率)。确定常态转换和选择适当的状态值,是降低功耗且对设计影响较小的一种简单方法。编码形式越简单(一位有效编码或格雷码),使用的解码逻辑也会越少。
功耗估算工具
赛灵思提供了两种形式的功耗估算工具:一种叫做 Web Power Tools 的设计前工具和一种叫做 Xpower 的设计后工具。Web Power Tools 可通过 www.xilinx.com/cn/power 获得,它提供了根据逻辑利用率大概估计做出的功耗估算。利用
XPower 是一种设计后工具,用于分析实际器件利用率,并结合实际的适配后 (post-fit) 仿真数据(VCD 文件格式),给出实际功耗数据。利用 Xpower,您可以在完全不接触芯片的情况下分析设计改变对总功耗的影响。
基于 Web 的功耗工具
基于 Web 的功耗估计是在设计流程的早期获得器件功耗情况的最快捷和最方便的方法。这些工具每个季度都会发布新版本,因此信息总是最新的,且不需要安装或下载,只需要拥有互联网连接和 Web 浏览器即可。您可以指定设计参数并保存和加载设计设置,免去了通过交互使用重新输入设计参数的麻烦。只要有对设计行为的估计并选定目标器件即可开始。
Xpower:集成的设计专用功耗分析
Xpower 是所有 Xilinx ISE设计工具的一个免费组件,您可以利用它对您的基于设计的功耗需求进行详细得多的估计。XPower 是在映射或布局和布线后设计的基础上对器件功耗进行估计的。
把器件数据与您的设计文件结合起来综合考虑,并按照您的专门设计信息给出估计器件功耗的高精度报告。
XPower直接集成在 ISE 软件中,可提供层次化的详细的功耗显示、详细的总结报告和功耗向导,即使是新用户也可轻易上手。XPower 可接受仿真的设计活动数据,并可以 GUI 模式和批处理模式运行。
XPower 将考虑设计中的每个网络和逻辑元素。ISE 设计文件提供准确的资源使用情况;XPower 交叉参考布线信息以及特性化电容数据。于是物理资源针对电容进行特性化。设计特性化将对新器件持续进行,以给出最精确的结果。Xpower 使用了网络翻转速率和输出负载。然后 XPower 计算功耗和结温,还可以显示单个网络的功耗数据。
结论
对更便宜和更简单的热管理以及与前沿 FPGA 不断提高的功耗需求相匹配的电源的不断增长的需求,将低功耗设计的概念提升到一个全新的高度。赛灵思最新器件 Virtex-4 FPGA 提供了 90 nm 工艺技术的高性能,却避免了预想中静态功耗的显著增大。使用赛灵思功耗估算工具并遵循低功耗设计考虑事项,满足您的功耗目标将比以往任何时候都更加容易。