点击蓝字关注我们
关注、星标公众号,精彩内容每日送达
来源:网络素材
看看国外大学的FPGA开发项目
据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。
项目链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
项目介绍
Spring 2015 开发板 CycloneIV
Table Tennis Tracker - 乒乓球追踪器
![0d74b7823a0821d5174fd030fd04b8f6.png](https://img-blog.csdnimg.cn/img_convert/0d74b7823a0821d5174fd030fd04b8f6.png)
![f8e12ecd353e397df07f5829302e5747.png](https://img-blog.csdnimg.cn/img_convert/f8e12ecd353e397df07f5829302e5747.png)
在视频输入上使用数字信号处理来跟踪乒乓球比赛中的乒乓球。
![36ff3e4964f9ba09799ad93307e1bbf4.png](https://img-blog.csdnimg.cn/img_convert/36ff3e4964f9ba09799ad93307e1bbf4.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ttt/ttt/ttt/index.html
hackaday项目介绍
http://hackaday.com/2015/05/15/fpgas-keep-track-of-your-ping-pong-game/
论文
http://www.computer.org/csdl/mags/co/2015/10/mco2015100080.pdf
视频链接
https://www.youtube.com/watch?v=GB31-bBfpS4&list=PL2E0D05BEC0140F13&index=1
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ttt/ttt/ttt/index.html
Rubic's cube solver - 魔方解算器
![7cb49083104f5112dfc8ca6d20844832.png](https://img-blog.csdnimg.cn/img_convert/7cb49083104f5112dfc8ca6d20844832.png)
设计一个机械魔方解算器。机械臂首先旋转立方体向摄像机显示立方体的每个立方体面。扫描每个面后,立方体面将被传递到魔方求解算法中。该算法使用Nios II 处理器计算解决魔方所需的移动。然后,指令被输入到 FPGA,FPGA 又将 PWM 信号发送到伺服系统,以相应地旋转立方体,从而求解立方体。
![e44b68d1d25817e5eeedc8775f006f31.png](https://img-blog.csdnimg.cn/img_convert/e44b68d1d25817e5eeedc8775f006f31.png)
![278be37f56ab0b0e61b02488f8d95375.png](https://img-blog.csdnimg.cn/img_convert/278be37f56ab0b0e61b02488f8d95375.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/akw62_rq35_sp2283/akw62_rq35_sp2283/index.html
hackaday项目介绍
https://www.youtube.com/watch?v=o-id_F1htPc&list=PL2E0D05BEC0140F13&index=1
视频链接
http://hackaday.com/2015/06/02/solving-rubiks-cube-with-an-fpga/
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/akw62_rq35_sp2283/akw62_rq35_sp2283/index.html#code
Real time video anonymizer - 实时视频匿名器
![54cedafa7d2e05602dfeccbd64ec6427.png](https://img-blog.csdnimg.cn/img_convert/54cedafa7d2e05602dfeccbd64ec6427.png)
![60fc646b57782ca17edbb35753eedfec.png](https://img-blog.csdnimg.cn/img_convert/60fc646b57782ca17edbb35753eedfec.png)
想象一下,您是一名罪犯,刚刚绑架了一名富人,但现在需要制作一段视频来表达赎金要求。显然,想在上述视频中隐藏自己的身份,但你是一名忙碌的绑匪,没有时间进行视频制作和涉及的后期处理。这就是我们的匿名器的用武之地。使用我们开发的技术,可以录制一段视频,在录制时自动模糊脸部并伪装声音,无需后期处理。
![99179d34f42d97628dd06dab59ba4b22.png](https://img-blog.csdnimg.cn/img_convert/99179d34f42d97628dd06dab59ba4b22.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/spo38_%20fc254/witprocam-gh-pages/witprocam-gh-pages/index.html
hackaday项目介绍
http://hackaday.com/2015/05/19/real-time-video-anonymizer/
视频链接
https://www.youtube.com/watch?v=J8Envpj3tqI&list=PL2E0D05BEC0140F13&index=2
代码链接
https://github.com/feiranchen/WitnessProtection
Gravitational N-Particle Simulator - 引力 N 粒子模拟器
![559468cca2d9ac0c8436f0ae49b50e0d.png](https://img-blog.csdnimg.cn/img_convert/559468cca2d9ac0c8436f0ae49b50e0d.png)
设计了一个引力 N 粒子模拟器来完整求解牛顿引力定律,并在 VGA 显示器上以高帧速率显示粒子相互作用的 3 维表示。
![e3c996f9ccd0d37049e90f55bf578e90.png](https://img-blog.csdnimg.cn/img_convert/e3c996f9ccd0d37049e90f55bf578e90.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/mje56_bwc65/mje56_bwc65/mje56_bwc65/index.html
hackaday项目介绍
http://hackaday.com/2017/01/02/gravity-simulations-with-an-fpga/
视频链接
https://youtu.be/ph_z_JFjPiE
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/mje56_bwc65/mje56_bwc65/mje56_bwc65/GravSim.qar
Rock/Paper/Scissors - 石头/剪刀/布
![66706ce9e6263bf9d228016c4bf9f2f3.png](https://img-blog.csdnimg.cn/img_convert/66706ce9e6263bf9d228016c4bf9f2f3.png)
设计了一个两人玩的石头剪刀布游戏,可在两个独立的 Altera DE2 板上玩。该系统通过 NTSC 摄像头获取石头剪刀布输入,通过 RS-232 与另一个 DE2 通信,并使用 Nios II 处理器将所有相关输出打印到 VGA 屏幕上。
![fd6762ea5222260b707fbf34f2fab97a.png](https://img-blog.csdnimg.cn/img_convert/fd6762ea5222260b707fbf34f2fab97a.png)
![adc0171a23ceff9e183cc3be7c797bb4.png](https://img-blog.csdnimg.cn/img_convert/adc0171a23ceff9e183cc3be7c797bb4.png)
![6d67cbde307a2c0aa2f2be2fcd273fd0.png](https://img-blog.csdnimg.cn/img_convert/6d67cbde307a2c0aa2f2be2fcd273fd0.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ra469_bt268/ra469_bt268/ra469_bt268/webpage_files.html
视频链接
https://www.youtube.com/watch?v=XRmVCAvsOv0&list=PL2E0D05BEC0140F13&index=1
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ra469_bt268/ra469_bt268/ra469_bt268/webpage_files/code/rock_paper_scissors.zip
Gesture control of iPhone - 手势控制 iPod/iPhone 音乐底座
![1c416242e10e15e234fadc2328092d10.png](https://img-blog.csdnimg.cn/img_convert/1c416242e10e15e234fadc2328092d10.png)
![3412c99479c0cf98643031af036f397d.png](https://img-blog.csdnimg.cn/img_convert/3412c99479c0cf98643031af036f397d.png)
当用户拿着一根绿色尖头的魔杖,对着连接到音乐底座的复合电视摄像机挥舞着图案。然后,扩展坞会解释这些模式,并将其转换为 iPod/iPhone 上的设备播放操作。
![671ce27f519c12e3c6e57376fe3df9e1.png](https://img-blog.csdnimg.cn/img_convert/671ce27f519c12e3c6e57376fe3df9e1.png)
![82bc523f7c5341ba4562ba6348d1d8b1.png](https://img-blog.csdnimg.cn/img_convert/82bc523f7c5341ba4562ba6348d1d8b1.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/zt27_mm2675/zt27_mm2675/zt27_mm2675/index.htm
视频链接
https://youtu.be/9G0S_O9lWTM
代码链接
需要邮件获取:mm2675@cornell.edu
Mandelbrot color modulation and zoom - Mandelbrot 色彩调制和缩放
![866c61e7290f1d24b93fcc1dd86583ab.png](https://img-blog.csdnimg.cn/img_convert/866c61e7290f1d24b93fcc1dd86583ab.png)
![270c2d35bbc174478cb9e7b8445e9264.png](https://img-blog.csdnimg.cn/img_convert/270c2d35bbc174478cb9e7b8445e9264.png)
该项目旨在实现一个高效的分形计算引擎(Mandelbrot Set),并基于输入音频的 FFT 分析实时操纵颜色渲染过程。
![5ff93f59c3ebba8999a775a8951040da.png](https://img-blog.csdnimg.cn/img_convert/5ff93f59c3ebba8999a775a8951040da.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/wz233_ly288_jpl279/wz233_ly288_jpl279/wz233_ly288_jpl279/FFT_MandelbrotSet.html
hackaday项目介绍
http://hackaday.com/2015/05/26/dancing-mandelbrot-set-on-a-fpga/
视频链接
https://youtu.be/epDKXIOjEI4
代码链接
邮件获取:wz233@cornell.edu
Re-inventing the Personal Computer - 重新发明个人电脑
![b6ffb04c019e60447450226d2f94ee97.png](https://img-blog.csdnimg.cn/img_convert/b6ffb04c019e60447450226d2f94ee97.png)
通过 Altera DE2 开发板将 VGA 显示器和键盘连接到 FPGA,创建类似于个人计算机的系统。通过在VGA屏幕上模拟传统的命令行界面(CLI),用户可以通过CLI执行某些操作。此外,我们利用 DE2 板的内置 SD 读卡器允许用户导入、操作和保存便携式数据,有效地为 FPGA 创建简化的文件系统。
![245179ded9e1776934e17415f1a9e669.png](https://img-blog.csdnimg.cn/img_convert/245179ded9e1776934e17415f1a9e669.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/vf63_sw679_rq32/vf63_sw679_rq32/vf63_sw679_rq32/index.html
视频链接
https://youtu.be/Ulg4T83uQ_E
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/vf63_sw679_rq32/vf63_sw679_rq32/vf63_sw679_rq32/files/FPGA_CLI.zip
OpenCL on DE1-SOC - DE1-SOC 上的 OpenCL
![b7831c324e712276d2cb7e09c73f6f6e.png](https://img-blog.csdnimg.cn/img_convert/b7831c324e712276d2cb7e09c73f6f6e.png)
在 DE1-SOC 板上对 ARM Cortex-A9 和 FPGA 进行了性能评估。该项目是在 DE1-SOC 板上使用Altera 的 OpenCL SDK 完成的。为了从复杂算法中实现实时性能,必须使用大规模并行 GPU 或 FPGA 以及GP(通用处理器)。这种异构计算模型应用于 PC 领域的图形、游戏、渲染、服务器市场等,现在也应用于手持/嵌入式领域。为了对此类系统进行编程,开发了开放计算语言(OpenCL),这是一种用于现代处理器并行编程的开放、免版税标准。它极大地提高了从游戏和娱乐到科学和医疗软件等众多市场类别中广泛应用的速度和响应能力。
本项目主要使用OpenCL对ARM和FPGA进行性能对比。
![d0164d7e02aec5ba2abd270db000c1f9.png](https://img-blog.csdnimg.cn/img_convert/d0164d7e02aec5ba2abd270db000c1f9.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/spp66_aa2264_ayk33/spp66_aa2264_ayk33/spp66_aa2264_ayk33/FPGA_ARM.html
视频链接
无
代码链接
https://github.com/ayk33/ECE5760_Final_Project
Gesture steered Mandelbrot rendering - 手势引导 Mandelbrot 渲染
![b547295ba31382532e31d6e562ce90a6.png](https://img-blog.csdnimg.cn/img_convert/b547295ba31382532e31d6e562ce90a6.png)
这是一款可以实现与玩家实时交互的手控器Mandelbrot Set。我们制作的原型能够移动 Mandelbrot 的窗格,并在玩家的手接近摄像机或移动到相对位置时就会被放大获取更多细节。对于 VGA 上的每一帧更新,FPGA 都会根据玩家的手势重新计算 Mandelbrot 集上每个像素的新颜色。
![0872e70c7f282d71b29b070b5c6e555f.png](https://img-blog.csdnimg.cn/img_convert/0872e70c7f282d71b29b070b5c6e555f.png)
![813331ac2f007fefdef60f0c5371b799.png](https://img-blog.csdnimg.cn/img_convert/813331ac2f007fefdef60f0c5371b799.png)
![05a522101ea173cbe229c9122d330cda.png](https://img-blog.csdnimg.cn/img_convert/05a522101ea173cbe229c9122d330cda.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/qw77_ht425/qw77_ht425/qw77_ht425/Hand_Tracking_Mandelbrot_Set%20_ECE_5760.html
视频链接
https://youtu.be/ziIzqpyvyP0
代码链接
file:///E:/qw77_ht425/Hand_Tracking_Mandelbrot_Set.zip
AES encryptor/decryptor - AES 加密器/解密器
![7787309578a67f6c6e7c07436f5d5fa9.png](https://img-blog.csdnimg.cn/img_convert/7787309578a67f6c6e7c07436f5d5fa9.png)
![bd5df405b8a66f39810a6b2891dccd9b.png](https://img-blog.csdnimg.cn/img_convert/bd5df405b8a66f39810a6b2891dccd9b.png)
高级加密标准 (AES) 是联邦信息处理标准 (FIPS),是一种经过批准的加密算法,可用于保护电子数据。该项目的主要思想是展示在硬件上执行这种计算密集型加密/解密算法时实现的加速。具有高度并行、可重新配置架构的 FPGA 最适合该项目。为了实现这一目标,我们构建一个 SoC 系统,其中包含在 Altera Cyclone IV FPGA 内实例化的 NIOS II 软核处理器。作为这个项目的成果,我们能够加密/解密从 SD 卡读取的大量数据。此外,硬件实现的执行时间比软件实现的执行时间要短得多。
![405f1a0bb318887ff8a48ccfbdebe4ba.png](https://img-blog.csdnimg.cn/img_convert/405f1a0bb318887ff8a48ccfbdebe4ba.png)
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ar856/ECE5760webpage/ECE5760%20webpage/webpage_files.html
视频链接
无
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ar856/ECE5760webpage/ECE5760%20webpage/webpage_files/Decryption_pipeline.zip
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ar856/ECE5760webpage/ECE5760%20webpage/webpage_files/aes_char_16.zip
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2015/ar856/ECE5760webpage/ECE5760%20webpage/webpage_files/encryption_pipeline.zip
总结
项目很多,从2016~2023年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。
![24731fb2ac0fcb1b2e0b4c6386bf7f0a.jpeg](https://img-blog.csdnimg.cn/img_convert/24731fb2ac0fcb1b2e0b4c6386bf7f0a.jpeg)
想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索