上海海事大学本科生毕业设计(论文)
2. 主干道和支道交叉路口的信号灯控制:优先保证主干道的畅通 。平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆通行要穿行主干道时,才将交通灯切向“主干道红灯支道绿灯” 此外,每次通行时间不得短于30S,状态交换过程出现的状态持续时间都为4S
二 FPGA技术及开发工具介绍
(一) FPGA芯片
1. FPGA的结构特点
尽管FPGA和CPLD与其他类型的PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:二维的可配置逻辑功能模块(Configurable Logic Blocks, CLB),构成了PLD器件的逻辑组成核心;输入输出模块(Input/Output Blocks, IOB),连接逻辑块的互连资源;可编程内部互连资源(Programmable Interconnection, PI),由各种长度的连线线段组成,其中也有一些可编程的连接开关,用于逻辑快之间、逻辑快与输入/输出块之间的连接。 2.FPGA的优点
FPGA芯片是特殊的ASIC芯片,除了具有ASIC的特点之外,还具有以下几个优点: (1)随着超大规模集成电路VLSI(Very Large Scale IC)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管。FPGA芯片的规模也越来越大,其单片逻辑门数已经达到上百万门,所能实现的功能也越来越强,同时还可以实现系统集成。
(2)FPGA芯片在出厂前100%都做过测试,不需要设计人员承担投片风险和费用。设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA投入资金少,节省了许多潜在的花费。
(3)用户可以反复的编程、擦除、使用,或者在外围电路部动的情况下,用不同软件就可以实现不同的功能;因此,用FPGA试制样片,能以最快的速度占领市场。FPGA软件包中有各种输入工具、仿真工具、版图设计工具及编程器等全线产品,使电路设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路中有少量改动时,更能显示出FPGA的优势。电路设计人员使用FPGA进行电路设计时,不需要具备专门的IC深层次的知识。FPGA软件易学易用,可以使设计人员集中精力进行电路设计,快速将产品推向市场。
3.FPGA的分类和使用
在FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件(如:.pof)。如何
6
上海海事大学本科生毕业设计(论文)
将编程文件烧到FPGA芯片上呢?
(1)SRAM Base
SRAM Base的FPGA本身就像一个SRAM,在开机后其必须经过一个称为Configuration(配置)的过程。Configuration可将设计加载到电路板上的FPGA中,其方式一般通过各家厂商提供的特殊Download cable(下载电缆),或是在FPGA旁边加块PROM的方式实现。但在关机后,FPGA的内容消失,直到下次重新开机Configuration后,FPGA才能恢复正常的功能,Altera、Xilinx、Lucent等公司都采用这种方式,也是现在用的最多一种方式。
由于LUT (Look-up table) 主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。
(2)Anti-Fuse
Anti-Fuse(反熔丝)的FPGA本身则像一个fuse-array,将设计载入FPGA的过程一般称为刻录,因为它是将FPGA内的fuse熔断,因此在执行这个动作以后,FPGA的功能就固定了,即使掉电后重起其功能仍然存在。对于这种FPGA,就不需要外加专用的配置芯片。但是这种方式的FPGA只能写一次,所以危险性很大,初期的开发过程比较麻烦,费用也比较高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,可耐高低温,可以加密,所以它在一些有特殊要求的领域中运用更多,如军事及航空航天。
(二)VHDL语言简介
VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。
VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
1. VHDL的优点:
7
上海海事大学本科生毕业设计(论文)
当前ASIC制造商都自己开发了HDL语言,但是都不通用,只有美国国防部开发的VHDL语言成为了IEEE. STD_1076标准,并在全世界得到了承认。该语言集成了各种HDL语言的优点,使数字系统设计更加简单和容易。其具体优点如下: (1) VHDL 语言功能强大 , 设计方式多样
VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。 (2) VHDL 语言具有强大的硬件描述能力
VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3) VHDL 语言具有很强的移植能力
VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) VHDL 语言的设计描述与器件无关
采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL 语言程序易于共享和复用
VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用 (6)VHDL的使用非常灵活
VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。
8
上海海事大学本科生毕业设计(论文)
2. VHDL设计电路主要的工作过程 (1)编辑
用文本编辑器输入设计的源文件(为了提高输入效率,可用某些专用编辑器)。 (2)编译
用编译工具将文本文件编译成代码文件,并检查语法错误。 (3)功能仿真(前仿真)
在编译前进行逻辑功能验证,此时的仿真没有延时,对于初步的功能检测非常方便。 (4)综合
将设计的源文件用自动综合工具由语言转换为实际的电路图(门电路级网表),但此时还没有在芯片中形成真正的电路,就好像是把设计者脑海中的电路画成了原理图。 (5)布局、布线
用已生成的网表文件,再根据CPLD(或FPGA)器件的容量和结构,用自动布局布线工具进行电路设计。首先根据网表文件内容和器件结构确定逻辑门的位置,然后再根据网表提供的门连接关系,把各个门的输入输出连接起来,类似于设计PCB(印刷电路板)时的布局布线工作。最后生成一个供器件编程(或配置)的文件,同时还会在设计项目中增加一些时序信息,以便于后仿真。 (6)后仿真(时序仿真)
这是与实际器件工作情况基本相同的仿真,用来确定设计在经过布局、布线之后,是否仍能满足设计要求。如果设计的电路时延满足要求,则可以进行器件编程(或配置)。
(三) MAX+PLUS II软件
Max+plusⅡ是世界上最大可编程逻辑器件的供应商之一Altera公司推出的一款
FPGA/CPLD开发平台。它具有多种原理图输入和文本输入(采用硬件语言)两种输入手段,如原理图输入和文本输入(采用硬件语言)。具备编辑,编译,仿真,综合,下载等功能。用户可以在此软件中完成从源代码输入到最后烧制到芯片的全部开发工作。虽然此软件支持的VHDL语句比专业的仿真和综合工具要少,但是由于它的简单易用和All-in-one(全部功能都集成在一个软件中)特征,在国内高等院校教学中得到广泛的应用。
1. MAX+PLUS II电路设计流程: (1) 设计输入
MAX + plus Ⅱ支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们
9
上海海事大学本科生毕业设计(论文)
的混合输入。本文采用的事VHDL文本输入。
(2)设计处理
设计输入完后,用MAX + plus Ⅱ的编译器编译、查错、修改直到设计输入正确,同时将对输入文件进行逻辑简化、优化,最后生成一个编程文件。 这是设计的核心环节。
(3)设计检查
MAX + plus Ⅱ为设计者提供完善的检查方法设计仿真和定时分析。其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时延。这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。
(4) 器件编程
当电路设计、校验之后,MAX+plus Ⅱ的Programmer 将编译器所生成的编译文件下载到具体的CPLD 器件中,即实现目标器件的物理编程 。
结构流程图如下所示:
1.图像输入2.AHDL3.VHDL 4.Verilog HDL输入设计编译 1.Functional SNF Extractor2.Timing SNF Extractor仿真1.功能仿真2.时序仿真引脚图编辑分配目标器件引脚重编译软件按用户意图进行引脚分配及布线下载/配置将编译生成的下载或配置文件烧录进指定放入器件图2.1 用MAX+plus II 进行电路10 设计的基本流程结构图