看看國外大學的FPGA開發項目
據我了解,目前國內很多大學是沒有開設FPGA相關課程的,所以很多同學都是自學,但是自學需要一定的目標和項目,今天我們就去看看常春藤盟校Cornell University 康奈爾大學開設的FPGA項目課程,大部分課程是有源碼的,而且和國內使用習慣類似都是Verilog開發,還是很有借鑒意義的。
今天介紹完2019年之前的項目,之前的項目詳情請查看《國外大學生都用FPGA做什么項目(一)》
項目鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
項目介紹
Spring 2022 開發板 CycloneV DE1-SoC
跟多項目:
https://editor.mdnice.com/?outId=5a521c2baa234432bc31acd5c8f76bdf
Mandelbrot Set Animation rate Optimization-Mandelbrot 設置動畫速率優化
通過添加更精細的縮放并引入動畫功能來提高渲染器。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/sjz38_dap263/sjz38_dap263/index.html
視頻鏈接
https://youtu.be/2Gb_gybhv3A
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/sjz38_dap263/sjz38_dap263/appendix.html
HPP Cellular Automaton-HPP Cellular自動機
設計、實現并測試了一個 HPP Cellular自動機,它可以在 640 x 480 VGA 屏幕上可視化。HPP 模型是用于模擬氣體和液體的基本晶格氣體自動機(引自百科)。除了粒子模擬的功能外,系統還支持各種用戶交互,以探索多達 120 萬個粒子的無限可能性。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/qd39_kh537_sq85/HPP-cellular-automaton-FPGA/index.html
視頻鏈接
https://youtu.be/qGom1fkaAP0
代碼鏈接
https://github.com/qd39l/HPP-cellular-automaton-FPGA/tree/main
FFT based Landscape Generation-基于 FFT 的景觀生成
設計一個自動生成 3D 景觀并顯示它們的系統。希望包含可移動光源的功能,該光源可以在顯示的圖像中產生陰影。通過旋轉 VGA 屏幕上的風景并改變光線的方向,用戶可以隨機探索不同的視角。我們的實現利用 FFT 算法將隨機輸入圖像轉換為輸出圖像,其像素值在最終結果中被解釋為景觀高度。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jjw254_lmm343_ag988/ece5760-gh-pages/index.html
視頻鏈接
https://youtu.be/9IEg6CW8-yE
代碼鏈接
https://drive.google.com/file/d/1wjD5AT4hd3rRkt8GshjbtnR-DHFf804R/view
Anaglyph 3D from video input-來自視頻輸入的立體 3D
通過 FPGA 上的硬件加速創建了逼真、實時的浮雕 3D 視頻和相關深度圖。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jad452_ezw2_edk52/docs/index.html
視頻鏈接
https://youtu.be/WhVD_qxHhO8
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jad452_ezw2_edk52/docs/index.html#appendix
Gesture Based User Interface-基于手勢的用戶交互接口
開發了一個基于手勢的用戶界面,它使用 NTSC 攝像頭來跟蹤特定顏色。允許用戶持有魔杖(或任何該顏色的東西)作為實時、非接觸式手寫筆。視頻流和顏色檢測算法在硬件上實現。為了展示該項目的多功能性,我們創建了三個(半) 使用這種基于手勢的用戶界面的迷你游戲。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/zen3-rmt229-spb228/index.html
視頻鏈接
https://youtu.be/t3wiyY3wj0o
代碼鏈接
https://github.coecis.cornell.edu/spb228/ECE5760_Team18
Fourier Drawing and sound synthesis-傅里葉繪圖和聲音合成
在這個項目中,我們的目標是使用傅里葉分析和合成在VGA上重繪用戶輸入的圖像并播放圖像的聲音。當按順序給出坐標時,傅里葉分析和合成得出近似于用戶輸入圖像的諧波方程。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/yy796_hh543_ja499/yy796_hh543_ja499/final.html
視頻鏈接
https://youtu.be/RKkkq6O9Xi8
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/DE1_SOC/HPS_peripherials/DSP_index.html
Particle Projectile Simulator-粒子彈丸模擬器
該項目的目的是使用 DE1-SoC 上的 FPGA 模擬粒子射彈系統。該解決方案使用硬件中的運動學方程迭代粒子,并將生成的射彈顯示在 640x480 VGA 顯示屏上。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/aei23/FinalWebsite/Index.html
視頻鏈接
https://www.youtube.com/watch?v=7bCqdMEtbe8
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/aei23/FinalWebsite/Index.html
Neural net-神經網絡
未開放~
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jfw225_klt45/jfw225_klt45/index.html
視頻鏈接
https://youtu.be/w3I1DwIM_Wg
Fall 2020開發板CycloneV SoC
Connect Four AI-AI四子棋
在 FPGA 上的硬件中創建 Connect Four AI。我們的目標不僅是開發一種對人類玩家具有一定程度挑戰的人工智能,而且是加速程序的執行和決策速度,比具有相同行為的基于軟件的人工智能快得多。我們的最終結果是一個虛擬的四子棋玩家,其決策與人類玩家的游戲方式驚人相似,因為我們基于直覺開發了最終人工智能所包含的多個邏輯層。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/aht53_mb2532_ra462/websiteStuff/index.html
視頻鏈接
https://youtu.be/0pyqyh4LQd0
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/aht53_mb2532_ra462/websiteStuff/index.html#appendix
Matrix Multiplication Accelerator-矩陣乘法加速器
設計一個基于 FPGA 的矩陣乘法加速器,不僅加快了操作速度,還允許卸載執行以釋放一般處理器時間。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/bjd86_lgp36/bjd86_lgp36/index.html
視頻鏈接
https://youtu.be/0pyqyh4LQd0
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/bjd86_lgp36/bjd86_lgp36/index.html
Capital Letter Recognition with Harris Corner-使用 Harris Corner 進行大寫字母識別
Harris 角點檢測是一種角點檢測算子,通常在計算機視覺系統中用于提取圖像的某些類型的特征。它常用于圖像配準、3D 重建和對象識別。項目是在 FPGA 上使用Harris算法的字母識別系統。在我們的設計中,用戶將通過命令控制臺將圖像像素陣列發送到HPS,并且該值將通過SRAM與FPGA共享。然后,像素數據將與給定的3x3高斯濾波器矩陣進行卷積,并使用Harris角點方程進行計算,獲得每個像素的角點權重。最后,結果數組將與訓練數據庫進行比較,找到最可能的字母并將答案顯示在 VGA 顯示屏上。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/hj399_sl3292_jw2597/hj399_sl3292_jw2597/index.html
視頻鏈接
https://www.youtube.com/watch?v=vaEQ_IAY9V8&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=8
代碼鏈接
https://github.com/victorjing1104/ECE5750-Capital-Letter-Recognition-with-Harris-Corner-
Fractal Landscapes-分形景觀
1982 年的《星際迷航 2》使用分形景觀來模擬外星球!
?
在 FPGA 上創建分形景觀,并在 VGA 上顯示。分形景觀是程序生成的景觀,以一定程度的隨機性進行分形計算,使它們看起來非常自然。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/keb278_ajh322_nl392.html
視頻鏈接
https://www.youtube.com/watch?v=2iGEP-gRrzk&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=3
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/DE1_SoC_Computer.v
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/final_hps.c
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/diamondsquares.m
Bolero Surround Sound-Bolero 環繞聲
莫里斯·拉威爾的《波萊羅舞曲》是一首由多種樂器承載并沿著同一旋律線傳遞的作品。該項目旨在重現站在音樂家房間里演奏這部標志性作品片段的體驗。用戶能夠改變樂器的位置并聽到它們的部件來自不同方向。VGA 在不同位置繪制儀器,并隨著用戶移動儀器而更新聲音。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/ov37_dms486/ECE5760_FINAL-main/index.html
視頻鏈接
https://www.youtube.com/watch?v=l3B7Ojo7a4g&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=2&t=67s
代碼鏈接
https://github.com/ov37/ECE5760_FINAL
RF Signal Modulation Predictor-射頻信號調制預測器
創建了一個無線電調制分類器,可通過在 FPGA 上實現的卷積神經網絡來預測接收到的無線信號的調制方案。
它利用了軟件定義無線電(RTL-SDR)——通過 USB 連接到 ARM 處理器——獲得本地無線電信號。然后,無線電信號被發送到 FPGA,由 CNN(AM-SSB、WBFM、GFSK)進行分類。此外,信號 Walsh-Hadamard 變換的頻譜圖被繪制在 VGA 屏幕上,以可視化接收到的信號。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/plm93_yz2625_jo299/plm93_yz2625_jo299/index.html
視頻鏈接
https://www.youtube.com/watch?v=4QyU-ckhWz4&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=7
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/plm93_yz2625_jo299/plm93_yz2625_jo299/index.html
Graphing L-Systems on the FPGA-在 FPGA 上繪制 L 系統圖
?
?
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/psk92_mr858_cs968/index.html
視頻鏈接
https://www.youtube.com/watch?v=NIYnzu1di3o&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=5
代碼鏈接
https://github.com/priyakatt/FPGA_L-Systems
F1 Tire Prediction-F1 輪胎預測
?
在這個項目中為F1車隊設計和開發輪胎退化神經網絡模型,能夠在考慮比賽策略時評估所有車手在比賽期間的輪胎狀況。
項目介紹
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/sn438_fs383_rs872/sn438_fs383_rs872/index.html
視頻鏈接
https://www.youtube.com/watch?v=883qqANxAV8&list=PLDqMkB5cbBA7nUwrxsLgtrOsce9UgJXJb&index=4
代碼鏈接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/sn438_fs383_rs872/sn438_fs383_rs872/index.html
總結
項目很多,從2016~2023年,應該有一部分項目沒有展現出來,大部分都有視頻介紹,但是我看了一些視頻,都是簡單演示一下功能,并沒有設計思路,所以需要自行查看源碼中的文檔。
審核編輯:黃飛
評論
查看更多