EDA技术 第9章 FPGA硬件设计
9.1 Cyclone系列FPGA器件的特点 9.2 EP1C3 FPGA硬件设计 9.3 Quartus II开发平台应用 内 容 9.1 Cyclone系列FPGA器件的特点 9.2 EP1C3 FPGA硬件设计 9.3 Quartus II开发平台应用 9.4 简单的LED测试程序
9.1 Cyclone系列 FPGA器件的特点 CPLD与FPGA的选择 Cyclone系列FPGA器件的特点
CPLD与FPGA的选择 CPLD与FPGA有什么区别?
FPGA 1984年在硅谷工作的2个聪明的工程师和1个营销主管作了一个梦。 Bernie Vonderschmitt、Ross Freeman和Jim Barnett梦想创立一家不同于一般的公司。 Bernie Vonderschmitt是Xilinx创始人之一,提出了“无工厂”半导体这一创新理论 Ross Freeman是Xilinx创始人之一,发明了“现场可编程门阵列”(FPGA)这种新型可编程逻辑。
Ross Freeman是 Xilinx创始人之一,发明了“现场可编程门阵列”( FPGA)这种新型可编程逻辑。 Bernie Vonderschmitt是Xilinx创始人之一,提出了“无工厂”半导体这一创新理论。 他们希望创建一家在新领域内开发和推出先进技术的公司。 并且,他们还希望以这种方式领导它:在这里工作的人们热爱他们的工作、享受工作的乐趣,并对他们所从事的工作着迷。 这项推动Xilinx成立的技术在1984年的时候还被人们认为是古怪的理论。 新型半导体(现称为现场可编程门阵列)由Xilinx创始人之一Ross Freeman发明,是一种全新的可编程逻辑。
有效的合作伙伴关系 Bernie Vonderschmitt是一名工程师,并获MBA学位,提出了一个功能强大的、针对新型企业的企业模型。 他担任RCA的Solid State部门总经理之职时,他确信应与3个生产半导体的工厂合作,以便避开化费昂贵并且还很麻烦的半导体工厂。 “如果我要创建一家半导体公司,它要实现无工厂化,”他发誓说。 “我们要找到能够为我们进行生产的合作伙伴。” 这正是Xilinx公司1984年所作的工作。 自那以后,这种思想开始盛行,以至于现在全球有近700家无工厂半导体公司。
FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。内部由许多陈列排列的LE(Logic Element)组成,编程多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。现在也有内部编程采用Fllash工艺的,掉电后不须重新烧录。
CPLD Altera由Robert Hartmann、Michael Magranet、Paul Newhagen和Jim Sansbury于1983年创立,这些有远见的人们对当时的研究进行投资,认为半导体客户将从用户可编程标准产品中受益,逐步取代逻辑门阵列。为满足这些市场需求,Altera的创始人发明了首款可编程逻辑器件(PLD)棗EP300,开创了半导体业界全新的市场领域。这一灵活的新解决方案在市场上打败了传统的标准产品,为Altera带来了半导体创新领先企业的盛誉。 1983 : Altera公司成立 1984:EP300 器件和管芯, 世界上第一款可编程逻辑器件(PLD) 除了英特尔和AMD之间波澜起伏的市场争斗,半导体行业的竞争都比不上Xilinx和Altera之间的冲突来得有趣、刺激。
内部由许多陈列排列的乘积项组成,编程多为EEPROM工艺,无需外挂配置用的EPROM。
Lattice在PLD领域以创新求发展 Lattice是ISP技术和器件的发明者,同时也是isp/pLSI,GAL/ispGAL、ispGDS和E2CMOS PLD技术的开拓者。目前,Lattice拥有业界最快的PLD-isp LSI 2032VE,它的速度已达到了300MHz,同时有3ns的管脚到管脚的延迟,是其第二代3.3V Super FAST BFW高密度PLD的代表之一。Lattice的各种CPLD、SPLD(简单PLD )产品中三分之二用于通信领域,公司的销售工程师80%左右都曾是产品设计工程师。 什么叫isp技术?
什么叫isp下载技术 ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。
④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 ⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。 ⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程 数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 ⑧CPLD保密性好,FPGA保密性差。
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。 CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。 因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是“逻辑丰富”型的。 宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。
CPLD有什麽好处? 1、I/O数量多 CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。 2、时序模型简单 CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。 CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。 3、粗粒CPLD结构的优点 CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。 4、CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。
细粒FPGA结构的优点 1、FPGA是细粒结构,这意味著每个单元间存在细粒延迟。 如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。 2、如果设计中使用到大量触发器(时序逻辑),那么使用FPGA就是一个很好选择。 根据结构和原理可以知道,PLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20-30多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计译码等复杂组合逻辑。 3、 3、FPGA芯片中包含的LUT和触发器的数量非常多 FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。
9.1 Cyclone系列 FPGA器件的特点 2002年9月23日,Altera宣布推出新一代低成本FPGA。Cyclone(飓风)是一款低价格、中等密度的FPGA,采用0.13um,全铜SRAM工艺,容量从2,910个逻辑单元到20,010个逻辑单元,1.5v内核。
表9.1 Cyclone系列的内部资源 特性 EP1C3 EP1C4 EP1C6 EP1C12 EP1C20 逻辑单元(LE) 2,910 4,000 5,980 12,060 20,060 M4KRAM块(4Kbit+奇偶校验) 13 17 20 52 64 RAM总量 59,904 78,336 92,160 239,616 294,912 PLLs 1 2 最大用户I/O数 104 301 185 249 差分通道 34 129 72 103 封装 TQFP, PQFP TQFP,PQFP, FBGA PQFP,
9.1.3 Cyclone II器件介绍 Altera公司于2004年6月推出了Cyclone II系列FPGA器件,是Cyclone系列FPGA的新一代产品,也是低成本FPGA类型。CycloneII FPGA采用TSMC 90nm Low-K工艺,1.2v内核。CycloneII将和高性能的StratixII FPGA成为Altera未来几年中的两个主要FPGA产品。
表9.2 Cyclone II系列FPGA的内部资源 特性 EP2C5 EP2C8 EP2C20 EP2C35 EP2C50 EP2C70 逻辑单元( LE ) 4,608 8,256 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 嵌入式18× 18乘法器 13 18 35 86 150 锁相环(PLL) 2 4 最大可用I/O管脚 142 182 315 475 450 622
9.1.4 Cyclone III器件介绍 Altera公司于2007年07月宣布开始发售业界的首款65nm低成本FPGA——Cyclone III系列。Cyclone III FPGA含有5K至120K逻辑单元(LE),288个数字信号处理(DSP)乘法器,存储器达到4Mbits。 Cyclone III系列比前一代产品每逻辑单元成本降低20%,使设计人员能够更多地在成本敏感的应用中使用FPGA。 Cyclone III FPGA 采用台湾半导体生产公司 (TSMC) 的 65nm 低功耗 (LP) 工艺技术生产,其他的主要半导体生产商也在小型器件中采用了该技术。
表9.4 Cyclone III器件的内部资源 器件 EP3C5 EP3C10 EP3C16 EP3C25 EP3C40 EP3C55 逻辑单元 5,136 10,320 15,408 24,624 39,600 55,856 81,264 119,088 M9K 嵌入式存储器模块 46 56 66 126 260 305 432 RAM 总容量 (Kbits) 424 516 608 1,161 2,396 2,811 3,981 嵌入式18x18乘法器 23 156 244 288 PLL 2 4 最大用户I/O引脚数量 181 345 214 534 376 428 530 差分通道 70 140 83 227 163 233
9.1.5 Altera串行配置器件简介 Altera串行配置器件是工业级低成本的配置器件。提供在系统编程(ISP)和多次编程能力,Altera的串行配置器件是Cyclone III, Cyclone II和Cyclone系列器件最完美的补充,它们也给Stratix III, Stratix II 和Stratix FPGA系列提供了低成本、小型化的解决方案。这种串行配置器件可提供存储容量的范围从1Mbit到64MMbit。
表9.5 Altera常用串行配置器件 器件 封装 说明 器件参数 EPCS1 8-pin small-outline/ integrated /circuit (SOIC) 1-Mbit 存储空间 3.3-V电压 Cyclone—up to EP1C6 Cyclone II—EP2C5 EPCS4 8-pin SOIC 4-Mbit 存储空间 3.3-V电压 Stratix II—up to EP2S15 Cyclone—all Cyclone II—up to EP2C20 Cyclone III—up to EP3C25 EPCS16 16-pin SOIC 16-Mbit 存储空间 3.3-V电压 Stratix II—up to EP2S60/Stratix II GX—up to EP2SGX60 Stratix III—up to EP3SL70 Cyclone—all/Cyclone II—all Cyclone III—all EPCS64 64-Mbit 存储空间 3.3-V电压 Stratix II—all/Stratix II GX—all Cyclone—all/Cyclone II—all Cyclone III-all EPCS128 128-Mbit 存储空间 3.3-V电压 Stratix III—all/Stratix II—all Stratix II GX—all/Cyclone—all Cyclone II—all /Cyclone III—all
9.2 EP1C3 FPGA 硬件设计 EDA与传统电子设计方法 以Cyclone系统的EP1C3为例,介绍FPGA的最小系统设计方法。
EDA与传统电子设计方法 在做课程设计时,你们的设计步骤如何?
EDA与传统电子设计方法 1 传统的电子设计方法 传统的电子设计技术通常是自底向上的,即: 首先确定构成系统的最底层的电路模块或元件的结构和功能; 然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足上层系统的要求。 以此流程,逐步向上递推,直至完成整个目标系统的设计。
EDA与传统电子设计方法 例如,对于—般电子系统的设计,使用自底向上的设计方法,必须首先决定使用的器件类别和规格,如74系列的器件、某种RAM和ROM、某类CPU或单片机以及某些专用功能芯片等; 然后是构成多个功能模块,如数据采集控制模块、信号处理模块、数据交换和接口模块等,直至最后利用它们完成整个系统的设计。 以一个六进制计数器设计为例作以说明:
EDA与传统电子设计方法 第一步,选择逻辑元、器件。由数字电路的基本知识可知,可以用与非门,或非门,D触发器,JK触发器等基本逻辑元、器件来构成一个计数器。设计者根据电路尽可能简单,价格合理,购买和使用方便及各自的习惯来选择六进制计数器的逻辑元、器件。本例中我们选择JK触发器和D触发器作为六进制计数器的主要逻辑元、器件。 第二步,进行电路设计。假设六进制计数器采用约翰逊计数器(环扭型)。3个触发器应该产生8种状态,现在只使用6个状态,将其中的010和101两种状态禁止掉。
六进制计数器逻辑图
自底向上设计方法的特点是必须首先关注并致力于解决系统最底层硬件的可获得性,以及它们的功能特性方面的诸多细节问题; 各种不可预测的外部因素,都将可能使前面的工作在整个逐级设计和测试过程中,始终必须顾及具体目标器件的技术细节。 在这个设计过程中的任一时刻,最底层目标器件的更换,或某些技术参数不满足总体要求,或缺货,或由于市场竞争的变化,临时提出降低系统成本,提高运行速度前功尽弃,工作又得重新开始。 由此可见,在某些情况下,自底向上的设计方法是一种低效、低可靠性、费时费力、且成本高昂的设计方法。
2 自顶向下的电子设计方法 在电子设计领域,自顶向下的设计方法,只有在EDA技术得到快速发展和成熟应用的今天才成为可能。自顶向下设计方法的有效应用必须基于功能强大的EDA工具、具备集系统描述、行为描述和结构描述功能为一体的VHDL硬件描述语言,以及先进的ASIC制造工艺和FPGA开发技术。当今,自顶向下的设计方法已经是EDA技术的首选设计方法,是ASIC或FPGA开发的主要设计手段。 在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。一个项目的设计过程包括从自然语言说明到VHDL的系统行为描述、系统的分解、RTL模型的建立、门级模型产生,到最终的可以物理布线实现的底层电路,就是从高抽象级别到低抽象级别的整个设计周期。后端设计还必须包括涉及硬件的物理结构实现方法和测试(仍然利用计算机完成)。
自顶而下的设计方法能使系统被分解为各个模块的集合之后,可以对设计的每个独立模块指派不同的工作小组。这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。
第一层次是行为描述。 该段VHDL语言程序勾画出了六进制计数器的输入输出引脚和内部计数器过程的技术状态变化时序和关系。这实际上是计数器工作模型的描述。当该程序仿真通过以后,说明六进制计数器模型是正确的。
第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。行为方式描述的系统结构的程序,抽象程度高,是很难直接映射到具体逻辑元件结构的硬件实现的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。可通过EDA软件自动完成。 第三层次是逻辑综合。逻辑综合这一阶段是利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可以将逻辑综合结果,以逻辑原理图方式输出。也就是说,逻辑综合的结果相当于在人工设计硬件电路时,根据系统要求画出了系统的逻辑电路原理图。
EDA与传统电子设计方法的比较 传统的数字电子系统或IC设计中,手工设计占了较大的比例。一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。
一、手工设计方法的缺点 (1)复杂电路的设计、调试十分困难。 (2)如果某一过程存在错误,查找和修改十分不便。 (3)设计过程中产生大量文档,不易管理。 (4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。 (5)只有在设计出样机或生产出芯片后才能进行实测。
二、EDA设计方法的特点 (1)采用硬件描述语言作为设计输入。 (2)库(Library)的引入。 (3)设计文档的管理。 用HDL对数字电子系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性。可以大大降低设计成本,缩短设计周期。 (2)库(Library)的引入。 EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。这些库都是EDA设计公司与半导体生产厂商紧密合作、共同开发的。 (3)设计文档的管理。 某些HDL语言也是文档型的语言(如VHDL),极大地简化了设计文档的管理。
(4)强大的系统建模、电路仿真功能。 (5)具有自主知识产权。 无论传统的应用电子系统设计得如何完美,使用了多么先进的功能器件,如某公司的单片机、CPU、DSP处理器、数字锁相环或其他特定功能的IC,都掩盖不了一个无情的事实,即该系统对于设计者来说,没有任何自主知识产权可言,因为系统中的关键性的器件并非出自设计者之手,这将导致该系统在许多情况下的应用直接受到限制,而且有时是致命的。如该系统中某关键器件失去供货来源,或作为极具竞争性的产品批量外销,或应用于关键的军事设备中等情况。基于EDA技术的设计则不同,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权,再无受制于人之虞。
(6)开发技术的标准化、规范化以及IP核的可利用性。 (7)适用于高效率大规模系统设计的自顶向下设计方案。从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。传统的电子设计技术中,由于没有规范的设计工具和表达方式,无法进行这种先进的设计流程。 (8)全方位地利用计算机自动设计、仿真和测试技术。
(9)对设计者的硬件知识和硬件经验要求低。 对于传统的电子设计而言,对电子设计工程师似乎有更多的要求:他在电子技术理论和设计实践方面必须是行家里手;他不但应该是软件高手,同时还是经验丰富的硬件设计能工巧匠;他必须熟悉针对不同单片机或DSP器件开发系统的使用方法和性能,还必须知道许多器件的封装形式和电器特性,知道不同的在线测试仪表的使用方法和性能指标;他要熟练掌握大量的与设计理论和优化技术毫无关系的技能技巧,不得不事无巨细,事必躬亲。
(10)高速性能好。这是与以CPU为主的电路系统相比。 以软件方式控制操作和运算的系统速度显然无法与纯硬件系统相比,因为软件是通过顺序执行指令的方式来完成控制和运算步骤的,而用HDL语言描述的系统是以并行方式工作的。 以对A/D进行数据采样控制为例,采样周期包括对A/D工作时序的控制和将每一次获得的数据存入RAM(或FIFO)中。工作于12MHz晶振频率的MCS51系列单片机对A/D控制的采样频率为20KHz上下,即约每秒两万次。但若用FPGA中设计的状态机来完成同样的工作,如对于具有流水线采样工作时序的A/D来说,只需两个状态即可完成一次采样,状态间转换的时间仅为一个时钟周期,而如果FPGA的工作频率是100MHz,则采样速度可达50MHz。
(11)纯硬件系统的高可靠性。 大量事实表明,由CPU(或单片机)为核心的系统的可靠性通常不高,而且与CPU的种类关系不大,即任何由CPU为主控单元的系统,都不得不受到用户的特别关注。其主要原因是,以软件运行为核心的CPU的指令地址指针在外部干扰下,容易发生不可预测的变化,而使运行陷入不可预测的非法循环中,使系统瘫痪。 IP核 IP(Intellectual Property)就是知识产权核或知识产权模块的意思,在EDA技术和开发中具有十分重要的地位。著名的美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。IP分软IP、固IP和硬IP。
9.2 EP1C3 FPGA硬件设计 以Cyclone系统的EP1C3为例,介绍FPGA的最小系统设计方法。在设计FPGA的最小系统时,一般需要注意以下几个方面: (1)必需的功能:最小系统之中,除了EP1C3芯片之外,应该还包括3.3V的I/O口用稳压电源、内核用1.5V稳压电源、测试用发光二极管指示灯、JTAG口、I/O口引出排针、有源晶振电路等。 (2)I/O口的引出与排列:最小系统板,除了用于做一些简单的编程实验之外,最主要还是用于与其它扩展板配合使用,即可以嵌入到一些复杂的系统中。因此,尽量把所有的I/O都引出,同时应该分类引出,并且排列比较连贯。
(3)器件的选择:对于低成本小系统,一般选择EP1C3或EP1C6,稳压芯片一般选择1117系列。有许多厂家都有1117系列,并且各种不同的输出电压值都有,方便设计时灵活选择。 (4)可选功能:1~3路RS_232接口、I2C总路线存储器(例如24C02、24C64)。如果考虑到将来想以Nios II的应用为主,FPGA可以改用EP1C6,144引脚封装的EP1C6与EP1C3除了几个I/O有特别的功能外,其它I/O完全兼容。可按照Altera公司或相关开发板公司提供的Nios II开发板加上外部Flash和SDRAM。
9.2.3 JTAG接口 JTAG接口如图9.7所示。
对于FPGA开发,我们更常用的是另外一个配置接口,即主动串行配置(Active Serial Programming ,简称AS接口)接口。AS接口与配置芯片EPCS1的连接图如图9.8所示。
另外,EPCS1上相关的引脚同时也与FPGA芯片相应引脚相连接。连接方法如图9.9所示。
9.2.4 Byteblaster II下载线 Byteblaster II下载线主要用于Altera的CPLD/FPGA产品的编程与配置,通过电脑的并口(打印口)实现芯片的编程与配置,如图9.10所示。下载接口10个引脚的定义如表9.4所示。
引脚 AS模式 PS模式 JTAG模式 信号名称 说明 1 DCLK 时钟信号 2 GND 地 3 CONF_DONE 配置完成 TDO 数据从设备输出 4 VCC(TRGT) 电源 5 nCONFIG 配置控制 TMS 6 nCE 芯片使能 ---- 未连接 7 DATAOUT 串行数据输出 nSTATUS 配置状态 8 nCS 串行配置驱动芯片选择 9 ASDI 活动串行数据输入 DATAO 数据输入到设备 TDI 10
StratixII, StratixGX, Stratix 由Vccsel电压指定 Byteblaster II下载线所示VCC电源电压与所连接的CPLD/FPGA芯片的I/O口电源电压有关,常见的电压配置如表9.5所示。 芯片系列 下载线电压配置 MAX 7000S 5V MAX 7000AE和MAX 3000A 3.3V MAX 7000B 2.5V StratixII, StratixGX, Stratix 由Vccsel电压指定 CycloneII, Cyclone,ApexII,APEX 20K 由Vccio电压指定 FLEX 10K,FLEX8000,FLEX6000 FLEX 10KE FLEX 10KA,FLEX6000A
由一片74LS244完成Byteblaster II下载接口,原理图如图9.13所示。
FPGA的应用 1、时序逻辑电路 2、I/O接口与扩展 3、通用控制器 4、通信编解码 5、信号处理 6、IC设计验证 7、SOPC设计 8、超级计算机设计
例1、 FPGA作为控制器 FPGA作为控制器与单片机的比较 1、哪一种的抗干扰能力较强,为什么? 2、各有哪些优缺点?
FPGA作为控制器的优点: 1、并行工作,程序跑飞或死机的可能性较小。 2、I/O口配置灵活,可自由设定I/O口的功能。 4、执行速度快,可实现高速的数据采集和控制。 缺点:顺序执行能力较差。很难实现多事件模块的 并行赋值。
例2:FPGA在演化硬件中的应用 早在二十世纪50年代,计算机之父Von Neumann就提出了研制具有自繁殖与自修复能力并能进行通用计算的机器的设想,这就是演化硬件的概念雏形。一直到演化算法和大规模PLD的出现,这一梦想才具备了实现的可能。1992年日本的Hugo de Garis和瑞士联邦工学院的科学家同时正式提出了EHW的构想,短短几年这一新的领域获得了广泛的关注,并且正处于急剧升温之中。 演化硬件 (Evolvable Hardware,EHw)指的是在与外部环境相互作用之后,能自主地、动态地改变自身结构和行为的硬件电路。它具有自组织、自适应、自修复功能,能适应不同环境要求和提高自身性能。这一特性获得主要归功于演化算法(Evolvable Algorithms,简称EAs)。
EaAs是一类模拟自然界遗传进化规律的仿生学算法,它们首先随机产生一组待求优化问题的潜在可能矢量解(解称为染色体,解的集合称为种群,解中的分量称为基因); 然后采用变异、交叉、评价、选择等手段,优胜劣汰,不能进化,最后获得优化解。 作为一种优化算法,它们也具有自适应、自组织、自修复的特性,本身还具有随机性和并行性。在搜索解空间时,能以很大概率找到全局解,不易陷入局部优化点。嵌入问题方式简单,寻优鲁棒性强,可以解决不连续、不可导、多目标、带各种约束条件的优化问题,因而成为EHW演化的“发动机”或“引擎”。
EHW的简单定义为:演化算法+可编程逻辑器件。从目前EHW研究的内容看,EHW具两个方面的内容: ①根据功能或指标的要求,采用EA技术对电路进行合成,形成新电路结构和参数。值得一提的是EA用于电路及系统设计由来已欠,但主要集中于利用电路参数设计电路板、布线、布局优化等方面,与本文所指的EHW有本质区别。 ②具有自组织、自适应自修复特性的硬件电路。此为EHW最吸引人的地方,其核心为“自适应”。由于FPGA比以往PLD具有独特的优越性,目前大多数的EHW都采用FPGA器件。
EHW的实现方法和演化方式 从FPGA的原理可知,FPGA结构可以最终描述为配置数据。因此对FPGA的演化,最终可归结为对配置数据的演化 。
例3:在AMD公司的大力支持下,IBM 公司目前正在制造全球运算速度最快的超级计算机 IBM将负责为美国能源部国家核安全管理局建造这台名为Roadrunner的超级计算机。在2008年夏天 ,这台计算机将在美国新墨西哥州的洛斯阿拉莫斯国家实验室建造逐步安装完成。政府预计该项目的总成本为1.1亿美元。 该超级计算机将采用16,000枚由IBM、日本索尼公司和东芝公司共同开发的Cell处理器,此外,它还将采用16,000多枚AMD皓龙服务器芯片。 是此前全球速度最快的超级计算机BlueGeneL的4倍。每秒种的匀速次数,可以达到1000T。
Roadrunner超级计算机将运行Linux 操作系统,此外,它还需要采用先进的“混合编程 (hybrid programming)”软件,用于在AMD芯片和Cell芯片之间协调工作。 该计算机还将采用先进的冷却和电源管理技术,其占地面积“只有”12,000平方英尺,大小约相当于三个篮球场。 传统的芯片会消耗大量的电能,如果使用皓龙或至强芯片建造性能达到Pflop 水平的计算机系统,它的能耗将达到数十兆瓦。1 瓦的能耗一年下来就意味着1 美元的电费,能耗为10兆瓦的系统一年的运行费用就是1000万美元
全球最快10台超级计算机系统排名 发布时间:2008-03-25 1、NEC公司研制的“地球模拟器” 2、加利福尼亚数字公司为劳伦斯-利弗莫尔国家实验室研制的Thunder 3、惠普公司为洛斯-阿拉莫斯国家实验室研制的ASCI Q 4、IBM研制的“蓝色基因/L DD1”原型系统 5、戴尔公司为美国超级计算应用中心研制的Tungsten 6、IBM公司为欧洲中期天气预报中心研制的二台基于Power4芯片的系统 7、富士通公司研制的“超级组合机群系统” 8、IBM研制的“蓝色基因/L DD2”原型系统 9、惠普公司为美国西北太平洋国家实验室研制的基于安腾芯片的机群系统 10、中国曙光计算机公司为上海超级计算机中心研制的“曙光4000A”,目前国产最快的超级计算机是曙光4000A,据说每天电费是1万多元...
美国大学利用FPGA试制出“台式超级计算机” 美国马里兰州的马里兰大学宣布试制出了将在单芯片上并行运算的架构封装在FPGA之中的运算系统,并进行了工作验证(图1)。采用64个分别在75MHz下驱动的线程处理电路,实现了可与美国AMD(Advanced Micro Devices)的高速微处理器不相上下的运算性能。将来有望通过一枚芯片实现目前微处理器100倍以上的运算性能。
图1:利用3个FPGA和DDR2同步DRAM实现PRAM的板卡。FPGA采用了美国赛灵思(Xilinx)的2个“Virtex-4 LX200”和1个“Virtex-4 FX100”
此次试制品的开发单位是马里兰大学A·詹姆斯·克拉克工程学院教授Uzi Vishkin的研究组。该系统是基于并行运算架构之一“PRAM(parallel random access machine/model)”的高速工作的第一个运算系统,于2006年12月完成。
绿色超级计算机诞生 比传统功效高出10倍 比传统的超级计算机功效高出10倍、速度快300倍的超级计算机在苏格兰诞生了。这台被称为Maxwell的机器是在爱丁堡大学建造的,并以FPGA代替了传统的处理器。 据苏格兰的开发人员认为,Maxwell代表着占空间较小的新一代节能型计算机。和传统上使用的通用处理器不同,FPGA芯片能够通过被编程执行非常特殊的任务。一旦这一编程被完成,FPGA芯片与通过在通用处理器上运行软件执行相同的任务相比,其速度要快得多。 这种技术与性能相当的传统系统相比,其对空间和空调的要求也更低。Maxwell计算机仅仅占用了爱丁堡大学平行计算中心的两个机柜。
9.3 Quartus II开发平台应用
9.3.1 Quartus II的基本应用 (1)建立一个新项目, 项目称例如:verilog_1。 (2)在项目中建立一个Verilog HDL文件,最好用英文名称,例如verilog_1.v。 (3)编写一个简单的分频器程序,代码如下: module verilog_1(input clk,output reg q); always @(posedge clk) begin q=~q; end Endmodule
查看生成的RTL图的方法是选择菜单“Tools”—“RTL Viewer”,综合出的RTL图如9.23所示
小 结