大一数字逻辑大作业(共20页)

上传人:des****85 文档编号:214665605 上传时间:2021-11-23 格式:DOCX 页数:20 大小:2.69MB
返回 下载 相关 举报
大一数字逻辑大作业(共20页)_第1页
第1页 / 共20页
大一数字逻辑大作业(共20页)_第2页
第2页 / 共20页
大一数字逻辑大作业(共20页)_第3页
第3页 / 共20页
大一数字逻辑大作业(共20页)_第4页
第4页 / 共20页
大一数字逻辑大作业(共20页)_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《大一数字逻辑大作业(共20页)》由会员分享,可在线阅读,更多相关《大一数字逻辑大作业(共20页)(20页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上 大一数字逻辑大作业乒乓球比赛模拟机的设计 题 目: 乒乓球比赛模拟机的设计 院 系: 计算机科学与技术学院 专业年级: 姓名与学号: 指导老师 2018年6月18日目录1 绪论1.1设计目的31.2设计要求32 电路组成及工作原理2.1系统逻辑模型32.1.1系统模块功能 42.2系统模块结构42.2.1全局控制模块 4 2.2.1.1速度调节单元 5 2.2.1.2连续四脉冲发生单元 5 2.2.1.3数据初始化单元52.2.1.4 模块总体设计展示 62.2.1.4.1逻辑电路图62.2.1.4.2波形图6 2.2.2中央控制模块 6 2.2.2.1程序综述 6

2、 2.2.2.2代码实现6 2.2.2.3实现效果9 2.2.3计数模块10 2.2.3.1单局比分计数单元 10 2.2.3.2数据清零单元 102.2.3.3数码管显示单元 11 2.2.4附加功能描述 12 2.2.4.1 大比分计数单元 12 2.2.4.2 发球次数显示 12 2.2.4.3 延时3秒发球 123 调试过程 3.1 Verilog代码bug 13 3.2烧录过程报错 13 4 设计结论 14 5 设计心得与总结 15附录一:总体器件表及相关器件的功能表、管脚分布 15附录二:总体设计图 16附录三:仿真结果17附录四:工作说明18参考文献18 1绪论随着科学技术的发展

3、,人类社会已进入到高度发达的信息化社会, 信息社会的发展离不开电子产品的进步。现代电子产品的发展越来越快, 各种新型电子元器件和智能化的电子产品已经在国民经济的各个领域和人民生活的各个方面得到了日益广泛的应用。实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。乒乓球游戏机控制电路是有甲、乙双方参赛,自动控制发“球”的两人乒乓球游戏机;它能完成自动裁判和自动计分,是一个带数字显示的模拟游戏机。其结构简单、成本低、易操作,安全性强、无污染。乒乓球游戏机还能在娱乐的同时提高我们的反应、应变能力。1.1 设计目的本次大作业的内容是完成一个乒乓球比赛模拟机的设计,采用Verilog电路仿真设计

4、软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。通过这次课程设计让我们了解和熟悉了乒乓球游戏机的原理和vivado仿真设计软件的操作,也让我们加深了解了对双向移位寄存器、双D触发器及逻辑门电路的一些实际用途,并将理论与实践相结合。1.2 设计要求(1)至少用8个LED排成直线,以中点为界,两边各代表参赛双方的位置,其中一个点亮的LED(乒乓球)依次从左到右,或从右到左移动,“球”的移动速度可以调节。(2)当球(被点亮的那只LED)移动到某方的最后一位时,参赛者应该果断按下自己的按扭使“球”转向,即表示启动球拍击中,若行动迟缓或超前,表示未击中或违规,则对方

5、得一分。(3)设计甲乙双方自动记分电路,用数码管显示得分,每记满11分为一局。(4)甲乙双方各设一个发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权的一方发球才能有效。附加功能设计:1)某方达到11分后自动清0重新计数,用LED灯管显示获胜局数 2)可以在任意时刻调整球速 3)每次赢一分显示一个三秒倒计时不能发球2 电路组成及工作原理移动速度信号2.1 系统逻辑模型时钟信号单元2.1.1 系统模块功能由于该系统功能较多,较为复杂,单纯用连线图难以实现,因此决定用行为描述语言Verilog进行程序编写,从而更好地调解程序(1)全局控制模块:1.接受一局结束的信号,使大部分单元清0。2

6、.接受外界信号,调节乒乓球移动速度3.接受计数模块送来的换发球信号,交换发球权。(2)中央控制模块:1.外界输入的挥拍信号2.接受全局控制模块发来的速度信号,模拟球台上显示球的双向移动3回合结束后给出一个回合的结束信号(3)计数模块:1、接受一个回合的结束信号,在数码管上显示比分计数2、在数码管上显示发球计数3、在数码管上显示双方获胜局数统计4、一局结束后送出一局结束的信号5、每记满5分送出交换发球信号2.2.1 全局控制模块2.2.1.1速度调节单元1.单元功能:根据用户拨动开关次数调节球移动速度,P2开关拨动球移动速度减慢,R2开关波动球移动速度加快2.程序综述:输入:speed_up为加

7、速信号 speed_down为减速信号3.单元代码: always(posedge speed_up)beginspeed_cnt_up = speed_cnt_up +1;endalways(posedge speed_down)beginspeed_cnt_down = speed_cnt_down +1;end4.逻辑电路图:2.2.1.2时钟信号单元1.单元功能:降低时钟信号频率 2.单元代码123456789always(posedge light_clk) /降蘋begincnt = cnt +1;if(cnt = (speed_cnt_down*-speed_cnt_up*)be

8、ginclk = !clk;cnt = 0;endend3.逻辑电路图:2.2.1.3数据初始化单元1.单元功能:数据初始化2.单元代码: 1 2 3 4 5 6 7 8 91011121314151617181920initial beginclk = 0;cnt = 0;get_score_times = 0;times = 0;state = 0;A_serve = 1;B_serve = 0;ball_place = 4b0000;A_score_binary = 4b0000;B_score_binary = 4b0000;A_set = 4b0000;B_set = 4b0000;

9、serve_delay = 1;serve_count = 0;speed_cnt = 0;show_set = 0;end2.2.1.4模块总体1.逻辑电路图:2.波形仿真图:2.2.2 中央控制模块2.2.2.1程序综述其中输入:light_clk是时钟端,负责接受时钟信号A_key对应A端控制接球发球的开关B_key对应B端控制接球发球的开关输出:7:0是模拟乒乓球位置的输出信号A_serve是表示A发球的输出信号,A_serve值为1时发球显示灯亮起B_serve是表示B发球的输出信号,B_serve值为1时发球显示灯亮起2.2.2.2代码实现 1 2 3 4 5 6 7 8 9 10

10、 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127always (posedge clk or posedge A_key or posedge B_key)beginif(1)begin if(A_key)beginshow_set = 0; if(!state)/发球 begin if(A_serve) /A发球 begin ball_state = 0; state = 1; ball_place = 4b0001; end end if(state) /接球 begin i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号