FPGA技术简介剖析

上传人:pu****.1 文档编号:575780737 上传时间:2024-08-18 格式:PPT 页数:78 大小:3.45MB
返回 下载 相关 举报
FPGA技术简介剖析_第1页
第1页 / 共78页
FPGA技术简介剖析_第2页
第2页 / 共78页
FPGA技术简介剖析_第3页
第3页 / 共78页
FPGA技术简介剖析_第4页
第4页 / 共78页
FPGA技术简介剖析_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《FPGA技术简介剖析》由会员分享,可在线阅读,更多相关《FPGA技术简介剖析(78页珍藏版)》请在金锄头文库上搜索。

1、FPGAFPGA技术简介剖析技术简介剖析目目 录录4FPGA基础知识123FPGA最小系统设计Verilog基本知识实例讲解5FPGA设计流程使用QuartusII项目可行性论证报告项目可行性论证报告1、FPGA基础知识项目可行性论证报告项目可行性论证报告1.11.1、数字集成电路的发展历程、数字集成电路的发展历程1、电子管 2、晶体管3、中小规模集成电路4、超大规模集成电路5、专用集成电路(ASIC) ASIC是为了满足特定的用途而设计的芯片,专门为一个用户设计和制造的,例如MP3解码芯片,一旦设计结束后,功能就固化了,以后想更改或者升级困难很大。6、可编程器件(FPGA) FPGA是可编程

2、ASIC,内部逻辑可以根据产品项目的不同,随时通过编程语言更改,在产品开发上更有效率,更节约成本。 项目可行性论证报告项目可行性论证报告1.21.2、FPGAFPGA概述概述 FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电

3、路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。项目可行性论证报告项目可行性论证报告ALTERA公司Cyclone系列产品例如型号EP2C5T144I6表示管脚144个、工业级别、速度等级为61.31.3、FPGAFPGA与与DSPDSP区别区别 DSP是处理器,它的作用是高速执行串行算法、运行软件,内部资源主要是乘法器,加法器之类的资源,有SPI接口,UART接口,接受一定的指令集,内部的资源基本上都是现成的,根据客户的需要而重新配置,方便于客户的使用。优势是强

4、大的数据处理能力和较高的运行速度。 FPGA是一块可编程逻辑门电路阵列,通过改变其内部逻辑单元的链接,用它能够实现各种各样的组合、时序数字电路。优势是可以实现并行运算。项目可行性论证报告项目可行性论证报告 基于DSP和FPGA导航计算机系统设计 作为导航系统核心部件的导航计算机负责从数据采集电路获取导航原始数据,进行捷联导航算法处理,最后将解算得到的导航结果进行输出控制,系统工作原理如下图所示,硬件设计上采用了DSP+FPGA的解决方案。项目可行性论证报告项目可行性论证报告 DSP芯片主要完成复杂的数学运算,包含误差补偿、系统标定算法、初始对准和导航运算等;FPGA芯片完成所有外围接口,包括陀

5、螺、加速度计的高速采样和I/O接口等各传感器信号的采集,通过并行接口送至处理器芯片进行运算处理,将解算到的惯性测量信息通过数据接口输出。项目可行性论证报告项目可行性论证报告 为保障系统具有大规模数据处理能力,同时具有实时性的特点,导航计算机的核心器件选用了TI公司推出的高速浮点处理器DSP芯片TMS320C6713。作为导航计算机的核心控制部件,该芯片工作的主频为200MHZ,单指令执行周期为5ns,定点浮点运算能力强大。 FPGA芯片的使用,方便了电路的集成,通过模块化的Verilog HDL语言设计,可以实现各传感器的同步采样,因为各模块之间是并行执行的。项目可行性论证报告项目可行性论证报

6、告1.41.4、FPGAFPGA与与CPLDCPLD主要区别主要区别1、CPLD集成度相对小一点,多用于2万门规模以下的设计,适合实现较复杂的组合逻辑,如编、译码设计。FPGA集成度较高,内部触发器多,多用于1万门以上的大规模系统设计,适合做复杂的时序逻辑设计。2、FPGA是基于SRAM的,就是掉电之后数据丢失,需在FPGA外加配置芯片(EPROM等),将配置数据写入其中,系统每次上电自动将数据配置到SRAM中。 CPLD器件采用EEPROM存储技术,可重复编程,且系统掉电后,EEPROM中的数据不会丢失。3、CPLD保密性好,FPGA保密性差。项目可行性论证报告项目可行性论证报告1.51.5

7、、FPGAFPGA芯片主要厂家芯片主要厂家 目前市场上FPGA芯片主要来自Xilinx公司和Altera两家公司,这两家公司占据了FPGA80%以上的市场份额,通常来说,在欧洲使用Xilinx的人多一些,在亚太地区使用Altera的人多一些,在美国一般是平分秋色。两家公司的全球总部都设在美国的圣何塞,互挖墙角也是常有的事,所以这两款芯片无论是器件内部结构还是开发环境上都很相似。所以,初学者也没有必要太在意用的是Xilinx的器件还是Altera的器件。只要用过了一家公司的器件,用熟了一家公司的开发工具,掌握了FPGA开发设计的基本理论,那么换个器件换个工具也很容易掌握。项目可行性论证报告项目可

8、行性论证报告1.61.6、FPGAFPGA的基本结构的基本结构 FPGA器件从1985年出现以来得到迅速发展,其密度、速度、功能、结构等都有了很大改进,但其基本结构大体相同。项目可行性论证报告项目可行性论证报告 FPGA结构基本上由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等 。每个单元的基本概念介绍如下:(1)可编程输入/输出单元可编程输入/ 输出单元简称I/O 单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/ 输出信号的驱动与匹配要求。 FPGA 内的I/O 按组分类,每组都能够独立地支持不同的I/

9、O标准。通过软件的灵活配置,可适配不同的电气标准与I/O 物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。 一般说来,常见的电气标准有LVTTL、LVCMOS、SSTL、HSTL、PCI等。项目可行性论证报告项目可行性论证报告(2)基本可编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般是基于SRAM工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器(Register)组成的。 例如,Altera可编程逻辑单元通常被称为LE(Logic Element,逻辑单元),由一个Re

10、gister加一个LUT构成。 项目可行性论证报告项目可行性论证报告(3)嵌入式块RAM目前大多数FPGA都有内嵌的RAM块,嵌入式块RAM可以配置为单端口RAM、双端口RAM、FIFO等存储结构,这些常用存储器对于用户的少量数据缓存也是很实用的。 RAM是根据地址读写的数据存储单元。 FIFO是先进先出队列式存储结构,FIFO一般用于不同时钟域之间的数据传输。项目可行性论证报告项目可行性论证报告(4)丰富的布线资源根据工艺、长度、宽度和分布位置的不同而划分为类: 第一类是全局布线资源,用于芯片内部全局时钟和全局复位/ 置位的布线; 第二类是长线资源,用以完成芯片Bank 间的高速信号和第二全

11、局时钟信号的布线; 第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线; 第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。项目可行性论证报告项目可行性论证报告(5)底层内嵌功能单元内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP 等软处理核(Soft Core)。 DLL 和PLL 具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。 赛灵思(Xilinx)公司生产的芯片上集成了DLL,Altera 公司的芯片集成了PLL。PLL 和DLL 可以通过IP 核生成的工具方便地进行

12、管理和配置。 项目可行性论证报告项目可行性论证报告(6)内嵌专用硬核内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA 处理能力强大的硬核(Hard Core),等效于ASIC 电路。为了提高FPGA 性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA 的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA 内部都集成了串并收发器(SERDES),可以达到数十Gbps 的收发速度。项目可行性论证报告项目可行性论证报告1.71.7、硬件描述语言硬件描述语言(HDL)(HDL)常用的硬件描述语言有VHDL、Verilog。VHDL:作为

13、IEEE(电气和电子工程师协会)的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言,VHDL主要用于描述数字系统的结构、行为、功能和接口。Verilog:在C语言的基础上发展而来的硬件描述语言,具有简洁、高效、易用的特点,支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单。项目可行性论证报告项目可行性论证报告2、FPGA最小系统设计项目可行性论证报告项目可行性论证报告2.12.1、FPGAFPGA最小系统的概念最小系统的概念 FPGA最小系统是指可以使FPGA正常工作的最简单的系统。它的外围电路尽量最少,只包括FPGA必要的控制电路。 一般来说

14、FPGA的最小系统主要包括:FPGA芯片、下载电路、外部时钟、复位电路和电源。如果使用到FPGA内嵌的硬核或软核处理器,还要包括:SDRAM和Flash。项目可行性论证报告项目可行性论证报告2.22.2、FPGAFPGA最小系统电路分析最小系统电路分析 下面以Altera公司的Cyclone系列中的EP2C8T144I6为例,介绍一下FPGA最小系统。 项目可行性论证报告项目可行性论证报告2.2.12.2.1、电源管脚、电源管脚 VCCINT:内核电压。通常与FPGA芯片所采用的工艺有关,例如130nm工艺为1.5V,90nm工艺为1.2V。 VCCIO :端口电压。一般为3.3V,还可以支持

15、选择多种电压,如5V、1.8V、1.5V等。 GND:电源地和信号地。 项目可行性论证报告项目可行性论证报告项目可行性论证报告项目可行性论证报告2.2.22.2.2、时钟管脚、时钟管脚项目可行性论证报告项目可行性论证报告2.2.32.2.3、下载配置与调试接口电路设计、下载配置与调试接口电路设计 FPGA是SRAM型结构,本身并不能固化程序。因此FPGA需要一片Flash结构的配置芯片来存储逻辑配置信息,用于进行上电配置。 以Altera公司的FPGA为例,配置芯片分为串行(EPCSx)和并行(EPCx)两种。其中EPCx系列为老款配置芯片,体积较大,价格高。而EPCSx系列芯片与之相比,体积

16、小、价格低。 在把程序固化到配置芯片之前,一般先使用JTAG模式去调试程序,也就是把程序下载到FPGA芯片上运行。虽然这种方式在断电以后程序会丢失,但是充分利用了FPGA的无限擦写性。 所以一般FPGA有两个下载接口:JTAG调试接口和AS模式下载接口。所不同的是前者下载至FPGA,后者是编程配置芯片(EPCSx),然后再配置FPGA。项目可行性论证报告项目可行性论证报告 JTAGJTAG模式和模式和ASAS模式的电路原理图模式的电路原理图项目可行性论证报告项目可行性论证报告2.2.42.2.4、IOIO管脚管脚 IO:可用作输入或输出,或者双向口。 项目可行性论证报告项目可行性论证报告3、F

17、PGA设计流程使用QuartusII3.1 3.1 流程概述流程概述流程概述流程概述3.2 3.2 设计输入设计输入设计输入设计输入3.3 3.3 综合与布局布线综合与布局布线综合与布局布线综合与布局布线3.4 3.4 仿真仿真仿真仿真3.5 FPGA3.5 FPGA下载配置下载配置下载配置下载配置3.6 QuatersII3.6 QuatersII工程实例工程实例工程实例工程实例项目可行性论证报告项目可行性论证报告3.13.1、设计流程概述、设计流程概述原理图原理图/HDL/HDL文本输入文本输入功能仿真功能仿真综合综合适配适配时序时序仿真仿真编程下载编程下载硬件测试。硬件测试。项目可行性论

18、证报告项目可行性论证报告3.23.2、设计输入、设计输入1、文本编辑器(Text Editor)是一个灵活的工具,用于以VHDL和Verilog HDL 语言输入文本型设计。这种方法的特点是易于使用自顶向下的设计方法、易于模块划分和复用、移植性强、通用性好、设计不因芯片工艺和结构的改变而变化、利于向ASIC移植。2、模块编辑器(Block Editor)用于以原理图和框图的形式输入设计信息,几乎所有的设计环境都都集成有原理图输入方法。这种方法直观、易用。3、使用MegaWizard Plug-in Manager建立Altera宏功能模块或产生IP核,用于QuartusII软件输入与综合工具中

19、的设计。 管脚分配:指将设计文件的输入/输出信号指定到器件的某个管脚。项目可行性论证报告项目可行性论证报告3.33.3、综合与布局布线、综合与布局布线 综合的主要功能是将HDL语言翻译成最基本的与、或、非门以及RAM、触发器等基本逻辑单元的连接关系(网表),供下一步布局布线用。 布局布线就是使用综合生成的网表文件,将工程的逻辑和时序要求与器件的可用资源相匹配。项目可行性论证报告项目可行性论证报告3.43.4、仿真、仿真功能仿真 功能仿真是指在一个设计中,在设计实现前直接对HDL、原理图或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计要求的过程,仿真过程不涉及任何具体器件的

20、硬件特性。时序仿真 时序仿真使用布局布线后器件给出的模块和连线的延时信息, 在最坏的情况下对电路的行为作出实际地估价,是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,仿真精度高。项目可行性论证报告项目可行性论证报告3.53.5、FPGAFPGA下载配置下载配置 编译后会生成编译后会生成* *.sof .sof 或或* *.pof .pof 文件,前者可以通过文件,前者可以通过JTAG JTAG 下载到下载到FPGAFPGA内部内部,设计无误的话即能实现预期的功能,但断,设计无误的话即能实现预期的功能,但断电后电后FPGA FPGA 里的这些信息会丢失;里的这些信息会丢失;后者

21、可以通过后者可以通过ASAS配置端口下配置端口下载到载到FPGAFPGA的配置芯片,掉电后这些配置信息不会丢失的配置芯片,掉电后这些配置信息不会丢失,重新,重新上电以后通过该配置芯片对上电以后通过该配置芯片对FPGAFPGA的内部的内部RAMRAM进行配置。进行配置。项目可行性论证报告项目可行性论证报告3.63.6、FPGAFPGA工程实例工程实例项目可行性论证报告项目可行性论证报告 实例:用与、或、非门实现一个异或逻辑。真值表实例:用与、或、非门实现一个异或逻辑。真值表和电路图如下:和电路图如下:项目可行性论证报告项目可行性论证报告 运行运行QuartusIIQuartusII软件软件项目可

22、行性论证报告项目可行性论证报告 使用工程向导建立新工程使用工程向导建立新工程项目可行性论证报告项目可行性论证报告 建立工程目录及名字建立工程目录及名字项目可行性论证报告项目可行性论证报告 加入设计文件加入设计文件项目可行性论证报告项目可行性论证报告 选择目标器件选择目标器件项目可行性论证报告项目可行性论证报告 使用使用AlteraAltera的的EDAEDA工具工具项目可行性论证报告项目可行性论证报告 工程汇总对话框工程汇总对话框项目可行性论证报告项目可行性论证报告 新工程建立成功新工程建立成功项目可行性论证报告项目可行性论证报告 建立新的图形文件建立新的图形文件项目可行性论证报告项目可行性论

23、证报告 为新文件命名为新文件命名项目可行性论证报告项目可行性论证报告 从符号库中选择符号从符号库中选择符号项目可行性论证报告项目可行性论证报告 放置电路符号放置电路符号项目可行性论证报告项目可行性论证报告 放置输入输出引脚放置输入输出引脚项目可行性论证报告项目可行性论证报告 放置输入输出引脚放置输入输出引脚项目可行性论证报告项目可行性论证报告 用线连接节点用线连接节点项目可行性论证报告项目可行性论证报告 修改引脚名称完成设计修改引脚名称完成设计项目可行性论证报告项目可行性论证报告 电路编译电路编译项目可行性论证报告项目可行性论证报告 引脚分配重新编译引脚分配重新编译项目可行性论证报告项目可行性

24、论证报告 电路仿真电路仿真新建矢量波形文件并保存新建矢量波形文件并保存项目可行性论证报告项目可行性论证报告 电路仿真电路仿真设定仿真时间设定仿真时间项目可行性论证报告项目可行性论证报告 电路仿真电路仿真输入仿真节点输入仿真节点项目可行性论证报告项目可行性论证报告 电路仿真电路仿真测试波形编辑并保存测试波形编辑并保存项目可行性论证报告项目可行性论证报告 电路仿真电路仿真设置仿真模式设置仿真模式项目可行性论证报告项目可行性论证报告 电路仿真电路仿真创建功能仿真网表创建功能仿真网表项目可行性论证报告项目可行性论证报告 电路仿真电路仿真功能仿真结果功能仿真结果项目可行性论证报告项目可行性论证报告 电路

25、仿真电路仿真使用时序仿真使用时序仿真项目可行性论证报告项目可行性论证报告 电路仿真电路仿真时序仿真结果时序仿真结果项目可行性论证报告项目可行性论证报告4、Verilog基本知识项目可行性论证报告项目可行性论证报告4.14.1、什么是、什么是Verilog HDLVerilog HDL Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用最广泛的一种硬件描述语言。项目可行性论证报告项目可行性论证报告4.24.2、Verilog HDLVerilog HDL和和VHDLVHDL的比较的

26、比较 Verilog HDL和VHDL都是用于逻辑设计的硬件描述语言,能形式化地抽象表示电路的行为和结构,可借用高级语言的精巧结构来简化电路行为的描述,硬件描述与实现工艺无关。 与VHDL相比Verilog HDL的最大优点是:它是一种非常容易掌握的硬件描述语言,只要有C语言的编程基础,通过几个学时的学习,再加上一段实际操作,一般可在2个月左右掌握这种设计方法的基本技术。而VHDL设计技术就比较困难,这是因为VHDL不很直观,一般认为至少需要半年以上的专业培训,才能掌握VHDL的基本设计技术。项目可行性论证报告项目可行性论证报告4.34.3、Verilog Verilog 模块的基本概念模块的

27、基本概念 下面先介绍几个简单的Verilog HDL程序,从中了解Verilog模块的特性。 图1所示的二选一多路选择器的Verilog HDL程序如下:module muxtwo(out,a,b,s1);input a,b,s1;output out;reg out;always (s1 or a or b)if(!s1) out = a;else out = b;endmodule项目可行性论证报告项目可行性论证报告 图2所示的带有与非门的二选一多路选择器的Verilog HDL程序如下:module muxtwo(out,a,b,sel);input a,b,sel;output out

28、;wire sel_,a1,b1;assign sel_ = sel;assign a1 = a & sel_;assign b1 = b & sel;assign out = a1 | b1;endmodule 项目可行性论证报告项目可行性论证报告4.3.14.3.1、模块的结构、模块的结构 Verilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的:一)描述接口;二)描述逻辑功能,即定义输入是如何影响输出的。下面举例说明: (a)程序模块 (b)电路图符号项目可行性论证报告项目可行性论证报告从上面的例子可以看出:1、Verilog模块结构完全嵌在module和endmo

29、dule声明语句之间;2、每个Verilog程序包括四个主要部分:端口定义、I/O说明、内部信号声明、功能定义。项目可行性论证报告项目可行性论证报告4.3.24.3.2、模块的端口定义、模块的端口定义模块端口定义用来声明电路设计模块的输入/输出端口,端口定义格式如下:module 模块名 (端口1,端口2,端口3,);在端口定义的括号中,是设计电路模块与外界联系的全部输入/输出端口信号或引脚,是设计实体对外的一个通信界面,是外界可以看到的部分,多个端口之间用“,”分隔。例如二选一多路选择器muxtwo模块的端口定义为module muxtwo(out,a,b,s1); 模块名muxtwo项目可

30、行性论证报告项目可行性论证报告4.3.34.3.3、I/OI/O说明说明I/O说明的格式输入口: input 信号位宽-1:0 端口名;例:input clk; input 3:0 adr;输出口:output信号位宽-1:0 端口名;输入/输出口:inout信号位宽-1:0 端口名;例:inout 7:0 data;项目可行性论证报告项目可行性论证报告4.3.44.3.4、内部信号说明、内部信号说明I/O说明的格式输入口: input 信号位宽-1:0 端口名;例:input clk; input 3:0 adr;输出口:output信号位宽-1:0 端口名;输入/输出口:inout信号位宽-1:0 端口名;例:inout 7:0 data; 谢 谢!结束结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号