名称:Quartus水晶球的设计Verilog代码远程云端平台(文末获取)
软件:Quartus
语言:Verilog
代码功能:
设计内容:基于FPGA的水晶球的设计。
设计要求:
(1)设计语言为 Verilog
(2)设计基于FPGA的水晶球的设计,要求能够存贮4首歌曲,并通过扬声器播放,播放过程中
可以通过按键控制暂停,同时用数码管显示当前播放歌曲序号,并每首歌曲需要配合不同颜色的彩灯
(3)采用层次化的设计。
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. 管脚分配
5. RTL图
6. 仿真文件(VWF)
7. 仿真图
下图红框为暂停
部分代码展示:
module music(sysclk,switch, model_Key,led, spkout,HEX0); input sysclk;//10M晶振 input switch; input model_Key;//歌曲选择键 output spkout;//蜂鸣器输出 output [3:0] led;//指示灯 output [7:0] HEX0;//数码管-低亮 wire model_Key_down; wire [9:0] tonestep; wire [7:0] tonecode; wire [3:0] music_num; wire clk_valid; assign clk_valid=sysclk & switch; //调用频率控制字产生模块 musicdec u_musicdec ( .tonecode(tonecode),//输入简谱 .tonestep(tonestep)//输出频率控制字 ); //调用按键上升沿模块 key_jitter u_key_jitter( . clkin(clk_valid), . key_in(model_Key),//输入 . key_posedge(model_Key_down)//按键上升沿 ); //音乐控制模块 music_ctrl i_music_ctrl( .sysclk(clk_valid), .model_Key_down(model_Key_down), .music_num(music_num), .tonecode(tonecode),//简谱 .tonestep(tonestep),//频率控制字 .spkout(spkout), .led(led) ); //显示模块 display i_display( . clk(clk_valid), . music_num(music_num),//当前歌曲 . HEX0(HEX0)//数码管-低亮 ); endmodule
源代码
扫描文章末尾的公众号二维码