1、1天水师范学院TIANSHUI NORMAL UNIVERSITY数字电子技术与逻辑设计设计报告题 目: 乒 乓 球 比 赛 游 戏 机 学 院: 电子信息与电气工程学院 专 业: 电子信息工程 班 级: 1 4级电 信 一 班 姓 名:学 号:2016 年 1月 3日2目录引言 3设计背景 3Quartus II的功能简介 .3一、设计题目及要求: .41.1题目:乒乓球比赛游戏机。 41.2扩展功能: .4二、设计思路及总体方案 .42.1设计思路 .42.2总体思路描述如下: .5三、 单元电路设计 63.1球台电路的设计 .63.2 计分电路的设计 83.3 响铃电路设计 103.4译
2、码显示的设计 .113.5裁判规则的设计 .123.6时钟电路 .133.7总体电路如图15所示 .143.8 电路设计的引脚设置图 14四、各个模块的时序仿真以及系统时序仿真、分析 154.1 球台驱动控制模块仿真波形图 154.2计分模块仿真波形图 .154.3响铃模块仿真波形图 .1634.4裁判模块仿真波形图 16五、总结 .175.1设计心得 .175.2 本设计有以下几个可以改进的地方 18参考文献 18附录 18Verilog 语言封装的模块程序如下 .1850MHZ分频到4MHZ Verilog程序 .18数码管位码选择Verilog程序 19数码管断码选择Verilog程序
3、19致谢 204引言设计 背景人类社会已进入到高度发达的信息化社会, 信息社会的发展离不开电子产品的进步。 现代电子产品在性能提高、 复杂度增大的同时, 价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快, 实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是 EDA 技术。EDA 是指以计算机为工作平台,融合了应用电子技术、 计算机技术、智能化技 术最新成果而研制成的电子 CAD 通用软件包, 主要能辅助进行三方面的设计工作:IC 设计,电子电路设计以及 PCB 设计。没
4、有 EDA 技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,但是面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的 EDA 工具,使用统一的集体化设计黄精,改 变传统的设计思路,将精力集中到 设计构想、方案比较和寻找优化设计等方面,需要以最快的速度,开 发出性能优良、质量一流的电子产品,对 EDA 技术提出了更高的要求。未来的 EDA 技术将在仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破, 向着功能强大、 简单易学、使用方便的方向 发展5Quartus II的功能简介Quartus II提供了完全集成且与电路结构无关的开发包环境
5、,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL 、AHDL和VHDL 完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量 设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具 进行嵌入式的逻辑 分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合 编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准
6、的EDIF网表文件、 VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。6一、设计题目及要求:1.1题 目: 乒乓 球比 赛 游 戏 机。要求:(1)设计一个由甲、乙双方参赛,裁判参与的 乒乓球比赛游戏模拟机。(2)用八只排成长串的指示灯(发光二极管)来代表球的轨迹,其中一个亮的指示灯用来显示球的当前位置,指示灯依次从左向右,或从右向左移动,一般 为1s转换一次。(3)用两个按钮开关作为球拍,甲乙两人参加比赛。当球到达甲方时, 应立即按动开关( 电路 应只能响应按钮信号的前沿,若重复按动或持续按下去,将不起作用) ,表示回球,球到达
7、乙时,同样也应立即按动乙方的开关,将球回击到对方去。若击 中, 则乒乓球向相反方向移动,若未击中, 则对方得一分。1.2扩 展功能:(1( 设置自动计分电路,双方各用二位数码管进行计分显示,每计满11分为一局。(2) 一方得分时,电路自动响铃 2s,此时发球无效,等铃声停止后方能继续比赛。二、设计思路及 总体方案2.1设计 思路(1)两人乒乓球游戏机是由发光二极管代替球的运动,并按照一定的规则进行对垒比赛。甲乙双方击球用开关表示。(2)当甲乙按动开关时,球向前运动,当球运 动到对方位置时,参 赛者应立即按下自己一方的按钮,即表示 击球。若未 击中则表示 对方得分,一方得分 时,电路自动响铃2s
8、,此时发球无效,等铃声停止后方能继续比赛。(3( 利用计数器连接成十二进制计数器,计满11分一局结束。7(4)其结构框图如下:图1:乒乓球比赛游戏结构框图如上图1所示,该电路主要由时钟信号源、按 键电路、球台驱动控制电路,计数器,显 示译码器和LED数 码管等组成。途中 标出的各种信号的含 义分别为:CLK表示球台驱动电路和计数器的时钟信号;S表示灯(乒乓球)移动的信号;LED表示发光二极管驱动信号,由LED1LED8 组成;CLK1K表示响铃脉冲。2.2总 体思路描述如下:1.用两个74LS194四位双向移位寄存器来模拟乒乓球台,其中第一个74LS194的DL输出端QD接第二个的右移串行输入
9、端SR,这样当乒乓球往右准备移出第一个寄存器的时候就会在时钟脉冲的作用下被移入第二个寄存器。同样道理,第二个74LS194的AR输出端接第一个的左移串行输入端。2.用十二进制计数器74LS161、逻辑门电路和集成的4管脚的数码管组成计分电路。时钟信号源LED球台驱动控制电路LED数码管1显示译码器1计数器2计数器1显示译码器2LED数码管2按键电 路响铃电路8三、 单元电路 设计3.1球台 电 路的 设计球台电路设计用74LS194设计,74LS194是具有串行、并行输入,串行、并行输出及双向移位功能的寄存器,其逻辑符号如图2所示,其引脚:SLSI和SRSI分别是左移和右移串行数据输入端;A、
10、B、 C、D是并行数据 输入端,QA和QD分别是左移和右移串行输入端,QA、QB、 QC和DQ为并行输出端。如图2可以将多片双向移位寄存器74LS194级联,扩展移位寄存器的数据位数。图3是利用双向移位寄存器74LS194扩展成一个8位移位寄存器的应用电路图。图中,左片移位寄存器输入高位数据A,输入低位数据B、C、 D,其SRSI接受串行输入的右移数据,D接至右片的SRSI, 实现低位数据向高位右移。右边移位寄存器输入高位数据D, 输入低位数据A、B、 C,SLSI接受串行输入的左移数据,QA接至左片的SLSI,以实现 高位数据向低位左移。于是构成 8位移位寄存器。9可以通过图3所示电路测试7
11、4LS194的功能图3寄存器测试电路球台驱动控制电路如图4所示图4 球台驱动控制电路10上图中,两片4位74LS194 双向移位寄存器接成 8位双向移位寄存器。图5 球台模块74LS194功能表如表1所示:表1 74LS194功能表输入 输出清0CLRN控制S1 S0串行输入SLSI SRSI时钟CLK并行输出A B C DQA QB QC QD工作模式0111111X X0 00 10 11 01 01 1X XX XX 1X 01 X0 XX XXXX X X XX X X XX X X XX X X XX X X XX X X XA B C D0 0 0 0QA QB QC QD1 QA
12、 QB QC0 QA QB QCQB QC QD 1QB QC QD 0A B C D异步清0保持右移,SRSI串行输入,QA串行输出左移, SLSI串行输入,QD串行输出并行置数功能说明: (1)当S1 = S0 =1 时,不管各输入端原来是什么状态,在下一个 时脉冲到来时,其 输出分别是预先输入到并行输入端的 ABCD , 这种方式叫送数。(2)当 S 1 =0 ,S 0 =1 时,其工作方式叫右移,这时,每来一个 时钟脉冲,输出端的数各向右移一位,而 Q A 端的输出则由加到 SR 端的数来补充。11(3)当 S 1 =1 ,S 0 =0 时,其工作方式叫左移,情况正好与右移相反; Q
13、D 端的输出由加到 SL 端的数来补充。 3.2 计 分 电 路的 设计计分电路用74LS161设计, 74LS161是具有同步加载和异步清0功能的4位二进制加法计数器。由表2可知,74LS161采用异步清 0、同步置数的方式,利用这些功能可以构成小于十六的任意进制加法计数器。这可以采用两种方法来实现,即反馈清0法和反馈置数法。前者是通过计数进位信号控制其清0端来实现的;后者则是通过计数进位信号控制其置数端,将常数加载于计数器中作为计数初值来实现的。计分电路用74LS161构成十二进制加法计数器反馈置数法:反馈置数法适用于有置数端的集成计数器。利用74LS161构成十二进制加法计数器时,反馈置
14、数法的优势是,可 选择其 16个计数状态00001111中的任意连续的12个状态作为十二进制加法计数器的计数状态,如选择00001011或01001111.计分电路中选择计数状态是00001011,则计数状态的转换情况与反馈请0法相同,只是当计数到1011 后,一方面 输出一个进位信号;另一方面,将这个进位信号作为计数器的加载允许信号LDN,将0000从并行数据入口加 载到计数器中作为下一个计数循环的初值。 这种方案的电路如图4所示。计分电路的设计如下图6所示:12图6 计分电路图7 计分模块如图6所示,计分电路由一个十二进制的74LS161 计 数器和逻辑门构成。图7为两个计数器组成的计分模
15、块表2 74161功能表清0 置数 使能 时钟 预置数据 输出CLR LD ENP CL D C B A QD QC QB QA工作模式13N N ENT K01111X0111X XX X0 XX 01 1XXXX X X Xd3 d2 d1 d0X X X XX X X XX X X X0 0 0 0d3 d2 d1 d0保持保持计数异步清0同步置数数据保持数据保持加法计数计分电路有一个按键开关控制清零3.3 响 铃电 路 设计响铃电路的设计图如图8所示:图8 响铃电路如上图所示,响铃电路有响铃频率和逻辑门构成,一方得分时, 电路自动响铃2s 。如图9为响铃模块图9 响铃模块143.4译码
16、显 示的 设计此电路由两部分电路构成分别为译码电路和数码管显示电路构成,译码电路由74LS175,74LS138和逻辑门组成。74LS175为四上升沿D型触发器,其功能表如表3所示表3 74LS175功能表INPUTS OUTPUTSCLR CLK D Q Q非LHHHXLXHLXL HH LL HQ0 Q0非74LS138为3位二进制译码器,如表 4所示表4 74LS138译码器真值 表A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y70 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 11 0 0 0 0 0 0 00 1 0 0 0 0 0 00
17、0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1显示电路由封装的两个模块组成,第一个模块为输入数据,第二个模块将数据转换为断码送给数码管引脚分配以显示计分,如图10所示15图10 译码显示电路如图11为译码显示封装的模块图11 译码显示模块3.5裁判 规则 的 设计裁判规则模块由逻辑门和2个拨码开关控制;当裁判下达可以开始时方能计数,否则不起作用。裁判电路及模块如图12、13所示16图12 裁判规则电路图13 裁判规则模块3.6时钟电 路时钟电路控制乒乓球位置移动和响
18、铃电路的响铃如图14所示17图14时钟模块3.7总 体 电 路如 图 15所示3.8 电 路 设计 的引脚 设 置 图如图16所示18图16电路设计的引脚设置图四、各个模块的 时序仿真以及系统时序仿真、分析4.1 球台 驱动 控制模 块 仿真波形 图如图16所示图16 球台驱动控制模块仿真波形图194.2计 分模 块 仿真波形 图如图17所示图17 计分模块仿真波形图4.3响 铃 模 块 仿真波形 图如图18所示图18响铃模块仿真波形图204.4裁判模 块 仿真波形 图如图19所示图19裁判模块仿真波形图五、总结5.1设计 心得按照任务要求,我们设计出的乒乓球比赛游戏机具备比赛球台控制、计分、
19、数码管显示等多种功能。本 乒乓球比赛游戏机能够在按下发球键之后,LED 灯依次从左往右(或从右往左)移动,在一方发球未接住时,另一方得分,得分 时会有响铃提示。经过这次的 课程设计,我收 获颇丰,学到很多知识,我学会了如何去完成一个任务,懂得了享受过程。当遇到 问题,想 办法一点点解决。这次课程设计虽然短暂。但却是我们组独立自主的从设计电路到得出结论。书本上的内容第一次完完全全的综合运用。在设计过程中。遇到学的不好的知识点,经过请 教老师和同学,以及查阅相关的资料,最 终攻克。21这次设计了乒乓球游戏机,较成功的完成了预期的效果,能够正确判断与显示乒乓球的位置,并能自动记 分和报警的装置。由于
20、时间关系,系 统功能实现不够完善, 乒乓球计分显示模 块有抖动,会有多加分 现 象, 这些都需要不断的改进和补充。虽然这次的数电课程设计时间短暂,但却让我得到了多方面的提高:1、提高了我们的逻辑思维能力,使我 们在逻辑电路的分析与设计上有了很大的进步。加深了我们对组 合逻辑电路与时序逻辑电路的认识,进一步增进了对一些常见逻辑器件的了解。另外,我们还更加充分的 认识到,数字 电路这门课程在科学发展中的至关重要性2、查阅参考书的独立思考的能力以及培养非常重要,我们在设计电路时,遇到很多不理解的东西,有的我 们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。3,相
21、互讨论共同研究也是很重要的,经 常出现一些问题,比如电路设计中的控制器的 设计,以及 乒乓球游戏机怎样计分等的分析。但这毕 竟第一次做, 难免会遇到 过各种各样的问题,我 们必须要学着自己去找资料、去理解、去解决问题,加强 我们独立思考的能力。同时在设计的过程中。我发现了 许多自己的不足之处, 认识 的自己对以前所学过的知识理解得不够深刻,掌握得不 够牢固,没有在日常生活中将理论与实际相结合起来。在设计 的过程中遇到了不少棘手的问题,可 谓是困 难重重,解决后才 发现一丁点的错误都能导致整个系统不能正常的工作,所以以后无论什么事都要细心,避免不必要的错误!5.2 本 设计 有以下几个可以改 进
22、 的地方1、球台控制电路抖动问题需要避免使数码管加数;222、时钟频率应该调节更符合乒乓球运动轨迹频率;3、数码管显示尽量用4支显示双十二进制(0-11);4、无发球时球台桌面应该无LED灯亮。参考文献数字电子技术基础(第二版)、网上附录Verilog 语 言封装的模 块 程序如下50MHZ分频到4MHZ Verilog程序module Half_Int_Div(clkin,clkout);/输入50MHz,输出 为4MHzinput clkin;output clkout;reg clkout,clk1;wire clk2;integer count;parameter N=12;xor x
23、or1(clk2,clkin,clk1);/将输出2分频时钟clk1与clk2/13 分频时钟相异或得到12.5分频always (posedge clkout)/输出时钟2分频begin clk1=clk1;endalways (posedge clk2 )/将时钟clk2 13分频beginif(count=N)begin count=0;clkout=1b1; end23elsebegin count=count+1b1;clkout=1b0;endend endmodule数码管位码选择Verilog程序module MUX81C(A,B,C,D,E,F,G,H,S,Y);input
24、3:0 A,B,C,D,E,F,G,H ;/8路待译码数据,A对应最右边数码管, H对应最左边数码管input 2:0 S; /3位地址输入端output 3:0 Y; reg 3:0 Y; always (A,B,C,D,E,F,G,H,S) case(S)3b000:Y=A;3b001:Y=B;3b010:Y=C;3b011:Y=D;3b100:Y=E;3b101:Y=F;3b110:Y=G;3b111:Y=H;default:Y=A;endcaseendmodule数码管断码选择Verilog程序module display_decoder(d,seg);input 3:0 d; /4位
25、二进制数output 7:0 seg; /8位段码dp g f e d c b areg 7:0 seg;always (d)case(d) /七段译码4h0:seg= 8hc0; /显示04h1:seg= 8hf9; /显示1244h2:seg= 8ha4; /显示24h3:seg= 8hb0; /显示34h4:seg= 8h99; /显示44h5:seg= 8h92; /显示54h6:seg= 8h82; /显示64h7:seg= 8hf8; /显示74h8:seg= 8h80; /显示84h9:seg= 8h90; /显示94ha:seg= 8h88; /显示a4hb:seg= 8h83; /显示b4hc:seg= 8hc6; /显示c4hd:seg= 8ha1; /显示d4he:seg= 8h86; /显示e4hf:seg= 8h8e; /显示fdefault: seg= 8hff;endcaseendmodule致谢感谢老师,同学的帮助25