1、 沈 阳 大 学 课程设计说明书 NO.1乒乓球游戏机1.课程设计的目的EDA 技术是电子信息科学与技术专业学生在电子技术实验技能方面综合性质的实验训练课程,其目的和任务是通过一周的时间,让学生掌握 EDA 的基本方法,熟悉一种EDA 软件( VHDL) ,并能利用 EDA 软件设计一个电子技术综合问题,为以后进行工程实际问题的研究打下设计基础。2.设计方案论证2.1 EDA、VHDL 简介EDA 是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子 CAD 通用软件包,它根据硬件描述语言 HDL 完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、
2、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。目前 EDA 主要辅助进行三个方面的设计工作:IC 设计、电子电路设计和 PCB 设计。没有 EDA 技术的支持,想要完成超大规模集成电路的设计制造是不可想象的;反过来,生产制造技术的不断进步又必将对 EDA 技术提出新的要求。 VHDL 语言是一种用于电路设计的高级语言。它在 80 年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在 1987 年成为 A I/IEEE 的标准(IEEE STD 10
3、76-1987) 。1993 年更进一步修订,变得更加完备,成为 A I/IEEE 的 A I/IEEE STD 1076-1993 标准。目前,大多数的 CAD 厂商出品的 EDA 软件都兼容了这种标准。自 IEEE 公布了 VHDL 的标准版本,IEEE-1076(简称 87 版)之后,各EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL 的内容,公布了新版本的 VH
4、DL,即 IEEE 标准的 1076-1993 版本(简称 93 版) 。现在,VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,沈 阳 大 学 课程设计说明书 NO.2VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。VHDL 的程序结构特点是将一项工程设计,用 VHDL 和原理图输入进行 CPLD/FPGA设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较直观的。你要设计的是什么,你就直接从库中调出来用就行了。这样比较符合人们的习惯。在对
5、一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已
6、有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。(5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.2 方案论证2.2.1 乒乓游戏机的功能两人乒乓游戏机能够模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分。乒乓游戏机是用 8 个发光二极管代表乒乓球台,中间两个发光二极管兼做乒乓球网,用点亮的发光二极管按一定的方向移动来表示
7、球的运动。在游戏机的两侧各设置两个开关,一个是发球开关(S1a,S1b ) ,另一个是击球开关( S2a, S2b) 。甲乙两人按乒乓球比赛的规则来操作开关。当甲方按动发球开关 S1a 时,靠近甲方的第一盏灯亮,然后二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,按设计者规定的球位乙方就可以击球。若乙方提前击球或者没有击着球,则判乙方失分,甲方记分牌自动加分。然后重新发球,比赛继续进行。沈 阳 大 学 课程设计说明书 NO.3比赛一直进行到一方记分到 11 分,该局结束,记分牌清零,可以开始新的一局比赛。具体功能如下:(1)使用乒乓游戏机的甲乙双方各在不同的位置发球或击球。(2)乒乓球的
8、位置和移动方向由灯亮及依次点燃的方向决定,球移动的速度为 0.10.5s移动一位。游戏者根据球的位置发出相应的动作,提前击球或者出界均判失分。(3)比赛用 11 分为一局来进行,甲乙双方都应设置各自的记分牌,任何一方先记满 11分,该方就算胜了此局。记分牌清零后,又可开始新的一局比赛2.2.2 乒乓游戏机设计思路根据乒乓游戏机功能要求,可以分成四个模块来实现,其中 corna 模块为整个程序的核心,它实现了整个系统的全部逻辑功能;模块 CH41A 在数码的片选信号时,送出相应的数据;模块 sel 产生数码管的片选信号;模块 disp 是 7 段译码器。2.3 乒乓球各模块的设计2.3.1 控制
9、模块的设计 模块 CORNA 分两个进程,第一个进程实现逻辑功能,第二个进程将整数的记分转换为十进制数,便于译码显示。AF,AJ,BF ,BJ 分别为 a 方发球键和接球键,b 方发球键和接球键,shift 表示球所在的位置。其 vhdl 程序描述如下:沈 阳 大 学 课程设计说明书 NO.4图 1 模块 CORNA1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CORNAL IS PORT(clr,af,aj,bf,bj,clk:IN STD_LOGIC;shift:OUT ST
10、D_LOGIC_VECTOR(7 DOWNTO 0);ah,al,bh,bl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);awin,bwin:OUT STD_LOGIC);END CORNAL;ARCHITECTURE behave OF CORNAL IS SIGNAL amark,bmark:INTEGER;BEGIN PROCESS(clr,clk)VARIABLE a,b:STD_LOGIC;VARIABLE she:STD_LOGIC_VECTOR(7DOWNTO0);BEGIN IFclr=0 THENa:=0;b:=0;she:=”00000000”amar
11、k8THENIF bj=0THEN amarktmp1 THENIF ala=”1001” THENala:=”0000”;aha:=aha+1;tmp1:=tmp1+1;ELSEala:=ala+1;tmp1:=tmp1+1;ENDIF;ELSIF bmarktmp2 THENIF bla=”1001” THENbla:=”0000”;沈 阳 大 学 课程设计说明书 NO.8bha:=bha+1;tmp2:=tmp2+1;ELSEbla:=bla+1;tmp2:=tmp2+1;ENDIF;ENDIF;ENDIF;alqqqqqqqqqqqqqq=”1101111”;END CASE;END
12、PROCESS;END behav;3.设计结果与分析3.1 系统的波形仿真图 5 所示为 A 方发球,在恰当的时候 B 方接到球,当球回到 A 方时,A 方又接到球,但 B 方再也没有接到球的仿真波形。沈 阳 大 学 课程设计说明书 NO.12图 5 乒乓球仿真波形一图 6 所示为 A 方两次发球,B 方没有接到球,A 方得到 2 分的仿真波形图图 6 乒乓球仿真波形二图 7 所示为 A 方发球,B 方提前击球的情况,此时, A 方得一分。图中还显示了 A 方发球,B 方在规定的时刻没有接到球的情况,此时,A 方又得一分。图 7 乒乓球仿真波形三沈 阳 大 学 课程设计说明书 NO.13图
13、4 所示为 A 方得分增加到 11 分的情况,此时 awin 输出高电平,输出分数保持不变。当清零信号按下时,得分清为零,awin 输出恢复低电平,又可以开始新的一局比赛。图 8 乒乓球仿真波形四3.2 乒乓游戏机顶层电路图图 9 乒乓游戏机电路图4.设计体会通过本课程的学习,能够掌握 EDA 的基础知识,进一步加深了对 EDA 的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口
14、气。在波形仿真时,也能仿真正确了。 沈 阳 大 学 课程设计说明书 NO.14课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程软件应用十分广泛,因此学会应用此仿真软件是十分必要的。回顾起此次电路的课程设计,从选题到定稿,从理论到实践,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力
15、和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。有时间多看看各方面书籍,拓宽知识面,不断充实自我。不管怎么说这次的课程设计总算是顺利的完成了,了解了软件的用途。不过最后还得经过老师的审查,在老师的指导下弥补自己的不足,这样,这次的课程设计才会画上一个完美的句点。5.参考文献1朱正伟.EDA 技术及应用 M.清华大学出版社, 2008.8 :30-36.2王松武.常用电路模块分析与设计指导M. 清华大学出版社,2007.11 :39-54 .3 廖裕评.CPLD 数字电路设计使用 MAX+plus入门篇M. 清华大学出版社,20074 何希才,邹炳强 . 通用电子电路应用 400 例J. 电子工业出版社,2006.1 :3-11 .5 刘南平. 数字电子电路图解电子电路基础系列J.科学出版社,2009.8 :5-20 .6 张亦华.数字逻辑设计实验技术与 EDA 工具M.北京邮电大学出版社,20037 谭会生. EDA 技术及应用 M.西安电子科技大学出版社, 20088 门宏. 怎样 看电子电路图J.科学社会报,20011.8 :11-22沈 阳 大 学 课程设计说明书 NO.15沈 阳 大 学 课程设计说明书 NO.16