设计的初始估计功率通常小于硅上的功耗。这是因为没有可用的功率估计流可以准确地将功率估计结果与硅结果相关联。此外,对于涉及许多新设计功能的部件和IP块,确切的门数详细信息很难在流程的早期预测。
除了更准确的功率估算流程外,还需要RTL级功耗估算,提供减少的机会在设计初期就有力量。本文讨论了功率估计的基础知识,以及RTL级的功率估计流程,每个设计IP和IP的人都应该知道。 SoC。
首先我们将讨论功率估算流程中使用的一些术语:
静态泄漏功率:它是门时消耗的功率没有转换。它是由流过晶体管的电流引起的,即使它们被关闭也是如此。它不仅取决于电路的物理参数,还取决于提供给电路的输入,这意味着当输入状态变化时泄漏功率会发生变化,从而导致状态相关的泄漏功率。
动态电源:当电路处于活动状态时执行某些功能时消耗的功率。它进一步分为两个部分:开关和内部。
开关电源:在电池输出端对负载电容进行充电和放电时会耗散。负载电容由互连(净)电容和网络连接的栅极电容组成。
内部或短路电源:电池内消耗内部电池电容的功率。在逻辑转换期间,P和N型晶体管都在短时间内同时导通,从而导致从Vdd轨到地轨的直接连接。
标准单元库:标准单元库是低级电子逻辑功能的集合,例如AND,OR ,INVERT,触发器,锁存器和缓冲器。使用技术库的单元,综合工具执行将寄存器传输级别(RTL)描述转换为依赖于技术的网表的过程。此过程类似于将高级C程序列表转换为依赖于处理器的汇编语言列表的软件编译器。网表是逻辑视图级别的RTL的标准单元表示。它由标准单元库门的实例和门之间的端口连接组成。适当的合成技术确保了合成网表和原始RTL描述之间的数学等价。网表不包含未映射的RTL语句和声明。典型的标准单元库包含两个主要组件:
a)库数据库 - 由许多视图组成,通常包括布局,原理图,符号,抽象和其他逻辑或模拟视图。
b)时序摘要 - 通常采用Liberty格式,为每个单元提供功能定义,时序,功率和噪声信息。
线负载模型:它用于综合以解决物理延迟。它包含一个查找表,可以提供线电阻,线电容和每单位长度的面积,可以从扇出中进行插值。
功率估算流程
对于RTL功率估算,我们需要以下输入:
a)设计文件
b)包含在合成设计时使用的标准单元的库
c)线载模型给出寄生信息(电容和电阻值)
d)模拟信息:VCD/FSDB/SAIF
e)功率估算工具
本文采用简单的AND门设计,并应用估计流程,以便更深入地了解数字的计算方式。针对相同的AND门采用各种活动简档并比较结果。所有分析均在C55FG技术的标准单元库上进行,在温度(150°C),电压(1.08V)和最坏情况下运行。
情况1:采样周期为2ns(与AND门(A,B)的输入和AND门(Z)的输出相比,被认为是最快的切换信号)计算输入和输出的活动。
活动定义为信号相对于最快信号周期数的周期数。例如,
A,B,Z的1个周期是5个最快信号周期(采样信号)= 1/5 = 0.2
概率定义为信号的时间在整个模拟期间(高)。
A,B,Z在10个采样信号周期中(高)一半时间。
案例2:在此职责周期中,输入A(25%)发生变化。
因此,活动与周期数保持一致A的采样周期相同。 A的概率由于现在在10个采样信号周期中为25%(高)并且类似地为Z,因为Z = A& B。
案例3:在这种情况下,输入B反转为A.因此,Z的活动为0而A和B的活动是相同。概率相同。
注意:由于输入A和输入A在Z上观察到毛刺,可能会有一些开关功率AND门上的B同时切换。 RTL级别的模拟不会处理因输入延迟不同而发生的故障。
以下是上述情况的结果:
Case1 | Case2 | Case3 | |
总计 | 605.880nW | 605.862nW | 0.25267nW |
泄漏 | 0.25267nW | 0.234753nW | 0.25267nW |
切换 | 415.198nW | 415.198nW | 0 |
内部 | 190.430nW | 190.430nW | 0 |
活动(A) |
A = 0.2 B = 0.2 Z = 0.2 |
A = 0.2 B = 0.2 Z = 0.2 |
A = 0.2 B = 0.2 Z = 0 |
概率 |
A = 0.5 B = 0.5 Z = 0.5 |
A = 0.25 B = 0.5 Z = 0.25 |
A = 0.5 B = 0.5 Z = 0 |
观察
1)切换功率取决于输出(Z)的切换,因此在情况3中,当Z的活动为0(在主输入存在的情况下)为0时,它为0。
2)此外,通过从与index1对应的库中的查找表中选取值来计算内部功率:转换速率和index2:电容值。
3)在查找表中用于计算p的库ower数,A和B的内部功率为0,因此内部功率取决于净Z(输出)的内部功率。
4)内部功率也取决于活动;因此,当Z的活动为0时,它为0。
5)使用的库具有状态相关的泄漏功率,当我们改变信号A的占空比以包括不同的AND状态时,在情况2中可以看到门。
RTL功率估算与门级网表功率估算
以下电路用于分析:
RTL功率估算 | GATE LEVEL NETLIST POWER ESTIMATION |
Gate mapping :HS55_LH_AND4X3 功能:a& b& c& d 映射的单元格数量:1 漏电功率:0.282nW 动态功率:270.991nW 总计:271.273nW 面积:5.2 |
门映射:HS55_LHLOLK_NAND2X1 功能:(c& d)' 门映射:HS55_LHLOLK_AND3AX4 功能: ((c& d)')'& a& b 映射的单元数量:2 泄漏功率:0.129 nW 动态功率:125.468 nW 总计:125.597 nW 面积:6.24 |
观察
RTL级使用的综合算法与门级网表不同。
在RTL级别估计时,遵循区域最小化算法。因此,与实际网表相比,在RTL合成中选取的单元面积较小。
在网表级别,遵循泄漏功率最小化算法。因此,与实际网表相比,在RTL合成时拾取的单元的泄漏功率更大。
与门级功率估算相比,我们有网表,由标准单元组成,自由文件具有这些标准单元的功率数,线负载模型具有互连电容信息,切换活动,时钟树信息和操作条件。在RTL级别,缺少一些信息,特别是门级网表,时钟树信息,布局,时序等。
对于RTL功率估算流程,我们使用可以创建门的逻辑综合引擎设计的水平模型以与实际合成相同的方式在设计周期中创建。这是因为功率估计工具进行粗略综合,而不是综合工具可以做的详尽。因此,需要向RTL功率估计工具提供如上所述的进一步信息,以便复制门级流的实际合成环境。
例如,为了估计时钟树功率,我们需要来自综合工程师。我们需要知道将使用哪些缓冲区以及它们的扇出将是什么。如果我们可以从网表中获得每个时钟域的触发器数量,那么我们可以计算出驱动触发器的缓冲器数量,即触发器除以扇出数量,将是最终数量时钟缓冲区。然后我们可以重复相同的过程来获得时钟树的其余部分。这当然不是最准确的方法,但这有助于建立实际的合成环境。
结论
精确的功率估算在RTL中至关重要水平,以便找到耗电的细分市场,并应用低功耗架构和技术。虽然RTL的数字不如合成后的数字准确,但趋势与两者相关。
全部0条评论
快来发表一下你的评论吧 !