北华航天工业学院毕业论文
第3章 FPGA设计概述
3.1 可编程逻辑器件 3.1.1 可编程逻辑器件简介
现场可编程门阵列FPGA(Field Programmable Gate Array)是以可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)及可编程逻辑器件PLD(Programmable Logic Device)等可编程逻辑器件基础发展的产物。ASIC(Application Specific Integrated Circuit),即专用集成电路,它作为领域中的定制电路。然而,FPGA的出现既克服了原有可编程逻辑器件门电路数有限的缺点,又弥补了定制电路的不足。
FPGA以逻辑单元阵列LCA(Logic Cell Array)为概念,由可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)、内部连线(Interconnect)组成,如图3-1所示。与传统逻辑电路和门阵列中的PAL,GAL及CPLD器件相比,FPGA是可编程逻辑器件,具有不同结构,它的组合逻辑是用小型查找表(16×1RAM)。输入端D触发器连接查找表,来驱动其他驱动I/O或逻辑电路,构成基本逻辑单元模块,它们是利用金属连线相互连接或连接到I/O模块,可实现时序逻辑功能和组合逻辑功能。FPGA是向内部静态存储单元以加载编程数据来实现其逻辑功能的,存储器中的值来判定逻辑单元的逻辑功能及各模块之间或模块与I/O之间的连接,以此实现FPGA的功能。
图3-1 FPGA内部结构
3.1.2 使用FPGA可编程器件进行开发的优点
1. 设计灵活
8
北华航天工业学院毕业论文
在设计和使用中进行逻辑修改,重新编程即可,为系统设计提供了较大的灵活性。 2. 增大功能密集度
功能密集度指在给定的空间能集成逻辑功能的数量。可编程逻辑芯片内组件门数高,一片FPGA可替几片、几十片甚至几百片中小规模数字集成电路芯片。FPGA器件实现数字系统时所用的芯片数量少,从而减少使用芯片的数目,减少印刷线路板数目和印刷线路板面积,最终系统规模全面缩减。
3. 提高可靠性
减少印刷线路板数目和印刷线路板面积,不仅仅能够缩小系统的规模,而且又最大限度的提高系统的可靠性。FPGA可编程器件芯片数目的减少,使得印刷线板的焊点和引线也减少,因此系统的可靠性得以提高。
4. 缩短设计周期
基于FPGA的可编程性和灵活性,集成度高,使用时电路的逻辑和布局布线迅速简单,因此它的系统时间即设计周期大为缩短。
5. 工作速度快
FPGA一般可达到几百兆赫兹,远大于DPS器件,实现系统的电路级数又少,因而工作速度快。
6. 增加系统的保密性能
FPGA具有加密功能,可有效防止产品被人非法仿制。 7. 降低成本
FPGA设计周期缩短,修改设计方便,印刷线路板面积和所需插件少,使系统研制开发费用降低;系统可靠性高,维修工作量少,使系统维修服务费用降低。因此,FPGA能是系统设计节约成本。
3.2 FPGA硬件描述语言VHDL 3.2.1 FPGA硬件描述语言VHDL简介
VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,最早诞生于1982年。目前,VHDL作为IEEE的工业标准的硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。
VHDL主要用于描述数字系统的行为、结构、接口和功能。除含有硬件特征的语句外,它的语言形式和描述风格类似于计算机的高级语言。它的程序特点是将一项工程设计,或设计实体(可以是一个系统,一个电路模块或一个元件)分成外部(或部分,及端口)和内部(或不可视部分),涉及实体的内部功能和算法完成部分。在对一个设计实体定义
9
北华航天工业学院毕业论文
外部界面后,一旦它的内部开发完成,其他的设计就可直接调用这个实体。VHDL系统设计的实质是以将这种设计实体分成内外部分为概念的。
3.2.2 FPGA硬件描述语言VHDL优点
1. VHDL语言结构强大,只需简明的语言程序即可描述十分复杂的硬件电路。 2. 具有多层次电路设计描述功能。
3. 同时支持随机电路、同步电路和异步电路的设计实现,这是其他硬件语言所不能比拟的。
4. VHDL 语言设计方法灵活多样。 5. VHDL 语言功能强大。 6. VHDL 语言移植能力强大。 7. VHDL 语言具有丰富的数据类型。
3.3 FPGA开发工具及设计流程 3.3.1 ISE应用软件
集成环境ISE(Integrated Software Environment)在ISE平台下,用VHDL语言编写程序,并用ISE平台中的工具进行仿真、分析、校正。本文将采用ISE14.4软件设计程序与仿真。
3.3.2 Modelsim仿真软件
Modelsim是Mentor公司的仿真环境,是目前业内界最为优秀的VHDL语言仿真软件。它可完成程序设计与仿真,编译和仿真速度快,是FPGA的首选仿真软件。因此,用户可以通过简单设置,将Modelsim软件集成在ISE的开发工具中。
ISE集成Modelsim软件的步骤:先开始菜单下找到ISE14.4软件的启动图标,点击ISE14.4软件的启动图标直接运行,然后点击“Edit→Preference”菜单,这时将出现一个对话框,然后点击”ISE General→Integrated Tools”就可以完成集成工具的设置,如图3-2所示。
10
北华航天工业学院毕业论文
图3-2 ISE第三方集成工具的设置界面
3.3.3 Simplicity综合软件
在Synplicity公司的Synplify、Synplify Pro和Synplify Premier等逻辑综合工具中,以Synplicity的FPGA综合工具为主导。它涵盖了可编程器件的综合、编译、验证、调试等各个领域。
在具体设计过程中,首先用ISE综合工具进行Synplicity的属性设置,如图3-3所示。然后进行设计综合,查看综合效果,再进行程序编译、调试优化等工作后,用Synplify Pro进行分析综合,进行最终达到实现效果。
11
北华航天工业学院毕业论文
图3-3 Synplicity属性设置界面
3.3.4 FPGA设计流程
1. 设计输入与设计编译
设计输入即用硬件描述语言VHDL编写代码。设计编译即运行所编写的硬件描述语言VHDL代码。首先,创建一个新项目和生成一个计数器模块,其次,参考该计数器模块,用VHDL语言设计一个8为计数器,如图3-4所示。
图3-4 设计输入
2. 仿真分析
ISE本身自带ISIM仿真工具,又有进行仿真的接口。故可用Modelsim仿真软件进行仿真,并进行编译,如图3-5所示。
12