国外大学生都用FPGA做什么项目(三)

53d43bf41c85318f868510b863def647.png

  • 看看国外大学的FPGA开发项目

据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。

之前的文章请查看《国外大学生都用FPGA做什么项目(一)》《国外大学生都用FPGA做什么项目(二)》。

项目链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/

项目介绍

Spring 2019 youtubeCycloneV SoC

FPGA PokerBot-FPGA加速的扑克机器人

f1641858104fc418a9a2eca0e46c2f3a.png

构建了一个基于 FPGA 加速的蒙特卡洛模拟的限注德州扑克机器人。

给定玩家的一手牌和公共牌,它每秒模拟大约 200 万手牌,并确定该手牌获胜的概率。我们的系统能够实现显着的硬件加速。它的运行速度比 ARM 硬处理器系统 (HPS) 上的(未优化的)C++ 版本快约 4000 倍,比 Intel i7-6700HQ 笔记本电脑处理器上的 C++ 版本快约 10 倍。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/asd222_jng55_mys29/asd222_jng55_mys29/asd222_jng55_mys29/index.html

  • 项目介绍hackaday

https://hackaday.com/2019/05/16/pokerbot-uses-fpga-for-card-calculating-horsepower/

  • 视频链接

https://youtu.be/utOuXsdpRrQ

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/asd222_jng55_mys29/asd222_jng55_mys29/asd222_jng55_mys29/index.html

Simulink Workflow: ODE Solver on DE1-SoC-Simulink 工作流程:DE1-SoC 上的 ODE 求解器

979d71fe9b2e5b3b252f5f15e7b6baf5.png

该项目的目标是探索在 Intel-DE1-SoC 上实现系统的替代方法。英特尔和 MathWorks 合作推出了一套设计工具,旨在将 MATLAB* 和 Simulink* 开发的系统模型与英特尔® FPGA 和 SoC 无缝集成。

使用 MATLAB 和 Simulink 进行系统建模、算法开发、可视化和高级调试的工程师可以轻松实现英特尔 FPGA上工程开发。此外,他们还可以保证生成的代码将得到优化并准备好部署和生产。

95fc2d31d96489c5e943f17751adebd2.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/pb527_vv258/pb527_vv258/pb527_vv258/index.htm

  • 视频链接

https://youtu.be/NLP_dUNzaTE

  • 代码链接

https://github.com/vv258/Lorenz-ODE-Simulink-DE1-SoC

FPGA Speech Vocoder-FPGA 语音编码器

3e8b5f2f825a728cfb80d75ae4e7021b.png

设计并实现了声音码器。整个系统构建在 Cyclone V FPGA 上。即音频输入、分析、合成、输出和可视化都是在FPGA上完成的。

25d25bd30873d767e4647fe41c29c19b.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/jc2697_jaj263_tk455/jc2697_jaj263_tk455/jc2697_jaj263_tk455/index.html

  • 视频链接

https://youtu.be/iNSBS0w0rd4

  • 代码链接

https://github.com/jc2697/ece5760_final_project

Vector-graphics Laser Projector-矢量图形激光投影仪

0e049405e23b96ae2935d7640cd81039.png 6cfd45eac53cad9406be66ed8a6eecc4.png

我们使用 FPGA 通过激光和一组称为检流计(“galvos”)的电机控制镜子来投影矢量图像文件。FPGA 具有强大的信号处理和 I/O 功能,非常适合这种高速控制任务。

c5fe174c7434a1908da724ac715697fb.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/eam348_rbr76/eam348_rbr76/eam348_rbr76/index.html

  • 视频链接

https://youtu.be/5dzWea662b0

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/eam348_rbr76/eam348_rbr76/eam348_rbr76/index.html

FPGA String Art accelerator-FPGA 弦乐艺术加速器

301fbe947adf7f49d5b4c556aa1f2578.png c7b7a1ff4749b118c16a9df1a41e5699.png

构建了一台全自动机器制造圆形框架的“弦乐艺术”连续线程的片段,看起来就像上面所示的渲染。

c0e2edb66dd148478097829dcf970257.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/pw444_kss223_zp83/pw444_kss223_zp83/pw444_kss223_zp83/index.html

  • 视频链接

https://youtu.be/MMGRWr4oZig

  • 代码链接

https://github.com/SkookumAsFrig/StringArtOnFPGA/tree/master

Digital Logic Analyzer and Function Generator-数字逻辑分析仪和函数发生器

11f6e1940a27a4d3e34ddc5c7794c89d.png

我们构建了一款可扩展的数字逻辑分析仪,适合在各种FPGA硬件目标上运行,用户无需使用昂贵的实验室仪器即可在各种嵌入式平台上执行有用的调试。

bb287a4726523c0a0e176700d914040b.png bc2b27455e11b34641449ac310d10bb1.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/amv64_jbc262_nas256/amv64_jbc262_nas256/amv64_jbc262_nas256/index.html

  • 项目介绍MicroChip Makes

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/microchipMakes_logic.PNG

  • 项目介绍hackaday

https://hackaday.com/2019/05/26/a-modular-logic-analyzer-for-fpgas/

  • 视频链接

https://youtu.be/swHo1FDCt2g

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/amv64_jbc262_nas256/amv64_jbc262_nas256/amv64_jbc262_nas256/index.html

Marker Detection for Human Movement Correction-用于人体运动校正的标记检测

f29f668780ae79a77f64085150165808.png 93cab57a4b0082e9c3116f414b598d00.png

该项目的目标是使用现场可编程门阵列 (FPGA) 作为嵌入式系统(使用 OpenCV )来开发手势跟踪系统。因此,该项目的动机是识别特定的手势并向用户提供有意义的纠正性反馈。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/rb696_ap67/rb696_ap67_final_report/rb696_ap67_final_report/index.html

  • 视频链接

https://youtu.be/Qu6W-Ma-A8g

  • 代码链接

https://github.com/RohitBandaru/ECE5760Final/tree/master

Evolutionary FPGA Simulation on DE1-SoC-DE1-SoC 上的演进 FPGA 仿真

7d779d3ae05a275ceec4eca3dc33c16d.png

本项目最终想实现的最终是遗传算法对其识别输入频率的能力进行评估,但是这个项目走了一个弯路就是先用项DE1-SoC 的 Cyclone V FPGA 和 Cortex-A9 内核来完全模拟 Xilinx XC6200 FPGA。然后使用 Adrian Thompson 于 1996 年使用的代码进行最终的目标。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/rmh286_jd794_aw698/rmh286_jd794_aw698/rmh286_jd794_aw698/index.html

  • 项目介绍 hackaday

https://hackaday.com/2019/06/28/yo-dawg-i-heard-you-like-fpgas/

  • 视频链接

https://youtu.be/M7c7nI5AVPI

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2019/rmh286_jd794_aw698/rmh286_jd794_aw698/rmh286_jd794_aw698/index.html

总结

项目很多,从2016~2023年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。