0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA设计如何最优化

FPGA快乐学习 来源:FPGA快乐学习 2023-06-25 15:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是笔者去年某个时间节点的感悟,由于工作繁忙,写完后搁置一边了。而对于“设计最优化”这个议题,笔者也一直深感功力不够,不敢多做阐释。但是,不管怎样,若能每隔几年都好好做些反思回顾,让自己对“设计最优化”的认知再做一些提升,也算是给当下的自己一个“设计最优化”吧。基于此,把去年的文章略作梳理,分享给大家。

之所以想写点什么,是基于近期的一些工作触动。两年前,由于公司人力资源的需要,笔者从当时基本稳定的FPGA设计中抽出身来,大部分的精力投入到了产品的算法开发中。而在那个当儿,正好做了一个算法的FPGA实现评估,整个设计,包括代码、仿真基本做完了。在当时,目标是用有限的FPGA资源实现一个复杂的图像处理算法,可以说是绞尽脑汁做了很多实际的FPGA设计优化。

时过境迁,经过两年算法的学习研究和工程实践后,基于系统最优化的一些考虑,又重新回到原点,需要再次评估和实现当年那个图像处理算法的FPGA版本。而当重新审查当年的那些设计代码时,忽然感受到当时一些设计细节做得尤为精妙,虽然大多数方法其实是一些经典的通用的优化方法——用加法和流水线设计减少乘法器数量;用移位比较以及流水线的方式定制化一个资源占用率极低的除法器;用查找表实现指数运算;甚至尝试过自己实现开根号的逻辑源码……当然,我并不是觉得这些设计已经登峰造极,做到设计最佳了。反而,让我重新思考FPGA的设计最优化问题。做算法的经历,让我感受到了CPU的强大算力;但是一些实时应用场景下,又让我感受到了CPU在面对一个复杂和大计算量的算法时的力不从心。做FPGA的经历,让我即便是在写着跑在CPU上的代码,也处心积虑的考虑速度性能问题——能用加法或移位就绝不用乘法、能用乘法就绝不用除法、能查表的就绝不直接进行指数或根号等复杂的运算……总而言之,不做一次多余的或不必要的复杂的运算。

对于FPGA的工程实现而言,设计本身并没有绝对的最优化。对于一些没有实用性要求的研究或评估,对于FPGA的器件资源、实时的速度性能或许不会太在意。但是对于必须产品化的工程实现来说,目标通常是在FPGA器件的资源有限制、吞吐量有要求的情况下完成既定功能。FPGA的资源,通常包括FPGA内部的逻辑资源、乘法器资源、片内存储器资源、布局布线资源以及其它诸如时钟、高速接口等专用资源。FPGA的数据吞吐量,通常表现为FPGA在单位时间内的平均处理能力或瞬时最大处理能力,这可能涉及FPGA片内或片外存储器的读写访问速度、满足必须的并行运算处理所需的资源可用性、达到设计目标的最低FPGA时钟频率的时序性能等。

由此看来,FPGA的设计最优化,并不意味着最高的绝对精度、最快的处理速度或最大的数据吞吐量,也不意味着最高的资源利用率或最低的实现资源……纯粹的研究或评估,或许可以只关注某一方面的最佳性能;但对于FPGA的产品实现而言,在众多的限制条件下,各方面性能达到一个动态平衡,让我们的目标FPGA器件物尽其用,或许才是我们这些务实的工程师所追求的“最优化设计”。
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    429

    浏览量

    28000
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170842
  • 图像处理
    +关注

    关注

    28

    文章

    1340

    浏览量

    59175

原文标题:设计最优化

文章出处:【微信号:FPGA快乐学习,微信公众号:FPGA快乐学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Altera Agilex 3 FPGA和SoC产品家族的性能分析

    本文采用严谨的基准测试方法,对全新推出的 Agilex 3 FPGA 和 SoC 产品家族进行性能分析。该系列专为成本优化型应用设计,兼具高性能、高集成度与高可靠性。
    的头像 发表于 10-27 09:37 445次阅读

    如何对蜂鸟e203内核乘除法器进行优化

    器可以运用各种不同算法来实现除法运算,例如:SRT,Newton-Raphson等。对于不同应用场景,需要选择最适合的算法,从而达到最优的处理器性能表现。 三、总结 蜂鸟E203内核乘除法器的优化是提高
    发表于 10-24 06:47

    Altera Agilex™ 3 FPGA和SoC FPGA

    Altera Agilex™ 3 FPGA和SoC FPGA Altera/Intel Agilex™ 3 FPGA和SoC FPGA使创新者能够将成本
    的头像 发表于 08-06 11:41 3660次阅读
    Altera Agilex™ 3 <b class='flag-5'>FPGA</b>和SoC <b class='flag-5'>FPGA</b>

    效率最优的感应电机无差拍直接转矩控制

    磁链之间的关系,给出了电机稳态运行时效率最优的定子磁链幅值计算公式,实现了感应电机无差拍直接转矩控制变频调速系统的效率最优控制。实验结果表明,给出的优化控制策略,在保持无差拍直接转矩控制快速动态响应
    发表于 07-16 19:02

    土压力计如何与数据采集系统连接?

    在岩土工程安全监测领域,土压力数据的实时采集与分析直接影响结构物安全评估的准确性。VWE型振弦式土压力计作为核心监测设备,其与数据采集系统的正确连接是实现长期可靠监测的关键。那么土压力计如
    的头像 发表于 07-11 11:19 316次阅读
    土压力<b class='flag-5'>计如</b>何与数据采集系统连接?

    无刷直流电机滑模观测器参数优化设计方法

    设计时间,同时能够降低观测器的误差。为了改进传统遗传算法易陷入局部收敛的问题,采用多种群遗传算法求解最优增益参数。实验结果表明提出的方法能够快速求解最优反馈参数,并且观测器误差较小。 纯分享帖,点击下方
    发表于 06-27 16:48

    氮化镓电源芯片U8722CAS打嗝模式实现噪音和纹波最优化

    氮化镓电源芯片U8722CAS打嗝模式实现噪音和纹波最优化打嗝模式本质为电源保护机制(如短路保护),优化需在保障可靠性的前提下进行。高频噪声问题需协同芯片设计、封装工艺及PCB布局综合解决。氮化镓
    的头像 发表于 06-12 15:46 861次阅读
    氮化镓电源芯片U8722CAS打嗝模式实现噪音和纹波<b class='flag-5'>最优化</b>

    Microchip发布PolarFire Core FPGA和SoC产品

    当前市场中,物料清单(BOM)成本持续攀升,开发者需在性能和预算间实现优化。鉴于中端FPGA市场很大一部分无需集成串行收发器,Microchip Technology Inc.(微芯科技公司)正式发布PolarFire Core现场可编程门阵列(
    的头像 发表于 05-23 14:02 1221次阅读

    VirtualLab Fusion应用:参数优化文档介绍

    的环境中。另一方面,过高的温度值将增加“跳出”已检测到的全局最小值的周围的可能性。 *这种全局优化算法的名称及其参数类似于冶金退火,如果选择明智的冷却过程,退火过程将达到接近最优的低能状态。 **它通常会
    发表于 02-28 08:44

    AMD技术赋能西门子FPGA原型设计解决方案

    西门子的 Veloce proFPGA CS 是一款针对软件验证和软硬件系统集成优化的原型系统。它是一款基于 FPGA 的逻辑功能验证级工具。
    的头像 发表于 02-27 11:48 1070次阅读

    直击新能源电力直流系统痛点:绝缘监测最优

    直击新能源电力直流系统痛点:绝缘监测最优
    的头像 发表于 02-13 10:05 547次阅读
    直击新能源电力直流系统痛点:绝缘监测<b class='flag-5'>最优</b>解

    如何优化BP神经网络的学习率

    训练过程中发生震荡,甚至无法收敛到最优解;而过小的学习率则会使模型收敛速度缓慢,容易陷入局部最优解。因此,正确设置和调整学习率对于训练高效、准确的神经网络模型至关重要。 二、学习率优化算法 梯度下降法及其变种 : 标准梯
    的头像 发表于 02-12 15:51 1421次阅读

    如何优化 CPLD 性能

    CPLD(复杂可编程逻辑器件)是一种介于简单PLD(可编程逻辑器件)和FPGA(现场可编程门阵列)之间的可编程逻辑器件。它们通常用于实现中等复杂度的数字电路设计。优化CPLD性能可以通过以下几个方面
    的头像 发表于 01-23 10:03 1106次阅读

    FPGA在AI方面有哪些应用

    提供了强有力的支持。 一、FPGA 在深度学习中的应用 深度学习是 AI 的重要分支,涉及海量的数据运算。FPGA 能够针对深度学习算法中的卷积、池化等核心运算进行硬件加速优化。例如,在图像识别任务中,将卷积神经网络部署到
    的头像 发表于 01-06 17:37 2099次阅读

    自动排产系统:如何实现生产计划优化的关键策略

    自动排产系统通过集成和分析数据、考虑多种约束条件制定最优计划、实时监控和调整生产计划、优化资源配置和利用以及提高生产效率和响应速度等方式来实现生产计划优化。这些优化措施不仅提高了企业的
    的头像 发表于 12-20 09:11 1359次阅读
    自动排产系统:如何实现生产计划<b class='flag-5'>优化</b>的关键策略