




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 FPGA基本概念与DE2开发平台 第第1章章FPGA基本概念与基本概念与 DE2开发平台开发平台 1.1 可编程逻辑器件可编程逻辑器件1.2 Cyclone系列系列FPGA 1.3 DE2开发平台开发平台 1.4 DE2平台的开发环境平台的开发环境 第1章 FPGA基本概念与DE2开发平台 1.1 可编程逻辑器件可编程逻辑器件1.1.1 可编程逻辑器件概述可编程逻辑器件概述数字电子领域中三种基本的器件类型为存储器、微处理器和逻辑器件。存储器用来存储数据表、数据库、程序代码等随机信息;微处理器通过执行软件指令来完成如文字处理、视频处理及工业控制等各种任务;逻辑器件提供器件间的接口、数据通
2、信、信号处理、数据显示、时序和控制操作以及系统运行等各种特定功能。逻辑器件可分为两大类,即固定逻辑器件和可编程逻辑器件(PLD)。第1章 FPGA基本概念与DE2开发平台 固定逻辑器件中的电路是永久性的,用于完成一种或一组功能。固定逻辑器件一旦制造完成,就无法改变,专用集成电路(ASIC)就是其中的一种。根据器件复杂程度的不同,固定逻辑器件从设计、定型到最终生产所需要的时间一般为数月至一年多不等,如果器件工作不满足设计要求,或者应用要求发生了变化,就必须重新开发全新的设计。设计和验证固定逻辑的前期工作需要大量的“非重发性工程成本”,或简称NRE。NRE表示在固定逻辑器件最终从芯片制造厂制造出来
3、以前客户需要投入的所有成本,这些成本包括工程资源、昂贵的设计工具软件、用来制造芯片不同金属层的昂贵的光刻掩模组以及初始原型器件的生产成本。这些NRE成本可能从数十万美元至数百万美元不等。第1章 FPGA基本概念与DE2开发平台 可编程逻辑器件作为一类标准成品部件,能够为用户提供各种逻辑能力、速度和电压特性,而且可以在任何时候对此类器件进行修改,以完成多种不同的功能。对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计,然后将设计快速编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的PLD器件与正式生产最终设备(如网络路由器、DSL调制解调器、DVD播放
4、器或汽车导航系统)时所使用的PLD器件完全相同,完全没有NRE成本,最终的设计也比采用定制固定逻辑器件完成得更快。采用PLD的另一个关键优点是在设计阶段客户可根据需要不断地修改电路,直到对设计工作感到满意为止,这是因为PLD的结构是基于可重写的存储器技术,当要改变设计时,只需要简单地对器件进行重新编程即可。一旦设计完成,客户可立即投入生产,即利用最终的软件设计文件简单地对PLD器件进行编程。 第1章 FPGA基本概念与DE2开发平台 可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD),这两类可编程逻辑器件的结构不同。与CPLD相比,FPGA可提供更高的逻
5、辑密度、更丰富的特性和更高的性能。最新的FPGA器件可提供数百万门的逻辑电路,这些先进的器件还提供诸如内建硬核处理器、大容量存储器、时钟管理系统等特性,并支持多种最新的高速接口技术。FPGA应用范围广泛,如在数据处理和存储、仪器仪表、电信和数字信号处理等方面都有大量应用。与FPGA相比,CPLD提供的逻辑资源少得多,最高约一万门左右。但CPLD可预测性好,对于关键的控制应用非常理想。而且CPLD器件功耗相对较低且价格低廉,使其在成本敏感的、电池供电的便携式应用(如移动电话和数字手持助理)中非常理想。第1章 FPGA基本概念与DE2开发平台 EDN杂志对可编程逻辑器件作过这样的评价:“可编程逻辑
6、器件是逻辑器件产品中增长最快的领域,这主要有两个基本原因。可编程逻辑器件不断提高的单片器件逻辑门数量集成了众多功能,不然的话,这些功能只能采用大量分立逻辑和存储器芯片才能实现,这可以改善最终系统的体积、功耗、性能、可靠性和成本。同样重要的是这样的事实,在许多情况下只需要数十秒或数分钟的时间,就可以在工作站或系统组装线上配置和重新配置这些器件。这一能力提供了强大的灵活性,支持迅速地对最后一分钟的设计修改,以及在设计定型前对各种想法进行原型实验,同时还可满足在消费者需求和竞争压力下不断缩短的上市时间最终期限要求。”(EDN,“PLD年度目录”,2000年8月17日。)第1章 FPGA基本概念与DE
7、2开发平台 固定逻辑器件和可编程逻辑器件各有自己的优点。例如,固定逻辑器件适合大批量应用,因为它们可更为经济地大批量生产。对有些需要极高性能的应用,固定逻辑器件也可能是最佳的选择。然而,可编程逻辑器件提供了一些优于固定逻辑器件的重要优点,主要包括以下几个方面:(1) 在设计过程中为客户提供了更大的灵活性,因为对于可编程逻辑器件来说,设计反复只需要简单地改变编程文件就可以了,而且设计改变的结果可立即在工作器件中看到。(2) 不需要漫长的前置时间来制造原型或正式产品,因为可编程逻辑器件已经放在分销商的货架上并可随时交付。(3) 不需要客户支付高昂的NRE成本和购买昂贵的掩模组,因为供应商在设计其可
8、编程器件时已经支付了这些成本,并且可通过可编程逻辑器件产品线延续多年的生命期来分摊这些成本。第1章 FPGA基本概念与DE2开发平台 (4) 允许客户在需要时仅订购所需要的数量,从而使客户可控制库存。采用固定逻辑器件的客户经常会需要废弃过量的库存,而当对其产品的需求高涨时,他们又可能为器件供货不足而苦恼,并且不得不面对生产延迟的现实。(5) 甚至在设备交付给客户以后还可以重新编程。由于有了可编程逻辑器件,因此设备制造商现在可以为已经安装在现场的产品增加新功能或者进行升级。要实现这一点,只需要通过Internet将新的编程文件下载到可编程逻辑器件中,就可以在系统中创建出新的硬件逻辑。第1章 FP
9、GA基本概念与DE2开发平台 (6) 有越来越多的知识产权(IP)核心库的支持。用户可利用这些预定义和预测试的软件模块在可编程逻辑器件内迅速实现系统功能。IP核心包括复杂数字信号处理算法、存储器控制器直到总线接口和成熟的软核微处理器等。此类IP核心为客户节约了大量的时间和费用,否则用户可能需要数月的时间才能实现这些功能,而且还会进一步延迟产品推向市场的时间。可编程逻辑器件的价值在于其能够大大缩短电子产品制造商的开发周期,以及帮助他们更快地将产品推向市场。随着PLD供应商继续致力于在可编程逻辑器件中集成更多的功能、降低其成本并提高能够节约时间的IP核心的可用性,可编程逻辑器件一定会在数字设计人员
10、中进一步普及。第1章 FPGA基本概念与DE2开发平台 1.1.2 CPLD的结构与原理的结构与原理大部分CPLD采用基于乘积项(Product-Term)的PLD结构,如Altera公司的MAX7000和MAX3000系列(EEPROM工艺)、Xilinx公司的XC9500系列(FLASH工艺)以及Lattice公司和Cypress公司的大部分产品(EEPROM工艺)。第1章 FPGA基本概念与DE2开发平台 这里先看一下这种PLD的总体结构(以MAX7000系列为例,其他型号的结构与此都非常相似)。图1.1是MAX7000E和MAX7000S系列CPLD的结构框图。这种PLD一般由三部分组
11、成:宏单元(Macrocell)、可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,用以实现基本的逻辑功能。在MAX7000系列CPLD中,每16个宏单元组成一个逻辑阵列块(LAB)。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入/输出的电气特性控制,比如可以设定集电极开路输出、摆率控制、三态输出等。图1.1左上角的INPUT/GCLK1、INPUT/OE2/GCLK2和INPUT/OE1是全局时钟、清零和输出使能信号,这几个信号通过PIA(可编程互连阵列)及专用连线与PLD中的每个宏单元相连,这些信号到每个宏单元的延时相同并且延时最短。第1章 FPGA基本概念与D
12、E2开发平台 图1.1 基于乘积项的PLD内部结构第1章 FPGA基本概念与DE2开发平台 MAX7000E和MAX7000S系列CPLD的宏单元结构如图1.2所示。每个宏单元主要由三部分组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。图中左侧是逻辑阵列,也就是一个与或阵列,阵列连线的每一个交点都是一个可编程熔丝,如果导通就实现“与”逻辑;其后的乘积项选择矩阵是一个“或”阵列,两者一起完成组合逻辑。图右侧是一个可编程寄存器,它的时钟、清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用由内部逻辑(逻辑阵列)产生的时钟和清零。如果不需要该寄存器,也可以将它旁路,使信号直接输给PIA
13、或输出到I/O脚。第1章 FPGA基本概念与DE2开发平台 图1.2 宏单元结构第1章 FPGA基本概念与DE2开发平台 图1.3是一个简单的电路,参照该电路具体说明PLD是如何利用以上结构来实现特定逻辑的。假设图1.3中组合逻辑的输出(AND3的输出)为f,则f=(A+B)CD=ACD+BDD第1章 FPGA基本概念与DE2开发平台 图1.3 一个简单的组合逻辑电路第1章 FPGA基本概念与DE2开发平台 CPLD将以图1.4所示的方式实现图1.3中的简单组合逻辑电路。A、B、C、D由CPLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A、A、B、B、C、C、D、D等8个输出。
14、图中每一个叉表示相连(可编程熔丝导通),可以得到:f=f1+f2D=ACD+BCD从而实现了图1.3中的组合逻辑。图1.3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器就可实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚,这样CPLD就完成了如图1.3所示电路的功能。以上这些步骤都是由软件自动完成的,不需要人为干预。第1章 FPGA基本概念与DE2开发平台 图1.4 电路在CPLD中的实现第1章 FPGA基本概念与DE2开发平台 图1.3所示的电路是一个很简单的例子,只需要
15、一个宏单元就可以完成。对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再作为另一个宏单元的输入。这样,CPLD就可以实现更复杂的逻辑。这种基于乘积项的PLD基本上都是由EEPROM和FLASH工艺制造的,上电即可自动工作,无需其他芯片配合。第1章 FPGA基本概念与DE2开发平台 1.1.3 FPGA的结构与原理的结构与原理FPGA最常用的结构是查找表(Look-Up-Table,LUT)结构,如Altera的ACEX、APEX、Cyclone、Cyclone系列和Xilinx的Spartan、Virte
16、x系列等。第1章 FPGA基本概念与DE2开发平台 这里以Cyclone系列FPGA为例来说明。逻辑单元(Logic Element,LE)是构成FPGA的基本单位之一,一个LE主要由一个4输入LUT、一个寄存器及进位和互连逻辑组成。LUT本质上是一个RAM。目前FPGA中多使用4输入的LUT,即一个LUT可以看成有4位地址线的161的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后, FPGA开发软件会自动计算逻辑电路所有可能的结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。也可以把它当作一个4输入的函数发生
17、器,能够实现4变量输入的所有逻辑。图1.5是Cyclone系列FPGA的一个LE的普通工作模式原理图。FPGA的基本单元一般为一个4输入查找表后接一个寄存器。第1章 FPGA基本概念与DE2开发平台 图1.5 Cyclone系列FPGA的LE的普通工作模式第1章 FPGA基本概念与DE2开发平台 表1.1为一个4输入与门的例子。A、B、C、D由FPGA芯片的管脚与可编程连线相连,然后作为地址线连到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,从而实现了组合逻辑。 第1章 FPGA基本概念与DE2开发平台 表 1.1 输 入 查 找 表 实际逻辑电路 LUT
18、 的实现方式 outABDC ABDC161RAM(LUT)地址线输出 ABCD 输入 逻辑输出 地址 RAM 中存储的内容 0000 0 0000 0 0001 0 0001 0 0 0 1111 1 1111 1 第1章 FPGA基本概念与DE2开发平台 如果要用Cyclone FPGA实现图1.3所示的电路,用查找表实现f= ACD+BCD,则电路中的D触发器可直接利用LUT后的寄存器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出可以与I/O脚相连,把结果输出到芯片管脚,这样FPGA就完成了图1.3所示电路的功能。与CPLD一样,
19、这些步骤都是由软件自动完成的,不需要人为干预。这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的电路,需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。第1章 FPGA基本概念与DE2开发平台 由于LUT主要适合采用SRAM工艺生产,因此目前大部分FPGA都是基于SRAM工艺的,而基于SRAM工艺的芯片在掉电后信息就会丢失,必须外加一片专用配置芯片。上电时,由这个专用配置芯片把数据加载到FPGA中,FPGA才可以正常工作,由于配置时间很短,因而不会影响系统的正常工作。也有少数FPGA采用反熔丝或FLASH工艺,这种FPGA不需要外加专
20、用的配置芯片。第1章 FPGA基本概念与DE2开发平台 随着技术的发展,在2004年以后,一些厂家推出了一些新的可编程逻辑器件,这些产品模糊了CPLD和FPGA的界线。例如Altera的MAX系列PLD,就是一种基于FPGA(LUT)结构、集成配置芯片的PLD,本质上它是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电后就可以工作,对用户来说,感觉不到配置过程,可以像传统的CPLD一样使用,加上容量和传统的CPLD类似,因此Altera把它归为CPLD。还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和CPLD类似,但是因为容量大
21、,性能和传统FPGA的相同,也采用LUT架构,所以Lattice把它归为FPGA。第1章 FPGA基本概念与DE2开发平台 从可编程逻辑器件的结构和原理可以知道,CPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至二三十个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此CPLD适用于设计译码器等复杂的组合逻辑。但FPGA的制造工艺决定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是成千上万,而CPLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本将大大低于CPLD。如果设计中使用到大量触发器,例如设计一个复杂的
22、时序逻辑,那么使用FPGA就是一个很好的选择。CPLD具有上电即可工作的特性,而大部分FPGA需要一个加载过程,如果系统要求可编程逻辑器件上电就能工作,那么就应该选择CPLD。第1章 FPGA基本概念与DE2开发平台 1.1.4 结构化结构化ASIC在过去相当长的时间内,ASIC和FPGA一直是电子设计的主流技术,二者不同的技术特征决定了它们应用于不同的市场:ASIC被用于大批量的专用产品,以尽可能摊薄高额的设计与制造成本,实现良好的性价比;FPGA虽单价昂贵,但由于其可编程的灵活性而广受小批量应用的青睐。近年来半导体市场发生了显著的变化,打破了二者之间的平衡,产品面市时间的压力以及市场对产品
23、设计的快捷性和灵活性要求的提升,使得FPGA的发展势头强劲。但原有FPGA架构固有的功耗高、速度慢、资源冗余、价格昂贵等弱点使其在面对复杂功能设计的要求时还是会感到吃力,因此人们开始考虑通过技术上的融合,在ASIC和FPGA之间找到一条“中间道路”,结构化ASIC便是到目前为止最成功的尝试。第1章 FPGA基本概念与DE2开发平台 Altera是结构化ASIC市场的领导者,其结构化ASIC技术HardCopy和HardCopy目前在市场中占有超过50%的份额。2006年上半年,结构化ASIC技术的开创者LSI Logic公司宣布停止对其Rapidchip结构化ASIC技术的进一步研发投入,将定
24、制芯片技术集中服务于核心市场,使Altera公司在这个领域中的优势更加明显。据市场调研公司Gartner Dataquest副总裁兼首席半导体分析师Bryan Lewis的预测,2006年结构化ASIC的销售额将从其之前预测的4.73亿美元降至4.17亿美元,但在2007年,结构化ASIC的销售额将增长至5.64亿美元,待到2010年时,其销售额将突破10亿美元。在每年300亿美元左右的半导体市场中,结构化ASIC技术约占3%左右的市场份额。第1章 FPGA基本概念与DE2开发平台 In-Stat的ASIC/ASSP首席分析师Jerry Worchel认为:“如果你寻找一种高复杂度但需求量小的
25、芯片,FPGA是不二选择。如果你需要1000至20000片,而成本要在你的系统预算约束内,则FPGA也是一种好方法。但你肯定不会买10万片单价5美元的FPGA,这就是结构化ASIC的市场了。”第1章 FPGA基本概念与DE2开发平台 HardCopy与HardCopy利用原有的FPGA开发工具,将成功实现于FPGA器件上的系统通过特定的技术直接向ASIC转化,从而克服了传统ASIC设计中普遍存在的问题。与HardCopy技术相比,对于系统级的大规模ASIC开发,有不少难于克服的问题,其中包括开发周期长、产品上市慢、一次性成功率低、有最少投片量的要求、设计软件工具繁多且昂贵、开发流程复杂等。例如
26、,此类ASIC开发,首先要求可观的技术人员队伍、高达数十万美元的开发软件费用和高昂的掩模费用,整个设计周期可能长达一年。导致ASIC设计的高成本和一次性低成功率的原因很大部分是由于需要设计和掩模的层数太多(多达十几层)。 第1章 FPGA基本概念与DE2开发平台 然而,如果利用HardCopy技术设计ASIC,则开发软件费用仅2000美元左右 (Quartus),SOC级规模的设计周期不超过20周,转化的ASIC与用户设计习惯的掩模层只有两层,可实现FPGA向ASIC的无缝转化,一次性投片的成功率近乎100%。而且用ASIC实现后的系统性能将比以前在HardCopy FPGA上验证的模型的性能
27、提高近50%,功耗则降低40%。一次性成功率的大幅度提高即意味着设计成本的大幅降低和产品上市速度的大幅提高。第1章 FPGA基本概念与DE2开发平台 HardCopy技术是一种全新的ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy的自动迁移过程结合在一起的技术,它首先利用Quartus将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上。这样,HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,对于有大批量要求并对成本敏感的电子系统产品,避开了直接设计ASIC的困难。从原型设计提升至产品制造,
28、通过将FPGA的设计十分容易地移植到HardCopy器件上,达到既降低成本又加快面市周期的目的。本质上,HardCopy器件是FPGA的精确复制,剔除了可编程性、专用配置和采用金属互连的走线,这类器件的硅片面积就更小,成本就更低,而且还改善了时序特性。 第1章 FPGA基本概念与DE2开发平台 HardCopy的前端设计流程如图1.6所示,整个设计流程都由Quartus完成。Altera提供了一种简单、统一的设计方法,可以从FPGA原型中开发结构化ASIC。在一个Quartus工程中可以选择两种流程之一,即HardCopy在先的设计流程和Stratix在先的设计流程,来设计Stratix FP
29、GA和HardCopy配套器件。第1章 FPGA基本概念与DE2开发平台 图1.6 HardCopy的前端设计流程第1章 FPGA基本概念与DE2开发平台 HardCopy在先的流程:首先在HardCopy中编译设计,然后选择Stratix FPGA配套器件,对设计进行原型开发及在系统验证。这种流程可以避免在标准单元ASIC流程中由于功能问题而出现的重制风险;它支持FPGA在系统软件早期的协同设计。在以下情况中可以使用这种流程: 项目的目标是在ASIC中实现设计; 项目所需要的是大批量产品,并且批量价格要低; 项目的设计特性比较平稳,不会出现大的改动; 与FPGA原型相比,项目HardCopy
30、设计需要更高的性能及更低的功耗。第1章 FPGA基本概念与DE2开发平台 Stratix在先的流程:首先在Stratix FPGA中编译设计,然后移植到HardCopy配套器件。采用这种流程时,用户可先采用Stratix FPGA将产品推向市场,然后将设计移植到HardCopy来降低成本。在以下情况中可以使用这种流程: 希望采用FPGA来降低开发成本,获得最大的灵活性; 需要等待客户反馈来预测设计更新; 条件合适时,根据需要将设计转换到HardCopy器件,以降低成本。第1章 FPGA基本概念与DE2开发平台 与FPGA设计类似的HardCopy,其前端设计流程使用FPGA进行全面的在系统验证
31、,降低了设计的重制风险,支持软件早期协同设计,使开发总成本降至最低,并且可实现从FPGA向HardCopy结构化ASIC的无缝移植。FPGA和HardCopy器件具有相同的知识产权(IP)和引脚,无需电路板重制,根据产量和产品寿命,可以灵活地选择使用FPGA或HardCopy器件并缩短产品的上市时间。HardCopy采用业界标准的后端设计流程,设计通过了FPGA在系统的全面验证。在Quartus软件中生成了所需的设计文件后,用户将设计文件提交给Altera HardCopy设计中心,设计中心经验丰富的ASIC设计工程师使用业界标准的设计方法和EDA工具获得HardCopy器件后端的物理实现。H
32、ardCopy后端设计流程如表1.2所示。第1章 FPGA基本概念与DE2开发平台 表 1.2 HardCopy后端设计流程 设计流程步骤 EDA 工具 测试能力(DFT)插入设计 Synopsys DFT 编译器 生成测试向量 Synopsys TetraMax ATPG 时钟数综合(CTS)和全局信号插入 Synopsys Astro 时序和信号完整性布局布线 Synopsys Astro 布局后期杂散提取 Synopsys Star-RCXT 静态时序/交叉串扰/噪声分析 Synopsys PrimeTime SI 物理验证 Synopsys Hercules 和 Mentor Grap
33、hics Calibre 形式验证 Cadence Conformal 第1章 FPGA基本概念与DE2开发平台 根据设计的复杂程度,从提交网表到设计下单,其后端设计周转时间只有一到两个月。Quartus软件为后端最终布线提供了前端注释单元布局。由于在提交网表前,必须在Quartus软件中同时达到FPGA和HardCopy器件的时序逼近,因此与标准单元ASIC流程相比,最终的后端时序逼近要相对简单一些。在典型的标准单元ASIC流程中,网表提交后还需要进行设计验证,导致多次进行验证迭代、工程改动要求(ECO)以及布局布线合并等,进一步推迟了计划。而HardCopy设计在FPGA中进行了全面的在系
34、统验证,在后端流程中不需要功能ECO,这样就可以预测Altera的后端设计周转时间,降低了在标准单元ASIC流程中出现的计划推迟的风险。第1章 FPGA基本概念与DE2开发平台 1.2 Cyclone系列系列FPGA1.2.1 Cyclone系列系列FPGA概述概述Altera的DE2教育平台选用的FPGA是Cyclone系列FPGA中的EP2C35F672C6。Cyclone系列FPGA是继Cyclone系列低成本FPGA在市场上取得成功之后,Altera公司推出的更低成本的FPGA,它将低成本FPGA的密度扩展到了68 416个逻辑单元(LEs),从而可以在低成本FPGA上实现复杂的数字系
35、统。Cyclone系列FPGA采用TSMC(台积电)的90nm工艺,与竞争对手采用的90nm工艺的FPGA相比,其性能高出60%而功耗减低一半,而其价格则几乎可以与ASIC产品竞争。优异的性价比使Cyclone系列FPGA可以广泛地应用于汽车电子、消费电子、音/视频处理、通信以及测试测量等终端产品市场。第1章 FPGA基本概念与DE2开发平台 Cyclone系列FPGA支持Altera公司的Nios嵌入式软核处理器。Nios具有灵活的可配置特性而且可以非常容易地实现各种外设的扩展。对于并行事务处理,可以在一个FPGA上放置多个Nios软核,大大提高了处理器的效率,也方便多个小组同时开发,进一步
36、加快了新产品的研发速度。第1章 FPGA基本概念与DE2开发平台 在数字信号处理方面,Cyclone系列FPGA也具有明显的优势。Cyclone系列FPGA可以内置多达150个1818的硬件乘法器,片上大容量的M4K RAM以及经过专门优化的对外部存储器的高速存取特性,使它们非常适合于数字信号处理器或协处理器的应用场合。Altera公司提供的数字信号处理器IP核以及DSP Builder软件包使数字信号处理产品的开发非常容易。Cyclone系列FPGA的主要性能比较见表1.3。第1章 FPGA基本概念与DE2开发平台 表 1.3 Cyclone系列 FPGA 的性能比较 特 性 EP2C5 E
37、P2C8 EP2C20 EP2C35 EP2C50 EP2C70 LE 数量 4608 8256 18 752 33 216 50 528 68 416 M4K RAM 块数量 26 36 52 105 129 250 RAM 总量/位 119 808 165 888 239 616 483 840 594 432 1 152 000 内嵌乘法器数量 13 18 26 35 86 150 锁相环数量 2 2 4 4 4 4 可用最大 I/O 口数量 158 182 315 475 450 622 第1章 FPGA基本概念与DE2开发平台 图1.7是EP2C20的内部结构示意图,Cyclone系
38、列FPGA的内部结构基本上都是这种排列方式。Cyclone系列器件主要由以行列形式排列的逻辑阵列块(Logic Array Block,LAB)、嵌入式存储器块及嵌入式乘法器组成,锁相环(PLL)为FPGA提供时钟,输入/输出单元(Input/Output Elements,IOEs)提供输入/输出接口逻辑。逻辑阵列、嵌入式存储器块、嵌入式乘法器、输入/输出单元及锁相环之间可实现各种速度的信号互连。第1章 FPGA基本概念与DE2开发平台 图1.7 Cyclone系列FPGA的内部结构示意图第1章 FPGA基本概念与DE2开发平台 逻辑单元是Cyclone系列中可以实现用户逻辑定制的最小单元。
39、每16个LE组成一个逻辑阵列块(LAB)。LAB以行列形式在FPGA器件中排列。Cyclone系列FPGA的LE数量在460868 416范围之间变化(参见表1.3)。Cyclone系列FPGA有片内PLL,并有多达16个全局时钟线的全局时钟网络为逻辑阵列块、嵌入式存储器块、嵌入式乘法器和输入/输出单元提供时钟。Cyclone系列FPGA的全局时钟线也可以作为高速输出信号使用。Cyclone的PLL可以实现FPGA片内时钟的合成、移相,也可以实现高速差分信号的输出。第1章 FPGA基本概念与DE2开发平台 M4K嵌入式存储器块由带校验的4K位(4096位)真双口(Ture Dual-Port)
40、RAM组成,可配置成真双口模式、简单双口模式或单口模式的存储器,位宽最高可达36位,存取速度最高260MHz。M4K嵌入式存储器分布于逻辑阵列块之间。Cyclone系列FPGA的M4K嵌入式存储器的容量为119K1152K位不等。每个嵌入式乘法器可以配置成两个99或一个1818的乘法器,处理速度最高可达250MHz。Cyclone的嵌入式乘法器在FPGA上按列排列。输入/输出单元排列在逻辑阵列块的行和列的末端,可以提供各种类型的单端或差分逻辑输入/输出。第1章 FPGA基本概念与DE2开发平台 1.2.2 逻辑单元逻辑单元逻辑单元是Cyclone系列FPGA逻辑的最小单元,它能够完成各种复杂的
41、逻辑应用。一个逻辑单元的主要特性如下:(1) 4输入查找表相当于一个4输入的函数发生器,能够实现4变量输入的所有逻辑。(2) 一个可编程寄存器。(3) 一个进位链连接(Carry Chain Connection)。(4) 一个寄存器链连接(Register Chain Connection)。(5) 能够驱动所有可能的互连,包括本地互连、列间、行间、寄存器链以及直接互连。(6) 支持寄存器打包。(7) 支持寄存器反馈。Cyclone逻辑单元的结构如图1.8所示。第1章 FPGA基本概念与DE2开发平台 图1.8 Cyclone逻辑单元的结构第1章 FPGA基本概念与DE2开发平台 每个逻辑单
42、元(LE)都可以配置成D、T、JK或SR模式,每一个LE都有独立的数据输入(data1、data2、data3、data4)、清除(labclr1、labclr2、DEV_CLRn)、时钟(labclk1、labclk2)及时钟使能输入(labclkena1、labclkena2)。时钟网络、GPIO(General Purpose Input/Output,通用输入/输出)及内部逻辑都可以驱动寄存器的时钟及清除信号。内部逻辑及GPIO可以驱动时钟使能信号。用于组合逻辑时,查找表旁路掉寄存器而直接驱动输出。第1章 FPGA基本概念与DE2开发平台 每个LE有三个输出,可以用来驱动行、列布线,直
43、接连接布线和本地布线。其中两个输出用来驱动行、列以及直接布线,一个输出用来驱动本地互连布线。查找表输出和寄存器输出可以完全独立地分别驱动三个输出中的两个,即用查找表驱动其中一个输出时,可以用寄存器的输出驱动另一个输出。由于这种做法可以让查找表和寄存器各自独立完成互不相干的功能,因此有效提高了器件的利用率。这种工作方式称做寄存器打包(Register Packing)。在寄存器打包模式下工作时,LAB同步加载信号无效。第1章 FPGA基本概念与DE2开发平台 另外一种特殊的打包模式是把寄存器的输出反馈到同一逻辑单元的查找表的输入,也就是说,寄存器与同一逻辑单元的查找表打包。这个逻辑单元可以驱动被
44、寄存的或未被寄存的查找表输出。除上述的输入、输出之外,Cyclone的逻辑单元还有一个进位链路输入和一个进位链路输出,这种LAB内的进位链路可以使同一个LAB中的逻辑单元级联起来。寄存器链路输出可以让同一个LAB中的查找表完成组合逻辑的任务,而用这个LAB中的寄存器可以完成移位寄存器的功能。这样可以提高LAB间互连的速度并节省布线资源。第1章 FPGA基本概念与DE2开发平台 LE有两种工作模式:普通模式和算术模式。将LE的六个输入(四个数据输入、进位输入和寄存器链输入)进行不同的处理可以实现不同的功能。LAB范围的信号(时钟输入、异步清除、同步清除、同步加载及时钟使能等信号)在两种工作模式下
45、都是有效的。Quartus软件通过参数化模块库(Library of Parameterized Modules, LPM)自动选择LE的工作模式,用户也可根据自己的应用来选择LE的工作模式,以提高设计的性能。LE的普通工作模式如图1.9所示,其适用于通用逻辑以及组合逻辑的场合。在这种模式下,LE相当于一个4输入查找表,Quartus编译器自动从data3或进位输入(Cin)中选择一个作为4输入查找表的输入。普通工作模式下的LE支持寄存器打包和寄存器反馈。第1章 FPGA基本概念与DE2开发平台 图1.9 LE的普通工作模式第1章 FPGA基本概念与DE2开发平台 LE的算术工作模式如图1.1
46、0所示,其适用于实现加法器、累加器、计数器和比较器。算术工作模式下的LE实际上是一个2输入查找表。算术模式下工作时,查找表输出可以是带寄存器的输出,也可以是不带寄存器的输出。算术模式下的LE也支持寄存器反馈和寄存器打包。第1章 FPGA基本概念与DE2开发平台 图1.10 LE的算术工作模式第1章 FPGA基本概念与DE2开发平台 Quartus的编译器会自动选择进位链逻辑,用户也可以在设计时自己使用进位链逻辑,一些LPM则会根据功能的需求自动选择进位逻辑。当进位链超过16个LE,即超过一个LAB的范围时,Quartus的编译器会自动连接同列的LAB。LAB与M4K RAM块都是垂直布置的,当
47、Quartus为增强型适配时,会自动垂直连接多个LAB以实现较长的进位链,从而方便LAB与M4K RAM块的横向互连。第1章 FPGA基本概念与DE2开发平台 1.2.3 逻辑阵列块逻辑阵列块(LAB)每一个LAB包括16个LE、LAB控制信号(清除、时钟、时钟使能、复位等)、LE进位链、寄存器进位链及LAB本地互连。LAB本地互连用以连接LAB内各个LE。寄存器链把LAB内一个LE寄存器的输出与相邻LE寄存器的输入连在一起。图1.11是Cyclone系列FPGA的一个LAB的内部结构及可能的各种互连。Quartus的编译器会用一个LAB或相邻的多个LAB实现相关的逻辑,从而利用LAB本地互连
48、的优势提高设计的效率。第1章 FPGA基本概念与DE2开发平台 LAB本地互连可以驱动本LAB的LE,行互连、列互连及本LAB的LE的输出可以驱动本地互连。相邻的LAB、锁相环PLL、M4K RAM块、乘法器可以通过直接互连来驱动本地互连。直接互连减少了对列互连和行互连的占用,提高了使用的灵活性。每个LE可通过本地互连和直接互连驱动48个LE。图1.12是LAB互连的示意图。第1章 FPGA基本概念与DE2开发平台 图1.11 LAB的结构第1章 FPGA基本概念与DE2开发平台 图1.12 LAB互连示意图 第1章 FPGA基本概念与DE2开发平台 LAB的控制信号主要有:2个时钟、2个时钟
49、使能、2个异步清除、1个同步清除和1个同步加载。图1.13是LAB控制信号的示意图,其最多有7个控制信号同时可用。同步加载与寄存器打包不能同时使用。每个LAB最多可以有4个非全局控制信号,其他的控制信号只有是全局控制信号的才可用。第1章 FPGA基本概念与DE2开发平台 图1.13 LAB控制信号示意图 第1章 FPGA基本概念与DE2开发平台 同步清除和同步加载信号是针对整个LAB范围而言的,即这两个信号对整个LAB范围内的所有寄存器有效。每个LAB可以使用2个时钟信号和2个时钟使能信号,时钟信号和时钟使能信号是同时使用的。例如,当一个LE选用了一个时钟信号labclk1时,意味着它同时选择
50、了labclkena1。如图1.13所示,LAB行时钟和LAB本地互连共同产生LAB的控制信号。第1章 FPGA基本概念与DE2开发平台 LAB的清除信号是针对寄存器的,LE可通过异步清除信号直接清除。每个LAB最多支持2个异步清除信号:labclr1和labclr2。LAB不支持异步加载功能。除上述的同步清除和异步清除控制之外,Cyclone系列FPGA还支持芯片范围的清除功能。DEV_CLRn可以清除FPGA上所有寄存器的值,而且其优先级高于所有的控制信号。第1章 FPGA基本概念与DE2开发平台 1.2.4 MultiTrack 互连互连Cyclone系列FPGA内部M4K RAM、嵌入
51、式乘法器、LE、IOE之间的互连由采用DirectDrive技术的MultiTrack互连结构完成。MultiTrack互连线由连续的不同长度的性能经过优化的连线组成,用以进行不同设计模块之间的通信。DirectDrive技术是专有的确定连线技术,它确保任何功能无论在器件的什么位置都具有一致的布线。这项技术免除了由改变设计引起的系统重优化过程,从而大大简化了模块设计的系统集成过程,使得设计者可以自由添加、修改和移动设计的不同部分,而不会对设计的性能造成不利影响。第1章 FPGA基本概念与DE2开发平台 Cyclone系列FPGA的MultiTrack互连由跨越固定距离的行互连(直接连接、R4和
52、R24)与列互连(寄存器链、C4和C6)组成。对在不同器件中实现的布线,MultiTrack可以保证布线长度具有可预测性与重复性,从而可方便地实现在不同密度器件上的移植设计。行互连用于实现位于同一行的M4K RAM块、嵌入式乘法器以及PLL之间的信号互连。行互连资源包括相邻LAB之间以及相邻块之间的直接连接,可以向左或向右跨越4个块的R4互连以及可以横向跨越24个块的R24互连。第1章 FPGA基本概念与DE2开发平台 直接互连使LAB、M4K RAM、嵌入式乘法器以及锁相环可以直接与自己的左右邻居互连,PLL只能有一边可以连接直接互连或行互连。直接互连可以实现相邻块之间的高速互连而不需要占用
53、其他行互连资源。第1章 FPGA基本概念与DE2开发平台 R4互连的示意图如图1.14所示。R4互连可以向左或向右跨越4个LAB、3个LAB和1个M4K RAM或者3个LAB和1个嵌入式乘法器。通过R4互连可以实现相邻的4个块范围内的高速互连。每一个LAB都有自己向左和向右的R4互连。图1.14中选择了一个LAB作为主LAB,来描述它的两个R4互连。所有LAB都具有相同的R4互连结构。R4互连可以驱动LAB、M4K RAM、嵌入式乘法器、PLL和行IOE,同样也可以被这些块驱动;R4互连与LAB相连时,可以被主LAB与相邻的LAB驱动,主LAB和左侧相邻的LAB可以驱动主LAB的左侧R4互连,
54、主LAB和右侧相邻的LAB可以驱动主LAB的右侧R4互连。R4互连可以驱动相邻的R4互连以扩展其驱动LAB的能力。为了实现跨行驱动,R4互连也可以驱动R24互连、C4和C16互连。第1章 FPGA基本概念与DE2开发平台 图1.14 R4互连示意图第1章 FPGA基本概念与DE2开发平台 R24互连可以实现横跨24个LAB、M4K RAM、嵌入式乘法器及IOE的互连,从而实现大范围的互连。R24不直接驱动LAB,而是通过C4和R4实现对LAB的驱动。R24可以直接驱动R24、R4、C4和C16。列互连与行互连类似,用以纵向连接M4K RAM、LAB、嵌入式乘法器和IOE。列互连包括LAB内的寄
55、存器链、C4互连和C16互连。寄存器链可以实现LAB内LE寄存器之间的快速连接。一个LE寄存器链的输出可以与另一个LE寄存器链的输入直接相连,从而实现高速移位寄存器。用寄存器链实现同一个LAB内LE间互连的示意图如图1.15所示。第1章 FPGA基本概念与DE2开发平台 图1.15 同一个LAB内LE间互连示意图第1章 FPGA基本概念与DE2开发平台 如图1.16所示的C4互连,可以实现向下或者向上的跨越4个M4K RAM、乘法器或者LAB的互连。每个LAB都有自己向上和向下的C4互连。C4互连可以驱动M4K RAM、嵌入式乘法器、LAB、PLL和IOE中的任何一块,也可以被它们驱动。C4互
56、连还可以驱动其他的C4互连以增加自己的驱动范围。相邻LAB可以驱动对方的C4互连。C16互连可以实现垂直跨越16个LAB、M4K RAM、嵌入式乘法器及IOE的互连,从而实现大范围的互连。C16互连不直接驱动LAB,而是通过C4和R4实现对LAB的驱动。Cyclone系列FPGA内部各功能模块之间的互连途径见表1.4。第1章 FPGA基本概念与DE2开发平台 图1.16 C4互连示意图 第1章 FPGA基本概念与DE2开发平台 目标 源 寄存 器链 本地 互连 直接 连接 R4 互连 R24 互连 C4 互连 C16 互连 LE M4K RAM 乘法器 PLL 列IOE 行IOE 寄存器链 本
57、地互连 直接连接 R4 互连 R24 互连 C4 互连 C16 互连 LE M4K RAM 乘法器 PLL 列 IOE 行 IOE 表 1.4 Cyclone系列 FPGA 内部各功能模块之间的互连途径 第1章 FPGA基本概念与DE2开发平台 1.2.5 全局时钟网络及锁相环全局时钟网络及锁相环Cyclone系列FPGA通过全局时钟网络和锁相环实现时钟管理。Cyclone系列FPGA最多可以有4个锁相环和16个全局时钟网络。每个全局时钟网络由独立的时钟控制块来实现其时钟源的动态选择。PLL时钟输出、CLK引脚输入、DPCLK引脚输入及内部逻辑都可以驱动全局时钟网络。不同Cyclone器件的时
58、钟资源如表1.5所示。第1章 FPGA基本概念与DE2开发平台 表 1.5 Cyclone器件的时钟资源 器 件 PLL 数量 CLK 引脚数量 DPCLK 引脚数量 全局时钟 网络数量 EP2C5 2 8 8 8 EP2C8 2 8 8 8 EP2C20 4 16 20 16 EP2C35 4 16 20 16 EP2C50 4 16 20 16 EP2C70 4 16 20 16 第1章 FPGA基本概念与DE2开发平台 Cyclone系列中,EP2C20及以上FPGA的PLL、CLK引脚、DPCLK引脚及时钟控制块的分布如图1.17所示。FPGA每边有4个时钟控制块,在FPGA的4个角的
59、每一个角上各有两个DPCLK引脚,称做CDPCLK,这两个DPCLK引脚同时只能有一个作为时钟输入,另一个作为GPIO使用。第1章 FPGA基本概念与DE2开发平台 图1.17 EP2C20及以上FPGA的PLL、CLK引脚、DPCLK引脚及时钟控制块的分布第1章 FPGA基本概念与DE2开发平台 EP2C20以上的Cyclone系列FPGA有16个时钟输入专用引脚,每边4个。如果不作时钟输入使用,则可以通过MultiTrack互连作为通用输入引脚,但只能使用基于LE的寄存器,而不支持基于LOE的寄存器。EP2C20以上的Cyclone系列FPGA共有20个双用途时钟输入引脚(左右各4个、上下
60、各2个以及芯片4个角的每个角上各2个)。CDPCLK引脚输入的时钟信号先经过复用之后才进入时钟控制块,与其他的DPCLK相比,会产生额外的延迟。在DPCLK的引脚输入和驱动输出之间有一个可编程延迟链,用于设定其传播延时,可以用Quartus软件中的“Input Delay from Dual-Purpose Clock Pin to Fan-Out Destinations”设置延时。DPCLK可以连接到全局时钟网络上用作时钟、异步清除、预置、时钟使能信号,也可以用作类似于PCI接口中的TRDY(Target Ready)、IRDY(Initiator Ready)和外部存储器接口中的DQS等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术项目的进度管理与措施
- 电化学还原工艺在低浓度矿液中的应用研究-洞察阐释
- 高等院校教学改革实施计划
- 教育机构商业计划书实例
- 全球环境伦理保护策略-洞察阐释
- 代码安全漏洞修复-洞察阐释
- 响应式交互设计趋势-洞察阐释
- 城市环境智能监测-洞察阐释
- 数字营销专员培训心得体会
- 实验室安全科学教学计划
- T-CAICI 88-2024 信息通信工程建设安全风险分级管控和隐患排查治理通.用要求
- 《中考前心理辅导》课件
- 医疗核心制度题库含答案
- 2025年中国铁路济南局集团有限公司招聘笔试参考题库含答案解析
- 吊车组塔施工方案
- 7 第七章 共产主义崇高理想及其最终实现
- 云南咖啡行业行业发展趋势及投资战略研究分析报告
- 华为的管理框架
- 电动机常见故障分析与维护(课件)
- 药品管理与使用规范管理制度
- 《wto案例分析》课件
评论
0/150
提交评论