西南科技大学FPGA实验报告四2015
更新时间:2023-05-17 19:41:01 阅读量: 实用文档 文档下载
硬件电子琴的制作
西南科技大学 实验报告
课程名称: FPGA
实验名称: 硬件电子琴电路设计
姓 名: 学 号: 2012 班 级: 电子12 指导教师:
西南科技大学信息工程学院制
硬件电子琴的制作
实验题目
一、 实验原理
主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v(例4) 和ToneTaba.v (例3),NoteTabs.v (例2)。
模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对
应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。
模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构
成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。
增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,
即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
二、 实验步骤
分四步
1、将待播放的《梁祝》音乐音符存入ROM:建立一个.txt的文本文件,将梁祝的音乐音乐音符数据写入,再将后缀名改为.coe文件。
建立一个IP core,名为MUSIC.将MUSIC.core添加到IP core中。
2、建立一个NoteTabs.V文件,从Music.v的ROM(只读存储器)读取数据,进行节拍控制,和音阶选择。经过仿真无误后进行下一步。
3、建立 div_50_12 module,将50MHZ的时钟频率转化成12.5MHZ近似为12MHZ。 4、建立 div_50_4 module,对50MHZ的时钟频率分频成4HZ。
5、建立ToneTaba module,获得该音阶的分频预置值,音阶简谱的显示数码,音阶高8度显示。
6、建立 Speakera module,获得分频预置值,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。
硬件电子琴的制作
三、 实验结果及分析
50MHZ分为12MHZ的代码:
module div_50_12(clk_50M,clk_12MHZ,reset); input clk_50M; input reset; output clk_12MHZ; reg [1:0] counter; reg clk_12MHZ;
always @ (posedge clk_50M or negedge reset) if(!reset)
counter <= 2'b000; else
if(counter == 4)//分频预置数4,实际上的频率是12.5MHZ counter <= 2'b00;
else
counter <= counter + 1'b1;
always @ (posedge clk_50M or negedge reset) if(!reset) clk_12MHZ <= 1'b0; else begin
if(counter ==2'b11) clk_12MHZ <= 1'b1; else clk_12MHZ <= 1'b0;
end
Endmodule 仿真波形:
硬件电子琴的制作
分析:频率近似为12分频,因为在always中同一个变量counter的指不能被赋值两次,否则容易引起竞争冒险等问题。
2、NoteTabs模块的测试,仿真波形如图所示:
分析:因为梁祝音乐中写入的开头有1拍的‘3’,又因为是以1/4拍的形式存放在ROM里的,所以NoteTabs是4个1/4拍的’3’。3/4拍的’5’。 附:仿真的test fixture文件 module test_NoteTabs;
reg Clk;
wire [3:0] ToneIndex; NoteTabs uut ( );
initial begin
Clk = 0;
forever #10 Clk=~Clk;//因为时钟是50MHZ,所以1/2T=10ns
.Clk(Clk),
.ToneIndex(ToneIndex)
end initial #1000 $stop;
endmodule
3、ToneTaba模块的仿真与测试 仿真波形为:
硬件电子琴的制作
分析:可知当index=0001时,tone=1403d=01100000101b,符合要求,正确 测试代码:module TestToneTaba;
reg [3:0] Index; wire [3:0] Code; wire High; wire [10:0] Tone; ToneTaba uut ( ); initial begin
#50; Index=1; #30; Index=2; #20; Index=3; #100;
.Index(Index), .Code(Code), .High(High), .Tone(Tone)
Index = 0;
end
endmodule
4、顶层模块的例化,然后进行综合,布局布线,生成课执行文件.bit文件,下载到板子上去。 顶层模块代码:
module songer(clk_50M,reset,Code1,High1,Spkout); input clk_50M;//CLK=50MHZ input reset; output[3:0] Code1; output High1,Spkout;
硬件电子琴的制作
wire[10:0] Tone; wire[3:0] ToneIndex; wire clk_4HZ,clk_12M; NoteTabs u0( .Clk(clk_4HZ),
.ToneIndex(ToneIndex) );
ToneTaba u1( .Index(ToneIndex), .Code(Code1), .High(High1),
.Tone(Tone) ); Speakera u2( .Clk(clk_12M), .Tone(Tone),
.SpkS(Spkout) ); div_50_12 u3(clk_50M,clk_12M,reset); div_50_4HZ u4(clk_50M,clk_4HZ,reset); endmodule
四、 实验思考题解答(实验指导书要求的思考题)
1、答:输出的频率要在扬声器的工作频率范围内,输出的电流要能够直接驱动扬声器的正常工作
2、答:将存储音符的ROM里面的内容改变,将notetabs里面的读取乐符数改变
五、 体会
这是我第一次的实验成功,主要归结于自己平时下课后不停的摸索,预习。学会了自己编写激励文件,改变了原始的画波形方式。
对于实验的波形观察也有了深刻的理解,但是我们所有的模块都是用的always语句,可以尝试一下用其他的语句实现同样的功能,增加我们对于语言使用的灵活性。
正在阅读:
西南科技大学FPGA实验报告四201505-17
高中数学教学经验总结06-04
HP823磨煤机叶轮装置优化改进-张涛01-31
气卸散装水泥罐式汽车项目可行性研究报告(目录) - 图文05-23
环境艺术设计本科毕业论文05-24
小学生良好课堂行为习惯培养的教育案例06-05
打包线岗位分工 流程与职责11-18
液压系统故障 - 图文01-04
微笑服务格言02-07
人教版七年级下册数学第七单元综合测试卷06-18
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 西南
- 实验
- 报告
- 大学
- 科技
- FPGA
- 2015
- 凉菜年夜饭菜谱推荐 共8道
- 2018河北石家庄第一中学高考模拟仿真试卷地理(含答案)
- 在钢结构工程中超声波探伤检查的应用-论文
- 203班 第二学期八年级物理期末试卷(2)
- 《公司战略与风险管理》第三章 战略选择31
- 文理科第二批第2次征求志愿计划
- 电大专科行政管理专业社会调查报告
- 国际公共管理案例分析论文范文两篇
- 突围-服装经销商如何做强做大
- 合富辉煌 二零零八年中期报告
- 小学五年级走进春天作文
- 北师大版七年级数学认识三角形练习题
- 铁皮石斛集约化高产栽培技术研究
- ISO9000基础知识及质量意识
- 外文文献英文NAOH吸收CO2
- 生态学 推荐书籍
- 《算法设计与分析》- 课内上机实验题目及其解答
- 分级素质词典(hay)
- 2013-2014学年度六年级上册数学期末试卷(5)
- 液力缓速器基本结构及工作原理