高级FPGA设计笔记——Chapter 3 架构能耗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级FPGA设计笔记——Chapter 3 架构能耗相关的知识,希望对你有一定的参考价值。

参考技术A

本章将讨论FPGA设计中的能耗问题。
相较于相同逻辑功能的ASIC,FPGA这个耗能大户似乎与低功耗设计不沾边。各大厂家也意识到了这一点,陆续推出了多款低功耗CPLD来作为替代。但CPLD的资源有限,限制了它的应用场景。
如今的逻辑器件大多基于CMOS技术,动态功耗取决于栅极和走线上寄生电容的充放电,其计算公式如下:

其中,I代表电流,V是电压,C使寄生电容大小,f是频率。
所以,降低功耗需要从后面三个参数下手。对于FPGA来讲,V使固定的,除非器件,逻辑设计中无法修改;C取决于逻辑中翻转的门的数量以及走线长度;f与时钟频率直接相关。所有的低功耗设计最终都归结为C与f的优化。
在本章中,将重点就一下几点展开讨论:
1)时钟控制对动态功耗的影响及其引起的问题;
2)输入控制;
3)核心电压影响;
4)双边触发器设计指南;
5)减少静态功耗。
通过最小化高翻转率网络的布线长度来降低动态功耗需要对布局和布线进行背景讨论,因此在第 15 章布局规划中进行了讨论。

在同步设计中,最有效且目前应用最广泛的低功耗设计方法便是时钟控制——动态地禁止时钟在特定区域翻转。在FPGA中常用的实现方法包括使用触发器上的 时钟使能引脚 或者 全局时钟mux (BUFGMUX for Xilinx)。
可是,门控时钟虽然可以有效地降低动态功耗,但是这会在电路实现和时序分析中造成困难。
相较于ASIC,系统时钟对FPGA要重要的多。EDA工具正是依据系统时钟进行优化、综合、布局布线、STA等任务。ASIC可以自定义实现low-skew时钟树,而FPGA则需要在既有资源上进行设计。
门控时钟所在区域相当于一个新的时钟域 ,而我们希望的则是时钟域越少越好。
时钟偏移(skew) 是时序分析中的重要概念。各家的FPGA都有相应的时钟缓冲技术来保证系统时钟到各单元的skew尽可能小,也正因此原因,FPGA上几乎很少关心hold-violation问题。但是门控时钟会将系统时钟从专用时钟资源中引入普通逻辑资源,增加clk skew,可能造成hold-violation。
不同的综合工具对这种情况有不同的应对策略。Synplify会默认移除门控时钟,来保证时序健康;其他厂家工具则会忽略门控时钟,按照系统时钟去处理,除非进行了专门的约束(工具会在data信号线上加上一定delay)。

基于CMOS技术的FPGA还有一种经常被忽视的低功耗技术——降低压摆率。理想的状态是截止区和线性区可以瞬间切换,但在实际系统中,则必须考虑状态转换的时间和晶体管在转换期间的行为。 (一顿分析,不是很懂,此处略过,直接上结论)
所以,为了最大限度的降低输入设备的功耗,应尽量减少驱动输入的上升和下降时间。
另外,由于引脚悬空状态下的状态不定,可能会处于饱和区的亚稳态点,对功耗产生灾难性后果。所以,不要让FPGA的输入缓冲悬空。(多数厂家工具会对未定义引脚有一个默认端接,当然也可修改端接来配合信号完整性啥的)

通常情况下我们不希望把降压作为降低功耗的一个方式,因为电压降低也意味着性能降低,使得我们在进行时序分析的时候要从最坏的情况考虑。
此外,FPGA的核心电压值一般为指定值的5%~10%,所以我们在操作的时候要万分小心,确保在合法范围内。

动态功耗与信号翻转的频率成正比,因此我们希望大扇出的信号的的信号效率越高越好,而最大扇出的信号正式系统时钟。双沿触发器在原理上可以系统时钟工作效率提高一倍。
但需要注意的是,需要确保所用的器件支持双沿触发器,否则便会生成额外的逻辑来模仿双沿功能呢,得不偿失。

连接到输出引脚的电阻负载在具有总线信号、开漏输出或需要端接的传输线的系统中很常见。在这些情况下,FPGA 输出驱动器上的一个 CMOS 晶体管将需要通过这些电阻负载提供或吸收电流。
对于需要上拉电阻的输出,计算可接受的最小上升时间以尽可能大地调整电阻。
如果有高侧驱动器和低侧驱动器,请确保永远不会发生总线争用,因为这会消耗过多的电流,即使一次只有几纳秒。
对于负载处带有并联端接的传输线,根据系统的要求,可以使用串联端接作为替代,因为串联终端没有稳态电流耗散。
虽然串联终端没有稳态电流耗散,但也有缺点:

如果给定系统可以接受这些性能特征,则串联端接方法将通过端接电阻消除静态功耗。

FPGA 芯片设计FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )

文章目录





一、FPGA 简介



摩尔定律 : 价格不变 , 在集成电路上 电子元器件的数量 , 18 ~ 24 个月增加一倍 , 同时芯片性能也增加一倍 ;

同样花 5000 元 , 每隔 18 ~ 24 个月 , 买到的电脑性能可以翻一番 , 买电脑不要买最好的 , 第二年就淘汰 ;


FPGA 英文全称 Field Programmable Gate Array , 中文名称为 " 现场可编程门阵列 " ;

传统芯片功能一旦固定后 , 其 功能不可变 , 与之相对的 FPGA 芯片的功能是可变的 ;

门阵列 中的 门 指的是 " 门电路 " , 这是 数字电路 中的概念 , 其用于 实现基本逻辑运算 , 常用的门电路有 :

  • 与门
  • 或门
  • 非门

由上面的基础门电路 , 又可以组合成 与非门 , 或非门 等电路 ;


这是世界上第一块 FPGA 芯片 , 型号是 FPGA-XC2064 , 于 1985 年问世 , 该芯片采用的是 2 微米的制程工艺 , 2000 纳米 , 当前主流的 FPGA 芯片制程工艺是 14 ~ 45 纳米 ;


下图是 FPGA 芯片的制程工艺 及对应的型号 ;





二、FPGA 架构



第一代 FPGA 架构 : 以 FPGA-XC2064 为代表 , 该架构被称为 " Logic Cell Array " , 简称 LCA , 由以下要素组成 :

  • IOB : I/O Block , 用户 IO 模块 ;
  • CLB : Configurable Logic Block , 可配置逻辑块 ;
  • Interconnect : Interconnect Area , 互联模块 ;


最新的 7 系列 FPGA 架构 :


颜色对应的模块说明 :

  • I/O : 用户 IO , 对应第一代的 I/O Block ( IOB ) ;
  • CMT : 时钟管理 ;
  • Clock Routing : 时钟路由 , 对应第一代的 Interconnect Area ;
  • 可配置逻辑块 : 蓝色部分是可配置逻辑块 , 可以是 CLB , BRAM , DSP 逻辑块 , 相比于第一代的 CLB , 增加了 BRAM , DSP ;
  • HSSIO : High Speed Serial I/O , 高速串行 IO 模块 ;





三、FPGA 芯片相对于传统芯片的优点



FPGA 芯片相对于传统芯片的优点 :

  • 性能高 : FPGA 芯片可 并行处理 , 性能很高 ;
  • 上市时间短 : 与传统的 ASIC 芯片相比 , FPGA 灵活性更高 , 可以进行快速原型验证 , 研发上市时间很短 ;
  • 成本低廉 ;
  • 稳定性高 ;
  • 方便维护 : FPGA 可以 在现场进行维护 ;

以上是关于高级FPGA设计笔记——Chapter 3 架构能耗的主要内容,如果未能解决你的问题,请参考以下文章

菜鸟笔记 -- Chapter 3.2 Java简介

《Linux内核设计与实现》Chapter 3 读书笔记

基于intel x86+fpga智能驾驶舱和高级驾驶辅助系统硬件设计

数字信号处理相关3(Vivado HLS 开发流程简介(高级综合)(FPGA))

基于FPGA的百兆以太网RGMII接口设计(读书笔记)

FPGA 芯片设计FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )