音乐流水灯音乐播放器数码管显示Verilog

名称:音乐流水灯音乐播放器数码管(代码在文末付费下载)

软件:Quartus

语言:Verilog

要求:

要求设计一个基于FPGA的带数码管显示的音乐流水灯装置。

  1、在EDA工具Quartusll13.0平台上,运用Verilog语言模块化与层次化的设计方法,

    编写单一状态机控制各个模块,并实现流水灯 闪烁、数码管显示及音乐播放等功能。

 2、设计代码简洁,系统稳定,便于维护和修改,灵活性强。

 3、可根据用户的喜好改变乐曲、流水灯闪烁方式以及数码管显示内容。

代码下载:音乐流水灯音乐播放器数码管Verilog_Verilog/VHDL资源下载

代码网:hdlcode.com

部分代码展示

module music(sysclk,key_speed,key_style, model_Key,led, spkout,HEX0);
   input           sysclk;//50M晶振
input key_speed;//切换速度,按下高电平
input key_style;//切换样式
   input           model_Key;//歌曲选择键
   output          spkout;//蜂鸣器输出
output      [7:0] led;//流水灯
output      [7:0] HEX0;//数码管-低亮
wire  model_Key_down;
wire       [9:0] tonestep;
   wire      [7:0] tonecode;
wire      [3:0] music_num;
   //调用频率控制字产生模块
   musicdec u_musicdec
(
.tonecode(tonecode),//输入简谱
.tonestep(tonestep)//输出频率控制字
);
   
//调用按键消抖模块
key_jitter u1_key_jitter(
     . clkin(sysclk),   
     . key_in(model_Key),//输入
  . key_negedge(model_Key_down)//消抖后按键下降沿
);
//音乐控制模块
music_ctrl i_music_ctrl(
.sysclk(sysclk), 
.model_Key_down(model_Key_down), //model_Key_down
.music_num(music_num),
.tonecode(tonecode),//简谱
.tonestep(tonestep),//频率控制字
.spkout(spkout)蜂鸣器输出
);
//流水灯模块
water_lamp i_water_lamp(
. clk_50M(sysclk),//50MHz
. key_speed(key_speed),//切换速度
. key_style(key_style),//切换样式
. led(led)//led流水灯
);
//显示模块
display i_display(
. clk(sysclk),
. music_num(music_num),//当前歌曲
. HEX0(HEX0)//数码管-低亮
);
endmodule

设计文档(文档点击可下载):

设计文档.doc

1. 工程文件

音乐流水灯音乐播放器数码管显示Verilog_第1张图片

2. 程序文件

音乐流水灯音乐播放器数码管显示Verilog_第2张图片

3. 程序编译

音乐流水灯音乐播放器数码管显示Verilog_第3张图片

4. RTL图

音乐流水灯音乐播放器数码管显示Verilog_第4张图片

5. 仿真图

显示模块

音乐流水灯音乐播放器数码管显示Verilog_第5张图片

流水灯模块

音乐流水灯音乐播放器数码管显示Verilog_第6张图片

音乐流水灯音乐播放器数码管显示Verilog_第7张图片

按键消抖模块

音乐流水灯音乐播放器数码管显示Verilog_第8张图片

简谱频率控制模块

本代码已在以下开发板验证,开发板资料:

FPGA开发板使用手册V1.0.pdf

大西瓜第一代FPGA开发板使用手册V1.0.pdf

你可能感兴趣的:(fpga开发)