Verilog - HDL—乐曲演奏电路设计(5)

2019-08-31 11:06

6)音乐发生器模块,仿真波形如下:

7)取码模块,仿真波形如下:

21

8)显示模块,仿真波形如下:

引脚锁定:

待各个功能模块波形仿真通过后,画出原理图,仿真完毕,接下来开始引脚锁定:引脚锁定列表如下表所示:

端口名称 clk_48mhz Speaker Dig[0] Dig[1] Dig[2] Dig[3] Dig[4] Dig[5] Dig[6] k 引脚位置 N2 F18 L6 K5 G3 G4 J3 K4 L3 L25 端口名称 Dig[7] Seg[0] Seg[1] Seg[2] Seg[3] Seg[4] Seg[5] Seg[6] Seg[7] 引脚位置 M4 J8 M3 K6 J6 U10 N9 L10 L9 22

引脚锁定后下载程序:

安装usb-blaster驱动程序。配置JTAG文件,下载程序到试验箱FPGA芯片中进行调试,仿真和修改直到得到预期的仿真结果。

附录一:乐曲演奏电路设计原理图及其生成的顶层文件

由原理图生成文本文件,源程序和如下: // Copyright (C) 1991-2006 Altera Corporation

// Your Use Of Altera Corporation's Design Tools, Logic Functions // And Other Software And Tools, And Its Ampp Partner Logic // Functions, And Any Output Files Any Of The Foregoing

// (Including Device Programming Or Simulation Files), And Any // Associated Documentation Or Information Are Expressly Subject // To The Terms And Conditions Of The Altera Program License // Subscription Agreement, Altera Megacore Function License // Agreement, Or Other Applicable License Agreement, Including, // Without Limitation, That Your Use Is For The Sole Purpose Of // Programming Logic Devices Manufactured By Altera And Sold By // Altera Or Its Authorized Distributors. Please Refer To The // Applicable Agreement For Further Details.

Module Block1( Clk_48mhz, Speaker, Dig, Seg );

23

Input Clk_48mhz; Output Speaker; Output [7:0] Dig; Output [7:0] Seg; Wire Synthesized_Wire_12; Wire Synthesized_Wire_4; Wire [6:0] Synthesized_Wire_5; Wire Synthesized_Wire_6; Wire Synthesized_Wire_7; Wire Synthesized_Wire_8; Wire [3:0] Synthesized_Wire_9; Wire [3:0] Synthesized_Wire_10; Wire [3:0] Synthesized_Wire_11; Div_Clk12mhz B2v_Inst(.Clk_48mhz(Clk_48mhz), .Clk_12mhz(Synthesized_Wire_12));

Div_Clk1khz B2v_Inst1(.Clk_12mhz(Synthesized_Wire_12), .Clk_1khz(Synthesized_Wire_4));

Div_Clk1mhz B2v_Inst2(.Clk_12mhz(Synthesized_Wire_12), .Clk_1mhz(Synthesized_Wire_8));

Div_Clk4hz B2v_Inst3(.Clk_12mhz(Synthesized_Wire_12), .Clk_4hz(Synthesized_Wire_7));

Div_Clk6mhz B2v_Inst4(.Clk_12mhz(Synthesized_Wire_12), .Clk_6mhz(Synthesized_Wire_6));

Disp B2v_Inst5(.Clk_1khz(Synthesized_Wire_4), .Duan(Synthesized_Wire_5),.Seg(Seg));

Song B2v_Inst6(.Clk_6mhz(Synthesized_Wire_6),

.Clk_4hz(Synthesized_Wire_7),.Speaker(Speaker),.High(Synthesized_Wire_9),.Low(Synthesized_Wire_10),.Med(Synthesized_Wire_11));

Quma B2v_Inst9(.Clk_1mhz(Synthesized_Wire_8),

.High(Synthesized_Wire_9),.Low(Synthesized_Wire_10),.Med(Synthesized_Wire_11),.Dig(Dig),.Duan(Synthesized_Wire_5)); Endmodule

24

实训心得

经过2个周的实训,我深刻体会到了自己知识的匮乏原来,我们学习的只是一个理论知识,通过这次实习。使我的理论知识上升到了一个实践的过程。同时在实践中也加深了我们对理论知识的理解。另外,这次实习不仅使我的verilog有一个很大的提高,而且还使我 学到了许多其他方面的知识,提高了我的动手能力。

在本次实训中,我们遇到了不少问题,其中就是由12mhz分频4hz的时候仿真波形不能仿真出来,经过一步一步的分析才发现,原来我们设置的endtime时间太长,本来想仿真出多个波形,便于观察设置了10s,结果仿真到百分之49然后就仿真不动了。经过调试设置了0.5秒,这样经过十几分钟的仿真,把仿真波形给调试出来了。其次,在编程的时候,程序综合也出现了好多错误,比如在song模块中阻塞非阻塞赋值同时出现在一个程序中,在显示模块中,开始编写的是七位二进制共阴数码管,结果在硬件测试的时候数码管显示不正常,才发现小数点没有赋值,而且数码管是共阳的,经过调试和修改程序,成功的使高中低音调和音节显示出来。再次,在想编译2首歌,用switch切换演唱不同歌曲时,经过我们小组成员共同研究歌谱和例子进行对比,经过一下午写出了两只蝴蝶的程序,经过修改song程序,成功的进行了仿真。最后,再用点阵显示歌名的时候,发现芯片点阵输出引脚只有3个,经过老师的分析讲解,让我们又学会了一个新的程序。

通过这次实习,不仅使我们对所学过的知识有了一个新的认识。而且提高了我考虑问题,分析问题的全面性以及动手操作能力。培养了我的团队合作精神、学以致用的意识以及做事情要规范的认真态度。使我的综合能力有了一个很大的提高。总之,课程设计是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,思考和解决问题的能力。它不仅加深了我对电子技术课程的理解,还让我感受到了设计电路的乐趣。不怕麻烦,反复设计、绘图与修改,就是希望能把这次课程设计做好。因此对我来说,这次课程设计是非常有意义的

25


Verilog - HDL—乐曲演奏电路设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西安西隆电气有限责任公司与西安沙尔特宝电气有限公司实地参观学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: