资讯详情

[FPGA深度解析] 功耗控制

功耗控制

  • 1.CMOS门电路简介
  • 2.FPGA功耗的构成
  • 3.时钟网络及其功耗
  • 4.门控时钟
  • 5.划分时钟区域
  • 6.RAM的时钟使能
  • 7.双沿触发器
  • 8.CMOS导通电流
  • 9.减少供电电压
  • 10.改变I/O的终端方式

1.CMOS门电路简介

在集成电路领域,CMOS(Complementary Metal Oxide Semiconductor)数字集成逻辑电路从一开始就没有应用电路。半导体技术发展历史悠久,最早的分立器件广泛应用于模拟电路,数字电路是后来的产物。二极管和三极管在早期模拟电路中的作用极为重要。如果没有二极管和三极管,人类只能依靠大而笨重的设备,如真空管。三极管和多个电阻可以轻松实现模拟电路中的放大电路,工作电压远低于真空管。在分立器件时代,这种电路体积小,工作环境安全,功耗低。这些都是真空管无法比拟的。但真空管在高保真音响领域仍受到广泛喜爱。 CMOS电路最早于1963年Fairchild发明。CMOS电路从诞生之初就比较了TTL由于设备本身的特性,电路功耗较低。然而,早期阶段CMOS电路的速度也比TTL电路慢,容易被静电放电损坏。CMOS电路设备通常有静电保护电路,以避免CMOS该装置被静电击毁。 此外,随着各种研究机构和半导体制造商CMOS深入研究电路,不断进步半导体工艺,现代CMOS闸极氧化层厚度越来越薄,闸极电压越来越低。一方面使这些进步CMOS在较低的电压下,电路能工作进一步降低CMOS电路功耗;另一方面,低电压使设备具有较低的翻转电压,即使信号上升或下降斜率相同,设备也可以在较短的时间内完成翻转。现代CMOS电路的稳定性和性能越来越好,但功耗越来越低,数字电路占据主导地位。 CMOS它是一种具有高输入阻抗和低输出阻抗的电压控制装置。在CMOS在电路中,栅极阻抗很大。CMOS晶体管的栅极和半导体之间有一层二氧化硅(SiO2)绝缘层的组成。SiO电阻非常大,在栅极金属层和硅半导体之间相当于电介质。从输入端看,CMOS设备相当于电容。在电路领域,理想的电容应具有无限的电阻,并将其视为直流电路的开路。然而,在实践中,电容介质不能绝对导电。电容加直流电压并充电后,电容会产生漏电流。

2.FPGA功耗的构成

为满足不同工程师和电路设计的需要,FPGA这不仅仅是因为需要提供冗余的资源和功能FPGA也是因为资源使用不能达到100%,FPGA的用途和目的决定的。在FPGA所有的数字逻辑功能都是基于电影资源,包括LUT、Register、RAM等。为了实现门的功能,我们在FPGA找不到门的单元,但是可以找到LUT。使用可以通过约束来决定FPGA影片中的哪一个LUT,但不能决定LUT它是如何设计的。厂商设计LUT我们不会考虑工程师会写什么样的逻辑表达,也不会担心需要提供什么样的门电路,所以我们提供了一个可以存储完整真实值表的LUT。在LUT无论是与门、同还是异,都可以安装在4输入LUT里。 由于设计理念和实现方法不同,同一电路在ASIC和FPGA上实现时,FPGA功耗大。因此,即使得益于半导体技术的快速发展和进步,现代FPGA功耗持续下降,FPGA也不适合超低功耗的设计领域。 在ASIC芯片的功耗包括静态功耗、动态功耗和I/O功耗。在FPGA虽然该领域的设备在实际使用中功耗更大,组成更复杂,但静态功耗和动态功耗的划分仍然建立。数字逻辑电路的总功耗可以表示为: P t o t a l = P d y n a m i c P s t a t i c P I O . P_{total} = P_{dynamic} P_{static} P_{IO}. Ptotal=Pdynamic Pstatic​+PIO​. 无论是否工作,静态功耗是芯片都要消耗的功耗。图2描述了CMOS电路中漏电流的来源,表1列出了可以采用相应的手段来减少每一种漏电流。

表1 漏电流极其应对方法 表1 漏电流极其应对方法 在半导体技术发展历史上,130nm制程以前,芯片的静态功耗所占比例很小,芯片的功耗主要由动态功耗组成。随着工艺的不断进步,半导体特征尺寸不断减小并且进入到超深亚微的水平。先进的半导体工艺为VLSI带来了各种好处;相同尺寸的硅片基底(die)上可以集成更大规模的晶体管,更高的集成度使板级设计更加简单容易;小沟道带来的低压低电平能缩短器件的充放电时间,实现更高的时钟频率、更好的电磁兼容性、更低的功耗水平。然而小沟道也造成了半导体漏电流的增加,芯片的静态功耗所消耗占的比例也越来越高,沟道尺寸减小后,PN结的厚度也随之减小,导致器件中的自由电子能更容易穿越PN结的势垒,造成漏电流的增加。即使现代半导体技术使用高K来减小漏电流,但随着沟道尺寸越来越小,漏电流将会越来越严重,最终成为难以解决的问题。

芯片上的动态功耗是数字逻辑电路在传输逻辑电平时,晶体管需要开启-关闭,以及电源网络、片上布线网络以及信号翻转时容性负载充放电造成的功耗。大规模集成电路的动态功耗可以表示为: P d y n a m i c = P s w i t c h + P s h o r t . P_{dynamic} = P_{switch} + P_{short}. Pdynamic​=Pswitch​+Pshort​. 其中,Pswitch是信号电平翻转晶体管容性阻抗的开关功耗,Pshort是晶体管导通时的短路功耗。其中,开关功耗为: P d y n a m i c = η t ⋅ n ⋅ ( 1 2 ⋅ V 2 + Q s h o r t V ) ⋅ f . P_{dynamic} = \eta_t \cdot n \cdot (\frac{1}{2} \cdot V^2 +Q_{short}V)\cdot f . Pdynamic​=ηt​⋅n⋅(21​⋅V2+Qshort​V)⋅f. 其中nt是设计中信号的翻转率,n是电路的规模,C是CMOS管等效负载电容,V是电路的电压,Qshort是电平福安转时门电路完全导通时通过的电量,f是时钟频率。芯片的动态功耗与信号翻转率、电路规模、等效电容和工作频率成正比,与供电电压的平方成正比。 从上述描述可以看出,可以通过降低翻转率、电路规模、电路电压、等效负载电容以及时钟频率来降低器件的动态功耗。通常,器件的等效负载电容已经由器件本身决定,无法改变。剩下的4个因素都可以由开发人员控制。芯片I/O的负载模型取决于终端电阻的连接方式。在容性负载的前提下,芯片I/O的功耗模型与动态功耗类似。

3.时钟网络及其功耗

在大规模集成电路中, 因此,有必要分析和讨论时钟网络的功耗。讨论这部分内容之前,不妨先了解时钟网络的结构。在数字逻辑电路中, 电源系统的作用是明显的,假如电源不够稳定,或者波纹过大,或者驱动电流过低,一旦系统收到外界电磁干扰或者瞬间功耗过大,芯片就很有可能工作在不稳定的状态上。因此,在设计硬件电路时,。 时钟信号质量的好坏直接影响着芯片的功能。同步时序电路的时序分析完全建立在时钟周期的基础上。在理想状态下,时钟信号同步到达所有的触发器,并且不存在抖动问题。然而,实际的时钟信号却并非如此。 时钟网络在空间上具有特定的拓扑结构,从而确保时钟的源端到触发器的走线长度(严格来说不是走线长度,而是延时)保持较小的差异。然而, 满足时序约束意味着电路可以在指定条件下工作在特定的时钟频率不出问题,然而, 在芯片设计中,时钟网络是极其重要的。时钟网络通常遵循一定的拓扑结构。在PCB板级设计中,高速并行总线在PCB布线时需要设置约束,这样的总线通常要走等长线(PCB板上的蛇形线,对较短的信号走线进行弯曲布线,并将走线长度增加到约束值上)。 显然,这组总线会存在一个信号,这个信号的布线长度最长。 与此同时,时钟信号不会直接连接到各个触发器,而是按照一定的拓扑结构进行布线,使时钟源到各个触发器的传输延时“相等”。 时钟网络的拓扑结构实际上是特性的分形拓扑。时钟网络首先到达芯片的中心位置,然后分别等长地沿垂直方向走到芯片上半部分和下半部分的中心位置。然后时钟网络的每个线端都以相同的分布方式继续延伸,直至时钟网络覆盖整个芯片。在理论上,时钟网络的拓扑结构可以确保网络源端到每个末端的距离相等;并且经过足够多的分形之后,时钟网络足以覆盖整个芯片,使时钟信号经过相同的传输延时到达每一个触发器。此外,时钟缓冲区也用来控制时钟网络的延时。 随着设计电路规模的增加,时钟网络就生长得越复杂。换句话说,时钟网络的规模总与设计的电路规模成正比。在计算时钟网络的功耗时,下列公式同样适用。 P d y n a m i c = η t ⋅ n ⋅ ( 1 2 ⋅ V 2 + Q s h o r t V ) ⋅ f . P_{dynamic} = \eta_t \cdot n \cdot (\frac{1}{2} \cdot V^2 +Q_{short}V)\cdot f . Pdynamic​=ηt​⋅n⋅(21​⋅V2+Qshort​V)⋅f. 在芯片上,时钟网络的覆盖面积很广,并且走线与电源、地之间存在寄生电容,其动态功耗依然可以用门电路的动态功耗来描述。 二分频触发器(翻转器)在每个时钟的上升沿都发生翻转。在数字逻辑电路中,该电路是除了时钟之外翻转率最高的信号,具有100%的翻转率。与之相比,时钟信号在每个周期内都具有一个上升沿和一个下降沿,因此时钟网络具有200%的翻转率。 在数字逻辑中,普通逻辑的平均翻转率要比时钟网络、翻转器的翻转率低得多。普通逻辑的翻转率通常较低,因为实际的数据与控制信号不可能每个时钟频率都在翻转,否则电路就只有翻转率的功能。在最简单的四比特二进制计数器中,随着权值的上升,每个比特的翻转率都在下降。并且任意N比特的二进制计数器具有下式所描述的翻转率,即随着计数器位宽增加,计数器的翻转率就越低。 由于时钟网络的覆盖范围非常广泛,并且翻转率非常高,时钟网络的动态功耗在芯片动态功耗中占有相当大的比例。

4.门控时钟

门控时钟可以有效地降低时钟网络的动态功耗,并且不会导致电路在工作性能下降。在同步数字电路中,很多书籍不建议采用门控时钟进行电路设计。因为门控时钟会为电路设计带来不确定的因素,造成工具在进行时序分析时无法准确分析门控时钟的行为。然而,即使如此,门控时钟能够动态地管理特定区域中的时钟,并且同时影响该区域中的逻辑电路。因此,门控时钟被认为是降低芯片动态功耗的最佳方式之一。 在时钟禁止阶段,芯片右下角的时钟网络和时序逻辑不会有任何翻转。因此在这段期间内,这个区域的逻辑电路不会有任何动态功耗。 FPGA应用领域还有另外一个与门控时钟类似的做法:工程师可以通过使用触发器的时钟使能端口来禁止触发器的反转,达到降低芯片动态功耗的目的。但与门控时钟的效果不同,通过触发器的时钟端口来禁止时序电路的翻转只能影响到逻辑电路本身,无法影响到时钟网络。 FPGA中通常有全局时钟网络复选器这样的电路单元。在对时钟进行控制的时候,应该坚持使用器件上的时钟专用电路,并且时钟网络应该由专用的时钟布线网络来实现。这样做的好处是即使采用了门控时钟,仍然能保持较好的时钟质量,避免产生较大的时钟抖动,或者时钟的压摆率变差、不同区域的时钟偏移变大等问题。 在使用门控时钟时,需要仔细、谨慎地规划系统的时钟分配方案。对数字电路来讲,时钟是真个设计的核心,这不仅是在实际电路运行时才会成立,在前期的电路综合、优化、布局布线以及静态时序分析时也是如此。由于门控时钟会被当成全新的时钟域,在进行时序分析的时候,门控时钟的电路行为将无法统一到原先的时钟域下进行分析,因此,需要设计者本身确保电路行为的正确性。

5.划分时钟区域

在数字逻辑电路中,芯片上的时序逻辑并非只能由单一时钟驱动。在电路中使用单一时钟系统的优点是明显的。单一时钟系统中所有的电路都是同步的,因此时序分析工具可以非常有效地对整个电路进行时序分析。这样的电路系统中不会存在跨时钟域信号的传输问题,无须特别为跨时钟域信号的处理付出精力。此外,片上用于时钟网络布线的布局网络、MUX和Buffer资源几乎不会成为设计的瓶颈,设计者可以不考虑。 然而,单一时钟系统中,时钟频率取决于电路中需要最告诉的那部分电路。假如一个电路由5个模块组成,10Mhz、20Mhz、30Mhz、40Mhz和50Mhz分别满足他们的需求。那么一般采用50Mhz再向下进行分频处理。如果根据工作频率进行划分,可以在中间采用一个30Mhz的时钟,对50Mhz的时钟进行一个跨时钟域处理。

6.RAM的时钟使能

RAM的功耗主要是由时钟频率所决定的,并且与数据信号、地址信号的翻转率没有关系。 RAM在工作的时候,读/写时钟直接驱动RAM。无论RAM端口上的地址信号还是数据信号有没有翻转,RAM总是在每个时钟的有效沿执行读/写操作,并且每次读/写操作的功耗基本不变。数据信号和地址信号的翻转率对RAM的功耗并没有任何影响。 通常,时钟使能是控制RAM功耗的有效手段。在各个厂商提供的RAM IP配置界面中,工程师可以找到读/写时钟使能的选项。使用读/写时钟使能,在RAM不需要读或者写的时候,直接禁止RAM的读时钟或者写时钟。在RAM需要工作时才使能时钟,唤醒RAM并进行正常的数据操作。时钟使能可以幼小地控制RAM的功耗。 此外,在实际设计中总是会用到多个基本RAM模块,并将其配置成不同位宽和宽度的RAM单元。两个子图的组合RAM具有相同的位宽和深度,然而两个子图具有不同的操作方式并且都可以实现有效的功耗控制。 图(a)中,每读写4bit数据,所有的RAM都必须处于正常工作状态。假设数据流是连续的,那么,所有的RAM就会一直正常工作。图(b)中,每个RAM都可以单独提供完整的4bit数据,因此,在读/写第一块RAM的数据时,其他RAM可以处于时钟禁止状态。此时,电路的功耗主要来自第一块RAM。当读/写到其他RAM时,电路的这种操作方式依然成立。通过对RAM进行行时分控制,降低了整体功耗。

7.双沿触发器

在单沿时钟电路中,一个时钟周期内只有一个时钟沿有效。然而时钟信号在每个周期内发生两次翻转,未触发寄存器的另一个沿仍然具有功耗,因此时钟网络的功耗中有一个半的功耗是白白浪费的。 双沿触发器在每个时钟沿都进行触发。使用双沿触发器的好处是可以充分利用时钟的上升沿和下降沿,在相同的时钟频率下可以实现双倍的数据传输能力。换一种说法,在实现相同的数据带宽时,双沿触发器只需要一半的时钟频率便可以实现单沿触发器的性能。因此,双沿触发器的系统时钟可以降为一半。在这种情况下,时钟网络的功耗直接降到原来的一半。

8.CMOS导通电流

CMOS器件的导通电流(短路电流)同样影响着动态功耗。在CMOS门电路中,当输入电压大约达到1/2的逻辑电平时,门电路中的晶体管处于完全接通的状态,此时器件的导通电流会大幅增加。

9.减少供电电压

电压与功耗有着直接关系。在纯电阻电路中,电路的功耗与电压的平方成正比,在数字逻辑电路中亦是如此。降低内核的电压,系统的功耗会显著降低。但与此同时,电路的性能也随之下降。在FPGA应用领域使用某一款器件的时候,通过降低内核电压来实现低功耗的做法并不值得推荐。对同一器件,降低供电电压在降低功效的同时也牺牲了性能。

10.改变I/O的终端方式

改变终端方式可以降低I/O的导通状态和导通电流。在高速数字电路中,匹配电阻来改善线路上的信号质量、减少信号反射和过冲。匹配电阻网络对I/O的输出电流和功耗有很大的影响。下拉电阻与上拉电阻分别造成I/O输出电流和灌入电流的增加,从而影响I/O的功耗。

标签: 超低低压降二极管电阻metal2114芯片二三极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台