微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 嵌入式系统面向低功耗的协同设计

嵌入式系统面向低功耗的协同设计

时间:10-24 来源:单片机及嵌入式系统应用 点击:

软件功耗和所用的处理器是密切相关的。通常它需要每一条指令或指令类的准确信息。功耗估计可以在不同准确度的级别上进行;仅用软件代码长度并假定所有指令的功耗相等;考虑指令的分类和指令序列;通过使用处理器的硬件模型和硬件模拟器来获得指令序列的功耗估计。对每一个处理器,根据规定的功耗特性可以采用不同的估计方法。例如,对于处理器P1仅用代码长度估计,可能要比P2用硬件模型估计得到更准确的结果。
硬件功耗估计可以在行为级到门级的不同级别上进行。在较低级别上的估计比在较高级别上的估计要准确,但更费时。由于同一个任务用软件实现比用硬件实现更耗能,因此对硬件功耗估计也不必太精确,在较高级别上的估计就足够了。硬件估计包括数据路径、控制部件和内部互连上的功耗。由于功耗依赖于被处理的数据,因此利用输入到硬件里的数据与信号相关的信息能获得更好的估计结果。

通信过程中的功耗与互连的类型密切相关。它不仅依赖于各部件连接的情况,同时与通信的带宽和编码类型有关。

3 实现方法

迄今为止,在低功耗协同设计领域,包含所有常用结构的研究报导不多,而且大部分都是针对比较简单且结果固定的一个ASIC和一个处理器的情况。许多低功耗综合系统都是从最初的协同设计环境中发展而来的。在高级综合中,模块库是可用的,并且每一个模块和操作数据都是研究的。本部分所用的方法和高级综合类似。

3.1 必需的数据

模块库由处理器(DSP、微控制器、通用CPU)和物理通信通道组成。对每一个处理器,我们假定以下数据是可用的:

*参考电压Vref和参考时钟频率fref;
*对于给定Vref和fref,在处理器上运行任务I所消耗的率Pi;
*处理器上任务i的执行时间ti。

以上所涉及的是系统的软件部分。在硬件上实现一个任务没有特别的方法。快速的硬件设计给出了下限,系统级规范对执行时间的要求则确定了上限。在供电电压不变的情况下,快速电路通常需要更多的晶体管,产生了更大的开关电容,从而消耗更多的能量。我们假定一个任务在硬件实现上表示为两个极端的设计:其中一个速度最快,消耗能量最多;另一个最慢,但消耗能量最少,如图3所示。






3.2 综合过程

在一个常用的高级综合里,通常需要完成分配、调度和任务的绑定,在协同设计过程中也可采用相同的方法。分别将影响每一个执行任务的功耗,高度将决定总的执行时间,绑定则影响通信过程。

在这里,要注意切耗和能量的区别。考虑一个任务以不同的频率f1和f2在一个处理上运行,相应的时钟周期分别为T1和T2,所需的周期数都是N,如图4。由于要做同样的计算,完成该任务所需的能量与频率无关,而功耗却随时钟频率增加。另一方面,式(2)电路的延迟(Delay)与供电电压成反比,这里考虑到门限电压VT足够小:

联合式(1)和(2)可以得到式(3)。对于不同的执行时间,式(3)给出了新功耗Pnew和原功耗Pi之间的关系:

式(3)表示:在一个给定的处理器上,对于一个特定的任务,如果允许较长的执行时间,通过降低电压可以在很大程度上降低功耗。因此,一个比较好的方法是让处理器尽可能地一直处于工作的状态,因为增加执行时间比处理器空闲时关掉它更有利。

4 实验结果

从一个现有的系统综合环境出发,通过约束逻辑编程方法,们开发了一个增强型环境来实现系统综合。在我们的例子中,任务图里有九个任务和八个过程。资源库里包括三种类型的处理器,其代价是{4,5,2},平均相对功耗是{4,6,5},资源库还包括一条总线。结果显示,不同的任务有不同的执行时间,从而产生了不同的功耗。图5绘出了这个例子的设计空间,柱状体代表给定条件下具有最小功耗的设计。从图5中可以看出:如果最大代价和临界值条件放宽一些,功耗就可以降低。

结语

在进行系统设计时,如果在设计阶段就尽可能地考虑功耗,就可以明显地降低整个系统的功耗。上面实验结果也说明了在较高级别上重视功耗的重要性,这对设计正在广泛使用的嵌入式系统具有非常重要的指导意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top