基于FPGA的计时器的设计毕业设计

发布时间 : 星期二 文章基于FPGA的计时器的设计毕业设计更新完毕开始阅读

端,以便实现更复杂的逻辑功能。因此,利用可编程逻辑器件可以方便地实现各种逻辑功能。 输入 输入控制输出2.1.3 可编程逻辑器件分类

广义上讲,可编程逻辑器件是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。目前常用的可编程逻辑器件主要有简单的逻辑阵列(PAL/GAL)、复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)等3大类。 1、PAL/GAL

PAL是Programmable Array Logic的缩写,即可编程阵列逻辑;GAL是Generic Array Logic的缩写,即通用可编程阵列逻辑。PAL/GAL是早期可编程逻辑器件的发展形式,其特点是大多基于E2CMOS工艺,结构较为简单,可编程逻辑单元多为与、或阵列,可编程逻辑单元密度较低,仅能使用于某些简单的数字逻辑电路。虽然PAL/GAL密度较低,但是它们一出现即以其低功耗,低成本、高可靠性、软件可编程、可重复更改等特点引发了数字电路领域的巨大震动。虽然目前较复杂的逻辑电路一般使用CPLD甚至FPGA 完成,但是对应很多简单的数字逻辑电路,GAL等简单的可编程逻辑器件仍然被大量使用。目前,国内外很多对成本十分敏感的设计都在使用GAL等低成本可编程逻辑器件,越来越多的74系列逻辑电路被GAL取代。GAL等器件发展至今已经近20年了,新一代的GAL以功能灵活,小封装、低成本、重复可编程、应用灵活等特点依然在数字电路领域扮演着重要的角色。目前比较大的GAL器件供应商主要是Lattice半导体。 2、CPLD

CPLD是Complex Programmable Logic Device的缩写,即复杂的可编程逻辑器

…… 与阵列或阵列输出控制…… 图2.1 可编程逻辑器件的基木结构

件。CPLD是在PAL、GAL的基础上发展起来的,一般也采用称为E2CMOS工艺,也有少数厂商采用Flash工艺,其基本结构由可编程I/O单元、基本逻辑单元、布线池和其他辅助功能模块构成。CPLD可实现的逻辑功能比PAL、GAL有了大幅度的提升,一般可以完成设计中较复杂、较高速度的逻辑功能,如接口转换、总线控制等。CPLD的主要器件供应商有Altera、Lattice 和Xilinx等。 3、FPGA

FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列。FPGA是在CPLD的基础上发展起来的新型高性能可编程逻辑器件,它一般采用SRAM工艺,也有一些专用器件采用Flash工艺或反熔丝(Anti-Fuse)工艺等。FPGA的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。FPGA的基本组成部分有可编程输入/输出单元,基本可编程逻辑单元、嵌入式RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。FPGA的主要器件供应商有Xilinx、Altera、Lattice、Actel和Atmel等。 2.1.4 Altera Cyclone Ⅱ系列器件介绍

Altera Cyclone Ⅱ采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone Ⅱ器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。

Cyclone Ⅱ器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。Cyclone Ⅱ器件包含了许多新的特性,如嵌入存储器、嵌入乘法器、PLL和低成本的封装,这些都为诸如视频显示、数字电视DTV)、机顶盒STB)、DVD播放器、DSL调制解调器、家用网关和中低端路由器等批量应用进行了优化。本设计正是采用Cyclone Ⅱ系列的芯片EP2C35672C6。该芯片的空间足够应付该系统所需要的资源。 2.1.5 FPGA的开发流程

FPGA开发基本流程包括:设计输入、设计仿真、设计综合、布局布线等,

它们的连接关系如图2.2所示。图2.2中FPGA开发流程图设计综合是整个FPGA设计流程中一个重要的步骤,它将HDL代码生成用于布局布线的网表和相应的约束。而且随着新一代FPGA芯片频率和密度的增长,时序收敛问题越来越严重,综合已经成为整个设计成败的关键。通常芯片供应商的FPGA软件中都包含综合功能,但它相对简单,不能适应新一代FPGA芯片的发展,需要更加专业的综合工具。

图2.2 Altera FPGA的开发流程

2.2 FPGA设计方法

在FPGA设计中,有许多重要的原则和规律可循,掌握这些原则和规律,人们可以设计出许多高性能的电子系统。

硬件原则主要针对HDL代码编写而言的。硬件描述语言,它通过对硬件的抽象,最终实现在芯片内部的实际电路。因此评判一段HDL代码的优劣的最终标准是:其描述并实现的硬件电路的性能(主要是指面积和速度)。评价一个设计的代码水平,主要从设计工程师所构想的硬件实现方案的效率以及合理性来分析。

一个硬件系统,通过何种方式进行模块划分与任务分配,使用算法和实现功能,以及FPGA的规模估算、数据接口设计等,具体到FPGA的设计就要求对设计的全局有个宏观上的合理安排。一般来说实时性要求高、频率快、功耗小的功能模块适合使用CPLD实现。而FPGA与CPLD相比,更适合实现规模较大、频率较高、寄存器资源使用较多的设计。

面积和速度的平衡与互换原则进行FPGA设计时的一个重要原则。这里“面积”是指一种设计所要消耗的FPGA/CPLD的逻辑资源的数量,对于FPGA可以用所消耗的触发器(FF)和查找表(LUT)来衡量,更一般的衡量方式可以用设计所占用的等价逻辑门数。“速度”是指设计在芯片上稳定运行,所能够达到的最高频率,这个频率由设计的时序状况决定,和设计满足的时钟周期,时钟建立时间(Clock Setup Time),时钟保持时间(Clock Hold Time)等众多时序特征量密切相关。面积和速度是对立统一的矛盾体。要求一个设计同时具备运行频率最高而且面积最小是不现实的。科学的设计方法是在满足设计时序要求的前提下,占用最小的芯片面积。或者在所规定的面积下,频率更高。这两种目标充分体现了面积和速度的平衡思想。相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。

采用同步时序设计是FPGA设计的一个重要原则。它可以使静态时序分析变得简单而且可靠,能有效地避免毛刺的影响,使设计更加有效,还可以减小环境对芯片的影响。在遵循这一原则的时候,应该尽可能的在设计中使用同一时钟,时钟走全局网络,同时避免使用混合时钟采样数据。

联系合同范文客服:xxxxx#qq.com(#替换为@)