基于FPGA使用Verilog的交通信号灯论文剖析
- 格式:doc
- 大小:88.00 KB
- 文档页数:14
目录摘要 (I)1 前言 (1)2 交通红绿灯控制电路的发展与技术现状 (2)2.1 交通控制系统以及交通红绿灯控制电路的发展现状 (2)2.2 智能交通红绿灯控制电路技术的现状 (3)3 VHDL、FPGA、Quartus ii简介 (4)3.1 VHDL简介 (4)3.1.1 VHDL简介 (4)3.1.2 VHDL语言的特点 (5)3.2 FPGA简介 (6)3.2.1 PLD器件的设计特点 (6)3.2.2 FPGA的基本结构 (8)3.2.3 采用FPGA设计逻辑电路的优点 (9)3.3 Quartus II 的简介 (10)4 具体方案论证与设计 (11)4.1 具体方案论证 (11)4.2系统算法设计 (12)4.3 具体电路原理图 (13)4.4 电路仿真图 (14)5 实验结果 (14)总结 (15)参考文献 (16)附录: (18)基于FPGA的十字路口交通信号灯摘要本文主要介绍十字路口交通灯控制器的设计。
首先,介绍交通控制系统以及交通红绿灯控制电路的发展现状;然后采用硬件描述语言进行的交通灯控制器设计。
重点介绍了控制系统各部分的设计,以及各个模块之间的同步处理。
为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城镇交通现状,利用VHDL语言、采用层次化混合输入方式,设计了具有3种信号灯和倒计时显示器的交通信号灯控制系统,在QuartusⅡ下进行仿真,并下载到FPGA 中制作成实际的硬件电路进行了模拟运行.使用该方法设计的交通灯控制系统电路简单、运行可靠、易于实现,可实现对交通信号的控制和显示功能。
关键词FPGA;QUARTUS ii;HDPLD;十字路口交通灯控制器;Based on FPGA intersection traffic lightsAbstractThis paper describes the design of intersection traffic signal controller.First, the introduction of traffic control systems and traffic light control circuit of the development status; then using hardware description language designed for the traffic light controller.Focus on various parts of the control system design, and synchronization between various modules.In order to overcome the traffic signal control system of traditional design drawbacks, more responsive to urban traffic situation, the use of VHDL language, the use of hierarchical hybrid approach, designed with three kinds of lights and countdown display traffic light controlsystem, in the Quartus Ⅱ under simulatedand downloaded to the FPGA, made into the actual hardware to run the simulation circuit. use this method of traffic light control system design of the circuit is simple, reliable, easy to implement, can be realized on the traffic signal control and display functions.Key wordsHDPLD; Crossing traffic lights; Controller; Vehicle pedestrian safety1 前言城市交通是一个集经济性与社会公益性于一体的领域,包括管理体制、城市规划布局、投融资体制、交通方式选择、公共交通运营组织、交通需求管理、交通流量控制与管理等等方面的内容,涉及到管理、法规、规划、工程、TRANBBS技术、财政、教育、环境、能源、信息以及人文等社会经济诸多学科领域。
学号:常州大学毕业设计(论文)(2012届)题目基于FPGA的交通信号控制器设计学生学院专业班级校内指导教师专业技术职务校外指导老师专业技术职务二○一二年六月基于FPGA的交通信号控制器设计摘要:交通灯信号控制器是社会中的一个典型应用,实际的硬件设计用到的器件较多,联系比较复杂,而且会产生比较大的延迟、造成测量误差、可靠性差。
本论文给出了一个基于FPGA的交通信号控制器的设计,它是运用新兴的从上至下的电子设计方法取代传统的电子设计方案,用软件设计技术实现系统的功能,实现系统的集成及智能化控制。
目前城市中机动车数量如日剧增,城市交通问题越来越引起人们的重视。
所以设计一套集成化程度高可智能化控制的交通信号控制系统尤为重要本。
本设计利用QuartusII软件,以可编程逻辑器件FPGA为核心,完成了设计的输入、综合、定时、验证、功能仿真、硬件下载的全过程。
实验结果证明,此设计具有很强的实用性和推广价值。
关键字:FPGA;VHDL;交通灯The traffic signal controller based on FPGA design Abstract: Traffic signal controller is the a typical application, the actual hardware design of the device used more, contact is more complex, and they produce large delay, cause measurement error, poor reliability. This paper gives a traffic signal controller based on FPGA design, it is to use emerging from up to down electronic design method instead of traditional electronic design scheme, with software design technology to achieve the function of the system, realize the integration of the system and intelligent control. At present in the city as the sun vehicles to soar the urban traffic more and more attention. So to design a high degree of integration can be intelligent control of traffic signal control system is particularly important to this. This design using QuartusII software, with programmable logic devices FPGA as the core, completed the design of the input, comprehensive, timing, validation, function simulation, download the whole process of the hardware. The experimental results show that the design is very strong practicability and popularize value.Keywords: FPGA; VHDL; Traffic lights目录摘要 (I)1引言 (1)1.1本课题的开发背景 (1)1.2交通灯控制器的国内外发展状况 (2)1.2.1国内的研究现状 (2)1.2.2国外的研究现状 (3)1.3本课题研究目的和意义 (3)2 拟采用的方案及可行性分析 (4)2.1交通灯的工作原理 (4)2.2 方案一:采用PLC的交通信号控制器设计 (4)2.3 方案二:采用单片机8255的交通信号控制器设计 (5)2.4 方案三:基于FPGA的交通信号控制器设计 (6)3基于FPGA的交通控制器相关EDA知识介绍 (7)3.1 FPGA的概述 (7)3.1.1 FPGA的发展 (7)3.1.2 FPGA的基本结构 (9)3.1.3 FPGA的设计流程 (11)3.2 VHDL语言的概述 (12)3.2.1 VHDL的发展史 (12)3.2.2 VHDL的基本结构 (12)3.2.3 VHDL语言设计的优点 (14)3.2.4 VHDL的设计流程简介 (14)3.3 QUARTUS II 简介 (15)3.3.1 QUARTUS II 概况 (15)3.3.2 QUARTUS II的主要特征 (16)3.3.3 QUARTUS II的设计流程简介 (17)4交通灯的系统设计和主要模块设计与仿真 (18)4.1系统的总体设计要求 (18)4.2基于FPGA的交通控制器设计的设计方案 (19)4.3系统各功能块的概述 (20)4.4 顶层文件生成图 (24)5. 软件仿真结果 (25)5.1 设计仿真过程 (25)5.1.1设计新波形文件 (25)5.1.2 设计仿真 (27)5.2 系统的仿真结果与分析 (27)6硬件设计 (30)6.1 交通灯电路原理图 (30)6.2 电路PCB图 (32)6.3硬件实物图 (32)7 特色与创新之处 (34)8 结束语 (35)参考文献 (36)致谢 (37)附录 (38)1 引言1.1 本课题的开发背景当今社会人们早已习惯了十字路口的红绿灯交通指挥,通过红绿灯指挥交通已近成为社会最常见最有效的办法,红绿灯的出现使交通指挥进入了自动化和智能化的时代。
基于FPGA的交通灯设计交通灯是城市交通系统中非常重要的组成部分,它们的设计和控制对交通流的安全和效率有重大影响。
随着科技的进步,基于FPGA(现场可编程门阵列)的交通灯设计越来越受到关注和应用。
本文将介绍基于FPGA的交通灯设计的原理和优势,并探讨其在现实生活中的应用。
首先,我们来了解FPGA技术。
FPGA是一种硬件设备,可以通过编程对其内部逻辑电路进行配置和重组。
与传统的固定功能芯片相比,FPGA具有灵活性和可重配置性。
它可以根据不同的需求和应用进行程序和逻辑的重新编程,从而实现不同的功能。
这使FPGA成为交通灯设计的理想选择。
基于FPGA的交通灯设计的核心是通过编程逻辑实现灯色的切换和时序控制。
传统的交通灯通常由三个灯色(红、黄、绿)组成,可以根据交通流的需求进行切换。
基于FPGA的交通灯设计可以通过编程逻辑控制灯色和时序,从而实现更加精确和高效的交通流控制。
基于FPGA的交通灯设计具有以下优势。
首先,由于FPGA的可重配置性,交通灯的设计可以根据实际需求进行调整和优化。
无论是交通流量大还是小,交通灯的时序和灯色可以进行灵活调整,以提高交通流的效率和安全性。
其次,FPGA的高性能特性使得交通灯能够实时响应交通流变化。
无论是高峰时段还是低峰时段,交通灯都能够根据实际情况进行灯色切换,确保交通流的顺畅和安全。
最后,FPGA的可靠性和稳定性可以保证交通灯的长期运行。
传统的交通灯可能会因为灯泡烧坏或电路故障而出现故障,而基于FPGA的交通灯设计可以提高系统的可靠性和稳定性,减少故障的发生。
基于FPGA的交通灯设计在现实生活中有广泛的应用。
首先,它可以用于城市道路的交通信号控制。
根据交通流量和道路拥堵情况,交通灯的时序和灯色可以进行调整,以最大程度地减少交通堵塞和事故发生的可能性。
其次,基于FPGA的交通灯设计可以应用于隧道和地下通道的交通信号控制。
由于隧道和地下通道的特殊环境,传统的交通灯在这些场景中难以进行有效的控制。
基于同步FSM交通信号控制器试验目的1、进一步熟悉FSM原理;2、交通信号控制逻辑的抽象建模方法;3、掌握同步有限状态机的置位与复位方法;3、掌握编写可综合的FSM一般指导原则;试验原理Verilog HDL和VHDL亍为描述用于综合还只有十年的历史,可综合风格的VerilogHDL和VHD啲语法只是它们各自语言的一个子集;HDL的可综合性研究近年来非常活跃,可综合子集的国际标准目前尚未最后形成,因此,各厂商的综合器所支持的HDL子集也略有不同;对于有关可综合的VerilogHDL的内容我们只着重于介绍RTL算法级和门级结构的描述;把一个时序逻辑抽象成一个同步有限状态机是设计可综合VerilogHDL 模块的关键。
有限状态机是设计各种时序逻辑电路的关键。
具体的有限状态机的原理可以参看试验七有关原理的介绍。
下面介绍一般的可综合有限状态机的编写原则每个always 块只能有一个事件控制@(event_expression) ,而且要紧跟在always 关键字后面;always 可以表示时序逻辑或者组合逻辑;也可以用always 块既表示电平敏感的锁存器又同时表示组合逻辑;带有posedge或negedge关键字的事件表达式表示边沿触发的时序逻辑,没有posedge或negedge关键字的表示组合逻辑或者电平敏感的锁存器,或者两者都表示;每个表示时序的always 块只能由一个时钟跳变沿触发,置位和复位最好也由该始终跳变沿触发;每个在always 块中赋值的信号必须定义为reg 类型或者整型;Always 块中应该避免组合反馈回路;实验步骤和实验内容1、本试验交通信号控制灯的逻辑关系该交通信号灯控制器用于控制一条主干道与一条乡村公路的交叉口的交通( 如图8-1 所示) ,它必须具有下面的功能;由于主干道上来往的车辆较多,因此控制主干道的交通信号灯具有最高优先级,在默认情况下,主干道的绿灯点亮;乡村公路间断性地有车经过,有车来时乡村公路的交通灯必须变为绿灯,只需维持一段足够的时间,以便让车通过。
题目 基于FPGA 的交通灯控制器的设计与实现专业 电子信息 班级 1 学号 12 姓名 张扬 主要内容、基本要求、主要参考资料等:模拟十字路口交通信号灯的工作过程,利用交通灯模块上的两组红、黄、绿LED 发光二极管作为交通信号灯,设计一个交通信号灯控制器。
设计说明:有两条公路,一条是交通主干道,另一条是支干道。
在主干道和支干道的交叉路口上,设置了红、黄、绿灯,进行交通管理,如图1所示。
支干道主干道图 1 路口交通管理示意图基本要求如下:① 交通灯从绿变红时,有4s 黄灯亮的间隔时间;② 交通灯从红变绿是直接进行的,没有间隔时间;③ 主干道的绿灯时间为20s ,支干道的绿灯时间为10s ;④ 在任意时间,显示每个状态开始到结束所需要的时间。
由此可以得出交通信号灯A ,B ,C ,D 的4种状态,如表1所示。
表 1 交通信号灯的4种状态 交通信号灯 A B C D主干道的交通灯 绿(20s ) 黄(4s ) 红(10s ) 红(4s )支干道的交通灯红红绿黄主要参考资料:【1】张洪润.FPGA/CPLD应用设计200例(上册)[M].北京:北京航空航天大学出版社,2009.【2】潘松.EDA技术实用教程(第三版)[M].北京:科学出版社,2006. 完成期限:2009年11月到2010年6月指导教师签章:专业负责人签章:2009年11月6日诚信承诺本人__________声明,本论文及其研究工作是由本人在导师指导下独立完成,论文所利用的一切资料均符合论文著作要求,且在参考文献中列出。
作者签字:年月日摘要近年来,随着社会上特别是城市中机动车保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要。
在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理[1]。
本课题以FPGA硬件描述语言为设计手段,完成了交通信号灯控制电路的开发,其中交通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿的转换有一个准确的时间间隔和转换顺序,当然这就需要一个自动和安全的系统对红、黄、绿灯的转换进行控制。
课程设计一、设计任务要求基于FPGA的交通灯控制器设计1、总体要求:实现十字路口的交通灯有序显示2、具体要求:按照开发板上的两组红、黄、绿做为南北双向指示灯红灯亮60秒,绿灯亮55秒,黄灯亮5秒要求采用状态机实现状态切换3、附加要求:采用两组两位数码管实现时间倒计时显示二、设计思路1、总体设计方案由设计任务要求可知输入部分有:CLK时钟频率输入,可由实验板上直接提供,本设计选用1kHZ时钟频率。
输出部分有:1)东西方向和南北方向各使用3个LED显示,红黄绿各代表红黄绿灯。
2)东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。
由于为共阴极控制,输出三个SEL0,SEL1,SEL2信号控制选择数码管显示,A,B,C,D,E,F,G信号为输出显示的内容。
3)R1,G1,Y1;R2,G2,Y2信号分别为东西南北红绿灯的输出控制信号。
总体设计软件原理图如下所示设计方案原理图:图1A对应13脚; B对应30脚;C对应15脚; D对应31脚;E对应33脚; F对应32脚;G对应35脚; R1对应4脚;R2对应5脚;Y1对应3脚;Y2对应10脚;G2对应8脚;SEL0对应14脚; SEL1对应11脚;SEL2对应12脚.CLK对应24脚;交通灯系统结构图如下所示:红黄绿红黄绿图2状态切换的状态图如下图:图2、模块设计及结果在VHDL设计中,采用自顶向下的设计思路。
顶层模块中,根据硬件设计,设置如下端口:外部时钟信号:Clk东西方向状态灯控制信号:R1,G1,Y1;南北方向状态灯控制信号:R2,G2,Y2;(1)分频模块:由于外部时钟信号clk的频率为1KHz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。
输入端口:clk外部时钟信号输出端口:clk_out分频后信号源程序代码如下:数码管显示信号:A,B,C,D,E,F,G;数码管共阴极控制:SEL0,SEL1,SEL2;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Frequency1 isport(clk:in std_logic; --外部时钟信号clk_out:out std_logic --分频后信号);end Frequency1;architecture Frequency1_arc of Frequency1 isbeginprocess(clk)variable temp:integer range 0 to 999;beginif(clk'event and clk='1')thenif(temp=999)then --分频计数temp:=0;clk_out<='0';elsetemp:=temp+1;clk_out<='1';end if;end if;end process;end;图4(2)状态选择模块:由于共需要显示4个数字,需要循环点亮7位数码管,该模块通过输入的时钟信号,循环输出4个选择信号。
基于FPGA的交通灯控制电路设计本文介绍了一种基于FPGA的交通灯控制电路设计。
交通灯控制是城市交通管理的一个重要部分,它有助于维护交通秩序,减少交通事故,提高交通效率。
在本电路设计中,我们使用FPGA作为主控制器,并通过数码管、按钮和LED模块与外部交互。
同时,我们还采用了状态机设计方法,以实现灵活的控制逻辑和连续的动态过渡。
首先介绍了本电路设计的硬件设计。
在本设计中,我们使用了FPGA作为主控制器,数码管用于显示当前状态,按钮用于进行手动控制,LED模块用于显示当前灯颜色。
在硬件设计中,我们通过适当的寄存器和时钟模块,实现了稳定的时序控制和同步操作。
接着,我们介绍了本电路设计的软件设计。
在软件设计中,我们采用了状态机设计方法,将交通控制逻辑分为多个状态,通过状态间的转移完成交通灯的切换控制。
具体地,我们将交通灯控制状态划分为三种:绿灯、黄灯和红灯。
在每种状态下,我们通过计数器和状态转移条件来实现精确的时间控制和灯颜色的自动切换。
同时,为了提高控制的灵活性,我们设计了手动控制模式,让用户可以通过按钮手动切换交通灯状态。
最后,我们介绍了本电路设计的实现结果。
在实现过程中,我们使用了Quartus II软件进行综合、布局和验证,并将设计的电路下载到FPGA开发板上进行实验。
实验结果表明,本交通灯控制电路设计实现了稳定、灵活和精确的交通控制,能够满足不同的交通道路需求。
综上所述,本文介绍了一种基于FPGA的交通灯控制电路设计,通过硬件和软件设计,实现了稳定、灵活和精确的交通控制。
该设计可以为城市交通管理提供帮助,为交通事故和交通拥堵的缓解做出贡献。
基于FPGA的智能交通信号灯的设计智能交通信号灯是一个重要的交通设施,能够引导道路上的交通流动,提高道路交通的效率和安全性。
传统的信号灯系统通常是固定的时间间隔来控制交通流量,但是这种方式无法根据实际道路情况做出灵活的调整,并且无法提前预测交通拥堵的情况。
基于FPGA的智能交通信号灯设计可以利用其高度可编程的特性,结合实时数据分析,实现智能的信号控制系统。
首先,设计智能交通信号灯需要采集道路上的实时交通数据。
可以利用传感器、视频监控等技术,获取车辆的数量、速度、流量等信息,以及行人的行走情况。
这些数据将作为信号灯系统的输入,用于实时分析和控制。
其次,设计一个智能交通信号灯的控制算法。
基于FPGA的灵活性,可以采用神经网络、遗传算法等方法,对采集到的实时数据进行分析和预测,进而生成相应的信号控制策略。
通过实时调整信号灯的绿灯时间,根据交通流量的情况的不断优化信号灯的控制算法,进一步提高交通效率。
接下来,利用FPGA实现智能交通信号灯的控制系统。
FPGA具有高度可编程的特性,可以根据设计需求进行灵活的硬件设计。
使用HDL语言(如Verilog或VHDL)来编写信号灯控制逻辑,并通过FPGA进行硬件设计与实现。
FPGA还可以与传感器、通信模块等其他硬件设备进行连接,实现与外部数据的交互。
最后,进行实际的实验和测试。
将设计好的智能交通信号灯系统应用于实际的道路交通场景中,收集实际使用情况下的数据,进一步改进和优化系统性能。
通过实验和测试,可以验证智能信号灯系统的可行性和实用性,并对系统进行改进和完善。
总结起来,基于FPGA的智能交通信号灯设计需要从数据采集、控制算法、硬件设计和实验测试等方面进行综合考虑。
通过充分利用FPGA的高度可编程性和实时性,结合实时数据分析和控制算法,可以实现更加智能和高效的交通信号灯系统,提高道路交通的流畅性和安全性。
摘要交通信号指示灯是城市中交通指挥疏导中不可缺少的智能工具。
以前用到的大多数交通灯的控制系统都是采用单片机或者PLC进行设计开发的。
本文将采用VHDL硬件描述语言来论述各模块代码,并在Quartus II开发环境下进行编译,在硬件板子上进行调试和演示。
在计算机上运行成功并生产生成顶层文件后下载在FPGA器件EP2C5T144开发板子上进行验证。
通过调试结果显示,本文的设计完全可以满足现在交通指挥的需求,包括时间提示显示、相关状态控制和主、支干道的红、黄、绿灯交替显示功能。
本文在交通灯控制的基础上,对硬件描述语言以及其设计流程做了简单介绍。
EDA工具是一种十分重要的VHDL语言开发工具,它是一款能够对设计过程中任何一个环节或者阶段进行计算机模拟的强大工具,因而,该工具能够确保准确的设计,减少设计周期,大大降低成本。
基于FPGA的交通灯控制器具有较高的可靠性、擦写迅速、高效的运算能力、故障少、设计简单、质量轻以及体积不大等优势。
本次设计将采用EP2C5T144最小系统开发板,因为它的体积不大,可以轻松嵌入到外围电路中,完全可以快速进行逻辑判断,数据计算以及系统运算等。
本文采用QuartusII软件进行开发,运用自顶向下的新型设计方法。
关键词:自动、逻辑、交通灯、EDA、FPGAAbstractTraffic light controller plays a very important role in the regulation of urban traffic. The traditional traffic light controller is based on single-chip microcomputer or PLC. This paper introduces a scheme based on FPGA technology and II Quartus development platform to realize the intersection traffic light controller. Using VHDL hardware description language description of the module program, and in the II Quartus environment to compile, simulate, generate the top level files downloaded in the FPGA device EPF10K10LC84 FLEX for verification. The verification results show that the basic design to achieve the control of traffic light controller, including the countdown time display function and main function, the special state control, a road of red, yellow, and green light display function alternately, indicating that the design scheme is correct. In this paper, the design process of the traffic light controller, and briefly introduces the hardware description bright prospect in the digital system design of VHDL language structure model and process design, VHDL design advantages and the language and an important position.EDA tools for electronic design personnel is extremely important, it can in each stage of electronic design, the level of computer simulation and verification, to ensure the design accuracy and can shorten the design cycle and reduce design cost. Can realize the automatic control of traffic lights crossroads traffic lights. Based on the FPGA design of traffic lights system has high reliability, real-time flash, high operation speed, the failure rate is low, the circuit is simple, and the volume is small. This design uses Altera cycloneii series ep2c5t144 chip as the core of the minimum system, it can easily embed into the actual traffic lights application system, can realize the function of the simple logic control, data acquisition, signal processing and mathematical computing; using QuartusII software as a development platform; using top-down design Keywords: automatic, logic, traffic lights, EDA, FPGA目录摘要 (I)Abstract (II)目录 (III)前言 (1)1 绪论 (2)1.1论文研究背景及意义 (2)1.2 FPGA开发的历史及简介 (3)1.3 EP2C5T144最小系统介绍 (4)1.4 本文研究的主要内容 (5)2 硬件设计 (7)2.1硬件开发环境介绍 (7)2.2硬件开发环境平台搭建 (7)2.3原理图设计 (12)3 软件设计 (16)3.1软件开发平台介绍 (16)3.2软件开发平台搭建 (17)3.3程序设计 (18)3.3.1 程序设计分析 (18)3.3.2 程序设计中需要注意的问题 (19)4 实物模型展示 (23)4.1 实物模型介绍 (23)4.2 实物模型演示方法 (24)4.2 仿真说明 (24)总结 (26)参考文献............................................................ 错误!未定义书签。
合肥学院综合课程设计报告题目:基于FPGA的交通灯设计专业:电子信息工程班级:09电子(2)班姓名:周峰导师:成绩:2012年12月11日基于FPGA的交通灯设计一:题目要求1:主干道绿灯时,支干道红灯亮,反之亦然,两者交替允许通行。
主干道每次放行40秒,支干道每次放行30秒。
每次路灯亮,前10秒为左转灯亮,后5秒为黄灯亮。
余下为直行灯亮、2:能实现正常的倒计时显示功能。
3:能实现总体清零功能;计数器由初始状态开始计数,对应状态的指示灯亮。
二:题目分析1:在十字路口东西方向和南北方向各设一组左转灯、;显示的顺序为:左转灯绿灯黄灯红灯。
2:设计一个倒计时显示器。
倒计时只显示总体时间。
主干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、30秒、25秒、5秒。
支干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、40秒、15秒、5秒状态表如表3-1所示:3三:选择方案1:方案一在VHDL设计描述中,采用自顶向下的设计思路,该思路在自顶向下的VHDL 设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。
根据实验设计的结构功能,来确定使用哪些模块以及这些模块之间的关系。
通过上面的分析,不难得知可以把交通灯控制系统划分为3个模块:时钟模块、控制模块、分频模块。
2:方案二不采用方案一的分模块设计,直接用进程写程序。
该程序由7个进程组成,进程P1将CLK信号分频后产生1秒信号,P2形成0-49的计数器,进程P3、P4用来控制的信号灯亮灭的,其中P5、P6产生数码管显示的倒数的十进制形式。
进程P7实现状态转换和产生状态转换的控制信号,进而控制数码管显示。
由于方案一中使用进程会使程序变得很复杂,不易理解,所以我采用了方案二。
四:方案二ASM图设计开关控制部分ASM图ASM图说明:i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。
当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。
FPGA课程论文学院:电气学院专业班级:姓名:学号:指导老师:***日期:2015年12月13日目录一、摘要二、概念2.1 什么是FPGA2.2 工作原理2.3 芯片结构2.4 配置模式三、FPGA的设计语言介绍3.1 VHDL语言介绍3.2 Verilog语言介绍四、交通灯的Verilog语言程序4.1 设计背景4.2 Verilog程序4.3 C语言程序五、学习体会六、参考文献FPGA结课论文一、摘要现在,随着系统级FPGA以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。
传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。
硬件描述语言为适应新的情况,得到迅速发展,出现了很多新的硬件描述语言,像Superlog、SystemC、CynlibC++等。
本次设计是基于FPGA/CPLD数控脉冲宽度调制信号发生器实现,该系统主要模块有:时钟产生电路模块、JTAG编程连接模块、电源电路模块,通过连线将各个模块进行连接成最小系统,系统精简,实现方便且功能强大,比起传统的信号发生器有着比较明显的优势。
本设计立足系统可靠性及稳定性等高技术要求,采用FPGA芯片实现数控脉冲宽度调制信号发生器的FPGA/CPLD设计,其电路设计比较简单,外围电路少,易于控制和检查,较传统的分离元件实现方式有着明显的优势,尤其是其设计电路实现周期,其抗干扰及调试过程都很简单。
二、概念2.1什么是FPGA?FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
2.2工作原理FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。
现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD 器件)相比,FPGA具有不同的结构。
FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
FPGA 的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
2.3芯片结构主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。
FP芯片主要由7部分完成,分别为:可编程输入输出单元、基本可编程逻辑元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌用硬件模块。
每个模块的功能如下:1、编程输入输出单元(IOB)可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。
FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。
通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。
I/O 口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbps 的数据速率。
外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA 内部。
当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(Hold Time)的要求可以降低,通常默认为0。
为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。
只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。
2. 可配置逻辑块(CLB)CLB是FPGA内的基本逻辑单元。
CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。
开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。
在xilinx公司的FPGA器件中,CLB 由多个(一般为1个或2个)相同的Slice和附加逻辑构成。
每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。
3.数字时钟管理模块(DCM)业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。
Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。
相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。
4.嵌入式块RAM(BRAM)大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。
块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO 等常用存储结构。
RAM、FIFO是比较普及的概念,在此就不冗述。
CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。
除了块RAM,还可以将FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。
5.丰富的布线资源布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。
第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。
6.底层内嵌功能单元内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Phase Loop)、DSP和CPU等软处理核(SoftCore)。
越来越丰富的内嵌功能单元,单片FPGA 成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC过渡。
DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。
Xilinx公司生产的芯片上集成了DLL,Altera公司的芯片集成了PLL核生成的工具方便地进行管理和配置。
7. 内嵌专用硬核内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。
为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。
例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
2.4 配置模式FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
三、FPGA的设计语言介绍FPGA设计通常会使用HDL语言,比如Verilog HDL或者VHDL。
当采用HDL 语言来描述一个硬件电路功能的时候,要确保代码描述的电路是硬件可实现的。
HDL语言的语法与C语言很相似,但是它们之间有着本质的区别。
C语言是基于过程的高级语言,编译后可以在CPU上运行。
而Verilog HDL语言描述的本身就是硬件结构,编译后是硬件电路。
3.1 VHDL语言介绍Very-High-Speed Integrated Circuit Hardware Description La nguage是VHDL的英文全名。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。
3.2Verilog语言介绍HDL:Hardware Discription Language,是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。
所有这些都使用同一种建模语言。
此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。