FPGA技术课程设计-数字式竞赛抢答器终稿
数字式竞赛抢答器课程设计
数字式竞赛抢答器是一种常见的电子竞赛设备,主要应用于电子竞赛和课堂教学等场合,能够快速准确地判断并显示出抢答者的成绩,有利于竞赛和教学的进行。
以下是数字式竞赛抢答器的课程设计方案:
设计目标
本设计旨在设计一款数字式竞赛抢答器,具有简单易操作、显示准确、响应迅速等特点,能够满足电子竞赛和课堂教学的需要。
系统架构
本设计采用基于单片机的数字式竞赛抢答器,系统分为主控板和显示板两部分。
其中,主控板采用AT89C51单片机,实现抢答信号的采集、处理和控制,而显示板则负责显示抢答结果。
抢答流程
抢答流程如下:
(1)竞赛或教学开始后,按下开始键,抢答器进入待机状态。
(2)出题者提问,此时抢答器处于准备状态,等待抢答信号的输入。
(3)参赛者按下抢答器上的抢答键,抢答器采集抢答信号并判断其是否有效。
(4)如果抢答信号有效,则抢答器向显示板发送抢答者的编号和成绩,并在主控板上进行显示。
(5)如果抢答信号无效,则抢答器保持原状态。
功能实现
本设计实现以下功能:
(1)抢答器上配备数字键盘,可供出题者输入问题和答案。
(2)抢答器上配备开始键、暂停键和重置键,可供出题者进行操作控制。
(3)抢答器可以支持多人同时抢答,并能够按照抢答的先后顺序进行排名。
(4)抢答器可以显示抢答者的编号和成绩,同时支持显示多个参赛者的成绩。
总结
本设计实现了数字式竞赛抢答器的基本功能,具有简单易操作、显示准确、响应迅速等特点,能够满足电子竞赛和课堂教学的需要。
未来可以通过增加功能和改进设计来进一步提高其性能和应用范围。
数字式竞赛抢答器设计报告
数字式竞赛抢答器设计报告实验日期:学院:班级:姓名:学号:1、设计任务与要求(1)设计一个可容纳7组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
(3)设置一个主持人“复位”按钮。
(4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,由指示灯显示抢答组的编号,同时扬声器发出2~3秒的音响。
选做扩展功能:(5)设置一个计分电路,每组开始预制100分,由主持人计分,答对一次加10分,答错一次减10分。
2、设计原理定时抢答器的总体框图如图1所示,它由主体电路和扩展电路两部分构成,主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成各选手的得分显示功能。
定时抢答器的工作过程是:接通电源时,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯;抢答开始时,主持人将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,这时,抢答器完成以下工作:(1)优先编码器电路立即分辨出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号;(2)扬声器发出短暂声响,提醒主持人注意;(3)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;(4)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。
本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
单元电路设计:(1)抢答电路抢答电路包括抢答按钮、优先编码电路、锁存器、译码显示电路。
抢答电路的功能有两个:一是能分辨出选手按键的先后,并锁存优先抢答者的编号,供译码显示电路用;二是要使其他选手的按键操作无效。
1)抢答按钮电路抢答按钮电路由8个按钮开关及限流电阻所组成,如图2所示。
其供电电源选5V与系统电源一致。
限流电阻的确定,一方面要考虑开关断开时,要保证加到编码器(TTL电路)输入端的高电平大于器件所需的最低高电平(如2V);另一方面又要考虑开关闭合时,不至于有太大电流以增加电源消耗。
基于FPGA的抢答器毕业设计
摘要本文介绍了一种采用EDA技术,在QuartusII工具软件环境下用VHDL语言编写的数码显示8路抢答器的电路组成、设计思路及功能。
抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[1]~[8]表示。
设置一个系统清除和抢答控制开关,该开关由主持人控制。
抢答器具有锁存与显示功能,即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
系统主芯片采用EP2C35F484C8,由基本时钟发生电路模块,复位电路模块,键盘防抖动模块,键盘扫描模块,数码管驱动模块,报警频率选择模块组成。
经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,从而完成抢答器功能。
关键词:抢答器;硬件描述语言;可编程逻辑门阵列;AbstractThis article introduces an EDA technology tools in QuartusII environment using VHDL language digital display 8 answering device circuit design ideas and features.Responder same time for eight players or eight team competition, with eight buttons, respectively [1] ~ [8] said. Setting clear and answer in a system control switch, the switch control by the moderator. Responder has a latch and display, the player press the button, latch the corresponding number, speaker audible prompts, and seven-segment digital tube display in player numbers. Players answer in the implementation of the priority latch, first answer in player numbers has been maintained to host the system cleared.System main chip EP2C35F484C8, from the basic clock circuit module, reset the circuit module, keyboard judder module, the keyboard scan module, a digital control drive module, alarm frequency selection module. The compilation and simulation process is designed, in the programmable logic device to download verification, thus completing the Responder feature.Key words:Responder;Very Hardware Description Language; FPGA;目录摘要 (I)Abstract (II)1 绪论 (1)1.1 选题背景 (1)1.1.1 EDA技术的发展 (1)1.1.2课题研究的必要性 (2)1.2课题研究的内容 (2)2 系统方案设计 (3)2.1 FPGA简介 (3)2.1.1 FPGA基本结构 (4)2.1.2 FPGA系统设计流程 (5)2.1.3 FPGA开发编程原理 (7)2.1.4 FPGA配置模式 (7)2.2 FPGA的应用 (8)2.2.1 电路设计中FPGA的应用 (8)2.2.2 产品设计 (8)2.2.3 系统及应用 (9)2.3抢答器总体设计方案 (9)2.3.1抢答器的定义 (9)2.3.2 本文设计的抢答器的构成 (10)2.3.3 抢答器的工作原理 (10)3 系统硬件设计与实现 (12)3.1基本时钟发生模块 (12)3.2键盘防抖动模块 (13)3.2.1键盘的作用 (13)3.2.2键盘系统设计 (13)3.2.3键盘防抖动模块工作方式 (14)3.4键盘扫描模块 (15)3.5数码管驱动模块 (16)3.6报警频率选择模块 (17)4 抢答器的程序设计与实现 (18)4.1 基本时钟发生程序设计 (18)4.2 键盘防抖动程序设计 (18)4.3 键盘扫描程序设计 (19)4.4 数码管驱动程序设计 (19)4.5 报警频率选择程序设计 (20)结论 (22)致谢 (23)参考文献 (24)附录一 (25)附录二 (34)附录三 (45)1 绪论1.1 选题背景现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。
基于FPGA的八位数字抢答器
一、课程设计的内容通过学习掌握使用可编程逻辑器件和QuartusII 软件的基本使用,利用QuartusII 软件各种器件进行多路智力竞赛抢答器设计;利用DE2板对所设计的电路进行验证;总结电路设计结果。
通过设计掌握基本工程设计方法,提高动手能力。
二、课程设计的要求与数据八位数字抢答器设计要求:1). 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 ~ S7表示。
2). 设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3). 抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
4). 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如,30秒)。
当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。
5). 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
6). 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
三、课程设计应完成的工作利用QuartusII 软件各种器件画出八位数字抢答器的原理图。
对原理图进行编译修改错误;设计引脚,再重新编译;进行仿真,根据仿真结果观察设计是否符合设计要求。
然后加载到DE2板上,验证电路是否正确。
对设计进行优化、完善。
附加要求:写出设计的VHDL源程序,利用QuartusII 软件生成原理图。
进行编译修改错误;设计引脚,再重新编译;进行仿真,根据仿真结果观察设计是否符合设计要求。
然后加载到DE2板上,验证电路是否正确。
四、课程设计进程安排序号设计各阶段内容地点起止日期1熟悉QuartusII 软件,掌握QuartusII 软件的基本使用实验2号楼2142007-11-26上午2 根据设计要求进行方案设计,利用基本器件用笔画出基本原理图,给老师检修实验2号楼2142007-11-26下午至273 利用QuartusII 软件进行设计,画出原理图。
基于FPGA的抢答器设计_本科毕业设计
The Responder can also supply four players or four teams to answer in the game, respectively, using four buttons a, b, c, d. Settingreset and answerin a systemcontrol switch, which controls required by the moderator.When themoderator allowsto answer, the timer starts countsdown from the 30s until someone answerssuccessfully, by the time the latch latches will to live, then the remaining time andthenumberof theplayerwho respondssuccessfullywill be displayed onthedigitaltube,at thesametimethe LEDof the corresponding playerlightswill belighted.Determinedwhether the contestant answers correctly, the moderator will give points by controllingthe addition and subtraction button.At theend of the game, themoderatorpressesthe reset button, othersmodules are resetedto the initial time for the next round of the game except the scoring module.
FPGA设计实践报告 抢答器设计设计
课程设计报告课程设计名称:FPGA设计实践设计课题名称:抢答器设计设计抢答器设计设计报告一、设计目的:本课程的授课对象是电子科学与技术专业本科生,是电子类专业的一门重要的实践课程,是理论与实践相结合的重要环节。
本课程有助于培养学生的数字电路设计方法、掌握模块划分、工程设计思想与电路调试能力,为以后从事各种电路设计、制作与调试工作打下坚实的基础。
二、实验器材和工具软件:实验器材:PC机一台、DE2板;工作软件:QuartusII9.0。
三、设计内容:(1)抢答器可容纳四组12位选手,每组设置三个抢答按钮供选手使用。
(2)电路具有第一抢答信号的鉴别和锁存功能。
在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,时显示器显示初始时间并开始倒计时,若参赛选手按抢答按钮,则该组指示灯亮并用组别显示器显示选手的组别,同时蜂鸣器发出“嘀嘟”的双音频声。
此时,电路具备自锁功能,使其它抢答按钮不起作用。
(3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。
(4)设置犯规功能。
选手在主持人按开始键之前抢答,则认为犯规,犯规指示灯亮和显示出犯规组号,且蜂鸣器报警,主持人可以终止抢答执行相应惩罚。
(5)抢答器设置抢答时间选择功能。
为适应多种抢答需要,系统设有10秒、15秒、20秒和3O秒四种抢答时间选择功能。
四、设计具体步骤:具体的功能模块的实现:(一)组别判断电路模块(1)实现功能:实现四组十二位选手的组别判断功能,每组设置三个抢答按钮。
若选手成功抢答,则输出选手所在组别。
同时电路自锁功能,使其它抢答按钮不起作用。
如下图所示:(2)端口说明1)输入端a[2..0]:外接第一组三位选手的抢答按钮;b[2..0]:外接第二组三位选手的抢答按钮;c[2..0]:外接第三组三位选手的抢答按钮;d[2..0]:外接第四组三位选手的抢答按钮;clk:外接模块时钟信号;clr:外接模块复位按钮。
课程设计报告抢答器
课程设计报告抢答器一、课程目标知识目标:1. 学生能够理解抢答器的原理,掌握其基本组成部分及功能。
2. 学生能够运用所学知识,设计并制作一个简单的抢答器电路。
3. 学生了解抢答器在现实生活中的应用,并能够分析其优缺点。
技能目标:1. 学生能够运用电子元件进行电路搭建,提高动手实践能力。
2. 学生能够通过小组合作,提高团队协作能力和沟通能力。
3. 学生能够运用所学知识解决实际问题,提高创新能力。
情感态度价值观目标:1. 学生对电子技术产生兴趣,培养探究精神和科学态度。
2. 学生在小组合作中,学会尊重他人意见,培养团队精神。
3. 学生通过实际操作,体会科技改变生活的意义,增强社会责任感。
课程性质:本课程为电子技术实践课,旨在让学生通过动手实践,掌握电子技术基本知识和技能。
学生特点:五年级学生,具备一定的电子技术基础,好奇心强,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,提高学生动手实践能力,培养创新精神。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本章节教学内容以抢答器设计与制作为主线,结合以下章节和内容展开:1. 电子元件的认识:- 介绍常用电子元件(如电阻、电容、二极管、三极管等)及其功能。
- 分析抢答器中所需电子元件的作用。
2. 抢答器原理与电路设计:- 讲解抢答器的基本原理,包括触发器、时钟电路等。
- 介绍抢答器电路的设计方法,引导学生思考如何实现抢答功能。
3. 电路搭建与调试:- 指导学生运用所学知识,搭建抢答器电路。
- 教授调试方法,分析可能出现的故障及解决办法。
4. 小组合作与展示:- 分组进行抢答器制作,培养学生的团队协作能力。
- 各小组展示作品,分享制作过程中的经验与收获。
教学内容安排与进度:1. 第1课时:电子元件的认识,抢答器原理讲解。
2. 第2课时:抢答器电路设计,小组讨论制定设计方案。
3. 第3课时:电路搭建与调试,教师巡回指导。
4. 第4课时:小组展示与评价,总结课程收获。
课程设计实验报告-抢答器
课题二数字式抢答器一.数字式抢答器功能概述在举办各种智力竞赛活动中,常常需要确定随是第一个抢答的人。
数字式抢答器利用电子器件可以准确的解决这一问题。
数字式抢答器允许抢答者在规定的时间范围内进行抢答,可以用数字显示抢先者的序号,并配有相应的灯光指示和声报警功能;对犯规抢答者(指在抢答开始命令下达前抢答者),除用声、光报警外,还应显示出犯规者的序号;若规定抢答时间已过,要告示任何输入的抢答信号均无效,除非重新下达抢答命令。
二.任务和要求设计一个数字式抢答器,具体要求如下:1.要求至少控制四人抢答,允许抢答时间为10秒,输入抢答信号是在“抢答开始”命令后的规定时间内,显示抢先抢答者的序号,绿灯亮。
2.在“抢答开始”命令前抢答者,显示违规抢答者的序号;红灯亮。
3.在“抢答开始”命令发出后,超过规定的时间无人抢答,显示无用字符(可自行确定)。
4.选做:不仅能显示抢答者的序号并且能显示抢答次序。
三.原理电路和程序设计(一)总体设计电路如下图所示为总体方框图。
其工作原理为:接通电源后,主持人将开关拨到"清除"状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置开始"状态,宣布"开始"抢答器工作。
定时器倒计时,选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示,当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示零。
如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关(二)部分电路介绍1、抢答器电路参考电路如下图所示。
该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。
工作过程:开关S置于"清除"端时,当有选手将键按下时74L148的四个输出相与控制74L75的使能端,使其锁存并且让它和开关相与去控制红灯亮,保证报警电路通。
数字逻辑课程设计报告数字式竞赛抢答器
数字逻辑课程设计报告--数字式竞赛抢答器课程设计课程名称电子技术综合设计与实践题目名称数字式竞赛抢答器学生学院专业班级学号学生姓名指导教师2013年6 月14日广东工业大学课程设计任务书题目名称数字式竞赛抢答器学生学院专业班级姓名学号一、课程设计的内容数字式竞赛抢答器。
二、课程设计的要求与数据设计要求包括:1. 设计1个可容纳6组参赛队的数字式抢答器,每组设1个按钮,供抢答者使用;2. 当1个抢答者抢答后,其他抢答者的按钮不起作用;3. 设置1个主持人复位按键;4. 主持人复位后,开始抢答,由数码管显示其组别;5. 设置1个计分电路,每组开始预置10分,由主持人计分,答对1次计1分,打错1次扣1分。
6. 主持人复位开始抢答后,设置一个9s的倒计时显示。
若9s内有某组抢答,则计时器停止计时,显示当前计数值;若9s到时仍无人抢答,计时停止显示0s,此时不可抢答。
回复抢答需要主持人复位。
注:由于DE2板数码管数量有限,由于有6组的分值均需要显示,所以有一部分组别的分值可以用指示灯来模拟显示。
三、课程设计应完成的工作1. 利用各种电子器件设计数字式竞赛抢答器;2. 利用DE2板对所设计的电路进行验证;3. 总结电路设计结果,撰写课程设计报告。
四、课程设计进程安排五、应收集的资料及主要参考文献[1] 欧阳星明. 数字逻辑(第四版)[M]. 武汉:华中科技大学出版社, 2009.2: 194-195.[2] 陈永甫. 数字电路基础及快速识图[M]. 北京:人民邮电出版社, 2003.5: 275-279.[3] 张锁良. 数字电子技术基础[M]. 北京:北京邮电大学出版社, 2011.8: 329-334.[4] 荀殿栋等. 数字电路设计实用手册[M]. 北京:电子工业出版社, 2003.7: 105-107.发出任务书日期:2013 年 6 月 4 日指导教师签名:计划完成日期:2013 年6 月14 日基层教学单位责任人签章:主管院长签章:摘要数字式竞赛抢答器是由一个互锁电路构成的。
数字式竞赛抢答器设计
实验七
实验步骤
1步
抢答触 发锁存 电路
数字式竞赛抢答器设计
2步
编 码 器 犯规 指示 显 示 译 码
3步
数码 管显 示器
反 码 犯规触 发锁存 电路
反 码
定时 电路
复位 电路
抢答器的组成框图
4步
5步
1. 根据设计指标,画出抢答器的组成框图。 2. 根据抢答器的组成框图、设计指标和所提供的集成块设计各个模块的电路图。 3. 根据各个模块之间关系,设计出总电路图。 4. 设计好接线、调试的方案。 5. 逐步接线、调试,解决调试过程中遇到的问题。 6. 记录、整理实验结果,完善电路图。
4.
主持人置开关为“开始”后,开始抢答,第一信号鉴别锁存电路得到信号后, 该组对应的指示灯亮,并用数码管显示抢答组别。要求开始抢答时,数码管 出于消隐(不亮)状态。
5.
设置定时电路,开始抢答后,9秒内未抢答,自动锁定抢答器。如9秒内有 人抢答,则停止计数,倒计数值用数码管显示。
6.
设置犯规电路,对提前抢答组别,即在主持人置开关为“开始”前,开关已 经按下,其对应的“犯规”指示灯亮。
实验七
数字式竞赛抢答器设计
胡俊杰 2006.4
实验七
实验目的
数字式竞赛抢答器设计
1. 学习数字电路综合应用。 2. 学习简单数字系统设计方法。
实验七
设计指标
1. 2. 3.
数字式竞赛抢答器设计
可供4组参赛队抢答,每组1个开关。 开始抢答后,除第一抢答者的开关外,其它抢答开关不起作用。 设置一个主持人操作的开关,有“复位”和“开始”功能,“复位”时不能 抢答。
实验七
实验要求
数字式竞赛抢答器设计
基于fpga技术的智力抢答器设计
毕业论文任务书毕业设计开题报告摘要抢答环节经常出现在竞赛、文体娱乐等活动中,在活动中抢答是一种生动活泼的教育形式和方法,它通过抢答和必答方式引起参赛者和观众的兴趣,并能在短时间内,增加人们的科学知识和生活知识。
为了在比赛活动中,准确、公正、直观地判断出第一抢答者,通常需要一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者并进行抢答、计分等功能。
所以,研究智力抢答器具有较强的实际意义。
本次设计在EDA开发平台上基于FPGA运用QuartusⅡ7.2软件和VHDL语言进行设计,进行了系统需求分析、系统的总体规划、各个模块设计及顶层文件的设计,实现了比赛中的智力抢答功能,其中包括:第一抢答鉴别功能;抢答信号输出模块;抢答计分功能;抢答以及答题倒计时功能;犯规报警功能以及分数、时间台号显示等功能。
因此本设计具有电路简单、可靠性强、运算速度高等特点。
随着相关设备的提高,我们可以考虑将抢答器的功能进行扩展,扩展成为功能更加全面的智力抢答器。
关键词:四人抢答器数码显示动态显示信号封锁犯规报警AbstractResponder links often appear in the race, sports and entertainment activities, in activities, answer in a lively and educational forms and methods, it way through the Responder and will answer participants and the audience's interest aroused, and can in a short time,to increase scientific knowledge and life knowledge.In order to match activities, accurate, fair and visually determine the first answer in person, usually a Responder, via digital display, lighting and sound and other means to direct the First Responder, and to answer in person, namely classification function.Therefore, research intelligence Responder has strong practical significance.The design of the EDA development platform FPGA using Quartus Ⅱ7.2 based software design and VHDL languages, for the system requirements analysis, system of overall planning, design and top-level documentation of each module, design and implement a game of intelligence Responder functionThese include: First Responder identification function; answer in scoring function; answer in and answer the countdown function; foul alarm function as well as scores, time, station number display.Therefore, this simple circuit design, reliability, high operation speed characteristics.With the college laboratory boxes and other equipment increased, we can consider the design to extend the functionality of answering device, extending a more comprehensive intelligence functions Responder.Key Words:Four people vie to answer first Digital demonstration Dynamic demonstration Signal blockade Violates a regulation the warning目录目录 (7)第1章绪论 (9)1.1 设计研究的相关背景 (9)1.2 设计研究的重要性 (9)1.3 国内外研究现状 (10)第2章实现工具简介 (11)2.1 FPGA简介 (11)2.2 QuartusⅡ的概况 (12)2.3 硬件描述语言的概述 (13)第3章系统软件 (15)3.1 设计任务 (15)3.1.1 方案拟定 (15)3.1.2 模块的划分 (17)3.2 抢答器鉴别模块 (17)3.2.1 抢答鉴别模块VHDL程序设计关键代码 (17)3.2.2 抢答鉴别模块元件图 (17)3.2.3 抢答鉴别模块仿真 (18)3.3 抢答信号输出模块 (18)3.3.1 抢答信号输出模块VHDL程序设计关键代码 (18)3.3.2 抢答信号输出模块元件图 (18)3.3.3 抢答信号输出模块仿真 (19)3.4 抢答计时模块 (19)3.4.1 抢答计时模块VHDL程序设计关键代码 (19)3.4.2 抢答计时模块元件图 (19)3.4.3 抢答计时模块仿真 (20)3.5 答题计时模块 (20)3.5.1 答题计时模块VHDL程序设计关键代码 (20)3.5.2 答题计时模块元件图 (21)3.5.3 答题计时模块仿真 (21)3.6 防抖动电路模块 (22)3.6.1 防抖动电路模块VHDL程序设计关键代码 (22)3.6.2 防抖动模块元件图 (23)3.6.3 防抖动模块仿真 (23)3.7 抢答计分模块 (24)3.7.1 抢答计分模块VHDL程序设计关键代码 (24)3.7.2 抢答计分模块元件图 (25)3.7.3 抢答计分模块仿真 (26)3.8 分频模块 (26)3.8.1 分频模块VHDL程序设计关键代码 (27)3.8.2 分频模块元件图 (27)3.8.3 分频模块仿真 (27)3.9 抢答显示模块 (28)3.9.1 抢答显示模块VHDL程序设计关键代码 (28)3.9.2 抢答显示模块元件图 (29)3.9.3 抢答显示模块仿真 (29)3.10 抢答报警模块 (30)3.10.1 抢答报警模块VHDL程序设计关键代码 (30)3.10.2 抢答报警模块元件图 (30)3.10.3 抢答报警模块仿真 (30)3.11 答题报警模块 (31)3.11.1 答题报警模块VHDL程序设计关键代码 (31)3.11.2 答题报警模块元件图 (31)3.11.3 答题报警模块仿真 (32)3.12 顶层模块 (32)3.12.1 顶层模块电路图 (33)3.12.2 顶层模块元件图 (33)3.12.2 顶层模块仿真 (34)第4章硬件环境及调试过程 (35)4.1 芯片介绍 (35)4.2 硬件实现 (35)4.2.1 选择芯片 (35)4.2.2 引脚锁定 (36)4.2.3 下载到硬件环境 (38)第5章总结及完善 (41)参考文献 (42)致谢 (43)附录A 英文资料翻译 (44)英文原文 (44)Building Programmable Automation Controllers with LabVIEW FPGA (44)中文译文 (49)使用LabVIEW FPGA(现场可编程门阵列)模块开发可编程自动化控制器 (49)附录B 源代码 (53)第1章绪论1.1 设计研究的相关背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观的分辨出最先获得发言权的选手。
数字式抢答器课设报告
摘要数字式竞赛抢答器主要由74系列集成电路组成。
该抢答器除具有基本的抢答功能外,还具有定时、计时和报警功能。
电路上电后在抢答前,由主持人进行系统复位,确定抢答允许时间。
主持人发出抢答命令同时按下启动定时开关。
抢答者听到抢答开始命令后,通过各自的按钮开关输入抢答信号。
数字抢答器具有数字显示抢答者序号功能。
同时配有声、光报警,并且有抢答序号锁定功能。
对犯规抢答者(包括提前抢答和超时抢答)除有声、光报警外,还有显示抢答犯规者序号功能。
关键词:计数器,译码器,方波目录摘要I 第1章概述1第2章课程设计任务及要求32.1 设计任务32.2 设计要求xx 第3章系统设计xx3.1方案论证xx3.2 系统设计xx3.2.1 结构框图及说明xx3.2.2 系统原理图及工作原理xx3.3 单元电路设计3.3.1单元电路工作原理3.3.2元件参数选择第4章软件仿真4.1 仿真电路图4.2 仿真过程4.2 仿真结果第5章安装调试5.2 安装调试过程5.3 故障分析第6章结论第7章使用仪器设备清单参考文献收获、体会和建议第1章概述抢答器在竞赛中有很大用处,它能准确、公正、直观地判断出第1抢答者。
通过抢答器的指示灯显示、数码显示和警示蜂鸣等手段指示出第l 抢答者。
其要求达到以下条件:一.抢答器同时供8名选手或8个代表队比赛,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别用S0~S7表示。
二.给节目主持人设置一个控制开关,用来控制系统的清零和抢答的开始。
三.抢答器具有数据锁存与显示的功能。
抢答开始后,若有选手按动按钮,锁存相应的编号,并在LED数码管上显示出选手的编号。
此外,要封锁输入电路,禁止其他选手抢答。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
四.抢答器具有定时抢答功能,且一次抢答的时间由主持人根据题目难度设定(如30s)。
当节目主持人启动“开始”键后,定时器立即进行减计时,并用指示灯显示剩余时间,指示灯灭则不能再抢答。
基于FPGA的多路数字抢答器的设计综述
毕业论文(设计)2013 届通信工程专业班级题目基于FPGA的多路数字抢答器的设计姓名学号指导教师职称二О一三年五月二十五日内容摘要本文主要介绍了以FPGA为基础的四路数字抢答器的设计,首先对各模块的功能进行分配,此次设计主要有七个模块,依次为抢答模块、加减分模块、倒计时模块、蜂鸣器模块和数字显示模块。
通过主持人的控制可以实现抢答开始,组号的显示,加减分模块,积分的显示,积分的重置,并启动倒计时模块;通过选手按键来进行标志位改变,停止倒计时,开启蜂鸣器,并为进入加减分模块做准备。
此次设计程序用Verilog语言来编写,使用模块化编程思想,自上向下,通过寄存器变量来控制各个模块的运行,并用Quartus II软件5.0版来进行仿真。
本次设计采用FPGA来增强时序的灵活性,由于FPGA的I/O 端口资源丰富,可以在此基础上稍加修改可以增加很多其他功能的抢答器,因此后期可塑性很强,因为核心是FPGA芯片,外围电路比较简单,因此便于维护,并且维护费用低。
关键词Verilog HDL、四路抢答器、倒计时、仿真、显示Based on FPGA multi-channel digitalanswering device designAuthor: Tutor:AbstractThis paper describes an FPGA-based design of four digital answering device, first allocated function of each module, the design of the main seven modules were Responder module, plus or minus sub-module, the countdown module, beep module and a digital display module. The control can be achieved through the host Responder starting group number display, integral reset and start the countdown module; through key players to carry flag changes, turn the buzzer and subtract points for entry into the module to prepare. The design process using Verilog language to write, the register variables to control operation of each module, and use the Quartus II software version 5.0 to be simulated. The design uses FPGA to enhance the flexibility of timing, because the FPGA I / O port is rich in resources, can be slightly modified on the basis of a lot of other features can be added Responder, so late plasticity is very strong, because the core is the FPGA chip , the external circuit is relatively simple, so easy to maintain, and low maintenance costs.Key wordsVerilog HDL,four Responder, countdown, simulation, showing目录第一章引言................. .. (1)第二章 FPGA原理及相关开发工具软件的介绍 (3)2.1 FPGA的简介..... . (3)2.1.1 FPGA的发展与趋势......... .. (3)2.1.2 FPGA的工作原理及基本特点 (4)2.1.3 FPGA的开发流程.. (5)2.1.4 FPGA的配置... . (6)2.2 软件介绍............... (7)2.2.1 Verilog HDL的介绍........ .. (7)2.2.2 Quartus II软件.................... .. (8)第三章数字抢答器系统设计方案和主要模块 (11)3.1 功能描述及设计架构...... . (11)3.2 抢答器程序流程图以及各模块代码分析 (13)3.2.1 抢答器程序结构及主程序流程图 (13)3.2.2 初始化及抢答模块 (14)3.2.3 加减分数模块 (17)3.2.4 倒计时模块.................... .. (17)3.2.5 蜂鸣器模块.................... .. (18)3.2.6 重置模块及数码管显示模块 (19)3.3 顶层模块连线及开发硬件配置 (21)3.3.1 电路图........................... . (21)3.3.2 EP1C6Q240C8芯片及使用到的管脚分配 (21)第四章抢答器系统仿真与分析.... . (25)第五章总结................... (28)致谢 (29)参考文献 (30)附录:源代码 (31)基于FPGA的多路数字抢答器的设计第一章引言随着社会的发展,各种竞赛比赛日益增多,抢答器以它的方便快捷、直观反映首先取得发言权的选手等优点,深受比赛各方的辛睐,市场前景一片大好。
基于FPGA的电子抢答器的程序设计毕业设计
毕业设计基于FPGA的电子抢答器的程序设计摘要随着科学技术日新月异,文化生活日渐丰富,在各类竞赛、抢答场合电子抢答器已经作为一种工具得到了较为广泛的应用。
顾名思义,电子抢答器是一种通过抢答者的指示灯显示、数码显示和警示显示等手段准确、公正、直观地判断出最先获得发言权选手的设备。
此次设计有4组抢答输入,每组设置一个抢答按钮供抢答者使用。
电路具有第一抢答信号的鉴别和锁存功能。
当第一抢答者按下抢答开关时,该组指示灯亮以示抢答成功。
同时,电路也具备自锁功能,保证能够实现在一路成功抢答有效后,其他三路均不能抢答。
本设计基于VHDL语言,采用FPGA为控制核心,并结合动手实践完成,具有电路简单、操作方便、灵敏可靠等优点。
该四路抢答器使用VHDL硬件描述语言进行编程,分为七个模块:判断模块,锁存模块,转换模块,扫描模块,片选模块,定时报警模块和译码模块。
编程完成后,使用QuartersII工具软件进行编译仿真验证。
关键词:VHDL,FPGA,四路抢答器,仿真目录1 概述 (1)1.1 设计背景 (1)1.2 抢答器现状 (1)1.3 本论文主要完成的工作 (1)1.4 设计心得 (2)2 开发工具简介 (3)2.1 VHDL语言简介 (3)2.2 FPGA开发过程与应用 (4)2.2.1 FPGA发展历程及现状 (4)2.2.2 FPGA工作原理 (4)2.2.3 FPGA开发流程 (5)2.3 Quartus II软件 (6)3系统设计 (8)3.1 系统设计要求 (8)3.2 系统设计方案 (8)3.2.1 系统硬件设计方案 (8)3.2.2 系统软件设计方案 (8)3.3.3 系统原理详述 (10)4 电路程序设计及仿真 (12)4.1 抢答锁存模块设计 (12)4.1.1 VHDL源程序 (12)4.1.2 抢答锁存电路的模块 (13)4.2 仿真 (14)总结 (15)致谢 (17)参考文献 (18)郑州轻工业学院课程设计任务书题目基于FPGA的电子抢答器的程序设计专业班级电子信息工程10-1班学号姓名主要内容、基本要求、主要参考资料等:主要内容:抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。
fpga数字抢答器课程设计
fpga数字抢答器课程设计一、课程目标知识目标:1. 让学生掌握FPGA(现场可编程门阵列)的基础知识,理解数字抢答器的原理和设计流程;2. 培养学生运用数字逻辑设计方法,结合FPGA技术实现简单数字系统的能力;3. 使学生了解数字抢答器的各个功能模块及其相互关系,掌握相关电路的设计与调试方法。
技能目标:1. 培养学生运用FPGA开发工具进行数字逻辑设计和编程的能力;2. 培养学生通过实际操作,学会使用相关仪器和设备进行数字电路的调试与测试;3. 提高学生团队协作能力和问题解决能力,能有效地分析问题、设计方案并完成任务。
情感态度价值观目标:1. 激发学生对电子技术领域的兴趣,培养其创新意识和探索精神;2. 培养学生严谨的科学态度,注重实践操作,养成良好的学习习惯;3. 引导学生关注科技发展,认识到所学知识在实际应用中的价值,增强社会责任感。
本课程针对高年级学生,结合学科特点,注重理论与实践相结合,提高学生的实际操作能力和创新思维。
通过课程学习,使学生能够掌握FPGA数字抢答器的设计方法,培养具备实际工程应用能力的优秀电子技术人才。
二、教学内容本章节教学内容主要包括以下三个方面:1. 数字逻辑设计基础:- 引导学生复习数字逻辑基础知识,包括逻辑门、组合逻辑和时序逻辑等;- 结合教材相关章节,讲解FPGA的基本原理及其在数字系统设计中的应用。
2. FPGA数字抢答器设计:- 分析数字抢答器的功能需求,明确各个功能模块的设计目标;- 依据教材内容,详细介绍FPGA设计流程,包括硬件描述语言(HDL)编程、综合、布局布线等;- 指导学生完成数字抢答器各功能模块的设计与实现。
3. 实践操作与调试:- 安排学生进行实际操作,学会使用FPGA开发板和相关仪器设备;- 教学内容包括:电路搭建、程序下载、调试与测试等;- 引导学生掌握常见问题分析方法,解决实际操作过程中遇到的技术难题。
教学内容安排和进度:1. 数字逻辑设计基础(2课时)2. FPGA数字抢答器设计(4课时)3. 实践操作与调试(4课时)三、教学方法针对本章节内容,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对于数字逻辑设计基础和FPGA基本原理等理论知识,采用讲授法进行教学,结合教材章节,系统性地讲解相关知识,为学生奠定扎实的理论基础。
数电课程设计报告---数字式竞赛抢答器
数字电子技术课程设计题目数字式竞赛抢答器院系信息工程学院班级学号学生姓名指导教师完成时间2014年11月26日目录一.设计目的二.设计指标:三.总体框图设计:四.功能模块设计:五.实验仪器、工具六.元件清单七.总结一.设计目的:通过多路数字数字抢答器的设计实验,要求学生回顾所学数字电子技术的基础理论和基础实验,掌握组合电路,时序电路,编程器件和任意集成电路的综合使用和设计方法,熟悉掌握优先编码器,触发器,计数器,单脉冲触发器,555路,译码,编码/驱动电路的应用方法,熟悉掌握时序电路的设计方法。
达到数字实验课程大纲要求掌握的基本内容。
二. 设计指标:(1)设计一个可容纳7组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
(3)设置一个主持人“复位”按钮。
(4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,由指示灯显示抢答组的编号,同时扬声器发出2~3秒的音响。
(5)设置一个计分电路,每组开始预制100分,由主持人计分,答对一次加10分,答错一次减10分。
三.总体框图设计:整体电路分为:主电路与计分电路。
主电路:该部分由抢答与控制开关电路,优先编码电路,锁存器,译码器电路,显示电路控制电路,报警电路组成。
扩展电路:预制控制电路,计分电路,译码电路与显示电路组成。
优先编码电路选用的芯片为74ls14874ls148的引脚图与真值表:锁存电路选用的芯片是74ls279,引脚图与真值表:译码器电路选用的芯片为74ls48,引脚图和真值表:报警电路选用NE555,引脚图和真值表:扩展电路的计分电路选用芯片74ls192,引脚图和真值表:四:功能模块设计:1.抢答部分与报警部分电路原理图原理描述:芯片74ls148,74ls279,74ls48与七段共阴数码管构成抢答显示电路,选手通过按轻触开关抢答,74ls148的输入端D1,D2,D3,D4,D5,D6,D7(D0接高电平是因为输出的数字为1--7)采集开关一端的电平状态,低电平有效,D7优先级最高,并且分别编码,输出给74ls279的三个独立锁存器的s端,将判断输入有无的输出信号GS 的状态输出给74ls279的第四个锁存器(将其称为控制锁存器)的s 端,其R端接主持人复位开关的一端,Q端接另外三个锁存器的R端用来控制锁存与清零,Q端还与74ls48的灭零输入端BI/RBO相连,用来控制数码管的显示(当主持人按复位键时数码管不显示)。
数字电子技术课程设计报告--基于 FPGA的四位智能抢答器
数字电子技术课程设计报告--基于 FPGA的四位智能抢答器专业:xxx班级:xxx姓名:xxx学号:xxx一、设计任务及要求基于EDA/SOPC系统开发平台,运用QuartusⅡ可编程逻辑器件开发软件,设计一个4位智能抢答器。
要求如下:1、可以同时供4名选手抢答,其编号分别为1、2、3、4,各用抢答按键S1、S2、S3、S4,按键编号与选手编号对应。
主持人设置有一个开始按键S5,一个清零按键S6,用于控制抢答的开始和系统的清零;2、抢答器具有定时抢答的功能,一次抢答的时间为10秒。
当主持人启动“开始”按键后,用4 位LED 数码管左边两位显示10s 的倒计时;3、抢答器具有数据锁存和显示的功能,抢答开始后,如果有选手按动按键,其编号立即锁存并显示在数码管上(显示在右边的两个数码管上),同时封锁输入电路,禁止其他选手抢答;优先选手的编号一直保持到主持人将系统清零为止;4、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示抢答时刻的时间(左边两个数码管上)和参赛选手的编号(显示在右边的两个数码管上),并保持到主持人将系统清零为止;如果定时抢答的时间已到而没有选手抢答,本次抢答无效,封锁输入电路,禁止抢答,定时器显示“00”并闪烁,闪烁频率为0.5H Z;一直保持到主持人将系统清零为止;5、在主持人未按下开始按键时,如果有人抢答则犯规,在显示器上右边两位闪烁犯规选手的编号,闪烁频率为0.5H Z;一直保持到主持人将系统清零为止;6、说明:系统上电和按下清零按键后显示“0000”,设计中的时钟脉冲频率为1000赫兹;7、附加:加入按键软件消抖功能及加减分数显示计分功能;能够设置不同的抢答时间,以便应用于不同的抢答系统。
二、设计原理及方案本次设计主要采用verilog HDL 语言,总体编程思路采用模块化设计方式,主要分为3个模块,一个主控制及按扭输入模块,一个LED计时提示模块,一个抢答组号显示模块,分别对这3个子模块进行独立编程设计,并生成元件,并在顶层使用原理图的方式将3个模块连接起来完成整个设计。
数字式竞赛抢答器-数电课程设计报告最后版
黑龙江工业学院数字电子技术课程设计报告院系:电气与信息工程系专业班级:小组成员:姓名:学号:指导教师:报告成绩:摘要当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
因此,我们制作了这款简易四路抢答器屏弃了成本高,体积大,而且操作复杂。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。
而且在显示时抢答器会发出叮咚声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备.在知识竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要有一个系统来完成这个任务。
如果在抢答中,只靠人的视觉是很难判断出哪组先答题。
这次设计就是用几个触发器以及三极管巧妙的设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
关键字:知识竞赛;抢答器;数字显示器;触发器数字式竞赛抢答器一、设计要求1)给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管灭灯)和抢答的开始。
2)4名选手编号为:1,2,3,4。
各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4。
3)抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,抢答显示器上显示该编号,同时扬声器给出音响提示,封锁输入编码电路,禁止其他选手抢答。
4)抢答器具有定时(9秒)抢答的功能。
当主持人按下开始按钮后,定时器开始显示倒计时间,若无人抢答,倒计时结束时,扬声器响持续1秒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学《FPGA技术》课程设计报告设计名称:数字式竞赛抢答器姓名:学号:专业班级通信1301教师:徐锋西南科技大学信息工程学院制设计任务书设计名称:数字式竞赛抢答器组长姓名:组员姓名(其他5人):组员(姓名)王翔的设计要求:组员(姓名)林静的设计要求:2015 年4月20日一.设计步骤1、设计准备:根据设计需求,分析整个系统功能及设计任务,可知,系统需要四个模块来实现其功能。
分别为:设计抢答鉴别锁存模块、组别译码抢答模块、计分模块、组别分数动态扫描模块。
初步选定设计方案,然后根据功能分配任务。
2、设计输入:(1)设计编写抢答锁存模块代码。
(2)设计编写组别译码模块。
(3)设计编写计分模块(4)设计动态扫描模块(5)将以上四个模块组合,设计出这四个模块的顶层模块。
(6)加上消抖模块3、功能仿真:在每个模块设计完成后,对该模块设计仿真波形,进行仿真。
4、引脚约束:根据功能设计及FPGA外围电路设计,对引脚进行约束。
二.设计整体流程图三.设计方案(可包含主控制电路状态转换图) 1、FPGA 的具体模块电路连接组合如下图所示:2、各个模块的功能及设计方案;抢答信号(1)抢答锁存鉴别模块功能:reset为主持人复位信号(开始抢答信号),当reset 有一个低电平到来时(下降沿),该模块开始锁存输入端口的信号,当其中有一个发生变化时,将输入封锁。
然后将锁存到的信号按真值表输出。
(2)组别译码提醒模块功能:模块用于控制蜂鸣器及三个LED灯,其中beep 控制蜂鸣器,light控制组别信号灯。
当出现group信号从00变化到其它后,蜂鸣器发出1~2s声响,表示已经抢答到,对应抢答到组别的LED灯亮。
(3)计分模块功能:该模块用于对各个组进行计分,并将结果输出。
当right每来一个下降沿触发对应组别加分功能,当wrong每来一个下降沿触发对应组别扣分功能。
score1,score2,score3分别对应于组别1,组别2,组别3的计分结果。
由于只需考虑十位和百位,所以只需要8位的二进制数,其中score的高4位表示得分的百位,低四位表示得分的十位数字。
(4)计分模块的加分,扣分函数设计:Add:其参数为当前分数,实现对参数的加分功能,每次加分为10分,并以八位二进制储存百位和十位,其中高四位表示得分百位上的数字,低四位表示十位上的数字。
reduce: 实现对参数的加分功能,每次扣分为10分,其他相同。
(5)动态扫描组别分数显示模块功能:该模块主要实现对分数,抢答到的组别的动态扫描,将它们动态显示在数码数码管上。
其中score1,score2,score3分别表示当前得分,wei[7:0]和duan[6:0]分别表示位选和段选信号.(6)前4个模块的组合设计思路:根据设计方案具体的模块连接,如1中图所示,设计顶层模块。
输入:总共3个按键输入信号,一个时钟输入信号输出:一个控制组别灯的信号,一个数码管断选和一个位选信号。
具体设计如下:四. 顶层及各自模块波形图仿真分析1、鉴别锁存模块波形设计:分析:开始时,group输出为00,当reset复位后,key[2]出现一低电平(第三组按下),group输出11,当接着key[1]按下,group输出不变,当再来了一个reset信号后,key又有效了,后面的也是如此。
显然实现了抢答鉴别锁存功能。
2、组别译码提醒模块:分析:当group由00变化到01,10,11,时显然light对应真值表变化。
而Warn开始以时钟周期一半的频率变化,由于需要在50个时钟周期才能停止变化,所以为了更完整的验证light信号的变化,设计group的变化时没有根据实际时间来变化。
3、计分模块:(1)分析:score表示分数百位和十位。
开始时,初始分数为100分,当group为10时,right来了一个低脉冲后,score2变为了8’h11;当group为01时,right来了一个低脉冲后,score1变为了8’h11;当group为11时,wrong来了一个低脉冲后,score3变为8’h09;再对其他分析,显然实现了功能。
(2)该模块调用的加分,扣分函数的测试波形及分分析Add:Reduce:分析:这两个函数都用时钟信号(作为测试的辅助信号)对其测试,可以看到,add中实现了每次加1的功能,(由于百位和十位,相当于加了10),reduce实现了减一的功能。
4、动态扫描模块:分析:每来一个时钟信号,位选按次序变化一次,断选信号变化一次,对应于该位所显示的分数的数码管控制数值。
比如:第三位对应于用于控制score2百位,被选中时,score3位8’h30,显然对应断选输出8’h06;其他位置可的同样验证。
5、次顶层模块分析:复位信号后,当key[0]出现一个脉冲,light变为3’h1.Warn 开始以时钟频率的一半变化。
显然实现了模块1和模块2的功能。
每来一个时钟信号,位选按次序变化一次,断选信号变化一次,对应于该位所显示的分数的数码管控制数值。
开始时,由于每人开始都是100分,段选百位和十位应显示1和0,对应断选信号为7’h01,7’h4f;第八位用于显示抢答到的组数,当第八位位选打开时,对应断选输出为7’h4f,恰好对应于所选组数第一组。
当来了一个right低脉冲后,位选第一位,第二位打开时(控制score1百位和十位),断选信号输出7’h4f, 7’h4f,对应于110分,显然实现了加分功能和动态扫描功能。
同样可以验证减分功能的真确性。
五.体会本次课程设计是一次对前段时间学习的考验与检测,通过这次对一个比较完整数字系统的设计,从最初的完全迷茫,到后来的题目选定,在到任务分配,与同学一起讨论,查阅资料,解决遇到的问题,我真真切切地感受到了设计中的快乐与辛酸。
有时候遇到了一个很简单的错误,却要找很久才能解决。
有时候甚至苦恼,发怒。
但是最欣喜的时刻莫过于当绿色的波形在眼前出现的那刻,那是一份努力的结果,每每都让我感到了小小的兴奋。
设计过程,我发现了很多以前没有注意到的问题,比如,同一个变量不能在两个always语句中进行赋值,尽管没有语法错误,但是在综合的时候会报错。
再比如,所有的输入都应该是wire型变量,所以在例化时,中间变量都要设置成线网型的。
再比如,在调用函数时,不能把输入直接作为参数传递。
多少天的屏幕守候,多少个夜晚的挑灯夜战,当时间的记忆写满辛酸的汗水,我想我收获了艳阳下最丰硕的果实。
六.程序源码(1)抢答锁存鉴别模块module snatch(key,reset,group);input[2:0] key;input reset;outputreg[1:0] group;reg q;wireqiang,clk;assignqiang=(key[0]&key[1]&key[2]);assignclk=(qiang||q);always@(negedgeclk or negedge reset)if(!reset)beginq<=0;endelse q<=!q;always@(negedgeclk)begincase(key)3'b110:group<=2'b01;3'b101:group<=2'b10;3'b011:group<=2'b11;default:group<=2'b00;endcaseendendmodule(2)组别译码提醒模块module warning(clk,group,light,warn );inputclk;input [1:0] group;outputreg[2:0] light;outputreg warn;regena;reg[5:0] cnt;initialbeginwarn<=1'b1;cnt<=6'b0;endalways@(posedgeclk)beginif(ena)begincnt<=cnt+1'b1;if(cnt==6'b1111111)ena<=1'b0;endendalways@(group)begincase(group)2'b00: light <= 2'b000;2'b01: light <= 2'b001;2'b10: light <= 2'b010;2'b11: light <= 2'b100; endcaseif(group!=00)beginena<=1'b1;endendalways@(cnt)warn<=warn+1'b1;endmodule(3)计分模块modulecont(group,score1,score2,score3,right,wrong );inputright,wrong;input[1:0] group;outputreg[7:0] score1,score2,score3;reg[7:0] s1,s2,s3;initialbegins1<=8'b00010000;s2<=8'b00010000;s3<=8'b00010000;score1<=8'b00010000;score2<=8'b00010000;score3<=8'b00010000;endfunction[7:0] add;input[7:0] score_start;reg[3:0] gao4,di4;begingao4=score_start[7:4];di4=score_start[3:0]+4'b1;if(di4==4'b1010)begindi4=4'b0000;gao4=gao4+4'b1;endadd={gao4,di4};endendfunctionfunction[7:0] reduce;input[7:0] score_start;reg[3:0] gao4,di4;begingao4=score_start[7:4];di4=score_start[3:0];if(di4==4'b0)begingao4=gao4-4'b1;di4=4'b1001;endelsedi4=di4-4'b1;reduce={gao4,di4};endendfunctionalways@(negedgeright,negedge wrong) beginif(right==0)beginif(group==2'b01) s1=add(s1);if(group==2'b10) s2=add(s2);if(group==2'b11) s3=add(s3);score1=s1;score2=s2;score3=s3;endelsebeginif(group==2'b10) s1=reduce(s1);if(group==2'b10) s2=reduce(s2);if(group==2'b11) s3=reduce(s3);score1=s1;score2=s2;score3=s3;endendendmodule(4)动态扫描组别分数显示模块modulescan_led(group,score1,score2,score3,clk,wei,duan);input [7:0]score1,score2,score3;inputclk;input[1:0] group;outputreg[6:0] duan;outputreg[7:0] wei;reg[2:0] cnt_scan;reg[3:0] dataout;initialbegincnt_scan<=16'b0;endalways@(posedgeclk)cnt_scan<=cnt_scan+1'b1;always@(cnt_scan)begincase(cnt_scan)3'b000:wei=8'b0000_0001;3'b001:wei=8'b0000_0010;3'b010:wei=8'b0000_0100;3'b011:wei=8'b0000_1000;3'b100:wei=8'b0001_0000;3'b101:wei=8'b0010_0000;3'b110:wei=8'b0100_0000;3'b111:wei=8'b1000_0000;default:wei=8'b0000_0001;endcaseendalways@(wei)begincase(wei)8'b0000_0001:dataout=score1[7:4];8'b0000_0010:dataout=score1[3:0];8'b0000_0100:dataout=score2[7:4];8'b0000_1000:dataout=score2[3:0];8'b0001_0000:dataout=score3[7:4];8'b0010_0000:dataout=score3[3:0];8'b0100_0000:dataout=4'b0;default:dataout={2'b00,group};endcaseendalways@(dataout)begincase(dataout)4'b0000:duan=7'h01;4'b0001:duan=7'h4f;4'b0010:duan=7'h12;4'b11:duan=7'h06;4'b100:duan=7'h46;4'b101:duan=7'h24;4'b110:duan=7'h20;4'b111:duan=7'h0f;4'b1000:duan=7'h00;4'b1001:duan=7'h04;default :duan=7'h0;endcaseendendmodule。