电子琴音乐播放 FPGA 设计 VHDL Quartus

名称:电子琴音乐播放 FPGA 设计 VHDL Quartus

软件:Quartus

语言:VHDL

功能介绍

本设计实现一个基于 FPGA 的电子琴音乐播放系统,使用 50MHz 时钟作为系统输入,通过按键输入选择不同音符,并由音乐输出端产生对应的声音信号。顶层接口包含 8 位键盘输入、复位、模式选择以及音乐输出,适合用于学习 FPGA 音频方波发生、按键控制和简单数字音乐播放的完整流程。 系统支持电子琴手动弹奏与预置音乐播放相关功能。按键输入用于选择音调,模式选择信号用于在不同音乐输出路径之间切换,最终通过输出端驱动外部蜂鸣器或音频输出电路,实现可听的电子琴演示效果。 工程结构较完整,包含顶层控制、音调查表、分频、预置音乐 ROM、二选一选择模块以及 testbench。对于课程设计、实验报告、FPGA 入门项目和音乐类数字系统设计,该工程具有较好的参考价值。

运行环境

开发语言:VHDL 开发软件:Quartus 仿真环境:ModelSim 相关仿真目录与 testbench 工程文件包含 Quartus 项目文件、管脚约束文件、编译输出文件以及 SOF 配置文件,可用于综合、编译、时序分析和下载验证。

设计思路

设计采用模块化结构完成电子琴功能。系统以 50MHz 时钟作为统一时钟源,分频模块根据目标音调产生不同频率基准,使输出端能够形成对应音高的方波信号。按键输入作为音符选择信号,控制模块根据当前按键状态选择音调参数,从而实现电子琴按键发声。 在音乐播放部分,工程加入预置音乐数据 ROM 模块,用于保存固定旋律数据。系统可根据模式选择信号在手动按键演奏和预置音乐播放之间切换,二选一模块负责选择最终输出路径,使整体功能既能用于按键演示,也能用于固定旋律播放演示。 顶层模块负责连接时钟、复位、按键、模式选择和音乐输出,并将分频、音调表、电子琴控制、预置音乐数据和选择模块组合起来。这样的结构便于单独理解每个功能模块,也便于在实验中替换音调表、修改预置旋律或扩展更多按键音阶。

模块结构

主要模块包括: 1. electronic_organ_top:顶层模块,连接 50MHz 时钟、复位、键盘输入、模式选择和音乐输出。 2. electronic_organ:电子琴控制模块,处理按键输入与音调控制逻辑。 3. div:分频模块,用于从系统时钟生成发声所需的分频信号。 4. ToneTaba:音调查表模块,为不同按键或音符提供对应音调参数。 5. chuanqi:预置音乐数据 ROM 相关模块,用于固定旋律播放。 6. mux2_1:二选一模块,用于在不同声音输出来源之间进行选择。 7. tb_electronic_organ:仿真测试模块,用于配合 ModelSim 观察整体逻辑行为。

开发板验证

工程提供 Quartus 管脚约束/分配文件,可用于开发板下载验证。顶层信号包括 50MHz 时钟输入、低电平复位、8 位按键输入、模式选择输入和音乐输出,便于连接开发板按键、拨码开关及时钟资源,并将 o_music 输出到蜂鸣器或音频接口进行实际演示。

演示视频

配套演示视频展示电子琴工程的实际运行效果,可用于直观看到按键输入、模式选择和音乐输出的演示过程。

仿真图/仿真说明/设计文档图片

设计文档包含工程文件、程序文件、程序编译、RTL 图、testbench、整体仿真图、分频模块、电子琴控制模块、预置音乐数据 ROM 和二选一模块等内容。仿真部分适合用于理解模块连接关系、验证顶层逻辑流程,并辅助撰写课程设计或实验报告。

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image1.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image10.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image11.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image12.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image2.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image3.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image4.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image5.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image6.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image7.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image8.png

电子琴音乐播放 FPGA 设计 VHDL Quartus 设计文档图片 image9.png

部分代码

以下展示顶层模块 electronic_organ_top 的部分代码,完整源码请下载压缩包查看。

entity electronic_organ_top is
  port (
    iclk_50 : in  std_logic;                 -- 50MHz 输入时钟
    rst     : in  std_logic;                 -- 低电平复位
    keyin   : in  std_logic_vector(7 downto 0); -- 键盘输入
    s       : in  std_logic;                 -- 模式选择
    o_music : out std_logic                 -- 音乐输出
    
  );
end entity electronic_organ_top;

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 电子琴音乐播放 FPGA 设计 VHDL Quartus

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员