1、 (1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自
2、动的把VHDL描述设计转变成门级网表。 (5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。1.2 Quartus简介QuartusII是Altera公司的综合性PLD开发软件,可以采用多种输入方式,如VHDL、Verilog HDL、AHDL(Altera Hardware Description Language)及电路图等。它支持一些比较成熟的模块,如LPM/MegaFunction宏功能模块库等,设计者可以直接调用这些模块,从而使设计的复杂性降低了,设计的速度也加快了。QuartusII内带有综合器和仿真器,可
3、以完成从设计输入到硬件配置的完整PLD设计流程,减少了设计者的工作量。QuartusII是一种综合性的开发平台,在QuartusII中可以进行系统级设计嵌入式的软件开发和可编程逻辑的设计。QuartusII越来越受到数字系统设计者的欢迎,是因为QuartusII拥有强大的设计能力和直观易用的接口,可以在多种平台上使用,如XP、Linux以及Unix等,具有完善的用户图形界面设计方式,运行速度快,功能集中,易学易用等特点。2 设计题目、内容及要求2.1 设计题目乒乓球游戏机设计2.2 设计内容(1)用8个发光二极管表示球,用两个按钮分别表示甲乙两个球员的球拍。(2)一方发球后,球以固定速度向另一
4、方运动,发光二极管依次点亮,当球达到最后一个发光二极管时,对方击球,按下按钮,球将向相反方向运动。在其他时候击球视为犯规,给对方加1分都犯规,各加1分。(3)甲乙两方各由数码管计分。(4)裁判有一按钮可进行系统初始化。具体原理图如下:等待发球 甲得分 乙得分 甲发球 乙发球第一盏灯亮第八盏灯亮允许甲发球球向甲移动 乙击球 甲击球球向乙移动 乙击球 甲击球允许乙发球 乙没击球 甲没击球图1-1 乒乓球游戏机原理图2.3 设计要求(1)根据任务要求确定电路各功能模块;(2)写出设计程序;(3)给出时序仿真结果;(4)最后要有设计总结;3 系统设计3.1 控制模块的设计模块pp分两个进程,第一个进程
5、实现逻辑功能,第二个进程将整数的记分转换为十进制数,便于译码显示。af,aj,bf,bj分别为a方发球键和接球键,b方发球键和接球键,shift表示球所在的位置。其vhdl程序描述如下:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity pp isPort(clr,af,aj,bf,bj,clk:in std_logic;Shift:out std_logic_vector(7 downto 0);Ah,al,bh,bl:out std_logic_vector(3 downto 0);
6、Awin,bwin:out std_logic);End pp;Architecture behave of pp isSignal amark,bmark:integer;Begin Process(clr,clk)Variable a,b:std_logic;Variable she:std_logic_vector(7 downto 0);BeginIf clr=0thena:=;b:she:=amark=0;bmark8 then if bj=-b方过网击球=amark+1;-a方加一分else&she(7 downto 1);-b方没有击球end if;elsif she=0 the
7、n-球从b方出界-b方正常击球if she16 and she/=0 thenif aj=bmark+1;=she(6 downto 0)&shifttmp1 thenif ala=1001=aha+1;=tmp1+1;=ala+1;elsif bmarktmp2 thenifbla=bha+1;=tmp2+1;=bla+1;al=ala;bl=bla;ah=aha;bh=bha;awin=t1;bwinq=d3;End case;End process;End behave;3.3 产生数码管片选信号模块的设计-产生数码管片选信号模块sel的vhdl程序描述如下:Entity sel isP
8、ort(clk:Sell:out std_logic_vector(2 downto 0);End sel;Architecture behave of sel isProcess(clk)Variable tmp:std_logic_vector(2 downto 0);If clkIf tmp=Tmp:001Elsif tmp=End if;Sell=tmp;3.4 7段译码器模块的设计-7段译码器模块disp的vhdl的程序描述如下:Entity disp isPort(d:out std_logic_vector(6 downto 0);End disp;Architecture be
9、have of disp isProcess(d)Case d is00100011010001010110011110003.5 系统仿真图3-1 系统仿真图4 总结通过两周的课设,我们设计出的乒乓球比赛游戏机具备比赛控制、数码管显示、等多种功能。本乒乓球比赛游戏机能够在按下发球键之后,LED灯依次移动并能在移动到最后一个灯时按下击球键击中球,并且能自动记分显示在两位数码管上。经过这次的课程设计,我收获颇丰,学到很多知识,我学会了如何去完成一个任务,懂得了享受过程。当遇到问题,想办法一点点解决。虽然这次的课设时间短暂,但却让我得到了多方面的提高:1、查阅参考书的独立思考的能力以及培养非常重要
10、,我们在设计电路时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。2、相互讨论共同研究也是很重要的,经常出现一些问题,比如电路设计中的控制器的设计,以及乒乓球游戏机怎样计分等的分析。还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了不少棘手的问题,可谓是困难重重,但我们必须要学着自己去找资料、去理解、去解决问题,加强我们独立思考的能力。同时在设计的过程中,我发现了许多自己的不足之处,认识的自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,没有在日常生活中将理论与实际相结合起来,以后要多加努力才行啊!参考文献1.Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.52.潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.23.焦素敏.EDA应用技术.清华大学出版社,2002.415