FPGA技术简介剖析-共78页

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FPGA技术简介目录4FPGA基础知识123FPGA最小系统设计Verilog基本知识实例讲解5FPGA设计流程—使用QuartusII项目可行性论证报告1、FPGA基础知识项目可行性论证报告1.1、数字集成电路的发展历程1、电子管2、晶体管3、中小规模集成电路4、超大规模集成电路5、专用集成电路(ASIC)ASIC是为了满足特定的用途而设计的芯片,专门为一个用户设计和制造的,例如MP3解码芯片,一旦设计结束后,功能就固化了,以后想更改或者升级困难很大。6、可编程器件(FPGA)FPGA是可编程ASIC,内部逻辑可以根据产品项目的不同,随时通过编程语言更改,在产品开发上更有效率,更节约成本。项目可行性论证报告1.2、FPGA概述FPGA是英文FieldProgrammableGateArray(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。项目可行性论证报告ALTERA公司Cyclone系列产品例如型号EP2C5T144I6表示管脚144个、工业级别、速度等级为61.3、FPGA与DSP区别DSP是处理器,它的作用是高速执行串行算法、运行软件,内部资源主要是乘法器,加法器之类的资源,有SPI接口,UART接口,接受一定的指令集,内部的资源基本上都是现成的,根据客户的需要而重新配置,方便于客户的使用。优势是强大的数据处理能力和较高的运行速度。FPGA是一块可编程逻辑门电路阵列,通过改变其内部逻辑单元的链接,用它能够实现各种各样的组合、时序数字电路。优势是可以实现并行运算。项目可行性论证报告基于DSP和FPGA导航计算机系统设计作为导航系统核心部件的导航计算机负责从数据采集电路获取导航原始数据,进行捷联导航算法处理,最后将解算得到的导航结果进行输出控制,系统工作原理如下图所示,硬件设计上采用了DSP+FPGA的解决方案。项目可行性论证报告DSP芯片主要完成复杂的数学运算,包含误差补偿、系统标定算法、初始对准和导航运算等;FPGA芯片完成所有外围接口,包括陀螺、加速度计的高速采样和I/O接口等各传感器信号的采集,通过并行接口送至处理器芯片进行运算处理,将解算到的惯性测量信息通过数据接口输出。项目可行性论证报告为保障系统具有大规模数据处理能力,同时具有实时性的特点,导航计算机的核心器件选用了TI公司推出的高速浮点处理器DSP芯片TMS320C6713。作为导航计算机的核心控制部件,该芯片工作的主频为200MHZ,单指令执行周期为5ns,定点浮点运算能力强大。FPGA芯片的使用,方便了电路的集成,通过模块化的VerilogHDL语言设计,可以实现各传感器的同步采样,因为各模块之间是并行执行的。项目可行性论证报告1.4、FPGA与CPLD主要区别1、CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计。FPGA集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计。2、FPGA是基于SRAM的,就是掉电之后数据丢失,需在FPGA外加配置芯片(EPROM等),将配置数据写入其中,系统每次上电自动将数据配置到SRAM中。CPLD器件采用EEPROM存储技术,可重复编程,且系统掉电后,EEPROM中的数据不会丢失。3、CPLD保密性好,FPGA保密性差。项目可行性论证报告1.5、FPGA芯片主要厂家目前市场上FPGA芯片主要来自Xilinx公司和Altera两家公司,这两家公司占据了FPGA80%以上的市场份额,通常来说,在欧洲使用Xilinx的人多一些,在亚太地区使用Altera的人多一些,在美国一般是平分秋色。两家公司的全球总部都设在美国的圣何塞,互挖墙角也是常有的事,所以这两款芯片无论是器件内部结构还是开发环境上都很相似。所以,初学者也没有必要太在意用的是Xilinx的器件还是Altera的器件。只要用过了一家公司的器件,用熟了一家公司的开发工具,掌握了FPGA开发设计的基本理论,那么换个器件换个工具也很容易掌握。项目可行性论证报告1.6、FPGA的基本结构FPGA器件从1985年出现以来得到迅速发展,其密度、速度、功能、结构等都有了很大改进,但其基本结构大体相同。项目可行性论证报告FPGA结构基本上由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。每个单元的基本概念介绍如下:(1)可编程输入/输出单元可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。一般说来,常见的电气标准有LVTTL、LVCMOS、SSTL、HSTL、PCI等。项目可行性论证报告(2)基本可编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般是基于SRAM工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT,LookUpTable)和寄存器(Register)组成的。例如,Altera可编程逻辑单元通常被称为LE(LogicElement,逻辑单元),由一个Register加一个LUT构成。项目可行性论证报告(3)嵌入式块RAM目前大多数FPGA都有内嵌的RAM块,嵌入式块RAM可以配置为单端口RAM、双端口RAM、FIFO等存储结构,这些常用存储器对于用户的少量数据缓存也是很实用的。RAM是根据地址读写的数据存储单元。FIFO是先进先出队列式存储结构,FIFO一般用于不同时钟域之间的数据传输。项目可行性论证报告(4)丰富的布线资源根据工艺、长度、宽度和分布位置的不同而划分为4类:第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。项目可行性论证报告(5)底层内嵌功能单元内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP等软处理核(SoftCore)。DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。赛灵思(Xilinx)公司生产的芯片上集成了DLL,Altera公司的芯片集成了PLL。PLL和DLL可以通过IP核生成的工具方便地进行管理和配置。项目可行性论证报告(6)内嵌专用硬核内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(HardCore),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。。项目可行性论证报告1.7、硬件描述语言(HDL)常用的硬件描述语言有VHDL、Verilog。VHDL:作为IEEE(电气和电子工程师协会)的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言,VHDL主要用于描述数字系统的结构、行为、功能和接口。Verilog:在C语言的基础上发展而来的硬件描述语言,具有简洁、高效、易用的特点,支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单。项目可行性论证报告2、FPGA最小系统设计项目可行性论证报告2.1、FPGA最小系统的概念FPGA最小系统是指可以使FPGA正常工作的最简单的系统。它的外围电路尽量最少,只包括FPGA必要的控制电路。一般来说FPGA的最小系统主要包括:FPGA芯片、下载电路、外部时钟、复位电路和电源。如果使用到FPGA内嵌的硬核或软核处理器,还要包括:SDRAM和Flash。项目可行性论证报告2.2、FPGA最小系统电路分析下面以Altera公司的Cyclone系列中的EP2C8T144I6为例,介绍一下FPGA最小系统。项目可行性论证报告2.2.1、电源管脚VCCINT:内核电压。通常与FPGA芯片所采用的工艺有关,例如130nm工艺为1.5V,90nm工艺为1.2V。VCCIO:端口电压。一般为3.3V,还可以支持选择多种电压,如5V、1.8V、1.5V等。GND:电源地和信号地。项目可行性论证报告项目可行性论证报告2.2.2、时钟管脚项目可行性论证报告2.2.3、下载配置与调试接口电路设计FPGA是SRAM型结构,本身并不能固化程序。因此FPGA需要一片Flash结构的配置芯片来存储逻辑配置信息,用于进行上电配置。以Altera公司的FPGA为例,配置芯片分为串行(EPCSx)和并行(EPCx)两种。其中EPCx系列为老款配置芯片,体积较大,价格高。而EPCSx系列芯片与之相比,体积小、价格低。在把程序固化到配置芯片之前,一般先使用JTAG模式去调试程序,也就是把程序下载到FPGA芯片上运行。虽然这种方式在断电以后程序会丢失,但是充分利用了FPGA的无限擦写性。所以一般FPGA有两个下载接口:JTAG调试接口和AS模式下载接口。所不同的是前者下载至FPGA,后者是编程配置芯片(EPCSx),然后再配置FPGA。项目可行性论证报告JTAG模式和AS模式的电路原理图项目可行性论证报告2.2.4、IO管脚IO:可用作输入或输出,或者双向口。项目可行性论证报告3、FPGA设计流程—使用QuartusII3.1流程概述3.2设计输入3.3综合与布局布线3.4仿真3.5FPGA下载配置3.6QuatersII工程实例项目可行性论证报告3.1、设计流程概述原理图/HDL文本输入→功能仿真→综合→适配→时序仿真→编程下载→硬件测试。项目可行性论证报告3.2、设计输入1、文本编辑器(TextEditor)是一个灵活的工具,用于以VHDL和VerilogHDL语言输入文本型设计。这种方法的特点是易于使用自顶向下的设计方法、易于模块划分和复用、移植性强、通用性好、设计不因芯片工艺和结构的改变而变化、利于向ASIC移植。2、模块编辑器(BlockEditor)用于以原理图和框图的形式输入设计信息,几乎所有的设计环境都都集成有原理图输入方法。这种方法直观、易用。3、使用MegaWizardPlug-inManager建立Altera宏功能模块或产生IP核,用于QuartusII软件输入与综合工具中的设计。管脚分配:指将设计文件的输入/输出信号指定到器件的某个管脚。项目可行性论证报告3.3、综合与布局布线综合的主要功能是将HDL语言翻译成最基本的与、或、非门以及RAM、触发器等基本逻辑单元的连接关系(网表),供下一步布局布线用。布局布线就是使用综合生成的网表文件,将工程的逻辑和时序要求与器件的可用资源相匹配。项目可行性论证报告3.4、仿真功能仿真功能仿真是指在一个设计中,在设计实现前直接对HDL、原理图或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计要求的过程,仿真过程不涉及任何具体器件的硬件特性。时序仿真时序仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路

1 / 78
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功