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

用FPGA实现算法是什么意思

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
具体一点。我不知道叫实现了算法。最好能用个简单的例子给我说明% }; w2 M/ q  ?; T! I  V

该用户从未签到

2#
发表于 2021-8-10 14:59 | 只看该作者
! K& ]6 B0 O  u' I( z6 r
算法有软件的算法,有硬件的算法。) V* s9 }8 g) N0 o
软件的算法一般都是用软件比如C语言,JAVA等来写。这个很好理解,就叫软件算法的实现。4 f1 X! Y1 w8 s5 C; C- j

, Z/ r2 j* X8 ?3 p7 eFPGA是可编程逻辑器件。FPGA主要用来实现逻辑电路(数字电路),所以说用FPGA实现某算法就是要用FPGA设计一个数字电路,该电路可以实现这个算法的运算。5 `; `" ~5 E7 C9 n9 U
$ `& S5 o" j( B5 _6 A3 u
比如说加法器。用软件C语言来写的话,就可以写为 c=a+b.& e. t  \; u9 }2 @5 H6 e+ x
但是用FPGA来做的话,应该是考虑用全加器的级联,或者什么方法来实现。
* q. `6 p$ @* f5 {+ {+ d+ i, U6 I- X8 E( e
一般来讲,FPGA有自己的编程语言,常用的是Verilog或者VHDL。
4 @: D* @0 n" Z# w; C' j上述加法器也可以写为 C=A+B. 虽然和C一样,但是实现之后,在FPGA内部被映射成了很多基本门电路,与或非门,寄存器,锁存器等。而C语言写的东西则被编译成了计算机能够处理的机器码,汇编码。
, P8 V9 C) T4 E# n% K/ f8 c/ v, s  [: w7 b' O9 b
一个变成指令,一个变成电路。
# r4 ~  Z9 E0 H0 V' l$ g7 E; T7 @" g) u* N4 S) G0 @1 ^
FPGA实现算法和单纯的画电路图又有区别。怎样又快又省资源,省电力的完成FPGA电路的设计,是FPGA实现算法关注的领域。就和软件要关注执行实现和内存占用量一样。
# `% {- w9 a  K* ?% {/ _# n" \$ q/ F1 U: B4 E
总之,最简单的理解,FPGA的算法就是逻辑电路,是硬件。

该用户从未签到

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

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-12 12:44 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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