碎碎思 · 1月31日

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

image.png

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

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

项目链接

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

项目介绍

Fall 2011 开发板 CycloneII

Prime Number Generator and RSA Encrypter/Decrypter - 质数生成器和 RSA 加密器/解密器

image.png

该项目使用 Miller-Rabin 素性测试来搜索质数(也叫素数)。生成的质数将显示在 VGA 显示器上。用户可以选择两个生成的质数相乘后形成 RSA 公共加密密钥。使用扩展欧几里得算法来生成加密指数和解密指数。加密密钥用于加密 SD 卡上的文本文件。解密后的文本显示在 VGA 屏幕上并写回 SD 卡。用户还可以通过控制台输入要使用的加密和解密密钥。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/clt67_yl478/clt67_yl478/index.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/clt67_yl478/clt67_yl478/5760finalproject.zip

Air String - 空气弦乐

image.png

项目是空气弦乐,一种合成弦乐器,可以通过在摄像机前挥动带有亮绿色尖端的手指来抚摸弦乐来实时演奏。本项目基于 Karplus Strong 算法。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/yk579_vm285/video_instrument3.MP4
  • hackaday项目介绍
http://hackaday.com/2011/12/12/get-ready-to-play-some-wicked-air-harp/
  • 视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/yk579_vm285/video_instrument1.MP4
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/yk579_vm285/yk579_vm285/Air_String_DE2_TV.zip

Game of Life Music Synthesizer - 生命游戏音乐合成器

image.png

  • 项目介绍
https://makezine.com/article/home/fun-games/music-synthesis-added-to-conways-game-of-life/
  • 视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/lba36_wl336/CA_synth1.MP4
  • 代码链接
blog已删除

Conway's Game of Life - 康威的生命游戏

image.png

该项目的主要目标是在 640x480 单元格、以 60Hz 运行的网格上实现"康威的生命游戏"。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/csb88/final/index.html
  • hackaday项目介绍
http://hackedgadgets.com/2011/12/13/fpga-conways-game-of-life/
  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/csb88/CA1.MP4

https://youtu.be/0ZZ3vSN7mBo

  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/csb88/final/quartus_project.zip

Air Driano BOOM 2012 people's choice winner - “虚空的钢琴和鼓”

image.png

在这个项目中,构建了一个系统,使用摄像头检测手指在纸张上的位置,并根据位置播放声音。相机进行肤色检测,跟踪手指在纸上的移动。摄像头的输出可以在 VGA 屏幕上看到。钢琴和鼓的键盘也显示在 VGA 屏幕上。根据手指的敲击位置,钢琴和鼓的声音合成后播放适当的声音。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/sg835/Air_Driano/index.html
  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/sg835/driano1.MP4

https://exchange.mail.cornell.edu/owa/redir.aspx?C=ab7107fe48474f9db2c60bb8787d08bb&URL=http://www.youtube.com/watch?v=pSzsy7elZlU

  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/sg835/Air_Driano/codes.html

Adaptive Noise Cancellation - 自适应降噪

image.png

image.png

目的是实现一种硬件多抽头自适应噪声消除器,可以自适应地滤除污染源中的噪声。其动机最初来自 Widrow 在斯坦福大学于 1975 年发表的题为“自适应噪声消除:原理与应用”的论文。自适应噪声消除器基于最小均方算法,该算法也是由 Widrow 和他的博士生 Hoff 当时提出的。在过去的四十年中,LMS 自适应算法一直是一种实现简单,同时能够高效提供理想且准确结果的方法。它已在通信系统、机器人、机床制造和自动化等多个领域得到应用。实验设置类似于降噪耳机,可在嘈杂的环境中提供高音频质量。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/jy554_jc2636/jy554_jc2636/index.htm
  • 视频链接
http://www.youtube.com/watch?v=B333dhgzF6U
  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/jy554_jc2636/jy554_jc2636/MATLAB.zip

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/jy554_jc2636/jy554_jc2636/verilog.zip

Additively Synthesized Ocarina - 数字合成算法来模拟陶笛声

image.png

项目使用 FPGA 通过加法直接数字合成算法来模拟陶笛声音。为了产生准确的陶笛声音,我们对真实陶笛的频谱进行了分析,了解每个谐波的相对幅度。利用这些信息,我们创建状态机在每个谐波处输出正弦波。然后对正弦曲线进行适当缩放并汇总在一起产生陶笛声音。

image.png
image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/emr76_jmm536/emr76_jmm536/index.html
  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/emr76_jmm536/ocarina2.MP4

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/emr76_jmm536/ocarina3.MP4

  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/emr76_jmm536/emr76_jmm536/index.html

Video bricks - 打砖块游戏视频控制版

image.png

改版的打砖块游戏可以通过手部动作来控制游戏。具体来说,玩家可以向左、向右、向上或向下移动他的手来相应地控制“球拍”。除此之外,玩家还可以通过向上或向下移动手来加速或减速球。为了增加游戏的复杂性,我们不会让砖块在球击中时立即消失。相反,砖块的颜色会在每次碰撞中逐渐消失,并且当第七次击中时砖块才会最终消失。我们还添加了音效,使游戏更加有趣。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/ml984_tnn7_yy475/Publish/intro.html
  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/emr76_jmm536/ocarina2.MP4

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/ml984_tnn7_yy475/bricks2.MP4

  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/ml984_tnn7_yy475/Publish/ml984_tnn7_yy475.zip

Ethernet Communication Interface - 以太网通讯接口

image.png
项目是设计一个以太网接口,使 FPGA 板能够按照几种既定的网络协议通过板载以太网与其他设备进行通信。

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/mis47_ayg6/mis47_ayg6/index.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/mis47_ayg6/mis47_ayg6/code/ethcomm.zip

Visual midi Composer - 视觉MIDI作曲家

在 FPGA 板上开发了一个视觉音乐作曲家和播放器。系统能够播放用户创作的音乐并将其转换可以存储在板上 SRAM 中的 Midi 文件。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/jl2782/musical_critics/index.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2011/jl2782/musical_critics/code.zip

总结

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

原文:OpenFPGA
作者:碎碎思

相关文章推荐

更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10599
内容数
561
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息