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

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

3天内不再提示

FPGA算法映射要点

FPGA设计论坛 来源:未知 2023-09-11 10:45 次阅读

将图像处理的算法转换为FPGA系统设计的过程称为算法映射,CPU并行算法的实现与FPGA并行算法的实现是有一定区别的。1.算法系统结构

图像处理算法主要有两种设计结构:流水线结构和并行阵列结构。

1.1 流水线结构

在我看来,流水线结构和我们之前所理解的CPU的串行结构还是有一定区别的。相反,它与处理器的流水线结构很相似,都是依照时钟来进行流水层级的同步。

wKgaomT-gFmAJzKfAAA_AVJIrEw142.jpg

1.2并行阵列结构 |--Data1--->Data1-->Data1

|

InputData------Data2--->Data2-->Data2

|

|--Data3--->Data3-->Data32.算法转换2.1 定常数转换

对于FPGA而言,做加法与移位较为简单,而涉及到乘法与除法时需要调用到乘法器或除法器,这在FPGA中是较为宝贵的资源,所以作为定常数,我们尽量转换为移位和加法运算,如:

ex1:

dout = din * 255

转换后

dout = ( din << 8 ) - din

ex2:

dout = din * 11

转换后:

dout = din * 2^2 + din * 2^3 - din * 2^0

= din * (2^2 + 2^3 - 2^0)

上式中的255 和 11就是定常数

2.2 不等式等效转换

进行转换的目的也是为了在FPGA实现后能够更加节省资源。如:

ex1:

√a ̄ < b, a > 0

转换后:

b^2 > a

ex2:

a/b > c/b (b > 0, d > 0)

转换后

a * d > b * c2.3 取近似值

最简单的近似值莫过于四舍五入,假如某数据D[-1~4]为整数部分,D[3~0]为小数部分,那么四舍五入可为:

assign dout = din[3]?(dout[-1~4] + 1) : (dout[-1~4])

泰勒公式定义

wKgaomT-gFmAFIv8AADDEna_xUg409.jpg

那么就可以有如下近似转换:

1/3 = 1/4 * (1 + 1/4 + 1/16 + 1/64 + 1/256) 3.构造查找表

查找表是使用简单的查询操作代替运行时的实时计算,使用查找表代替那些运行时经常需要用到的运算能够极大的减少时间复杂度,如我们经常用到的三角函数就应该使用查找表替换实时计算。

wKgaomT-gFmAX8ZDAAAJM7aZU1A039.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! 为什么要使用格雷码? 简述基于EDA技术的FPGA设计

wKgaomT-gFqAWtlMAABUdafP6GM346.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgaomT-gFqAPTwHAABiq3a-ogY692.jpgwKgaomT-gFqAXFlfAAACXWrmhKE082.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:FPGA算法映射要点

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1602

    文章

    21320

    浏览量

    593199

原文标题:FPGA算法映射要点

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎么用FPGA算法 如何在FPGA上实现最大公约数算法

    FPGA算法的优点在于它们可以提供高度的定制化和灵活性,使得算法可以根据实际需求进行优化和调整。此外,FPGA还可以实现硬件加速,提供比传统处理器更高的计算性能和吞吐量。因此,
    的头像 发表于 01-15 16:03 614次阅读

    FPGA图像处理之CLAHE算法

    FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 1481次阅读
    <b class='flag-5'>FPGA</b>图像处理之CLAHE<b class='flag-5'>算法</b>

    浮点LMS算法FPGA实现

    运算的运算步骤远比定点运算繁琐,运算速度慢且所需硬件资源大大增加,因此基于浮点运算的LMS算法的硬件实现一直以来是学者们研究的难点和热点。 本文正是基于这种高效结构的多输入FPA,在FPGA上成功实现了基于浮点运算的LMS算法
    的头像 发表于 12-21 16:40 304次阅读

    fpga布局布线算法加速

    现代电子设备中,针对复杂的数字电路,FPGA(Field-Programmable Gate Array)是一种非常优秀的可编程逻辑器件。在FPGA的设计过程中,布局布线算法是关键步骤之一,其主要
    的头像 发表于 12-20 09:55 277次阅读

    基于FPGA的窄带干扰抑制算法的实现方案

    电子发烧友网站提供《基于FPGA的窄带干扰抑制算法的实现方案.pdf》资料免费下载
    发表于 11-07 09:29 0次下载
    基于<b class='flag-5'>FPGA</b>的窄带干扰抑制<b class='flag-5'>算法</b>的实现方案

    请问如何将C语言算法移植到FPGA上?

    确定算法:首先,你需要确保要移植的C语言算法是合适的。FPGA适合并行计算和高度可定制的应用。因此,你需要选择一个适合FPGA实现的算法
    发表于 09-12 17:20 1038次阅读

    FPGA图像处理算法有哪些

    早之前的朋友知道我发过一个用chatgpt分析出来的 FPGA图像处理的知识树,里面包含了从色域,镜头,接口和算法。然后我就发现这个算法部分chatgpt 给我整理的比较乱,查询了一番,确实发现图像
    的头像 发表于 09-12 09:59 608次阅读
    <b class='flag-5'>FPGA</b>图像处理<b class='flag-5'>算法</b>有哪些

    hash算法FPGA中的实现(2)

    在前面的文章中:hash算法FPGA中的实现(一)——hash表的组建,记录了关于hash表的构建,这里记录另外一个话题,就是hash链表。我们知道,只要有hash的地方,就一定有冲突,关键就看
    的头像 发表于 09-07 17:02 410次阅读
    hash<b class='flag-5'>算法</b>在<b class='flag-5'>FPGA</b>中的实现(2)

    hash算法FPGA中的实现(1)

    FPGA的设计中,尤其是在通信领域,经常会遇到hash算法的实现。hash算法FPGA的设计中,它主要包括2个部分,第一个就是如何选择一个好的hash函数,减少碰撞;第二个就是如何
    的头像 发表于 09-07 17:01 601次阅读
    hash<b class='flag-5'>算法</b>在<b class='flag-5'>FPGA</b>中的实现(1)

    FPGA设计中二分法查表算法的实现

    二分化查找算法是在软件中广泛应用的一种算法,那么在FPGA的设计中是否可以用这种算法呢?什么场景下会可能用到这种算法呢?
    的头像 发表于 09-06 18:26 604次阅读
    <b class='flag-5'>FPGA</b>设计中二分法查表<b class='flag-5'>算法</b>的实现

    怎么用FPGA算法 如何在FPGA上实现最大公约数算法

    FPGA算法是指在FPGA(现场可编程门阵列)上实现的算法FPGA是一种可重构的硬件设备,可以通过配置和编程实现各种不同的功能和
    的头像 发表于 08-16 14:31 1832次阅读
    怎么用<b class='flag-5'>FPGA</b>做<b class='flag-5'>算法</b> 如何在<b class='flag-5'>FPGA</b>上实现最大公约数<b class='flag-5'>算法</b>

    LabVIEW中的映射表是什么?

    在了解映射表的概念之前,我们需要先明确映射的概念,映射是一个数学名词,它指的是集合与集合之间的一种对应关系:集合A中的每一个元素都在集合B中存在与之对应的元素。
    的头像 发表于 07-21 10:14 2732次阅读
    LabVIEW中的<b class='flag-5'>映射</b>表是什么?

    多片FPGA原型的两种分割方式介绍

    综合工具的任务是将SoC设计映射到可用的FPGA资源中。自动化程度越高,构建基于FPGA的原型的过程就越容易、越快。
    发表于 06-13 09:27 317次阅读
    多片<b class='flag-5'>FPGA</b>原型的两种分割方式介绍

    FPGA实现PID控制算法

    相信大家对于PID控制算法,都不感到陌生了,平衡车就是靠它平衡起来的,还有飞控的平衡算法也是它,以及FOC中的闭环控制中也是用的它,它不仅简单,而且易于理解。那么本篇文章将简要介绍一下算法的原理,然后带大家使用
    的头像 发表于 05-19 16:40 1222次阅读
    <b class='flag-5'>FPGA</b>实现PID控制<b class='flag-5'>算法</b>

    采用FPGA实现FFT算法示例

     目前,硬件实现FFT算法的方案主要有:通用数字信号处理器(DSP)、FFT专用器件和现场可编程门阵列(FPGA)。DSP具有纯软件实现的灵活性,适用于流程复杂的算法,如通信系统中信道的编译
    的头像 发表于 05-11 15:31 1924次阅读
    采用<b class='flag-5'>FPGA</b>实现FFT<b class='flag-5'>算法</b>示例