实验四: 硬件电子琴电路设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《FPGA》课程报告 设计题目: 学生班级: 学生学号: 学生姓名: 指导教师: 时 间: 成 绩: 硬件电子琴电路设计 一、实验目的: 学习利用数控分频器设计硬件电子琴实验。 二、实验原理: 主系统由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.分别输入ToneTaba.v和Speakera.v的Verilog HDL文本: 其中ToneTaba.v的代码是: Speakera.v的代码是: 然后写testbench方针文件,进行方针: ToneTaba.v的testbench文件代码是: 仿真图形是: Speakera.v的testbench文件代码是: 仿真图形如下: 2.首先打开电脑上的记事本,按照COE文件的格式要求输入《梁祝》音乐,并存盘。 新建一个IPcore: 选择Read Only 存储器位宽:Width 为4,深度:Depth为256 按Next继续设定 钩选Load Init File 点击Load File…按键,装载初始文件Music.coe 点击Generate按键生成ROM的 IP CORE 输入NoteTabs.v文件,实现按照4HZ频率循环读取ROM的音乐节拍、频率信号。 NoteTabs.v的testbench文件代码是: 仿真图形如下: 3.输入div_50_12M.v、div_50_4HZ.v 的Verilog HDL文本: 其中div_50_12M.v的代码是: div_50_4HZ.v的代码如下: div_50_12M.v的testbench文件代码是: 仿真图像如下: 写顶层文件将上面的模块例化在一起: 最后执行综合。 4.执行完上述步骤后,进行索引脚操作 : 锁引脚完成后,编辑、修改约束文件: 5.生成下载配置文件,下载到开发板进行经行验证。 四、思考题: 1、电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声? 答:电路上应当满足输出的频率在扬声器的工作范围之内,且驱动电流能够驱动扬声器。 2、如果演奏其他乐曲,程序应做哪些方面的改动? 答:Music模块要改掉,改成相应乐曲的谱调。

文档评论(0)

44422264 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档