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
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601670

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

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

收藏 人收藏

    评论

    相关推荐

    为什么FPGA属于硬件,还需要搞算法

    开始就掌握。 单纯搞算法是不够的,还需要理解硬件的架构和资源,以便更有效地将算法映射FPGA 上,实现最优的性 能和资源利用。 总的来说,学习
    发表于 09-09 16:54

    FPGA-5G通信算法的基本套路

    有利于硬件实现,也是必须考虑的问题。与此类似,如果ASIC/FPGA工程师不了解算法,只根据算法进行逻辑实现,很有可能会走弯路,多耗硬件资源。 一个再牛的算法,只有落地了,才能发挥出应
    发表于 08-15 17:34

    基于FPGA的CCD工业相机系统设计

    基于FPGA的CCD工业相机系统设计是一个综合性的项目,它结合了硬件电路设计、FPGA编程以及图像处理技术。以下是一个详细的系统设计方案,包括设计概述、硬件架构、FPGA编程要点以及部
    的头像 发表于 07-17 11:24 955次阅读

    容器怎么完成和容器引擎的映射

    容器与注入机的映射通常涉及网络端口、文件系统和环境变量等方面的配置。以下是如何在不同方面完成容器和注入机映射的详细说明: 1. 网络端口映射 通过使用Javascript,我们可以将
    的头像 发表于 06-06 15:18 322次阅读

    FPGA能实现什么样的算法

    FPGA功能如此强大,请问用FPGA能实现或者比较适合实现什么样的算法
    发表于 05-26 20:18

    路由器映射是什么意思?路由器端口映射怎么设置?

    路由器映射是指将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机。   例如,如果您
    的头像 发表于 05-10 13:42 1174次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 540次阅读
    基于<b class='flag-5'>FPGA</b>的常见的图像<b class='flag-5'>算法</b>模块总结

    FPGA时序优化:降低MUXF映射的策略

    我们都知道,在7系列的FPGA中,每个CLB有两个Slice;而在UltraScale系列中,每个CLB中只有一个Slice,Slice又分成了两种类型SliceL(Logic)和SliceM(Memory),其中SliceM中的LUT可以当作分布式RAM来使用。
    发表于 04-01 11:41 662次阅读
    <b class='flag-5'>FPGA</b>时序优化:降低MUXF<b class='flag-5'>映射</b>的策略

    TSMaster 信号映射的配置方法

    TSMaster信号映射模块可以将数据库变量映射为系统变量,经过映射后的系统变量就等同于数据库中的变量,该系统变量的读写操作就等同于读写数据库变量。其在系统软件中的位置如下图所示:信号映射
    的头像 发表于 02-19 14:00 485次阅读
    TSMaster 信号<b class='flag-5'>映射</b>的配置方法

    拆解mmap内存映射的本质!

    mmap 内存映射里所谓的内存其实指的是虚拟内存,在调用 mmap 进行匿名映射的时候(比如进行堆内存的分配),是将进程虚拟内存空间中的某一段虚拟内存区域与物理内存中的匿名内存页进行映射,当调用
    的头像 发表于 01-24 14:30 1458次阅读
    拆解mmap内存<b class='flag-5'>映射</b>的本质!

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

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

    FPGA图像处理之CLAHE算法

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

    浮点LMS算法FPGA实现

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

    fpga布局布线算法加速

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

    mybatis映射文件的主要元素及作用

    MyBatis是一种流行的持久层框架,它提供了一种简单的方式来映射关系型数据库和Java对象之间的关联,通过XML配置文件来描述数据库表和Java类之间的映射关系。在MyBatis的映射文件中,包含
    的头像 发表于 12-03 14:56 2777次阅读