欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    数电EDA简易电子琴Verilog-设计说明.doc

    • 资源ID:6078       资源大小:120KB        全文页数:8页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数电EDA简易电子琴Verilog-设计说明.doc

    . . 数字电子技术课程设计-简易电子琴设计专 业 : 姓 名 : 学 号 : 日 期 : 1、 设计任务用VerilogHDL语言设计简易电子琴。(1)单独从左至右按下S1-S7每个按键后能够各自对应发出 “哆来咪发唆啦西”的音乐声;(2)按下最右边按键(S8),同时再配合按下S1-S7键后,发高八度的对应音;(3)按键需要进行“消抖”处理;(4)外部输入脉冲信号频率为1mhz;(5)扩展要求:自主设计(增加低8度功能)。二、实验目的1、学习verilogHDL语言的基本运用,能够利用其进行简单编程;2、学习使用Quartus7.0的基本操作,能够利用其进行简单的设计;3、结合实践加深对理论知识的理解。三、设计原理1)喇叭的振动频率不同,导致产生不同的声音;振动频率越低,声音越低沉,振动频率越高,声音越尖锐。题目中音乐基本音的 “哆”对应频率为523Hz 、“来”对应频率为587Hz 、“咪”对应频率为659Hz 、“发”对应频率为698Hz 、“唆”对应频率为784Hz 、“啦”对应频率为880Hz 、“西”对应频率为998Hz。低8度音:基本音频率/2,例如低音1的频率为523/2=261.5Hz。高8度音:基本音频率×2,例如高音1的频率为523×2=1046Hz.。不同的频率产生利用给定的时钟脉冲来进行分频实现。(2)消抖的原理:按键默认输入逻辑1,当有按键按下时对应的输入为逻辑0(但会存在抖动),当FPGA开始检测到该引脚从1变为0后开始定时(按键抖动时间大约10ms),定时时间完毕后若该引脚仍然为0则表示确实发生按键按下,否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。(3)原理框图四、程序设计消抖模块module xiaodou(key_in,key_out,clk);input key_in;input clk;output key_out;reg key_out;reg 2:0presta;integer q;parameter s0=3'b000, s1=3'b001, s2=3'b010, s3=3'b011, s4=3'b100, s5=3'b101, s6=3'b110, s7=3'b111;always(posedge clk)begincase(presta)s0:beginkey_out<=0;q<=0;if(key_in=1)presta<=s0;elsepresta<=s1;ends1:beginkey_out<=0;if(q>9999)presta<=s2;elseq<=q+1;ends2:beginkey_out<=0;q<=0;if(key_in=1)presta<=s0;elsepresta<=s3;ends3:beginkey_out<=1;q<=0;if(key_in=0)presta<=s3;elsepresta<=s4;ends4:beginkey_out<=1;if(q>44444)presta<=s5;elseq<=q+1;ends5:beginq<=0;if(key_in=1)presta<=s0;elsepresta<=s3;ends6:beginpresta<=s0;ends7:beginpresta<=s0;endendcaseendendmodule按键模块module anjian(a,b,c,d,e,f,g,h,i,qout);input a,b,c,d,e,f,g,h,i;output 10:0 qout;reg 8:0 q;reg 10:0 qout;always(a or b or c or d or e or f or g or h or i)beginq0=i;q1=h;q2=g;q3=f;q4=e;q5=d;q6=c;q7=b;q8=a;endalways(q)begincase(q)9'b100000000:qout<=11'b;9'b010000000:qout<=11'b;9'b001000000:qout<=11'b;9'b000100000:qout<=11'b;9'b000010000:qout<=11'b;9'b000001000:qout<=11'b;9'b000000100:qout<=11'b;9'b100000010:qout<=11'b;9'b010000010:qout<=11'b;9'b001000010:qout<=11'b;9'b000100010:qout<=11'b;9'b000010010:qout<=11'b;9'b000001010:qout<=11'b;9'b000000110:qout<=11'b;9'b100000001:qout<=11'b;9'b010000001:qout<=11'b;9'b001000001:qout<=11'b;9'b000100001:qout<=11'b;9'b000010001:qout<=11'b;9'b000001001:qout<=11'b;9'b000000101:qout<=11'b;9'b000000011:qout<=11'b;9'b000000001:qout<=11'b;9'b000000000:qout<=11'b;9'b000000010:qout<=11'b;default:qout<=qout;endcaseendendmodule分频模块module fenpin(clk_1M,yuzhi,pl_out);input clk_1M;input 10:0yuzhi;reg 10:0q;output pl_out;reg pl_out;always(posedge clk_1M)beginif(yuzhi>0)beginif(q<yuzhi)beginq<=q+1;pl_out<=0;endelsebeginq<=11'b;pl_out<=1;endendelsebeginq<=11'b;pl_out<=1;endendendmodule五、原理图与仿真波形图六、 心得体会由于之前对本次设计所需知识了解较少,所以在实验过程中遇到了很多的困难,真的很难,但是同样在解决各种困难的过程中也有所收获。从书本上获得的知识跟实践之间具有很大的差距,这要求我们要加强锻炼自己的实际操作能力。首先,在课程设计之前,要先了解我们要完成什么功能,否则做的任何努力都是无用功。其次,在编写程序过程中,要有耐心,端正态度,积极思考,认真对待。另外,遇到问题首先要自己思考 ,但是实在无法解决的时候一定要细心地向别人请教或是在网上查找资料。最后要对自己之前的操作和执行进行纠错和总结经验,提升自己。在以后的学习中要注意培养自主学习的能力和文献查阅的能力,以与很重要的动手能力。8 / 8

    注意事项

    本文(数电EDA简易电子琴Verilog-设计说明.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开