- 看看国外大学的FPGA开发项目
据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。
项目链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
项目介绍
Spring 2018 开发板 CycloneV SoC
Interactive Mandelbrot Viewer-交互式曼德尔布罗特查看器
互联网包含许多视频。虽然这些视频有多种形式和大小,但其中有一类比其他任何类别都更具娱乐性:一类真正是西方文化的顶峰:Mandelbrot 变焦视频。
YouTube 上充斥着放大 Mandelbrot 的视频。对以前的 Mandelbrot 渲染技术的惊人改进。与定制开发的曼德布罗特查看软件相结合,可以对曼德布罗特集进行交互式探索,达到人类以前从未见过的程度。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/mch258_mtr73_jsp263/final_report_mch258_mtr73_jsp263/final_report_mch258_mtr73_jsp263/index.html
- hackaday项目介绍
https://hackaday.com/2018/07/15/interactive-mandelbrot-set-viewer-runs-on-fpgas/
- 视频链接
https://www.youtube.com/watch?v=WxDH-1V-4o0
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/mch258_mtr73_jsp263/final_report_mch258_mtr73_jsp263/final_report_mch258_mtr73_jsp263/index.html
FPGA Knn Image Recognition-FPGA Knn 图像识别
该项目的目的是使用 kNN 算法设计图像识别和分类系统。利用硬件加速,大幅度提高Knn算法的识别速度。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/es876_aw528_bac239/es876_aw528_bac239/es876_aw528_bac239/index.html
- 视频链接
https://youtu.be/hYRiWG278oo
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/es876_aw528_bac239/es876_aw528_bac239/es876_aw528_bac239/index.html
Four Camera Pyramid Display-四摄像头Pyramid显示
随着全息术、3D 图像和增强现实的发展和普及,实时记录的 3D 全息显示将受到广泛欢迎。本项目构建了一个可以实时记录和显示 3D 对象的装置。最终产品能够显示实时记录的全息图。尽管我们的实施规模很小,但未来的改进之一显示更大的对象。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/bt346_yw883_ap2289/bt346_yw883_ap2289/bt346_yw883_ap2289/index.html
- 视频链接
https://youtu.be/d7XWErJ8ilE
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/bt346_yw883_ap2289/bt346_yw883_ap2289/bt346_yw883_ap2289/index.html#app
Animation-rate Lattice Boltzmann Solver-动画速率格子玻尔兹曼求解器
该项目的目标是使用格子玻尔兹曼方程创建交互式流体动力学模拟,实时显示每秒 60 帧。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/jmw483_cjs342_jzw8/jmw483_cjs342_jzw8/html5up-stellar/index.html
- 视频链接
https://youtu.be/vGuJlq_7fU4
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/jmw483_cjs342_jzw8/jmw483_cjs342_jzw8/html5up-stellar/index.html
Visual Playing Card Recognition-视觉扑克牌识别
构建了一个可以识别扑克牌上的字母数字字符的系统.
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/ac2369_de229_vg254/ac2369_de229_vg254/ac2369_de229_vg254/index.html
- 视频链接
https://youtu.be/DPKz4nK2bHc
- 代码链接
https://drive.google.com/drive/folders/1sK_ML3JU6pXgMpZGXnHiQhz8ghLLDy2R
Dijkstra algorithm on railway network of China-中国铁路网的 Dijkstra 算法,
在 FPGA 上实现了 Dijkstra 算法,找到中国铁路网络中两个车站之间的最短距离和路线。计划包含304个中国主要火车站,遍布中国各地。运行程序时,首先在 VGA 上显示包含所有火车站及其之间的连接的整个地图。然后,用户可以通过输入两个车站的名称或在屏幕上相应的点单击鼠标来选择任意两个车站作为出发地点和目的地。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/cz382_zz488_bx64/cz382_zz488_bx64/cz382_zz488_bx64/index.html
- hackaday项目介绍
https://hackaday.com/2018/09/23/using-an-fpga-to-navigate-chinas-railroads/
- 视频链接
https://youtu.be/8EkWldmILow
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/cz382_zz488_bx64/cz382_zz488_bx64/cz382_zz488_bx64/index.html
Binary Neural Network for Digit Recognition on FPGA-用于 FPGA 上数字识别的BNN
实现了二值化神经网络 (BNN) - 具有二值化特征图和权重的卷积神经网络 (CNN) - 在 FPGA 上执行数字识别。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/vr236_xz522/vr236_xz522/vr236_xz522/index.html
- 视频链接
https://youtu.be/OIkAZBkXz3U
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/vr236_xz522/vr236_xz522/vr236_xz522/index.html
Head-Related Transfer Function Explorer-Head-Related传递函数浏览器
实现基于 FPGA 的头部相关传输函数 (HRTF) 系统。HRTF 的目标是声音空间化,即声音的播放方式使得戴耳机的人会认为声音来自他们头部周围空间的某个位置。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/jgc232_mmm389_jw2299/mmm389_jgc232_jw2299/mmm389_jgc232_jw2299/ECE_5760_Final_Project.htm
- 视频链接
https://youtu.be/JtTN3p5GRpE
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/jgc232_mmm389_jw2299/mmm389_jgc232_jw2299/mmm389_jgc232_jw2299/ECE_5760_Final_Project.htm
Reaction-Diffusion simulation on HPS-HPS 上的反应扩散模拟
基本上,当化学物质发生反应时,物质会相互转化。扩散会导致化学物质按照一定的规则扩散。本项目的目标是基于Altera DE1-SOC设计并实现一个在VGA屏幕上实时化学反应的解决方案。选择并实现了阿兰·图灵的反应扩散系统和别洛乌索夫-扎博廷斯基反应的元胞自动机模型。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/dc884/dc884/index.html
- 视频链接
https://youtu.be/XqCPUvazw5g
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/dc884/dc884/Reaction_Diffusion_Simulation.zip
Fluid Flow Simulation with Musical Stimulus-使用音乐刺激进行流体流动模拟
基于格子-玻尔兹曼结构实现了美丽的全分辨率流体流动模拟,该结构实时响应音乐刺激。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/btj28_bjr96_dg524/btj28_bjr96_dg524/btj28_bjr96_dg524/index.html
- 视频链接
https://youtu.be/u7EYMLRzBFU
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/btj28_bjr96_dg524/btj28_bjr96_dg524/btj28_bjr96_dg524/index.html
FPGA Convolution Neural Network Accelerator-FPGA 卷积神经网络加速器
在我们的设计中,FPGA仅用于解决卷积计算,HPS将用于处理命令和层计算的其余部分,包括RELU和最大池化。
- 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/yr233_pq32/yr233_pq32/yr233_pq32/index.html
- 视频链接
无
- 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2018/yr233_pq32/yr233_pq32/yr233_pq32/index.html
应作者要求,以下项目不开源
Binary Neural Net-二元神经网络
FPGA-Based Radio Receiver-基于 FPGA 的无线电接收器
总结
项目很多,从2016~2023年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。
原文:OpenFPGA
作者:碎碎思
相关文章推荐
- 国外大学生都用FPGA做什么项目(三)
- 国外大学生都用FPGA做什么项目(二)
- 国外大学生都用FPGA做什么项目(一)
- 几块钱几分钟打造100MHz采样率逻辑分析仪
- 使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据
更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。