资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
交通灯控制器设计专业: 计算机应用技术班级: 计 应 2 班学号: 147030201姓名: 蔡 利 军基于FPGA的交通灯控制器设计摘 要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。交通灯控制系统可以实现路口红绿灯的自动控制。基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。关键词:VHDL,交通灯,EDA目 录前言1第1章 FPGA概述21.1 FPGA的简介21.2 FPGA的应用2第2章 VHDL硬件描述语言32.1 VHDL程序基本结构32.1.1 实体42.1.2 结构体42.1.3 库42.2 VHDL语言42.2.1 VHDL文字规则42.2.2 VHDL数据对象52.2.3 VHDL数据类型52.2.4 VHDL 顺序语句52.2.5 VHDL并行语句6第3章 系统设计与仿真63.1 系统介绍63.1.1 设计任务63.1.2 设计要求63.2 系统设计仿真73.2.1 顶层框图的设计73.2.2 时序状态图的设计73.2.3 工程设计流程框图:83.2.4 芯片的选择83.2.5 各个模块的设计与仿真9结 论23附 录错误!未定义书签。前言当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断进行更新换代,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师更愿意自己设计专业集成电路(ASIC)芯片,而且希望设计周期尽可能短,最好在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程器件(FPLD)。现场可编程门阵列(FPGA)即属其中应用最广泛的一种。随着电子技术的发展,特别是大规模集成电路和计算机技术的研制和发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择,而电子电路的设计却变得越来越复杂,使用“语言”进行电子设计已成为一种趋势。现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。基于EDA技术的现场可编程门阵列(FPGA)电 (ASIC) ,在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考虑具体的硬件结构。基于EDA技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考虑具体的硬件结构。第1章 FPGA概述1.1 FPGA的简介FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。1.2 FPGA的应用 FPGA的应用可分为三个层面:电路设计,产品设计,系统设计。电路设计连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石。事实上在电路设计中应用FPGA要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。 产品设计把相对成熟的技术应用到某些特定领域开发出满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,重点在性能, FPGA技术在这个领域是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计。系统级应用系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用XilinxV-4, V-5系列的FPGA,实现内嵌POWERPCCPU, 然后再配合各种外围功能,这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口了,这对于快速构成FPGA大型系统来讲是很有帮助的。第2章 VHDL硬件描述语言2.1 VHDL程序基本结构 一个相对完整的VHDL程序通常包含实体、结构体、配置、程序包和库5个部分。程序模板如下:LIBRARY library name;USE library name.package name.all;ENTITY entity name IS GENERIC ( parameter name :string:=default value; parameter name :integer:=default value); PORT ( input name,input name: IN STD-LOGIC; Input vector name:IN STD_LOGIC_VECTOR( high DOWNTO low); output name ,output name:OUT STD_LOGIC);END entity name; ARCHITECTURE a OF entity name IS SIGNAL signal name:STD_LOGIC;BEGIN -process statement (optional): -generate statement (optional) END a; 2.1.1 实体实体一般用来描述所设计的系统的外部接口信号,是可视部分;其中最重要的部分是端口说明。端口说明语句是对于一个设计实体界面的说明。端口名是赋予每个系统引脚的名称。一个实体通常有一个或多个端口,端口类似于原理图部件符合上的管脚。实体与外界交流的信息必须通过端口通道流入或流出。IEEE 1064标准包中定义了四种端口模式,其功能及符号分别是IN、OUT、INOUT、BUFFER、LINKAGE。 2.1.2 结构体结构体用于描述系统内部的结构和行为,建立输入输出之间的关系。在一个实体中,可以含有一个或一个以上的结构体,而在每一个结构体中又可以含有一个或多个进程以及其他的语句。其中,实体名必须是被设计的实体的名字。结构体中的说明语句是对结构体的功能描述语句中将要用到的信号、数据类型、常数、元件、函数和过程等加以说明的语句。结构体包含两类语句:并行语句和顺序语句。在PROCESS中的语句是顺序执行的,当PROCESS所带的敏感信号发生变化时,PROCESS中的语句就会执行一遍。2.1.3 库 库使用说明用于打开(调用)本设计实体将要用到的库,库是专门存放预编译程序包的地方。IEEE库:在IEEE库中有一个STD_LOGIC的包,它是IEEE正式认可的包。STD库:STD库是VHDL的标准库,在库中有名为STANDARD的包。在使用库之前,一定要进行库说明,库的说明总是放在设计单元的前面。 2.2 VHDL语言2.2.1 VHDL文字规则VHDL文字主要包括数值和标识符。数值型文字主要有数字型、字符串型和位串型。数字型文字有:整数文字(十进制数)、实数文字(十进制数,必须带有小数点)、以数字基数表示的文字。字符串型文字有:文字字符串、数位字符串、标识符。2.2.2 VHDL数据对象在VHDL中,数据对象类似于一种容器,接受不同数据类型的赋值。数据对象有3种:即常量、信号、变量。常量是固定值,不能在程序中被改变。变量时一个局部量,是一个临时数据,没有物理意义。它只能在Process和Function中定义,必须在进程和子程序的说明性区域说明,并只在其内部有效。信号是描述硬件系统的基本数据对象,代表连接线,Port也是一种信号。2.2.3 VHDL数据类型VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有相同的数据类型的量才能互相传递和作用。VHDL 的基本类型有:bit(位)、bit-Vector(位矢量)、Boolean、time、character、string、integer 、real。 2.2.4 VHDL 顺序语句VHDL有如下六类基本顺序语句 :赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。赋值语句有信号赋值语句和变量赋值语句两种。流程控制语句共有五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句。IF语句根据条件句产生的判断结果:TRUE 或 FALSE,有条件地选择执行其后的顺序语句。 CASE语句根据满足的条件直接选择多项顺序语句中的一项执行。空操作语句不完成任何操作,它常用于CASE语句中,利用它来表示所余的不用条件下的操作行为满足所有可能的条件。2.2.5 VHDL并行语句结构体中的并行语句主要有七种:并行信号赋值语句、进程语句、块语句 、条件信号赋值语句、元件例化语句(其中包括类属配置语句 )生成语句、并行过程调用语句。第3章 系统设计与仿真3.1 系统介绍交通灯控制器用于自动控制十字路口交通灯和计时器,指挥各种车辆和行人安全通行。3.1.1 设计任务设计一个十字路口交通控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行;倒计时显示器用来显示允许通行或禁止通行的时间倒计时。3.1.2 设计要求在十字路口东西方向和南北方向各设一组左转灯、;显示的顺序为:左转灯绿灯黄灯红灯。在东西方向和南北方向各设一组倒计时显示器。倒计时只显示对应方向上的红灯倒计时和绿灯倒计时。其余的状态不显示倒计时。左转灯、红灯、绿灯和黄灯亮的时间分别是15秒、80秒、45秒、5秒。状态表如表3-1所示:表3-1 交通灯状态转换表状态S0S1S2S3S4S5东 西 方 向红红
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号