Layheng-Hok / Digital-Piano

Digital Piano: FPGA project in Verilog based on Xilinx Atrix-7 EGO1 - SUSTech's project of course CS207: Digital Logic in Fall 2023 - Score: 120/100

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Electronic Piano Learning Machine

Electronic Piano Learning Machine is a piano project implemented in Verilog based on Xilinx Artix-7 FPGA development board, EGO1 (XC7A35T-1CSG324C).

[Read the detailed project specifications]

[Read the detailed project report]

Preview

Control Diagram of FPGA Board

FPGA Board Connected to a Monitor and a Buzzer

Functionalities

  • Free mode: play any of the 7 notes (do, re, mi, fa, so, la, and si) freely
  • Autoplay mode: listen to any songs from the music library (Twinkle Twinkle Little Star, Two Tigers, and Ode to Joy)
  • Learning mode: learn how to play any songs from the music library with real-time performance rating
  • Save user's highest score in learning mode (support up to 3 users)
  • Support octave adjustment in every mode, including high, normal, and low ocatave, hence able to output 7×3 = 21 different music notes
  • Support speed adjustment in autoplay mode
  • Support VGA, LED, and seven-segment display output for intuitive and convenient interaction with the FPGA board

Contributors

About

Digital Piano: FPGA project in Verilog based on Xilinx Atrix-7 EGO1 - SUSTech's project of course CS207: Digital Logic in Fall 2023 - Score: 120/100


Languages

Language:Verilog 55.0%Language:SystemVerilog 39.8%Language:Tcl 3.4%Language:VHDL 1.8%