点击蓝字关注我们
关注、星标公众号,精彩内容每日送达
来源:网络素材
看看国外大学的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 加密器/解密器
![fafcf5432add646537b7489b4a30af43.png](https://img-blog.csdnimg.cn/img_convert/fafcf5432add646537b7489b4a30af43.png)
该项目使用 Miller-Rabin 素性测试来搜索质数(也叫素数)。生成的质数将显示在 VGA 显示器上。用户可以选择两个生成的质数相乘后形成 RSA 公共加密密钥。使用扩展欧几里得算法来生成加密指数和解密指数。加密密钥用于加密 SD 卡上的文本文件。解密后的文本显示在 VGA 屏幕上并写回 SD 卡。用户还可以通过控制台输入要使用的加密和解密密钥。
![58a5bd832a365cf64fe3395f5c61b4e1.png](https://img-blog.csdnimg.cn/img_convert/58a5bd832a365cf64fe3395f5c61b4e1.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 - 空气弦乐
![1d4bf5810c4c43d75d898ce5b8b7287b.png](https://img-blog.csdnimg.cn/img_convert/1d4bf5810c4c43d75d898ce5b8b7287b.png)
项目是空气弦乐,一种合成弦乐器,可以通过在摄像机前挥动带有亮绿色尖端的手指来抚摸弦乐来实时演奏。本项目基于 Karplus Strong 算法。
![f9987d06eb939616b1167cbf168ae04c.png](https://img-blog.csdnimg.cn/img_convert/f9987d06eb939616b1167cbf168ae04c.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 - 生命游戏音乐合成器
![8b6a646986e5c8020989ad426d09ada7.png](https://img-blog.csdnimg.cn/img_convert/8b6a646986e5c8020989ad426d09ada7.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 - 康威的生命游戏
![709877fef65da07025452c0c8ed7c2c2.png](https://img-blog.csdnimg.cn/img_convert/709877fef65da07025452c0c8ed7c2c2.png)
该项目的主要目标是在 640x480 单元格、以 60Hz 运行的网格上实现"康威的生命游戏"。
![3f4dbbbd274eee77c4fc5e371564d5a2.png](https://img-blog.csdnimg.cn/img_convert/3f4dbbbd274eee77c4fc5e371564d5a2.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 - “虚空的钢琴和鼓”
![22f1efc4c58bbc29cb391d2d09b3f53d.png](https://img-blog.csdnimg.cn/img_convert/22f1efc4c58bbc29cb391d2d09b3f53d.png)
在这个项目中,构建了一个系统,使用摄像头检测手指在纸张上的位置,并根据位置播放声音。相机进行肤色检测,跟踪手指在纸上的移动。摄像头的输出可以在 VGA 屏幕上看到。钢琴和鼓的键盘也显示在 VGA 屏幕上。根据手指的敲击位置,钢琴和鼓的声音合成后播放适当的声音。
![84e643a32aecedf143bf6a39f50e2377.png](https://img-blog.csdnimg.cn/img_convert/84e643a32aecedf143bf6a39f50e2377.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 - 自适应降噪
![5246879bcf6a13a42469f92ba56e0318.png](https://img-blog.csdnimg.cn/img_convert/5246879bcf6a13a42469f92ba56e0318.png)
![493c688c8835cf0acafca8b7e6e5a679.png](https://img-blog.csdnimg.cn/img_convert/493c688c8835cf0acafca8b7e6e5a679.png)
目的是实现一种硬件多抽头自适应噪声消除器,可以自适应地滤除污染源中的噪声。其动机最初来自 Widrow 在斯坦福大学于 1975 年发表的题为“自适应噪声消除:原理与应用”的论文。自适应噪声消除器基于最小均方算法,该算法也是由 Widrow 和他的博士生 Hoff 当时提出的。在过去的四十年中,LMS 自适应算法一直是一种实现简单,同时能够高效提供理想且准确结果的方法。它已在通信系统、机器人、机床制造和自动化等多个领域得到应用。实验设置类似于降噪耳机,可在嘈杂的环境中提供高音频质量。
![b096be67717e7e63568a4c061bdb9cbb.png](https://img-blog.csdnimg.cn/img_convert/b096be67717e7e63568a4c061bdb9cbb.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 - 数字合成算法来模拟陶笛声
![6a974e12c652233a4dc56ac301fe3e6b.png](https://img-blog.csdnimg.cn/img_convert/6a974e12c652233a4dc56ac301fe3e6b.png)
项目使用 FPGA 通过加法直接数字合成算法来模拟陶笛声音。为了产生准确的陶笛声音,我们对真实陶笛的频谱进行了分析,了解每个谐波的相对幅度。利用这些信息,我们创建状态机在每个谐波处输出正弦波。然后对正弦曲线进行适当缩放并汇总在一起产生陶笛声音。
![bf146a2af2501ac64ec34230577091f1.png](https://img-blog.csdnimg.cn/img_convert/bf146a2af2501ac64ec34230577091f1.png)
![a35c9c3403702db2f7358ca70017059f.png](https://img-blog.csdnimg.cn/img_convert/a35c9c3403702db2f7358ca70017059f.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 - 打砖块游戏视频控制版
![84305980f795abb681f17f7a813d4a7c.png](https://img-blog.csdnimg.cn/img_convert/84305980f795abb681f17f7a813d4a7c.png)
![94492e5ed330b83e8012d0280cbf6d89.png](https://img-blog.csdnimg.cn/img_convert/94492e5ed330b83e8012d0280cbf6d89.png)
改版的打砖块游戏可以通过手部动作来控制游戏。具体来说,玩家可以向左、向右、向上或向下移动他的手来相应地控制“球拍”。除此之外,玩家还可以通过向上或向下移动手来加速或减速球。为了增加游戏的复杂性,我们不会让砖块在球击中时立即消失。相反,砖块的颜色会在每次碰撞中逐渐消失,并且当第七次击中时砖块才会最终消失。我们还添加了音效,使游戏更加有趣。
![e7edca63d8ef34845bffbb23f826d051.png](https://img-blog.csdnimg.cn/img_convert/e7edca63d8ef34845bffbb23f826d051.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 - 以太网通讯接口
![0e2008dc0952624234a863572dc47554.png](https://img-blog.csdnimg.cn/img_convert/0e2008dc0952624234a863572dc47554.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 文件。
![429bb9efb1a4ca1a692df117d4d79612.png](https://img-blog.csdnimg.cn/img_convert/429bb9efb1a4ca1a692df117d4d79612.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年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。