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

点击蓝字关注我们

关注、星标公众号,精彩内容每日送达
来源:网络素材

36a056d96cb9532b81a26ff7753c6e04.png

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

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

项目链接

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

项目介绍
2007 开发板 CycloneII
System-on-Chip Toolkit - 片上系统工具包

该项目是为软件和硬件工具包设计,目标是实现功能齐全的片上计算机系统。需要准确设计所有不同的子系统和体系结构系统,这些子系统和体系结构系统必须组合在一起才能使程序在这样的系统上运行。下面是系统的演示配置图,该系统支持用户通过 PS2 键盘输入和通过 VGA 显示器输出。

4c2283ce4a5faa6035ad6394a9b463c9.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/ib54/SysToolkitwebsite/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/ib54/SysToolkitwebsite/SysOnChipToolkit.zip

FPGA BBQ Stick video game - BBQ 串视频游戏

af565071de322f96ed5ec364acdf72cd.png

一款由 USB 鼠标控制的名为 BBQ 串的视频游戏。这款视频游戏背后的中心思想是借助烧烤棒捕捉美味的烧烤肉丸。你抓到的越多,你就会变得越胖,得分也越高。

ac8403b68abd0a7056bdf8984e735819.png e8ce37dbe030853103016c708699f6d4.png 450169937a34db8065b764c8ce1cd3b1.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/ms882_yc292/ms882_yc292/appendix.htm

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/BBQstick.MP4

  • 代码链接

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

Real time Edge extraction - 实时边缘提取(Sobel)

c4dd490cc0b6cd897d28ee47b90a04ff.png fc1dcb15f85936edebc9bd6053ee3d66.png

实时SOBEL边缘检测。

3f1204cf14b24257b22cf635158d7942.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/hc454_gtc32/hc454_gtc32/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/EdgeDetection.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/hc454_gtc32/hc454_gtc32/#appendix

Real time Spectrograph - 实时频谱仪

实时频谱图项目可以计算音频信号的频谱并在标准 VGA 监视器上显示。

7fe18e9a1aad62bfc576dd23a0a28cbf.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/tjs49aw259/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/SpectroTedCompressed.MP4

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/SpectrogramCompressed.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/tjs49aw259/#appendix

Real time, Single Image, Random Dot Stereogram - 实时、单图像、随机点立体图

143aeff112271a6892bae4e9829bcf7e.png

一个实时、单图像、随机点立体图(SIRDS)生成平台。我们的平台可以从深度图(记录到图像中每个像素的距离)生成 3D 立体图像。

2431017c22eaf7874658dd218f7322e1.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/awh24_mdj23/awh24_mdj23/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/Stereogram.MOV

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/Stereogram.jpg

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/awh24_mdj23/awh24_mdj23/sirds.v

Real time audio pitch shifter - 实时音频变调器

e3f4c846623be0660710ac008716a685.png

基音移位可以使用各种数字音频处理技术在FPGA上实时执行。可以对信号进行快速傅立叶变换(FFT),在频域中对其进行更改,然后进行逆FFT。这被称为频域基音偏移。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/dah64_dp239/index.htm

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/PitchShifter.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/dah64_dp239/index.htm

FPGA Paint - FPGA 绘画

e6d6452905ce3858d340d397a5bfcbb4.png

使用 NIOS II CPU 进行鼠标移动检测和 VGA 进行显示,在 FPGA 实现画笔应用程序。

b7f79ac1de6750e3e228ef8ae901dcef.png ca250ba9b037c4dca5c2a332a22cebcc.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/rc437_mj288/rc437_mj288/rc437_mj288/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pictures/RanjaniCompressed.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/rc437_mj288/rc437_mj288/rc437_mj288/source/PaintBrush.zip

Parallelized Knuth-Morris-Pratt Search Algorithm - Knuth-Morris-Pratt 搜索算法并行化

dc10ce4d7e9111b436936ddfa3f86cd7.png

Knuth-Morris-Pratt 算法(算法导论中有详细介绍)的高度并行化和模块化版本.

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/cd247_rmz8/cd247_rmz8/index.html

  • 在线示例

http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/cd247_rmz8/cd247_rmz8/rmz8cd247project.zip

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/cd247_rmz8/cd247_rmz8/rawpacket.zip

UDP Network Hardware - UDP 网络硬件

完整硬件 UDP协议栈的实现。包括完整的 IPv4 协议和用于 MAC 地址解析的 ARP 协议。

e31706567de43dab8853a22ad2bf0a1a.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/mjk64_hmm32_jdp45/mjk64_hmm32_jdp45/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/mjk64_hmm32_jdp45/mjk64_hmm32_jdp45/#appa

3D WireMesh Generator - 3D 线网格生成器

697e72713551f6323d80498a0edea966.png 9f6262b671dbeaf820db5559680ad427.png

FPGA 上创建硬件转换单元和 3D 光栅化系统。

3b7f9a6e68637ff88df8af876009f60e.png 115a4c561a9ddcbf8d4aa19a6ede2a57.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/ms883_sa453/ms883_sa453/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/ms883_sa453/ms883_sa453/index.html#h5

Light Source Motion Tracking - 光源运动跟踪

c9c28cbf4442292aefa0a5a844097886.png

准确检测运动并报告相机视图中移动光源的速度。

023e7f8bb424e41fb7ac5645c363f4c1.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/pl328/pl328/index.html

  • 代码链接

http://home.comcast.net/~pinghonglu/DE2_CCD_detect_noos.zip

Laser tracker - 激光跟踪仪

96a8545acd3c5ee61837c19fc28d9348.png eed04f518bb6c9cba4f528de0ca884f9.png

使用 FPGA 锁定并跟踪激光笔或小型光源。

766d38eaba078d708885774a952e55b5.png cf728b097d6a0143889fb16533382a0e.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bjc54_wh84/bjc54_wh84/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bjc54_wh84/bjc54_wh84/code/laser_tracker.zip

FPGA Jezzball - FPGA 杰兹球

2a020cce161bc9419ddc9c42f8edd6f7.png

游戏的目标是通过画线切断球可以漫游的区域,将弹跳的球困在尽可能小的空间内。要玩这个游戏,将鼠标移动到想要绘制线条的位置。如果单击鼠标左键,则会从该点绘制一条垂直线;如果单击右键,则会绘制一条水平线。如果该线到达两侧边界而球未击中该线,则该线将成为球的新边界。

3a2b26edd11591bb5f3600ef7999d61e.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/nry6/nry6/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/nry6/nry6/DE2_NIOS_HOST_MOUSE_VGA.zip

FPGA DSO - 数字示波器

dc4cb17d98c4914b8895debc595488ab.png

在 FPGA 上创建数字示波器。

5924dcb9081c97566b0e961ab88253b2.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/chc58/index.htm

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/chc58/DSO.zip

Programmable Discrete Graphics Hardware - 可编程GPU

创建一个可编程图形处理单元(GPU),可以在硬件中编码,甚至可以生成对象和边缘。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bc226/576_report05_website/index.html

  • 文档介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bc226/576_report05_website/576_report05.pdf

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bc226/576_report05_website/576_lab5.zip

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/bc226/576_report05_website/576_lab5_dev.zip

SimpleGPU - 简单GPU

84018768d8367e11531b8ad9363b6ccc.png 59199840ee4ec4e23a5c00cc43a460e9.png

创建一个简单的图形处理器(GPU)。能够使用 NIOS 2 编写简单的软件命令,通过硬件和辅助支持软件将其显示在显示器上。

7986aa01eb7a131bf6574f1f42e3179f.png 029d6718fd00eea11c92b58bc3a1d4db.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/jas328_asl45/jas328_asl45/index.htm

  • 代码链接

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

3D wiremesh - 3D 丝网

c885b0ae270314615adf4a34b2beb139.png b91d5c6970db04a88731e979d5938154.png

尝试使用 VGA 在 320 x 240 像素分辨率下显示 FPGA 上实现的超级任天堂娱乐系统 (SNES) 中游戏 Starfox(失败了,代码也删除了)。

93fe81b2cbd736eabe353009df7fd140.png 2da92cc2a35f9524609aa396b82a613a.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2007/hkc2_zk29/hkc2_zk29/index.htm

  • 代码链接

总结

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

4f8c5a5fdca76ed5460273f0533bbc6f.jpeg

想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值