>
首页 » 技术文章 » 将处理器集成入FPGA的整合之道

将处理器集成入FPGA的整合之道

作者:■ Altium公司 Rob Irwin  时间:2005-05-05 10:11  来源:本站原创

引言
现有的FPGA设计策略只是将FPGA看作一个单个元件,且需要依靠HDL输入(HDL capture)和仿真的手段来进行元件设计和验证。而在将处理器集成入FPGA,试图在可编程部件中成就一个完全内嵌的系统时,其所呈现出的复杂性是现有方法无法有效解决的。
若想对嵌入到FPGA中基于处理器的整个数字系统进行输入、运行及调试,工程技术人员需要有一个集合各种工程软硬件设计工具,在一个集成化的FPGA执行环境中协调工作的理想设计平台。
本文概述了开发这种系统所必须面对的各种设计挑战,并讲解了Altium公司的最新电子设计环境Nexar如何为FPGA设计提供一种全新的方法。这种方法不仅可将处理器有效地集成入FPGA之中,而且成为一种挖掘现有以及未来大容量、低成本FPGA部件应用潜力的系统级FPGA设计策略。

复杂度提升所带来的问题
一直以来,像FPGA这样的大容量可编程部件都是用于组成逻辑块的,实质上FPGA就是用于研制单一用途的元件,然后与其他现成的元件组合在一起构建一个完整的嵌入式系统。这种工作对于一个含有数万设计门栅的FPGA来讲已经足够了。然而依照摩尔定律,FPGA在成本不断降低的同时其容量也有了大幅的提升,现今的FPGA堪称是一个内含百万级门栅,集成有嵌入式处理器和外设元件,具有可执行整个数字系统工作能力的设计平台,其成本却已不再是上百美元,而是下降到了仅仅数十美元的水平。 现在市场上已有很多此种类型的FPGA,但是为什么工程技术人员没有急于将这些部件应用于设计当中呢?原因很简单—没有合适的设计工具和设计策略。
绝大多数传统的FPGA设计方法是,采用某种形式的硬件描述语言(HDL)在寄存器状态下将整个FPGA作为一个单个元件来进行设计。而且,传统的方法依赖大量的HDL仿真来达到对设计的工作状况进行验证的目的。 在研制FPGA中的组合逻辑块时,采用这种设计方法非常有用,但由于必须进行寄存器寻址,随着FPGA容量的增加以及所用逻辑器件的进一步增多,寄存器级的复杂性使得设计中采用HDL/仿真方法就变得非常烦琐。只要看一下含有处理器以及高阶外设功能的典型嵌入式应用产品就会发现,其电路结构中所特有的复杂性使得传统意义上的FPGA 设计方式不再可行。
虽然这种复杂度可以在一种程度上通过解决分级构造中的问题,搜寻、组合已经过预先测试的IP块,将基于HDL源代码的大模块连在一起以增加层的复杂性来克服,但由于基于HDL组合逻辑的较大模块需要许多行代码,并要知道什么是能集成在设计中的有效源代码,工程技术人员需要对代码的工作流程有一定的了解。
随着设计复杂度的提高,采用传统的HDL/仿真方法来进行FPGA产品开发时,其复杂性所导致的一系列问题就显现了出来。将FPGA当做一种孤立元件进行开发时,行之有效的实施和验证策略在应对系统级集成时受到了严峻的挑战。要想在FPGA平台上进行高效优质的系统级设计,就必须有一种全新的思路和方法。

借鉴线路板设计的经验
线路板级系统的设计为我们提供了有用的经验和设计灵感。通常情况下,为百万级基本门栅的复合系统是无需耗用大量仿真周期的。这是因为复杂的系统已溶入到高阶元件设计之中了,而元件可以很简单地在一个图形环境中连接在一起以便构建起整套系统。门栅和寄存器级的复杂性被元器件有效地掩盖和回避了,这使得工程技术人员无需具备任何有关元件基本结构方面的知识,就可以相对快速且容易地进行整个系统的开发工作。
工程技术人员在从事线路板级的设计时,需要有传统HDL设计流程所要求的更高抽象概念。他们可将元件放置入原理图中,并进行布线以设定整个系统的连接性。电路的功能性单元 — 元件 — 被看做是“黑盒子”。
如果将这种方法引入到FPGA的内部设计之中,将FPGA看做是一个通过元件互连来构建系统的平台,而不是简单地看做是一个独立的复合元件,会是一种更大规模的设计流程。
Altium Limited公司新近推出的设计系统(Nexar)正是应用了这种方式。 工程技术人员可将现有的线路板级嵌入式系统设计知识直接应用于可编程部件的开发之中。Nexar的独特之处在于它并非试图将传统的HDL流程按比例提升到系统级的水平,而是将HDL与基于原理图的线路板设计方法相结合,集二者之优势以实现系统级的设计开发。

设计输入所要面对的挑战
一直以来,FPGA都被当做是用在较大系统中的单一用途元件,是与其他采用分立、现成元件的主要功能块如处理器一起工作的。这种单一用途的元件可以用于集合大量的组合逻辑或者胶合逻辑,也可以充当一种特殊的元件,如网络摄像机用图像编码器,它具备复杂的大规模数据转换功能。
用途单一的元件设计通常采用硬件描述语言(HDL)进行设计输入,这会非常有效,如VHDL或Verilog,但采用原理图编辑器等图形工具则差强人意。
然而,在将整个电路中的功能块连接在一起时,HDL的效能低于图形工具。要想高效优质地完成FPGA上嵌入式系统的设计,一个必要的条件就是能在一个设计中将HDL和原理图方法结合起来使用。
Nexar采用了一种叫做“混合模式”的设计输入(design capture)方法来应对这种挑战,它支持在一项设计中应用原理图和HDL两种设计方式(采用VHDL语言)。这样工程技术人员可根据工作的特定需要来选用最适当的方法。在构建整个系统设计并需要对处理器和外部部件进行连接时,可采用原理图输入(schematic capture)的方式。当需要开发一种用做系统元件的大容量逻辑块时,则可采用VHDL描述的方法。这种混合模式的输入方法为在FPGA平台上同时支持系统和元件级设计提供了一种理想环境。

需要使用元件的原理图
如果拥有一个支持原理图/HDL混合设计输入方式的设计环境,但没有能够置放于原理图中的合适现成的FPGA元件,也就没有多大的意义了。作为一个“FPGA-可即用”元件,其在原理图上的表示符号必须有一个与之相对应的器件型号或内核,这个型号或内核要能在目标FPGA中例证说明。在FPGA和ASIC设计中,这些可即用的硅晶元件通常被称为IP内核(虚拟元件)。
要设计一个元件分离的嵌入式系统,工程技术人员采用分销商可随时供货的现成元件就可以了。 但要设计并运行一个FPGA平台上开发的嵌入式系统,搜寻具有相应功能的元件会是很困难的。IP内核是可集成入整个系统设计的HDL源文件。然而要找到、购买并获得这类IP的专利使用权是非常耗费时间且困难的事情。而且,以HDL形式提供的IP必须作为整体设计的一部分进行合成并加以验证。由于要花时间将IP写入系统HDL描述中去,因而会进一步拖长开发的时间。

立即可用的 IP元件库
若干个IP元件库作为整个系统的一个组成部分集合在Nexar中,以作为原理图输入过程中所需的部件被随时调用。这些元件并非像其他许多基于方框图的FPGA设计工具所提供的,只是一些简单的低阶布尔门栅。另外还有很多不同的复杂处理器内核和高阶外部器件,如:CAN控制器、VGA 控制器、计时器以及存储元件等。这些元件库再配合一套全面的原理图输入环境,可为在FPGA上进行基于处理器的系统设计提供很大的便利。
所提供的库元件并非源级HDL,而更多的是好多种不同目标FPGA架构进行预先合成和验证的。进行系统合成时,合适指标的低阶元件排线表列被当做黑盒子通过合成引擎,并同系统连接信息一起传给FPGA厂商的布局及布线工具以便进行FPGA内部整合。由于只需要对元件块和用HDL格式生成的各种胶合逻辑功能的连接状况进行安排,系统级的合成工作可以很快地开始进行。而且,由于设计的主要部分 — 内含IP元件已经通过了验证,因而没有必要再进行大量的HDL级仿真来对电路功能的运作状况进行验证。
将各种处理器内核和外设部件封装入预先合成的模块之中,不仅能够降低系统集成工作的复杂程度,而且还提供了一种能直观反映与工程技术人员目前所采用的基于元件的设计方式相类似的设计流程。这种IP提供方式还使系统元件可适用于不同的FPGA部件架构,这让Nexar系统设计可在各种零部件和任何一家FPGA厂商的产品之间轻松实现转移。

嵌入式软件开发
所有以处理器为主体的电子设计都需要配备软件来实现其相应的功能。而要开发这类软件,工程技术人员必须有一种可与处理器相匹配的编译器。
采用嵌入式代码的产品一般都需要在实时环境中工作,且硬件资源通常都很有限 (包括存储器),在这种情况下,嵌入式开发工具就必须能够提供高质量、小体积的代码,且有必要针对处理器进行优化配置,并能支持交互式的调试工作。
为满足嵌入式软件设计工具的这些基本需要,Nexar集成

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点