FPGA 开发板(教材)讨论

2015-03-21 12:35:22 +08:00
 sennes

小生最近在折腾本科毕业设计 是设计一款入门级的FPGA开发板以及配套教材

通过满大街各类的开发板以及自己对硬件入门教材的一些观点,板子已经拿去做了(希望不要出什么问题)

近几天一直在思考,总觉得有什么欠缺。
所以来V2EX想和大家讨论一下,找一下灵感(笑)

先谢谢大家!
想了解的主要是这几个方面:

  1. 大家对FPGA的了解有多少?
  2. 是否感兴趣,愿意去寻找途径学习一下FPGA(不必深入)
  3. 大家认为学习一个"新硬件"的开发板,要有怎样的(特点?/功能?)

其实大家可以随意说,只要和FPGA、开发板有关的都可以扯.
当然。也可以问我问题。

我一直认为V站都是写软件、网页之类的前辈比较多。不过最近发现其实搞硬件的也不少。还有不少V友是没怎么玩过硬件,感兴趣但找不到途径学习的。

然后是,我先不介绍我做的那套板子,是因为不想让大家先入为主了。

4114 次点击
所在节点    硬件
19 条回复
deben
2015-03-21 13:56:43 +08:00
04年开始接触这东西,到现在陆陆续续也用过十来年了。

个人感觉,这东西不太适合作为硬件入门玩具:
1. 装一套 Queaturs II 或者 ISE 挺蛋疼的,太庞大了。
2. 对底层门电路,也就是数字电路理解不深的,不太容易搞定 FPGA.
3. 深入之后的各种约束,时序收敛,应该不太容易理解。
4. 个人小项目,对速度要求不高的,用单片机或者 arm 这类的器件,更容易做板,更轻量(FPGA这货电源就要好几组再加配置 FLASH 、晶振)。

个人认为 FPGA 开发板要走 Arduino 这条路会好一些,更容易吸引 Arduino 阵营,但是对处理速度要求高一些的用户。
deben
2015-03-21 14:02:01 +08:00
@deben 不能编辑哦。
=========================
Queatus II => Quartus II
GhostFlying
2015-03-21 14:36:27 +08:00
本科玩过一阵子 FPGA,比起单片机这类的确麻烦很多,而且影响里这东西硬件价格也一直很高吧?
sennes
2015-03-21 15:27:14 +08:00
@deben
1. 我是用xilinx家的芯片,所以软件是用ISE。
但是这个软件的大小其实和matlab差不多吧,这应该不成问题。

2. 对数字电路不理解可以通过"教材"这里弥补. 教材是类似于lpthw一样的风格。先让你敲一遍veilog代码,烧进板子看效果,再慢慢理解

3. 因为是入门教材,所以先不考虑时序、各种约束问题。

4. 同意,不过现在已经弄的算是挺精简的了。

最后你提到的arduino。本开发板可以直接使用arduino的盾板、各类传感器。
各种模块的demo一直在写。
我的想法是先不考虑 运算速度、时序精确之类的。先让板子可以搭载更多传感器先。
sennes
2015-03-21 15:30:14 +08:00
@deben 嗯 玩传感器的话,感觉就是和arduino走的方向挺像的。


@GhostFlying 价格其实还不至于特别贵。


不过这里有一点是,fpga使用的是硬件描述语言。实际上这是一种"并行"的代码
我就在想写习惯 c python 这类代码的前辈们会不会对这种并行的代码感兴趣。

也就是说,可以把学习FPGA当成学习一种语言,可以尝试一下写硬件代码和写程序的不同感受
deben
2015-03-21 15:47:19 +08:00
@sennes 前几年由于招不到合适的 FPGAer ,隔壁叫了俩写嵌入式 C 的来,由于代码思路不太容易转变,所以我在里面放了个 80C51 的 opencore,他们就可以用 c 来写了,欧耶!

FPGA 和 ARM 还是应用场合的问题。如果不能利用纯逻辑高速并行运算的特点,那么还真不如玩玩 ARM。

前几年看到 有搞 FPGA 开发板的,配套的教材通篇都是怎么把 Nios II 跑起来。虽然不敢苟同他们的方法,但是的确是能把大量做嵌入式的并且想体验硬件编程的工程师拉过来,后来看起来貌似还挺成功的。
lsmgeb89
2015-03-21 16:01:58 +08:00
以前做过很小的课程项目,大概就几千行 VHDL 代码,一个班级就一块板子,然后我还得找其他老师借板子调试。
写 VHDL 有很多限制,思路上和 C 什么的不同,不过现在已经记不太清了。
GhostFlying
2015-03-21 16:11:57 +08:00
@sennes 嗯,写过些简单的VHDL和verilog,思路差距的确比较明显
Kopei
2015-03-21 16:20:54 +08:00
板子是自己做的吗?自己做的板子话,那么应该对硬件电路都比较了解了,有什么接口电路,需要什么时序。写代码的流程一般是这样的:
1. 确定需求
2. 画大的逻辑框图(对应.vhd或.v文件),也就是数据流图,可以用visio
3. 画每个框图的时序图,建议用timegen这个软件
4. 开始写代码
5. 写管脚约束,综合
6. 写testbench,modelsim仿真

我觉得VHDL比Verilog结构清晰。

关于开发板: FPGA+ARM组成的SOC感觉蛮爽的,也有点门槛。
Borden
2015-03-21 16:40:38 +08:00
fpga要啥开发板啊,开发板有啥用啊?我完全理解不上去。这玩意儿又不需要啥外围电路,我们都是直接画产品板的。
sennes
2015-03-21 18:13:46 +08:00
@deben 不管怎么说,FPGA的潜力还是很棒的。所以想尽可能的寻求一种简单的方式让更多的人能去学习

@lsmgeb89 现在学校的资源还是不错的。人手一片板子,期末也不回收直接送我们玩了。

@Kopei 板子已经画好拿去打板了,您说的方法是很传统的开发流程。但我这个板子的定位是教学板。所以我的思路是:我给你板子和硬件模块,模块的demo代码也给你。希望学习的人能很轻松的在板子上看到实际的运行效果。接下来就是根据大家的兴趣去理解代码、学习写代码。

此外。我们实验室也有FPGA+ARM用来做图像处理的项目。效果挺不错的。

@Borden 并不是打算面向产品开发。而是从没接触过FPGA的人、初学者。
FPGA学习过程并不简单。所以希望能通过自己学习FPGA中遇到的困难来为后来人做一款比较合适的"教材"
myrual
2015-03-21 22:47:18 +08:00
用FPGA开发版能解决啥问题呢?
用硬件开发版(树莓派,arduino, beagleboard) 能解决啥问题呢?
sennes
2015-03-21 23:30:29 +08:00
@myrual 如果不学的话。当然不能解决任何问题。
myrual
2015-03-22 07:48:30 +08:00
什么样的初学者需要学习FPGA呢?
sennes
2015-03-22 10:07:38 +08:00
楼上就是专门来给我难受的吧。
怎么交流?
ryd994
2015-03-22 15:39:39 +08:00
@sennes 并非全无道理,毕竟很多电子工程本科毕业也只敢自称略懂刚入门而已
myrual
2015-03-25 15:26:41 +08:00
单片机,FPGA,dsp,arduino,树莓派这么多可选的硬件里面为什么要用FPGA来做呢?
FPGA有什么在满足客户需求上特别好的地方?
myrual
2015-03-25 15:28:59 +08:00
@sennes 有兴趣接FPGA的外包的活么?
kidict
2015-04-06 23:03:03 +08:00
de2 开源项目多 方面学习
入门的话 直接 iverilog +gtkwave 看波形和log就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178416

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX