FPGA技术调研杨学齐_第1页
FPGA技术调研杨学齐_第2页
FPGA技术调研杨学齐_第3页
FPGA技术调研杨学齐_第4页
FPGA技术调研杨学齐_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPGA技术调研报告0805 杨学齐 200892128一、FPGA的系统设计概述系统设讣在整个设计中是非常关键的,它直接影响到后面的工作时间、质量 和效率,同时也关系到最后产品的质量(包括实现的功能、稳定性,测试、使用、 维护和升级是否方便等等)。系统设计的必要性表现在它不仅能够从整体上描述 系统,而且还表现在它能够在设讣前期阶段就能发现理论和设汁原理上的错误和 缺陷并进行设讣方案的修改和优化,而系统仿真是一个有效的方法,它使系统设 计从定性描述走向定量描述,更具体、更具体、更轻易发现细节题和缺陷。假 如不重视系统设计,必然要在调试阶段花费更多的时间,而且会对以后的工程应 用、产品维护、市场

2、拓展等方面付出代价,这是不可取的。此外,具体的系统设 计方案会使得分配模块的设计任务变得更轻易和明确,便于工程开发的治理。系统设计采用自顶向下的设讣方法,根据系统的设计要求,首先对系统的结 构和功能进行定义,主要包括(对一个具体设计不一定都包括):系统功能描述, 技术参数定义,模块划分及其功能描述(即方框图描述),通讯协议,软硬件协 同实现方案,系统数据流、控制流(包括状态机)和存储方案,复位和时钟方案 (即同步方案),ip使用方案,测试方案(包括仿真时要用到的测试激励和 在电路板上的测试方案),各模块的接口信号定义(包括时序关系)及其连接, 寄存器定义和FPGA引脚信号定义等等,然后使用高级

3、语言或者VHDL、Verilog HDL硕件描述语言进行算法行为描述和系统行为仿真,最后完成系统设汁方案。 系统设计流程山此可见,一个完整的系统设讣方案不仅需要定性描述(即系统功能和模块 功能描述、参数定义、方框图、模块划分和接口信号定义、时序图、可行性论证 等),而且应该有定量描述,即含有具体的算法说明、系统行为描述代码和系统 仿真结果等。事实上,对一个简单的设计,系统方案只做到定性描述也可以,即 不做系统行为描述与仿真,各模块内的算法可以由承担该模块的设计者完成,模 块设讣可以直接从RTL级(RegisterTransportLevel:寄存器传输级)开始,系 统仿真直接从功能仿真开始二、

4、FPGA设计流程2.1设计流程图(1)设计定义(2) HDL实现(4)逻辑综合(4)逻辑综合逻辑仿貞器(3)功能仿真逻辑仿貞器逻辑仿貞器FPGA厂家工具(8)静态时序分析(6)布局布线逻辑仿真器逻辑仿真器(9)在系统测试图11说明: 逻辑仿真器主要指modelsim, Verilog-XL等。 逻辑综合器主要指 LeonardoSpectrum Synplify、FPGA Express/FPGA Compiler 等。 FPGA 厂家工具指的是如 Altera 的 Max-Plus 11 x Quar tus 11Xi 1 inx 的 Foundation Alliance. ISE4. 1

5、 等。2. 2关键步骤的实现2- 2.1功能仿真说明:“调用模块的行为仿真模型”指的是RTL代码中引用的由厂家提供的宏模块/IP,如Altera 提供的LPM库中的乘法器、存储器等部件的行为模型。2. 2. 2逻辑综合逻辑综合器设置综合目标| 和约朿条件EDIF网表(netlist)HDL网表(netlist)图2. 2说明:“调用模块的黑盒子接口的导入,是由于RTL代码调用了一些外部模块,而这些外部 模块不能被综合或无需综合,但逻辑综合器需要其接口的龙义来检査逻借并保留这些模块的 接口。2. 2. 3前仿真说明:一般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。2.

6、 2. 4布局布线设宜布局布线约束条件逻辑综合器调用模块的综合模型3HDL网表(netlist)FPGA厂家工具SDF文件(标准延时格式)一出图2. 42. 2.5后仿真(时序仿真)HDL网表测试数据FPGA厂家工具HDL网表(netlist)(netlist)SDF文件(标准延时格式)SDF文件FPGA基本单(标准延时格式)FPGA基本单元仿真模型肿元仿真模型测试程序(test图2.5三、在FPGA中植入嵌入式系统3.1嵌入式系统与FPGA电子产品的开发同样需要在尽量嵌入更多智能设汁和创建、实现并测试应用 程序所需的时间之间寻找平衡。电子设计不断呦抽象度更高的方向发展,以确保 能有效解决越来

7、越复杂的设计问题。在采用微处理器和数字设讣的范例中,可以将一些设讣从硬连接器件转移到 易于移植和易于更新的软件领域,这样就可以在一个“软”环境中处理复杂问题。 在整个设计过程中,“软”环境一直都很灵活且容易改变。如今,由于可编程器件(to FPGA)容量大、性能高、成本相对较低的特性,这 种平衡乂在发生变化,以前硬件设计元素(如处理器及其外圉器件和逻辑块)也可 以转移到软领域。因此,在整个开发周期内,灵活性可能更大,更改关键设计也 更加方便,比如可以更改软件与硬件实现之间的功能分区,其至更改处理器的选 择。与大量使用分立的现有处理器开发嵌入式系统相比,U前开发基于FPGA的 处理器应用程序的做

8、法仍很少。尽管FPGA已确实广泛应用于与嵌入式系统处理 器密切相关的外围逻辑中,但除了可编程设计之外,处理器及其重要外围器件仍 保持着导线连接。图3.1说明:随着用户买得起的高性能可编程器件的问世,设计工程师可将相当部分的硬 件设计从硬连线平台转移到软”环境中,从而节省设计时间、简化电路板设计并 降低制造成本。部分原因来自于成本。FPGA的体积大、性能高,尽管能提供一个处理器的应 用平台,但与性能相当的分立MCU相比,它也更加昂贵。因此,采用FPGA方案 所产生的额外费用限制了 FPGA方案的应用范围。不过最近,赛灵思Spartan-3 系列等器件消除了价格上的限制,当这些器件与合适的基于FP

9、GA的处理器内核 相结合时,成本与收益的平衡将被打破。即使价格不再是限制FPGA作为主流嵌入式系统平台的唯一障碍,但仍存在 另一个更难处理的问题,即我们需要改变对可编程逻辑器件的总体看法。我们不 能仅仅把它们看成集成逻辑块的有效方法,而是需要扩大视野范圉,重新评估在 器件(如FPGA)可重新配置的情况下我们对整个设汁过程的看法。3. 2对“界面友好”开发模型的需求如果在更大范围内审度与嵌入式设计相关的FPGA现象,线索也许就在于微 处理器本身的历史。微处理器最初用于计算器,后来用于个人电脑。当器件价格 只占一小部分产品成本时,随着技术的进步,用户界面友好的开发模型开始得到 广泛应用(如高级编程

10、语言C语言的应用)o山于软件具有很好的灵活性和强大功能,所以它们可以创建一种新的设计模 式,该模式可以自山创建和修改大部分系统功能而无需重新设计硬件。采用C 语言编写嵌入式应用程序,意味着众多设讣工程师可以获得其强大功能和灵活 性,这促使基于处理器的嵌入式设讣成为电子产品的主流设讣。FPGA可以大大增加系统中“软”器件的数量,从而具有类似于引发设计革命 的潜力。正如前文所述,大型可编程器件现在的价格使之足以与离散处理器系统竞争。为推动设计工程师采用FPGA器件作为嵌入式应用平台,需要一种用户界 面友好的开发方法。该方法既容易被大多数工程师理解,乂能方便地将处理器、 外圉硬件和软件轻松集成在可编

11、程平台中。除此之外,一种在板极设计过程中集 成FPGA设讣的方法,可以让用户轻松应对在新的“软”设计模型中发生的变化。以PCB方式实现的硬件平台(嵌入式智能)厂连接器丿图3.2说明:嵌入式产品智能包括软件以及包含在FPGA中的软连接系统器件,PCB仅成为器件智能连接外部世界的一个平台。但当我们把FPGA看作系统平台时,在HDL领域获得必需的系统器件(例如处 理器与外圉器件),并在寄存器转换级实现它们的过程十分复杂。对那些U前还 不是FPGA专家的大多数工程师来说,这是一个令人生畏的过程。但是,工程师在板级上开发同样复杂的设计系统不会遇到这些困难,因为在 板级上,系统的复杂性表现在用来创建设计的

12、现有器件上,而工程师只是简单地 使用这些器件,并不需要了解其内在复杂性。因此,挖掘FPGA作为主流嵌入式系统平台的潜能,关键就在于提供当前板 级设计与基于FPGA的系统设计之间的无缝转换。3. 3未来的设计工具与嵌入式智能设汁解决方案供应商Altium公司提供的电子产品开发系统Altium Designe r,近年来引领着设计工具的发展趋势。Altium Designer为FPGA提供图形输入 环境,其中包含高级FPGA器件库。这些器件包括一系列处理器内核和外圉器件, 它们为大量LI标FPGA器件提供预综合。山于器件是现成的,所以创建系统硬件 儿乎成了 “拖放”操作。这个系统包含自行设计、免费

13、的32位处理器TSK3000,该处理器可被用于大 量FPGA器件及其它系列产品中。其它能支持的运行平台包括赛灵思MicroBlaze 内核和内嵌于Virtex II Pro器件中的硬PowerPC处理器。Altium Designer广泛使用免费的开放式Wishbone处理器互连总线。为便于 处理器和外用器件的互连,它还提供多个可配置总线连接器件。基于Wishbone 的封装内核可用于MicroBlaze和PowerPC等处理器,并且可以重新定位处理器 之间的设计而无需重新设计该系统。一个通用的编译引擎和集成工具链在软件层 支持这个过程。这种方案的优势是嵌入式开发人员可以为他们的应用软件选择最

14、合适的运 行平台。他们可以采用TSK3000开始设计,如果以后需要更高性能,则可以将设 讣移植到PowerPC,或者移植到MicroBlaze解决方案。Altium Designer系统最基本的优势在于,任何硬件开发商都可以利用现有 技术,将系统复杂度山板级设讣转移到“软”的可编程逻辑领域。这使得大量的 设讣工程师可从硬连接系统器件中解脱出来,并能发挥在快速变化的硬件和软件 环境中进行设计所带来的优势。设汁流程朝“软件”方向的转变始于低成本微处理器的供应。山于FPGA技 术的进步,这种转变正走向一个新的阶段。如今,电子产品的大部分智能主要取 决于嵌入式软件。通过FPGA,嵌入式智能将跨越可编程

15、平台中的软件和软连接器件(图3.2),这种可能性将刺激FPGA的广泛使用,并为未来电子产品的开发奠定基础。四、逻辑综合的一些原则HDL代码综合后电路质量的好坏主要取决于三个方面:RTL实现是否合理、对厂 家器件特点的理解和对综合器掌握的程度。参考10中有比较全面的讨论。4. 1.关于 LeonardoSpectrumLeonardoSpectrum对综合的控制能力比较强,但使用也略为复杂,故需要在使 用前尽量熟悉其功能,才能取得较好的综合结果。当出现综合结果不能满足约束条件时,不要急于修改设计源文件,应当通过 综合器提供的时序和面积分析命令找出关键所在,然后更改综合控制或修改代 码。在Leon

16、ardoSpectrum 2000. lb以前的版本输出的.v网表都不能用于仿真。4. 2大规模设计的综合 分块综合当设计规晶艮大时,综合也会耗费很多时间。如果设计只更改某个模块时, 可以分块综合。如有设计top. V包含a. V和b.v两个模块,当只修改a. V的话, 可以先单独综合b. v,输出其网表b. edf,编写一个b模块的黑盒子接口 b_syn. v, 每次修改d.v后只综合top. V、a. V、b_syn. v,将综合后的网表和b. edf送去布 线,可以节约综合b模块的时间。采用脚本命令当设讣规模比较大时,综合控制也许会比较复杂,可以考虑采用脚本控制文 件的方式进行综合控制,

17、modelsim LeonardoSpectrum和Quartus都支持TCL (Tool Command Language)语言,采用脚本控制可以提供比图形界面更灵活和 更方便的控制手段。4. 3必须重视工具产生的警告信息综合工具对设计进行处理可能会产生各种警告信息,有些是可以忽略的,但设汁 者应该尽量去除,不去除必须确认每条警告的含义,避免因此使设计的实现产生 隐患。这个原则对仿真和布局布线同样适用。4. 4调用模块的黑盒子(Black box)方法使用黑盒子方法的原因主要有两点:一是HDL代码中调用了一些FPGA厂家提供的模块(如Altera的LPM模块) 或第三方提供的IP,这些模块不

18、需要综合,而且有些综合器也不能综合(如FPGA CompilerII/FPGA Express 可以综合包含 LPM 的代码而 LeonardoSpectrum 不能)。 因此须提供一个黑盒子接口给综合器,所调用的模块到布局布线时才进行连接。二是方便代码的移植,山于厂家提供的模块或第三方提供的IP通常都是与 工艺有关的,直接在代码中调用的话将不利于修改,影响代码移植。下面以调用Altera的LPM库中的乘法器为例来说明。调用这样一个模块需 要这样一个文件:mult8x8. v (可由 Quartus 的 MegaWizer Plug-in Manager 产 生),代码如下:/ mult8x&

19、vmodule mult8x8 (dataa, datab, result)oinput 7:0 dataainput 7:0 databooutput 15:0. resultexemplar translate_off / synopsys translate_off lpm_mult lpm_mult_component( dataa (dataa), datab (datab), aclr(T bO), clock (I bO), clken (T bO), .sum (T bO), result (result)defparamlpm_mult_componentlpm_width4

20、=8,lpm_mult_componentlpm_widthb=8,lpm_mult_componentlpm_widths=16,lpm_mult_componentlpm_widthp=16,lpm_mult_component lpm_irFp:resent3tion =SIGNED,exemplar translate_on endmodule/ synopsystranslate_on注意上述的代码有两对编译指示:/ exemplar translate_off 和 / exemplar translateon (LeonardoSpectrum 支 持)/ synopsys tra

21、ns1ate_off 和 / synopsys translate_on (LeonardoSpectrum 和 FPGA Comp订erll都支持)对于相应的综合器,在这些编译指示中间的语句将会被忽略,那我们可以看到在 综合过程中模块mu It 8x8实际变成了一个只有I/O定义的空盒子(即black box), 所以该部分的代码没有连接,在Quartus布局布线的时候,1pm模块的代码才连 接到整个设计,在仿真的时候,编译指示不影响模块的完整性。五、FPGA的应用5.1电路设计中FPGA的应用连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石.事 实上在电路设计中应

22、用FPGA的难度还是比较大的这要求开发者要具备相应的硬 件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往 往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计 者应用在不远的将来,通用和专用IP的设计将成为一个热门行业!搞电路设计 的前提是必须要具备一定的硬件知识.5. 2产品设计把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足 行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合 问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民 用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要U的, FPGA技术是一个实现手段在这个领域,FPGA因为具备接口,控制,功能IP,内 嵌CPU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论