当前位置: 首页 > news >正文

FPGA工程师面试资料【4】——低功耗设计及资源、速度优化

FPGA工程师面试资料【4】——低功耗设计及资源、速度优化

  • 低功耗设计
    • 动态功耗
    • 静态功耗
  • FPGA相关优化
    • 资源优化
    • 速度优化

低功耗设计

功耗分为静态功耗和动态功耗;

  • 动态功耗:发生在门开关或状态翻转的瞬间,负载电容充放电时引起的功耗,包括翻转功耗和短路功耗。其中翻转功耗是数字电路要完成功能计算必须消耗的功耗,称为有效功耗;短路功耗是由于CMOS在翻转过程中PMOS管和NMOS管同时导通时消耗的功耗,称为无效功耗;

  • 静态功耗:总是存在;是由于电源和地之间的静态导通电流或漏电流引起的;


动态功耗

P _ d y n a m i c = k × C × V 2 × f + m × V × I _ s c P\_dynamic= k\times C\times V^2 \times f + m \times V \times I\_scP_dynamic=k×C×V2×f+m×V×I_sc
动态功耗的计算公式如上,其和电压、负载电容、工作时钟频率、信号翻转率、短路电流有关;

电压角度:

  1. 降低工作电压;
  2. 多电压域;
  3. 动态电压缩放技术(处理器在不同工作模式下使用不同的电压);
  4. 电源关断技术;

负载电容角度:(与工艺有关)

  1. 按比例缩小集成度,降低器件电容;
  2. 多芯片系统中考虑多芯片封装,降低接口间电容;
  3. 合理的布局布线;

工作时钟频率角度:

  1. 降低工作频率;
  2. 多时钟域;
  3. 加入门控时钟,减少反转率,通过合理规划芯片的工作模式,控制芯片各模块的时钟及复位来控制功耗;

数据翻转角度:

  1. 引入并行结构,一定程度上降低某一区域的频率,从而降低功耗;
  2. 引入流水结构,即可在一定程度上降低时钟频率,从而可以采用较低的电源电压来驱动系统;
  3. 优化编码,用格雷码等状态翻转较少的编码;
  4. 数据不操作时,保持上次的值,不强制置0或置1
  5. 操作数隔离;操作数隔离就是通过降低组合模块输入的翻转次数,来降低组合模块的有效翻转率达到降低组合模块功耗的目的
  6. 减少毛刺出现的概率;

静态功耗

P _ s t a t i c = V × I _ l e a k P\_static = V\times I\_leakP_static=V×I_leak
静态功耗的计算公式如上,其和电压以及漏电流有关,而漏电流和工艺有关;

电压角度:

  1. 将低工作电压;
  2. 动态电压缩放技术(处理器在不同工作模式下使用不同的电压);
  3. 电源关断技术;
  4. 多电压域;

电流角度:

  1. 使用HVT高阈值晶体管,漏电流小;
  2. 多阈值工艺;低阈值的标准逻辑单元:速度快、漏电流大;高阈值的标准逻辑单元:速度慢、漏电流小。在设计中可以在关键路径上使用低阈值的标准逻辑单元来优化时序,在非关键路径上使用高阈值的标准逻辑单元来优化漏电流;

FPGA相关优化

资源优化

  • 资源共享:针对数据通路中耗费逻辑资源较多的模块,通过选择、复用的方式共享使用该模块,达到减少资源使用的目的;对于计数器,若一个需要0-255计数,一个需要0-1023计数,则弄一个大计数器即可;
  • 串入并出:例如,串行传输时钟频率为100MHz,若将串行数据转为4bit并行数据输出,并行传输的时钟频率将降低至25MHz,这是串入并出的基本设计思想;
  • 删除复位:在一个设计中,如果不需要加复位信号,则不添加复位信号,若需要加,则最好选择异步复位信号,因为根据逻辑器件本身寄存器自身结构,可知寄存器的异步复位不需要消耗额外的资源。
  • 采用合适的编码方式:one hot bit速度更快,但是资源消耗得也更多;

速度优化

  • 流水线设计:复杂组合逻辑之间添加寄存器的方法,是最常用的速度优化技术之一;创建流水的时候,需要更多的资源来保存中间值或者需要复制一些需要并行运行的运算结构,所以需要消耗更多的面积。
  • 乒乓操作:以面积换速度;

http://www.jsqmd.com/news/528798/

相关文章:

  • OBS终极模糊插件:5种专业模糊效果一键实现
  • Win10安卓子系统安装避坑指南:从WSA PacMan到APK安装程序的完整流程
  • 视频字幕提取:本地OCR技术如何高效解决硬字幕识别难题
  • WeChatExporter:iOS微信聊天记录数据提取与可视化技术实现
  • 密歇根大学燃料电池仿真:Simulink建模及关键组件控制策略
  • Calibre路径本地化解决方案:技术原理与实战指南
  • 告别枯燥图表!用时空波动仪FlowState Lab打造80年代科幻风数据监控台
  • 基于事件触发的滑模控制Matlab仿真代码实现与复现:Robust Sliding Mode ...
  • Simulink Scope设置保姆级教程:从屏幕显示到论文出版,一步搞定字体、线宽与布局
  • 如何使用Java实现简易贪吃蛇游戏
  • 别再只用K-Means了!用Python手把手教你实现分裂层次聚类(附完整代码与可视化)
  • 总线伺服机械臂开发核心:正运动学建模与代码实现,从公式到全闭环控制落地
  • Escape From Tarkov训练器:40+功能模块打造终极离线游戏体验
  • VSCode - Change terminal from WSL shell to Windows Powershell
  • 如何获取和使用免费OpenAI API密钥进行开发
  • 洛雪音乐音源终极指南:5分钟解锁全网高品质音乐资源
  • Laravel 2.x:早期框架特性全解析
  • 打开PFC2D的操作界面,先别急着敲代码。咱们今天要搞的这个二维岩石单轴压缩模型,核心在于怎么让颗粒乖乖排好队再被压碎。直接上硬菜,看看这个模型的骨架结构
  • Java线程安全的单例模式如何实现 双重检查锁定原理
  • 2026重庆口碑好的助听器厂家盘点,合规靠谱+服务优质,速看优选名单 - 深度智识库
  • 效果实测:IndexTTS2 V23版高采样率输出,人声更具“空气感”
  • 手把手做 200W LLC 电源:基于 LP9960 全流程设计避坑实战(原理图 + PCB+BOM)
  • 思源宋体TTF:企业级开源中文字体的价值与应用指南
  • [ 前端基础知识学习 ] Day 5
  • 2026年重庆新能源汽车公司推荐:重庆珂星汽车销售服务有限公司6-8方车/3.7-4.2米轻卡全系供应 - 品牌推荐官
  • 2026云南镀锌管厂家实用参考 适配大棚建筑桥梁工程 耐腐适配西南气候 - 深度智识库
  • 西门子S7 - 200 PLC与组态王构建旋转式滤水器控制系统
  • 终极指南:如何用MelonLoader打造你的Unity游戏模组世界 [特殊字符]
  • 20251918 2025-2026-2《网络攻防实践》第二周作业
  • 5大核心优势!Thermo:化工工程师的开源热力学计算引擎