FPGA技术课程设计-数字式竞赛抢答器终稿_第1页
FPGA技术课程设计-数字式竞赛抢答器终稿_第2页
FPGA技术课程设计-数字式竞赛抢答器终稿_第3页
FPGA技术课程设计-数字式竞赛抢答器终稿_第4页
FPGA技术课程设计-数字式竞赛抢答器终稿_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 FPGA技术课程设计报告名称:数字竞赛抢答器 名称:数字竞赛抢答器团队领导:团队成员(其他5人):主题的一般设计要求:设计主题要求:(1)设计一个可以容纳三组参赛者的数字抢答器,每组都为抢答器提供一个按钮。(2)抢答器具有第一信号识别和闭锁功能,使第一抢答器以外的按钮不起作用。(3)设置一个主机复位按钮。(4)主机复位后,开始抢答。第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组,扬声器发出声音12秒。(5)设置计分电路。每组开始预设1 00分,由主持人打分。正确答案10分,错误答案10分。组员()陶的设计要求(组长提供给组员):主要任务:设计首答认证的锁模块。输入端口:组1、组2、组3、

2、复位。输出端口:组2:0功能描述:是复位主机的复位信号(开始加扰的信号)。当reset为低电平(下降沿)时,模块开始锁存输入端口的信号,当其中一个发生变化时,模块会阻塞输入。然后根据下面的真值表输出锁存信号:锁存信号输出信号第一组第二组第三组组1组20一个一个0一个一个00一个0一个一个0一个一个当信号未被锁存时,组输出为00。团队成员()曾雪的设计要求:主要任务:群组解码提醒模块输入:组2:0,clk输出:警告,灯2:0功能描述:该模块用于控制蜂鸣器和三个LED灯,其中warn控制蜂鸣器,light控制组信号灯。当组信号由00变为其他信号时,蜂鸣器鸣响12s,蜂鸣器频率由0变为0,组对应的L

3、ED点亮。团队成员的亮化设计要求():主要任务:评分模块输入端口:组2:0,正确,错误输出:分数1 7: 0,分数2 7: 0,分数3 7: 0功能描述:该模块用于对各组进行评分并输出结果。右的每一个下降沿触发对应的组加功能,错的每一个下降沿触发对应的组减功能。其中奖金功能和扣款功能有其他团队成员提供的功能。分数1、分数2和分数3分别对应于组1、组2和组3的评分结果。由于只考虑10位和100位,所以只需要8位二进制数,其中分数的上4位代表分数的100位,下4位代表分数的10位。组员()王翔的设计要求:主要任务:小组成绩动态扫描显示模块。输入端口:分数1 7: 0,分数2 7: 0,分数3 7:

4、 0,组2: 0输出端口:魏7:0,段6:0功能描述:该模块主要实现对已回答的分数和分组的动态扫描,并在数码管上动态显示。Score1、score2和score3分别表示当前分数,wei7:0和duan6:0分别表示位选择和段选择信号,clk为扫描时钟。团队成员()林箐的设计要求:主要任务:写两个函数,分别实现计数模块中的加分和减分功能。并在一个模块中模拟和测试该功能,直到它正确为止。添加:它的参数是当前分数,实现了参数加分的功能。每次加分为10分,100和10位以八位二进制存储,其中上四位代表分数百位上的数,下四位代表十位上的数。减:实现参数加分功能,每次扣10分,其他相同。2015年4月2

5、0日设计步骤准备工作:根据设计要求,分析整个系统的功能和设计任务,我们知道系统需要四个模块来实现其功能。它们是:设计加扰识别锁存模块、分组解码加扰模块、评分模块和分组分数动态扫描模块。选择一个初步的设计方案,然后根据功能分配任务。输入:写抢答的latch模块的代码。设计分组解码模块。设计评分模块设计动态扫描模块结合以上四个模块,设计这四个模块的顶层模块。增加防抖模块。功能模拟:各模块设计完成后,对该模块的仿真波形进行设计和仿真。引脚约束:根据功能设计和FPGA外围电路设计,对管脚进行约束。二。设计总体流程图加减分加减分应答信号应答按钮主机控制开关分组LED灯FPGA数字显示指示分数蜂鸣器响起。

6、重置三。设计方案(包括主控电路状态转换图)1.FPGA具体模块的电路连接组合如下图所示:群组群组1:0Cllk错误的正确回答闩锁模块。群组解码提醒模块评分模块分组动态扫描显示模块光2:0分数7:0【& 0】2.各模块的功能和设计方案;(1)抢先锁存认证模块功能:reset是主机的复位信号(开始应答信号)。当低电平Reset到来时(下降沿),模块开始锁存输入端口的信号,当其中一个发生变化时,它会阻止输入。然后根据真值表输出锁存的信号。(2)分组解码提醒模块功能:该模块用于控制蜂鸣器和三个LED灯,其中蜂鸣器控制蜂鸣器,灯控制组信号灯。当组信号从00变为其他信号时,蜂鸣器会响12s,表示答案已经加

7、扰,对应加扰组的led会亮。(3)评分模块功能:该模块用于对各组进行评分并输出结果。右的每一个下降沿触发对应的组加功能,错的每一个下降沿触发对应的组减功能。分数1、分数2和分数3分别对应于组1、组2和组3的评分结果。由于只考虑10位和100位,所以只需要8位二进制数,其中分数的上4位代表分数的100位,下4位代表分数的10位。(4)评分模块的加分和扣分功能设计:添加:它的参数是当前分数,实现了参数加分的功能。每次加分为10分,100和10位以八位二进制存储,其中上四位代表分数百位上的数,下四位代表十位上的数。减:实现参数加分功能,每次扣10分,其他相同。(5)动态扫描组分数显示模块功能:该模块

8、主要实现对已回答的分数和分组的动态扫描,并在数码管上动态显示。Score1、score2和score3分别表示当前分数,wei7:0和duan6:0分别表示位选择和段选择信号。(6)前四个模块的组合设计思路:根据设计方案的具体模块连接,如图1,设计顶层模块。输入:共有三个按键输入信号和一个时钟输入信号。输出:控制组灯的信号,数码管关断选择和位选择信号。具体设计如下:四。顶层及其各个模块的波形图仿真分析1.识别锁存模块的波形设计;分析:刚开始,群体输出是00。当reset复位时,键2出现低电平(第三组被按下),组输出为11。下一次按1键时,组输出保持不变。当另一个复位信号到来时,密钥再次有效,后

9、者也是如此。显然实现了抢答识别的锁定功能。2.群组解码提醒模块:解析:当组从00变为01,10,11时,很明显,光对应真值表的变化。然而,Warn以半个时钟周期频率开始变化,需要50个时钟周期才能停止变化。因此,为了更完整地验证光信号的变化,设计组的变化不根据实际时间而变化。3.评分模块:(1)解析:分数就是第一百分和第十分的意思。开始时,初始分数是100分,当组是10时,在从右开始的低脉冲之后,score2变成8h11;当组是01时,在来自右侧的低脉冲之后,score1变成8 h11当组是11时,从错误的低脉冲后,score3变成8 h09经过其他分析,功能实现明显。(2)本模块调用的加分和

10、扣分函数的测试波形和分项分析。添加:减少:分析:用时钟信号(作为测试的辅助信号)测试这两个功能。可以看到,add中实现了每次加1的功能,(因为百位和十位,相当于加10),实现了减1的功能。4.动态扫描模块:分析:时钟信号每来一次,位选择依次变化一次,关选择信号变化一次,对应位显示的小数的数码管控制值。例如,第三位对应于用于控制score2的100位。当被选择时,score3位是8h30,这显然对应于关闭选择输出8h06;其他位置也可以用同样的方法验证。5.子顶部模块分析:重置信号后,当0键出现脉冲时,光变为3h1。Warn开始以时钟频率的一半变化。显然,模块1和模块2的功能都实现了。对于每个时

11、钟信号,位选择按顺序改变一次,关断选择信号改变一次,对应于该位显示的分数的数码管控制值。开始时,由于每个人以100分开始,所以对于百位段和十位段应显示1和0,对应的关选信号为7H01和7H4F;第八位用来显示匆忙回答的组数。当第八位选择接通时,对应的关断选择输出为7h4f,其正好对应于所选组的第一组。当右低脉冲到来时,选择第一位,第二位导通(控制score1的一百一十位),关断选择信号输出7H4F,7H4F,对应110分。显然实现了加分功能和动态扫描功能。还可以验证减法函数的真实性。5.经验这个课程设计是对我之前学习的一个测试和检测。通过这次设计一个比较完整的数字系统,从最初的完全迷茫,到后来

12、的选题,再到任务分配,和同学讨论,查阅资料,解决遇到的问题,真的感受到了设计中的快乐和辛酸。有时候遇到一个简单的错误,却要花很长时间去解决。有时甚至会心烦气躁。但最幸福的时刻,是绿浪出现在我眼前的那一刻。是努力的结果,总让我觉得有点激动。在设计过程中,我发现了很多以前没有注意到的问题。例如,同一个变量不能在两个always语句中赋值。虽然没有语法错误,但合成时会报错。例如,所有输入都应该是有线变量,因此在实例化时,中间变量应该设置为有线网络。比如调用函数时,不能直接把输入作为参数传递。多少天的屏幕等待,多少个挑灯夜战的夜晚,当时间的记忆里充满了苦涩的汗水,我想我收获了灿烂阳光下最丰硕的果实。不

13、及物动词程序源代码(1)抢先锁存认证模块模块抓取(键、复位、组);输入2:0键;输入复位;输出寄存器1:0组;reg q;电线qiang,clk赋值Qiang =(key0& key1& key2);赋值clk =(Qiang | | q);始终(negedge clk或negedge复位)如果(!重置)开始q = 0;目标else q=!q;始终(负边沿时钟)开始案例(关键)3b110:组 = 2 b013b101:组 = 2 b103b011:组 = 2 b11默认:group = 2 b00结束案例目标末端模块(2)分组解码提醒模块模块警告(时钟,组、灯、警告);输入clk输入1:0组;

14、输出reg2:0灯;输出寄存器警告;reg enareg5:0t;最初的开始warn = 1 b1cnt = 6 b0目标始终(posedge时钟)开始中频(ena)开始CNT = CNT+1 B1;if(cnt=6b1111111)ena = 1 b0目标目标总是(组)开始案例(组)2b00:轻 = 2 b0002 b01:light = 2 b001;2b10:轻 = 2 b0102b11:轻 = 2 b100结束案例如果(群!=00)开始ena = 1 b1目标目标总是(计数)warn = warn+1 B1;末端模块(3)评分模块模块控制(组,得分1,得分2,得分3,正确,错误);输入

15、正确,错误;输入1:0组;output reg7:0 score1、score2、score3寄存器7:0 s1,s2,S3;最初的开始s1 = 8 b00010000s2 = 8 b00010000s3 = 8 b00010000score1 = 8 b00010000score2 = 8 b00010000score3 = 8 b00010000目标函数7:0add;input7:0score _ start;reg3:0 gao4,di4开始Gao 4 = score _ start7:4;di4 = score _ start3:0+4 B1;if(di4=4b1010)开始di4 =

16、 4 b0000Gao 4 = Gao 4+4 B1;目标add=gao4,di4 ;目标结束函数函数7:0reduce;input7:0score _ start;reg3:0 gao4,di4开始Gao 4 = score _ start7:4;di4 = score _ start3:0;if(di4=4b0)开始Gao 4 = Gao 4-4 B1;di4 = 4 b1001目标其他di4 = di4-4 B1;reduce=gao4,di4 ;目标结束函数总是(负边缘右,负边缘错)开始if(right=0)开始if(group = = 2 b01)S1 = add(S1);if(gr

17、oup = = 2 b10)S2 = add(S2);if(group = = 2 b11)S3 = add(S3);score1 = s1score2 = s2score3 = s3目标其他开始if(group = = 2 b10)S1 = reduce(S1);if(group = = 2 b10)S2 = reduce(S2);if(group = = 2 b11)S3 = reduce(S3);score1 = s1score2 = s2score3 = s3目标目标末端模块(4)动态扫描组分数显示模块模块scan_led(group,score1,score2,score3,clk,

18、wei,Duan);input 7:0score1,score2,score3输入clk输入1:0组;输出reg6:0段;输出reg7:0魏;reg2:0t _ scan;reg3:0data out;最初的开始cnt _ scan = 16 b0目标始终(posedge时钟)CNT _ scan = CNT _ scan+1 B1;始终(计数扫描)开始案例(计数扫描)3b000:魏= 8 b0000 _ 00013b001:魏= 8 b0000 _ 00103b010:魏= 8 b0000 _ 01003b011:魏= 8 b0000 _ 10003b100:魏= 8 b0001 _ 00003b101:魏= 8 b0010 _ 00003b110:魏= 8 b0100 _ 00003b111:魏= 8 b1000 _ 0000默认:魏= 8 b0000 _ 0001结束案例目标总是(魏)开始案例(魏)8 b 0000 _ 0001:data out = score 17:4;8 b 0000 _ 0010:data out = score 13:0;8 b 0000 _ 0100:data out = score 27:4;8 b 0000 _ 1000:data out = score 23:0;8 b 0001 _ 0000:data

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论