ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:213.26KB ,
资源ID:8587225      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8587225.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(四路抢答器报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

四路抢答器报告.docx

1、四路抢答器报告硬件描述语言课程设计报告课题名称四路抢答器学生姓名王光陛学 号1107010322学 院应用科学学院专业班级电科11-3班完成地点新主楼C903完成时间2013年12月18日星期三指导教师王建民评阅意见:哈尔滨理工大学电子科学与技术系摘要Verilog HDL本身是一门比较复杂的语言,语法结构丰富。在王老师所教书中介绍了基于Verilog HDL的数字设计的基本原理和方法,重点是电路设计。为更好的将所学Verilog HDL语言的理论知识与实际应用结合起来,学会分析、解决实际的数字电路问题,锻炼独立进行某些数字应用系统的开发设计工作能力,我们在老师的指导下完成了此次项目设计。本设

2、计题目为四路抢答器电路,用Verilog HDL语言编写软件实现四路抢答功能。裁判发出开始信号后抢答有效(裁判使用拨码开关),一人抢答成功后其他人抢答无效直至裁判复位此状态后方可继续抢答(选手使用按键),同时使用数码管显示出选手的编号。四路抢答器电路设计的主要问题在于如何实现各个模块的正确分配,进而使设计出的电路更加符合要求。为了使各个模块能够正确分配,在程序开始设计之前,必须反复推敲本组的设计方案并设计好各个模块的方框图。根据实验题目要求并进行电路的仿真,电路的设计应包括2个模块,即实例化模块和抢答模块。此次设计四路抢答器电路的目的就是让同学们在学习Verilog HDL理论的基础上,通过对

3、题目要求的分析进一步实现实际电路的设计,使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。【关键词】Verilog HDL,四路抢答器,模块,数码管显示,电路设计第一部分 系统的设计1.1、设计要求(1)裁判发出开始信号后抢答有效。(2)设选手及裁判按钮,选手使用按键,裁判使用拨码开关。(3)一人抢答成功后,其他人再抢答无效,裁判复位此状态后方可继续抢答。(4)使用数码管显示选手的编号。1.2、设计目标(1)我们在课本上学习了相关的基础知识,所以需要进一步对实际题目进行程

4、序编写,以巩固所学知识,还可以发现自身不足。(2)程序编好后还需要在实验室调试电路,观察实验现象,进一步熟悉相关仪器设备的使用。(3)通过完成四人抢答器电路设计,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。(4)培养综合运用知识和独立开展实践创新的能力。(5)规范化训练学生撰写技术研究报告,提高书面表达能力。1.3、设计方法(1)仔细阅读课程设计题目要求,思考实现电路所需知识以及方法。(2)遇到本组内解决不了的问题,及时和其他小组交流或询问老师。(3)将任务分成若干

5、模块,查阅相关论文资料,分模块调试和完成任务。(4)通过完成该项任务,总结所学知识。1.4、实验设计结果(1)对所写程序进行编译无误。(2)在实验室对电路进行引脚分配和仿真,通过DE2开发板观察实验现象。(3)裁判发出开始信号后抢答有效。(4)一人抢答成功后,其他人再抢答无效,裁判复位此状态后方可继续抢答。(5)使用数码管显示选手的编号。第二部分 实验设计部分2.1、设计概述本次课程设计的四路抢答器要求实现以下功能,即裁判发出开始信号后抢答有效,设裁判及选手按钮,裁判使用拨码开关而选手使用按键。一人抢答成功后,其他人再抢答无效,裁判复位此状态后方可继续抢答,使用数码管显示选手的编号。抢答器的核

6、心部分为巧妙地利用D触发器的反馈,在检测到第一个上升沿时将按键(未按下时接低电平)接入的与门锁住,以保证与门只有一个上升沿输出,从而实现“最先按下按键的选手抢答成功,此后其他人抢答无效”。在与门输出上升沿的同时检测按键,用来确定是哪个选手抢答,用寄存器存储抢答选手的信息,最后数码管显示出抢答选手的编号。裁判对当时状态复位,则抢答重新开始,其原理同上。本设计要求采用DE2开发板设计并完成四路抢答器的设计,设计中采用DE2开发板上的开关及按键模拟裁判及选手的按键,通过七段显示译码器显示出选手编号的数码管。根据以上设计要求及分析,设计出系统输入输出信号如下表所示。信号名称类型描述实现reset输入复

7、位端,若有效,则输出清零SW1clk输入时钟信号,上升沿触发CLOCK_50a输入选手抢答按键,表示编号为1的选手KEY0b输入选手抢答按键,表示编号为2的选手KEY1c输入选手抢答按键,表示编号为3的选手KEY2d输入选手抢答按键,表示编号为4的选手KEY3HEX输出数码管,用于显示四位选手的编号HEX0en输入使能信号SW0q内部信号第一个选手选择后进行封存state_reg内部信号电路的当前状态state_next内部信号电路的次态2.2、设计框图2.3、电路设计(1)实例化本次课程设计要求采用实验室中的DE2开发板完成四路抢答器的设计,这就要求采用DE2开发板上的开关及按键模拟选手及裁

8、判的按键,并通过七段显示译码器模拟显示选手编号的数码管。这些要求可以通过模块实例化来实现。模块实例程序如下:moduleqiengdaqi( input wire 1:0SW,input wire CLOCK_50,input wire 3:0KEY, output wire6:0HEX0,ouput wire3:0LEDG,output wire0:0LEDR);assign LEDR=SW0sseg_m1 m1(.clk(CLOCK_50),.en(SW0),.reset(SW1),.a(KEY0),.b(KEY1),.c(KEY2),.d(KEY3),.HEX(HEX0),.LEDG(L

9、EDG);endmodule(2)抢答模块抢答模块要具有第一信号鉴别、锁存功能。第一信号鉴别锁存的关键是准确判断出第一抢答者并将其锁存,在得到第一信号后,将输入端封锁,使其他组的抢答信号无效,用触发器实现。设置抢答按钮in_a、in_b、in_c、in_d,裁判复位信号reset。reset=0时,第一信号鉴别、锁存电路以及电路复位;reset=1时,开始抢答,由第一信号鉴别锁存电路形成第一抢答信号,并通过数码管显示出抢答者的编号。抢答模块程序如下:module sseg_m1 (input wire clk,en,reset,input wire a,b,c,d,outputreg 6:0H

10、EX,output wire 3:0 LEDG);reg3:0 state_reg,state_next; reg q;assign LEDG=(q)? 4b0:state_reg;always(posedgeclk,posedge reset)begin if(reset) begin state_reg=4b1111; end else state_reg=state_next;endalways*begin if(state_reg=4b1111) q=1b1; else q=1b0; if(!a)&(q)&en) state_next=4b0001; else if(!b)&(q)&e

11、n) state_next=4b0010; else if(!c)&(q)&en) state_next=4b0100; else if(!d)&(q)&en) state_next=4b1000; else state_next=state_reg;endalways *begincase(state_reg)4b0001:HEX6:0=7b1111001;4b0010:HEX6:0=7b0100100;4b0100:HEX6:0=7b0110000;4b1000:HEX6:0=7b0011001;default:HEX6:0=7b1111111;endcaseendendmodule第三部

12、分 设计仿真(1)双击Quartus II软件快捷图标进入Quartus II集成开发环境,新建工程项目文件db,并在该项目下新建Verilog源程序文件qiangdaqi.v,输入上面的程序代码并保存。(2)然后为该工程项目选择目标器件并对相应的管脚进行锁定。(3)对该工程文件进行编译处理,若在编译过程中发现错误,找出并更正错误直至成功为止。(4)将DE2开发板下载电缆端接到PC机,打开工作电源,执行下载命令把程序下载到DE2开发板上,通过KEY0到KEY4抢答按键按下后,由裁判员根据答题情况,通过控制按键操作,这样就可以看到数码管上的选手编号。第四部分 调试运行在编译调试运行的过程中,出现

13、了不少问题。(1)由于基础知识学习不够扎实,同时在两个always语句中队同一个变量赋值,由于各个always块是并行执行的,在编译过程中出现了错误。最后将两个always块合并为一个,避免了这个问题的出现。(2)抢答成功后数码管不能正确显示其组号。原因在于所编程序中数码管数字编写出现错误,改正后,电路正常。第五部分 仿真结果(1)复位端有效,清零,禁止抢答 (2) 编号为1的选手抢答成功(3)编号为2的选手抢答成功(4) 编号为3的选手抢答成功(5)编号为4的选手抢答成功第六部分 心得体会通过一个星期的讨论、实践,加深了对EDA的了解,我更加熟练的掌握了Quartus的使用,并产生了浓厚的兴

14、趣。特别是编译过程中,当错误一个个减少时,特别的兴奋。这次项目设计选择了抢答器,刚开始进行分析,分为几个部分,然后每一部分分开编写,最后汇总于一个模块当中,不会太难。但是接下来程序编写过程中由于需要定义多个变量,弄的混乱不堪。而后先将所有用到的变量及其代表的含义先写下来,编写程序过程中一一对照才清楚了很多。由于理论学习与实际运用存在太大的差别,在设计过程中错误不断,只能一点一点的进行修改。直到最后完整的实现了四人抢答器的基本功能。在设计中遇到问题是在所难免的,但这是我们所必须面对的,有问题才能去解决问题,解决问题才能提高。从中学会的不止是怎样解决实际问题,更多的是遇到问题时该怎么思考。通过这次

15、项目设计,我更加理解了理论与实际相结合的重要性。只有理论知识是还远远不够,只有把所学的理论知识与具体问题结合起来,才能真正的应用,不断提高自己动手能力、思考的能力和团队合作能力。总的来说,对这次设计抢答器还是比较满意的,即使没有完全实现预期效果,有些许遗憾,但至少是自己的成果。一周的时间,积累了经验,增强了实验素养,受益匪浅。参考文献1 夏宇闻 Verilog 数字系统设计教程北京 北京航空航天大学出版社2008.62 张延伟,杨金岩,葛爱Verilog HDL 程序设计实例详解北京人民邮电出版社3 王伟Verilog HDL程序设计与应用北京 人民邮电出版社4 张亦华 延明 编著. 数字电路EDA入门-VHDL程序实例集,北京邮电大学出版社 2003

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1