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

用FPGA实现算法是什么意思

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
具体一点。我不知道叫实现了算法。最好能用个简单的例子给我说明
' m# o4 f$ `. M

该用户从未签到

2#
发表于 2021-8-10 14:59 | 只看该作者
, y5 {% k8 R& a) @2 g- L: k; x
算法有软件的算法,有硬件的算法。
- P  h7 U! [1 Q# T% v$ A软件的算法一般都是用软件比如C语言,JAVA等来写。这个很好理解,就叫软件算法的实现。. r- G0 G$ X$ }2 M

: S! j" t" A( KFPGA是可编程逻辑器件。FPGA主要用来实现逻辑电路(数字电路),所以说用FPGA实现某算法就是要用FPGA设计一个数字电路,该电路可以实现这个算法的运算。. j0 F9 d% ^7 G2 M+ v
3 j3 ~1 b- d3 n" R
比如说加法器。用软件C语言来写的话,就可以写为 c=a+b.
' K# ^* R8 T5 W+ P! W但是用FPGA来做的话,应该是考虑用全加器的级联,或者什么方法来实现。# P: b. b& I* F/ ^$ M( }! j4 P

1 y; }- ?! r" H  d* T: {$ O9 p一般来讲,FPGA有自己的编程语言,常用的是Verilog或者VHDL。0 o0 K( }- {  S# F' S7 @
上述加法器也可以写为 C=A+B. 虽然和C一样,但是实现之后,在FPGA内部被映射成了很多基本门电路,与或非门,寄存器,锁存器等。而C语言写的东西则被编译成了计算机能够处理的机器码,汇编码。9 N7 m2 F: j/ D' Q! l  w9 ^
/ [: x. E* S  F1 K( T, S8 H
一个变成指令,一个变成电路。
+ h2 K. Q) k2 d7 ?! T: Z4 W! l
; I0 E$ Q4 P# t+ w- V- g1 z1 pFPGA实现算法和单纯的画电路图又有区别。怎样又快又省资源,省电力的完成FPGA电路的设计,是FPGA实现算法关注的领域。就和软件要关注执行实现和内存占用量一样。9 Z1 Q' p- c7 P9 `6 P1 j
' g% R; Z  j5 V$ n
总之,最简单的理解,FPGA的算法就是逻辑电路,是硬件。

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-1 20:48 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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