首页资源分类FPGA/CPLD其他 > FPGA基本知识

FPGA基本知识

已有 454868个资源

下载专区

文档信息举报收藏

标    签: FPGA

分    享:

文档简介

FPGA基本知识,都很重要奥

文档预览

FPGA 基础知识培训 2012.08.27 目录 1、FPGA 简介...................................................................................................................................2 1.1 FPGA 和 CPLD 比较.............................................................................................................2 2. FPGA 厂商..................................................................................................................................3 2.1 Xilinx(赛灵思).............................................................................................................3 2.2 Altera...................................................................................................................................4 2.3 lattice(莱迪思)............................................................................................................4 2.4 其他厂商............................................................................................................................5 2.5 国内厂商............................................................................................................................5 3. FPGA 与其他处理器的区别......................................................................................................6 4. FPGA 结构.....................................................................................................................................8 5. 编程语言....................................................................................................................................11 5.1 VHDL 和 verilog HDL .................................................................................................................11 5.2 HDL 与 C 语言................................................................................................................11 6.展望...........................................................................................................................................12 6.1 提升工艺..........................................................................................................................12 1 1、FPGA 简介 FPGA: Field Programmable Gate Array, 即现场可编程门阵列。为什么叫现场? 与 FPGA 的结构组成有关。门?FPGA 里面的逻辑电路高电平或低电平导通或者 关闭,像一扇门一样打开或关闭。FPGA 的前身是 PAL、GAL、CPLD 等可编程器件, PAL、GAL、CPLD 作为专用集成电路(ASIC)领域中的一种半定制电路而出现的, 因此通过专门的软件,一方面在 FPGA/CPLD 上面对设计的 ASIC 电路进行验证, 提升 IC 投片的成功率;另一方面一块 FPGA/CPLD 可以替代几十甚至几千块通用 IC 芯片,免去了投片的时间和成本 ,可以缩短产品开发周期,迅速占领市场。 1.1 FPGA 和 CPLD 比较 CPLD 逻辑门的密度在几千到几万个逻辑单元之间,,一般采样 EEPROM 工艺, 所以具有非挥发性,不需要外部配置 ROM,具有保密性和有限次编程次数(根据不 同的结构,从 100 次到 1 万次不等)等特点,适合用在胶合逻辑(glue logic(连 接复杂逻辑电路的简单逻辑电路的统称),如 DSP 芯片外围的译码逻辑),IO 扩 展,IO 电平转换,FPGA 芯片配置等应用场合。 FPGA 主要是指采用四输入查找表(LUT4)的基于 SRAM 的器件,因为 SRAM 是挥发的,掉电丢失数据,为了弥补这个缺点,FPGA 需要外部配置 ROM, 上电的时候,从外部的 ROM 把 FPGA 的配置数据导入到 FPGA 芯片内部后工 作。具有 SRAM 的 FPGA 采用标准的 CMOS 制造工艺,可以随着最新的工艺 而更新换代。 随着芯片技术的发展,CPLD 和 FPGA 的概念已经模糊在一起,如 Altera 和 Lattice 公司把小容量(小于 2K 左右逻辑单元)非挥发的可编程器件归到 CPLD 里,如 Altera 的 MAXII 系列和 Lattice 的 MACH XO 系列芯片。把基于 SRAM 的 FPGA 和 FLASH 的储存单元做到一个芯片里面,已经跟传统的 CPLD 一样 了,不需要外加配置芯片;总之,我们可以简单的区分 FPGA 和 CPLD,CPLD: 小容量(<2K 左右 LE)的非挥发的可编程器件;其它的可编程器件都可归到 FPGA。 系统区别: (1) CPLD保密性好,FPGA保密性差,外挂的配置芯片保密性差。 (2) CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测 的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 2 (3) FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现 FPGA 的灵活性更好,可以实现复杂和更多功能的逻辑电路,CPLD 适合实现复杂的组合电路,比如编解码器、状态机; (4) CPLD 是粗粒结构,FPGA 为细粒结构, 随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大 型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受 到 CPLD 容易使用、时序可预测和速度高等优点,然而,在过去由于受到 CPLD 密度的限制,他们只好转向 FPGA 和 ASIC。随着密度的增加,设计人员可以体 会到密度高达数十万门的 CPLD 所带来的好处。 目前,人们的设计大多数都在采用 FPGA,而不是 CPLD,受制于资源是一 方面,能够完成的逻辑功能比较单一,不便于系统的扩展;另一方面,FPGA 的 性价比更高,随着工艺的提高,内嵌了丰富的硬核,能够完成复杂的逻辑电路设 计。 2. FPGA 厂商 随 着 可 编 程 逻 辑 器 件 应 用 的 日 益 广 泛 ,许 多 I C 制 造 厂 家 涉 足 PLD/FPGA 领 域 。 目 前 世 界 上 有 十 几 家 生 产 CPLD/FPGA 的 公 司 , 最 大 的 三 家 是 :A L T E R A ,X I L I N X ,L a t t i c e ,其 中 A L T E R A 和 X I L I N X 占 有 了 6 0 % 以 上 的 市 场 份 额 , 成为 FPGA 领域的“可口可乐”与“百事可 乐”,除此三家之外 FPGA 厂商很难有窜头的机会。FPGA 市场基本是 Altera 和 Xilinx 一统天下,他们的明争暗斗决定着 FPGA 的未来,各自都推出了 28nm 的 FPGA。 2.1 Xilinx(赛灵思) Xilinx 作为半导体业界的著名 FPGA 厂商,FPGA 的发明者,为 FPGA 技术创新 做出了突出的贡献,拥有世界一半以上的 FPGA 市场,开发软件为 ISE。它成立 于 1984 年,总部设在加利福尼亚圣何塞市,NASDAQ 上市公司,全世界约有 2, 600 名员工,其中约一半是软件开发工程师,提供 90%的高端 65nm FPGA 产 3 品,财务状况非常稳定。于 1985 年首次推出 FPGA 商业化产品。目前 Xilinx 满 足了全世界对 FPGA 产品一半以上的需求。所以说,要想进入打破一个成熟的 市场,必定要革命性的创新了,就像 iphone 的出现一样。2011 推出 FPGA Virtex7 包含了 2000000 个逻辑单元,内嵌 68M ram,内嵌的串行收发硬核带宽达到了 2.78TB/S,秒杀现有的 FPGA。 2.2 Altera 总部位于硅谷的 Altera 公司(NASDAQ: ALTR)自从 1983 年发明世界上第一 款可编程逻辑器件以来,一直是创新定制逻辑解决方案的领先者,世界老牌可编 程逻辑器件的厂家,是可编程逻辑器件的发明者,但不是 FPGA 的发明者,是 世界上“可编程芯片系统”(SOPC)解决方案倡导者。在欧洲和美国用 Xilinx 的 人多,在日本和亚太地区用 ALTERA 的人多,在 2011 年推出了 28nm 级的 FPGA:stratix V 系列,充分体现了摩尔定律。目前推出的高端 fpga 的串行收 发器的带宽都能达到几十 G 甚至上百 G。 2.3 lattice(莱迪思) 莱迪思半导体公司于 1983 年在俄勒冈州成立,1985 年在特拉华州重组(据 说 Lattice 公司最早是由华人创办的)。Lattice 是 ISP 技术的发明者,ISP 技术极 大的促进了 PLD 产品的发展(ISP:In-System Programming)在系统可编程,指 电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器 件,已经编程的器件也可以用 ISP 方式擦除或再编程)。与 ALTERA 和 XILINX 相比,其开发工具略逊一筹。中小规模 PLD 比较有特色, 1999 年推出可编程 模拟器件。99 年收购 Vantis(原 AMD 子公司),成为第三大可编程逻辑器件供 应商。2001 年 12 月收购 agere 公司(原 Lucent 微电子部)的 FPGA 部门。 莱迪思提供的 FPGA 的 SERDES 方案是业界领先的。 4 2.4 其他厂商 FPGA 领域的其他厂商还有 atmel、Crypress、Quicklogic、ACTEL 等,这些厂商 都没有实力和上面的三家巨头正面竞争,所以他们的产品很多都是针对特定领 域。比如说 Quicklogic 专注在便携式和低功耗领域了;ACTEL 专注在反熔丝 fpga,应用军 工和航天领域,不过很多产品都禁止出口。 2.5 国内厂商 京微雅格公司 2003 年在美国硅谷创办,2005 年与清华大学合作迁 来中国北京。先后研发出 7 款具有自主知识产权的 FPGA+CPU+RAM+Fl ash 可配置应用平台(CAP)芯片。是世界上唯一在美国硅谷以外开发 出 FPGA 产 品 的 公 司 。FPGA 一 直 为 美 国 所 垄 断 ,美 国 也 禁 止 很 多 重 要 领 域的 FPGA 产品出口,而 FPGA 在经济发展和国防建设领域具有越来越 广泛的应用,基于国家发展和安全方面的战略需要,北京市政府投入 1 400 万 美 元 以 加 强 京 微 雅 格 公 司 的 产 品 研 发 和 产 业 化 ,足 见 政 府 对 FPGA 产业的重视。 5 面对国际上在 FPGA 领域的垄断的几大巨头,国内 FPGA 厂商的突破口在哪 里?哪些应用领域是我们可以进入的?FPGA 是需要较强的生态环境来支持的,国 内企业进入 FPGA,如何打造生态链?工具和开发软件谁来支持?多年来,国际上 有诸多进入 FPGA 领域的新兴公司,但是很少成功,中国厂商能破例吗? 3. FPGA 与其他处理器的区别 FPGA 是一块逻辑门电路阵列,是由大量独立的逻辑门组合在一起,通过编 程、EDA 工具的综合编译,内部的连线资源把这些分散的逻辑门链接起来,实 现特定的逻辑功能。FPGA 就像一块走线已经确定的 PCB 板,只要上电,所有 的电路模块同时工作,所以在有个被专业人士所熟知的并行处理的概念。正是由 于 FPGA 具有并行处理能力,所以能处理高达上百 Gbps 的信号,这是其他 DSP 等处理器无法做到的。随着工艺的提高,FPGA 的资源更加的丰富,但价格却降 低了,内嵌的 DSP 模块可以实现 DSP 等处理处理器所擅长的信号处理功能。 但 FPGA 的控制能力比较薄弱,因此长期霸占着 FPGA 市场的两大巨头纷纷推 出了自己内嵌的 CPU 硬核方案。 6 DSP 是一种独特的微处理器,它是计算密集型器件,凡是以快速卷积为基 础的运算它都适合,有自己的完整指令系统,是以数字信号来处理大量信息的器 件。DSP 芯片具有以下特点: (1)多总线结构。DSP 芯片内部一般采用的是哈佛结构,其主要特点是将程序 和数据存储在不同的存储空间,每个存储器独立编址,独立访问。在片内有相应 的程序总线和数据总线,程序总线和数据总线可以允许同时获取指令字和操作 数,而互不干涉。这意味着在一个机器周期内可以同时准备好指令和操作数,从 而使数据的吞吐率提高了 1 倍。为了进一步提高运行速度和灵活性,DSP 也采 用了改进的哈佛结构和超级哈佛结构。 (2)流水线操作。流水线操作技术使两个或更多不同的操作可以重叠执行,从 而在不减小时钟周期的条件下缩短了每条指令的执行时间,增强了处理器的数据 处理能力。要执行一条 DSP 指令,需要通过取指令、指令译码、取操作数和执 行指令等若干阶段,每一阶段称为一级流水。DSP 的流水线操作是指它的这几 个阶段在程序执行过程中是重叠的,在执行本条指令的同时,下面的几条指令已 依次完成了取指令、解码、取操作数的操作。 (3)专用的硬件乘法器。硬件乘法器的功能是在一个指令周期内完成一次乘法 运算,是 DSP 实现快速运算的重要保证。可以说几乎所有的 DSP 器件内部都 有硬件乘法器。 (4)特殊的 DSP 指令。数字信号处理器芯片为了对数字信号进行更为高效、 快速的处理,专门设计了一套相应的特殊指令。这些特殊指令节省了指令的条数, 缩短了指令的执行时间,提高了运算速度。 (5)多机并行运行特性。DSP 芯片的单机处理能力是有限的,而随着 DSP 芯 片价格的不断降低和应用的广泛,多个 DSP 芯片并行处理已成为可能,可以运 用这一特性,达到良好的高速实时处理的要求。 (6)快速的指令周期。随着的不断发展,DSP 芯片采用了 CMOS 技术、先进 的工艺和集成电路的优化设计,工作电压的下降,使得 DSP 芯片的主频不断提 高。这一变化将随着微电子技术的不断进步而继续提高。 (7)低功耗。随着微电子产品在人类日常生活中所占得比重越来越大,DSP 的 应用领域得到了巨大的拓展。DSP 应用这么广泛,那么降低功耗对于电力资源 紧缺产生十分重要的意义。这对 DSP 的发展也起到了巨大的作用。 (8)高的运算精度。浮点 DSP 提供了大的动态范围,定点 DSP 的字长也能达到 32 位,有的累加器达到 40 位。 FPGA 的强项在于强大的并行逻辑运算能力,内部可以任意组成各种不同 功能的专用电路,例如:RAM/FIFO/CPU/编解码器等,适用于非常严格精确的 时序控制以及高速的 IO 处理能力,比如 IO 的翻转频率可以达到至少 250MHz 以上(当然这样做本身没有意义),弱项在于不擅长复杂的流程控制。而单片机 或 CPU 更适合于流程控制,CPU 运行了操作系统后,宏观上是多任务并行执行, 但微观上仍是顺序执行的。而 FPGA 则是完全并行执行,因为它的本质就是电 路,设计 FPGA 实质是对已有功能的电路描述,所以称之为硬件描述语言。如 7 果说单片机 CPU 多任务之间要协同工作需要加入信号量、同步、互斥手段,而 FPGA 所有的块均是同时执行的,同步和互斥的控制将更为复杂。 优缺点都是相对而言的,主要要根据实际的项目,跟其他控制器件对比才能 有优缺点而言。 比如一个 51 能轻轻松松实现的项目,用 32 位 arm 当然也能实 现,但是这个时候 arm 几乎没有优点可言。通常一个复杂系统可以由单片机、arm、 fpga、dsp 中的一种或几种构成,发挥各自优势和弥补不足。 4. FPGA 结构 设计编程 FPGA 的语言称为硬件描述语言,其实质就是用"连线"将内部的这 些离散的单元连接起来,形成专用的电路。没有下载“描述”表的 FPGA 就像 没有砌成建筑的砖,内部仅是一些离散的个体。 这里以 altera 的 FPGA 结构作为例子。 简化的 FPGA 基本由 6 部分组成: ①.可编程输入输出单元 ②.基本可编程逻辑单元 8 ③.嵌入式 RAM 块 ④.丰富的布线资源 ⑤.底层嵌入功能单元与内嵌专用硬核 每个单元的基本概念介绍: (1) 可编程输入输出单元:芯片与外界电路的接口部分,完成不同电器特 性下对输入输出信号的驱动与匹配需求。一般说来,常见的电器标准 有 LVTTL、LVCMOS、SSTL、HSTL、LVDS、LVPECL 和 PCI 等,但是 IO 能 输出的电平类型决定于 BANK 电压(VCCIO)。 FPGA 器件一般具有 4 个 BANK 以上,FPGA 的 IO 管脚平均分布于各个 BANK,而 BANK 电压的大小决定 IO 电压类型。如下图所示: 9 若某个 bank 的某个 IO 需要编程为 LVDS 输出,则这个 bank 的 VCCIO 电压输入必须是 2.5V (2) 基本可编程逻辑单元:基本可编程逻辑单元是可编程逻辑的主体, 可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。 FPGA 一般基于 SRAM 工艺,其基本可编程逻辑单元几乎都是由查找表 (LUT,Look Up Table)和寄存器(Register)组成的,查找表一般 完成纯组合逻辑功能。可编程逻辑单元通常由一个寄存器加上一个查 找表组成,称为 LE(Logic Element)。10 个 LE 有机地组合起来,构 成更大功能单元——逻辑阵列块(LAB,Logic Array Block)。 (3) 嵌入式 RAM 块:FPGA 内嵌的块 RAM 一般可以灵活配置为单口 RAM (SPRAM,Single Port RAM)、双端口 RAM(DPRAM,Double Ports RAM)、 伪双端口 RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、 FIFO(First In First Out)。实现 ROM 的思路是对 RAM 赋予初值, 并保持该初值。所谓 CAM 即内容地址存储器,是在其每个存储单元都 包含了一个内嵌的比较逻辑,写入 CAM 的数据会和其内部存储的每一 个数据进行比较,并返回与端口数据相同的所有内部数据的地址。RAM 是根据地址读写数据的存储单元,而 CAM 和 RAM 相反,它返回的是与 端口数据相匹配的内部地址。 (4) 丰富的布线资源 10 (5) 底层嵌入功能单元与内嵌专用硬核:PLL(Phase Locked Loop)、 DLL(Delay Locked Loop)、DSP、CPU。 5. 编程语言 5.1 VHDL 和 verilog HDL Verilog HDL 和 VHDL 都是用于逻辑设计的硬件描述语言,并且都已成为 IEEE 标准。VHDL 是在 1987 年成为 IEEE 标准,Verilog HDL 则在 1995 年才正式成 为 IEEE 标准。之所以 VHDL 比 Verilog HDL 早成为 IEEE 标准,这是因为 VHDL 是美国军方组织开发的,而 Verilog HDL 则是从一个普通的民间公司的私有财产 转化而来,基于 Verilog HDL 的优越性,才成为的 IEEE 标准,因而有更强的生 命力。与 VHDL 相比 VerilogHDL 的最大优点是:它是一种非常容易掌握的硬件 描述语言,只要有 C 语言的编程基础,通过二十学时的学习,再加上一段实际 操作,一般同学可在二至三个月内掌握这种设计技术。而掌握 VHDL 设计技术 就比较困难。这是因为 VHDL 不很直观,需要有 Ada 编程基础,一般认为至少 需要半年以上的专业培训,才能掌握 VHDL 的基本设计技术。目前版本的 Verilog HDL 和 VHDL 在行为级抽象建模的覆盖范围方面也有所不同。一般认为 Verilog HDL 在系统级抽象方面比 VHDL 略差一些,而在门级开关电路描述方面比 VHDL 强得多。 5.2 HDL 与 C 语言 Verilog HDL 是在 C 语言的基础上发展起来的,因而它保留了 C 语言所独 有的结构特点。erilog 是一种类 C 的语言,很多朋友认为只要有 C 编程的基础, 学习 Verilog HDL 就会变得很简单,其实它们的设计思想完全是两种境界,C 强调的是流程设计,而 Verilog HDL 设计要有一种并行的思维,就是它描述的 是电路,在描述之前你脑子里应该已经有这个电路的结构框图了,例如 N 个不 同功能模块的电路各自独立运行,它们可以互不牵扯上任何关系,所以如果在 11 Verilog HDL 的设计中如果怀着 C 的流程化设计思想就是一种不正确的思维, 老是想着先“执行”这个,后“执行”那个就是不对的了。 为便于对 Verilog HDL 有个大致的认识,在这里将它与 C 语言的异同作一 比较: 1.C 语言是由函数组成的,而 Verilog HDL 则是由称之为 module 的模块 组成的。 2.C 语言中的函数调用通过函数名相关联,函数之间的传值是通过端口变量 实现的。相应地,Verilog HDL 中地模块调用也通过模块名相关联,模块之间 的联系同样通过端口之间的连接实现,所不同的是,它反映的是硬件之间的实际 物理连接。 3.C 语言中,整个程序的执行从 main 函数开始。Verilog HDL 没有相应的 专门命名模块,每一个 module 模块都是等价的,但必定存在一个顶层模块, 它的端口中包含了芯片系统与外界的所有 I/O 信号,这个顶层模块从程序的组 织结构上讲,类似于 C 语言中的 main 函数,但 Verilog HDL 中所有 module 模块都是并发运行的,这一点必须从本质上与 C 语言加以区别。 4.Verilog HDL 中对注释语句的定义与 C 语言类似。 5. C 语言是顺序执行,而 Verilog 的所有 module 均并发执行 Verilog HDL 与 C 语言的其他相似之处还有很多,这里不再一一举例。 6.展望 6.1 提升工艺 FPGA 厂商一直朝着大容量、低电压、低功耗方向努力。FPGA 产业中的两大 霸主:Altera 和 Xilinx 在超大容量 FPGA 上展开了激烈的竞争。2007 年 Altera 推出了 65nm 工艺的 StratixIII 系列芯片,其容量为 67200 个 L E (Logic Element,逻辑单元),Xilinx 推出的 65nm 工艺的 VitexVI 系列芯片,其容量为 33792 个 Slices (一个 Slices 约等于 2 个 L E)。在 2011 年,这两个寡头有对 28nm 的 FPGA 产品进行大张旗鼓的技术巡演。从 xilinx 的官网上截取的 FPGA 对 照表 12 以上图标对比还是能发现摩尔定律的影子的。工艺的提供也预示着 FPGA 大规模 的应用于便携式产品成为可能。 13 14

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。