找回密码
 注册
关于网站域名变更的通知
查看: 476|回复: 2
打印 上一主题 下一主题

用FPGA实现算法是什么意思

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-8-10 13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
具体一点。我不知道叫实现了算法。最好能用个简单的例子给我说明+ r+ K0 U7 ?+ ?+ W! X0 v9 }

该用户从未签到

2#
发表于 2021-8-10 14:59 | 只看该作者
* I  p& {- S& \! T+ e# K3 C2 s, c0 L
算法有软件的算法,有硬件的算法。4 U( b7 Q  E, u
软件的算法一般都是用软件比如C语言,JAVA等来写。这个很好理解,就叫软件算法的实现。
+ d1 H& Z- X+ I3 v7 ]
' n6 C  R; ?8 c' b4 [+ p, X: ?FPGA是可编程逻辑器件。FPGA主要用来实现逻辑电路(数字电路),所以说用FPGA实现某算法就是要用FPGA设计一个数字电路,该电路可以实现这个算法的运算。  A0 [5 z  `5 ~. y& x# ~
) b& k8 P: L1 s
比如说加法器。用软件C语言来写的话,就可以写为 c=a+b.
/ [- f9 Q) ?+ A9 r0 u5 v# w但是用FPGA来做的话,应该是考虑用全加器的级联,或者什么方法来实现。# a7 R, l& t, r8 f8 G; R
! Y9 q; l6 E0 k0 N& l  B
一般来讲,FPGA有自己的编程语言,常用的是Verilog或者VHDL。
8 i2 a# I( x! w" K* |' ]6 e- E- [3 G上述加法器也可以写为 C=A+B. 虽然和C一样,但是实现之后,在FPGA内部被映射成了很多基本门电路,与或非门,寄存器,锁存器等。而C语言写的东西则被编译成了计算机能够处理的机器码,汇编码。
, V- O+ f4 C9 D: Q3 q5 h( _
" z6 l4 O/ s. u$ b一个变成指令,一个变成电路。# ~& c7 w  u8 @. k8 V/ ?

0 A1 @2 a$ D2 p+ Y, I& X2 i# lFPGA实现算法和单纯的画电路图又有区别。怎样又快又省资源,省电力的完成FPGA电路的设计,是FPGA实现算法关注的领域。就和软件要关注执行实现和内存占用量一样。3 J' `) U; [7 Q- R, ^

  H) K1 {. ~1 t7 D' w总之,最简单的理解,FPGA的算法就是逻辑电路,是硬件。

该用户从未签到

3#
发表于 2021-8-10 15:24 | 只看该作者

& o# s& a; U- ^* I* ?你这个课题就是用数字电路来实现kmp算法。只不过呢,fpga这种数字电路是可以在电脑上写程序或者画电路图,画好之后就下载到fpga里面,然后那个fpga里面的电路就连结成你设计的样子了。<br>如果你没有学过fpga,而且对数字电路不太熟悉的话,至少要画2、3个月来学习,因为fpga的编程和计算机上的编程有很大差异,特别是,对fpga编程(用verilog或者vhdl语言)时,许多语句之间是并行运行的,但是呢,有时候又需要串行运行,于是就要想很多办法,如果这些东西都重头学起,是很花时间的。另外就是调试这样的程序,也不是像c语言那些那样,直接查看变量什么的,调试这个fpga是要看时序图的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 06:24 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表