赞
踩
看看国外大学的FPGA开发项目
据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
使用 NTSC 视频信号以低功耗方式模拟电视的灯光效果。为了实现这一功能,系统必须能够跟上电视信号的闪烁和更新速度,因此需要专用的实时处理器-FPGA。该项目的目标是创建一种可以完成此任务的通用算法,并使用 PWM 输出来驱动控制 RGB LED 电路。用户可以发送任何 NTSC 视频信号,并在视频主色发生变化时看到 LED 上的即时变化。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/svr24/svr24/index.html
hackaday项目介绍
http://hackaday.com/2016/05/20/using-an-fpga-to-generate-ambient-color-from-video/
视频链接
https://www.youtube.com/watch?v=jbla_nbcfxk&list=PL2E0D05BEC0140F13&index=1
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/svr24/svr24/code/ece5760-final-project.zip
这是一个基于手指检测的项目,使用摄像头来检测用户手指相对于VGA屏幕的位置,并在屏幕上显示光标,以达到伪触摸屏的效果。VGA屏幕上显示一个棋盘,通过触摸棋盘,用户可以在棋盘上放置一个棋子,进行“五连棋子”游戏,将任意五个棋子连成一排,用户就可以赢得比赛。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/jc2954_zy259/jc2954_zy259/jc2954_zy259.html
hackaday项目介绍
http://hackaday.com/2016/06/04/real-time-fpga-finger-detection/
视频链接
https://www.youtube.com/watch?v=2rWrv-5ZufY
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/jc2954_zy259/jc2954_zy259/code/ECE5760_Final.qar
制作了一个音乐可视化器,通过 Altera DE2-115 上的线路输入播放的歌曲的节奏和频谱内容,图形模块利用此信息来渲染向用户显示输入歌曲的频谱内容的帧,并在屏幕上为四个舞者制作动画。当检测到音乐时,模块将采用最低频率滤波器的输出来解释歌曲的节拍,并将该信息传播到图形模块以控制舞者的动画。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/cwa37_nml45/cwa37_nml45/cwa37_nml45/index.html
hackaday项目介绍
http://hackaday.com/2016/06/16/no-frame-buffer-for-fpga-vga-graphics/
视频链接
https://www.youtube.com/watch?v=RYJPcRr-yeI&list=PL2E0D05BEC0140F13&index=1
代码链接
https://github.com/carchard/ECE5760_Epiphyte
在 64x64 LED 矩阵上设计了一个音频可视化器。我们的目标是创建一个能够实时响应输入音乐源的系统。显示器有多种不同的动画模式供用户选择:条形、球和粒子。这些不同的场景为用户创造了愉快的聆听体验,因为他们有某种图形显示来伴随着音乐。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/sgm82_skg73_mm889/sgm82_skg73_mm889/sgm82_skg73_mm889/index.html
hackaday项目介绍
http://hackaday.com/2016/06/13/fpga-powers-blazingly-fast-led-matrix-audio-visualizer/
视频链接
https://www.youtube.com/watch?v=swapwjI-fT8&index=1&list=PL2E0D05BEC0140F13
代码链接
https://github.com/sm11963/led-matrix-visualizer
该项目的目标是在 Altera DE2-115 FPGA 板上构建闭环控制系统,利用磁悬浮技术悬浮铁球。我们创建的系统使用电磁体拾取铁球并将其悬浮在水平静止点和电磁体金属芯之间的空中。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/crl233_gp348_nds55/gp348_crl233_nds55/gp348_crl233_nds55/index.html
hackaday项目介绍
http://hackaday.com/2016/06/13/fpga-powers-blazingly-fast-led-matrix-audio-visualizer/
视频链接
https://vimeo.com/167056844
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/crl233_gp348_nds55/gp348_crl233_nds55/gp348_crl233_nds55/DE2_115_Media_Computer.html
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/crl233_gp348_nds55/gp348_crl233_nds55/gp348_crl233_nds55/media_graphics_HAL.html
实现了一个模拟任天堂系统的音频处理单元(APU)的音频系统。通过将 APU 的 Verilog 实现与 SD 读卡器和 6502 处理器的软件模拟器相结合,使用系统来读取和播放视频游戏原声带和原始芯片曲封面。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760.Final.Project.Report/ece5760.Final.Project.Report.html
hackaday项目介绍
http://hackaday.com/2016/06/19/recreating-chiptunes-in-verilog/
视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760.Final.Project.Report/mp3/Shovel.Knight.mp3
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760_Final_Project_avh34_sz296/ece5760.Final.Project.Report/code/nes_apu.zip
俄罗斯方块于 1984 年发布,从那时起就成为一款标志性游戏。使用 VGA 作为输出和能够检测肤色的摄像头,用户可以使用手势控制来玩游戏。屏幕有四个主要区域。这些区域控制块是否向右、向左、旋转或向下移动两倍的速度。通过过滤视频流并在 YUV 颜色空间中查找特定类型的颜色,硬件可以识别用户的手何时进入四个部分之一并向游戏发送信号,指示它如何处理该块。该游戏包括允许玩家向左/向右移动棋子或旋转、倒计时直到游戏结束以及跟踪玩家得分的功能。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/rjb297_map379_cs795/rjb297_map379_cs795/rjb297_map379_cs795/index.html
hackaday项目介绍
http://hackaday.com/2016/05/28/hand-gestures-play-tetris/
视频链接
https://www.youtube.com/watch?v=v-qqfSnmufg
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/rjb297_map379_cs795/rjb297_map379_cs795/rjb297_map379_cs795/tetris_code.zip
我们在 DE1-SOC 上创建了一个自动击球手游戏,可以玩模拟游戏板球 cricket 07。该游戏在 PC 上运行,VGA 输出路由到 FPGA,FPGA 对传入帧执行图像处理,然后发送按键命令传回 PC。最终,FPGA AI能够击败游戏内置AI。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/mjf332_mkp53_sm893/mjf332_mkp53_sm893/index.html
hackaday项目介绍
http://hackaday.com/2016/05/23/computers-beating-computers-at-cricket/
视频链接
https://www.youtube.com/watch?v=TcaY5SJkQ9Y
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/mjf332_mkp53_sm893/mjf332_mkp53_sm893/ECE_5760_Cricket_AI_files/Cricket_2007_AutoBatter.zip
设计了一款游戏,可以在其中扮演一个小而简单的世界之神。玩家可以在 320x240 的小世界中调整环境参数,这反过来又会影响世界上的生物不断进化并相互作用。网格中的每个位置都有自己的位置环境参数,并根据这些参数,生物进食、狩猎、漫游、交配或死亡。
项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/msm294_tj93/msm294_tj93/index.html
视频链接
无
代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2016/msm294_tj93/msm294_tj93/index.html
项目很多,从2016~2023年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。