一个小的算法占用FPGA多少资源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个小的算法占用FPGA多少资源相关的知识,希望对你有一定的参考价值。
参考技术A 具体来说,fpga的乘法资源较稀缺,所以看你的程序里面用到了多少个乘法器, altera系列一般是18*18位的乘法器,从几十个到上百个不等。所以你编程的时候要特别注意,能用移位的最好用移位。 参考技术B 这样问问题怎么回答。。。你是什么算法呢,而且要看你怎么设计了,要是面积优先可能占用的资源小一点,而要是速度优先的话加入一些流水机制会比较消耗里面的逻辑资源的,而且你的FPGA比较低端的话可能还放不下的 参考技术C 看你有多小了,FPGA的编程软件不是可以现实消耗多少资源吗?直接编译下看看不就知道了。 参考技术D 自己算算算法中有多少个乘法,和FPGA手册上写的资源比较一下算法设计与分析
1.算法及基础知识
1.算法的特性
1.输入
2.输出
3.确定性
4.有限性
5.可行性
2.算法分析
算法的复杂度指的是算法在运行过程中所需要的计算机资源的量,算法分析就是对该量的多少进行分析。
3.时间复杂性
是对算法运行时间长短的度量。分为事后统计法和事前分析估算法。
4.空间复杂性
是对一个算法在运行过程中所占用存储空间大小的度量。主要因素有:
1.存储算法本身所占用的存储空间
2.算法的输入输出所占用的空间
3.算法在运行过程中所需辅助变量占用的存储空间
O(1) : 常数时间复杂度
O(n),O(n^2),O(n^3) : 多项式时间复杂度
O(2^n),O(n!)和O(n^n) : 指数阶时间复杂度
O(nlogn),O(logn) : 对数时间复杂度
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
5.递归
子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,称为递归。步骤:
1.分析问题,寻找递归关系
2.找出停止条件
3.设计递归算法,确定参数,即构建递归体
6.基本的数据结构
1.顺序表
2.链表
3.栈
4.队列
5.树
6.图
2.贪心算法
1.贪心算法的基本思想
贪心法是一种稳扎稳打的算法,它从问题的某一初始解出发,在每一个阶段都根据贪心策略来做出当前最优的决策,逐步逼近给定的目标,尽可能快的求得更好的解。当达到算法中的某一步不能再继续前进时,算法终止。贪心法可以理解为逐步的局部最优,达到最终的全局最优。
1.从算法的思想中,很容易得到的结论:
a) 每个阶段面临选择时,贪心算法都做出对眼前最有利的选择,不考虑该选择对将来是否有影响。
b
以上是关于一个小的算法占用FPGA多少资源的主要内容,如果未能解决你的问题,请参考以下文章