Xcell在线杂志
  Xcell 杂志存档
   
  给Xcell投稿
  在Xcell杂志做广告
  免费订阅
   
  合作伙伴黄页
  参考页面
  联系我们

    

主页 : 技术文档 : Xcell在线杂志 : 文章
更快、更灵活的嵌入式系统



作者 Jay Gould,产品营销经理,Xilinx嵌入式解决方案营销部,Xilinx公司
jay.gould@xilinx.com (7/11/05)


可编程平台FPGA器件和智能工具组合在一起,产生了更高性能的解决方案。
文章的英文版PDF链接
文章英文版PDF 240 KB


任何需要实时计算的设计都要求新系统比以前的设计系统更快和更灵活。 不断变化的行业标准,要求未来的嵌入式系统设计适应新的定制水平,同时对高性能的需求也对传统处理设计提出了挑战。

您不希望受到过度定制的设计的限制,您也不能仅仅依靠在不断增长的速度下切换系统时钟来改进性能。 需要有更好的方法来创建更快、更灵活的嵌入式处理系统。

平台FPGA是支持多种复杂设计的可编程SOC,包括片上存储器、DSP处理单元、嵌入式处理单元和硬件加速协处理单元。 这些新型器件的重编程能力和现场升级能力,意味着您可以订正错误、提高特性、优化性能、可以在整个产品生命周期甚至在现场使用后,增加对新兴行业标准的支持。

随着这些功能强大的性能集成到可编程SoC器件中,接下来您仅需要使用合适的工具来发挥和利用这种嵌入式性能。

智能工具
最近的行业调查显示,设计工程师常常认为在设计自己的最终产品时,他们使用的智能工具比实际的器件和操作系统更有价值。 如果这种趋势是正确的,那么在开始您的下一个嵌入式系统设计前选择合适的工具套件,对您的产品开发进度和全面成功将是至关重要的。

当今的开发环境需要提供“有平台意识”的工具。该工具要了解所有的系统选项,支持多种类型的处理器核以及协处理和IP的生成与定制。 设计向导和自动化的模块生成可以减少错误,并简化开发步骤,同时,将硬件和软件调试器整合在一起,使您可以更快地找到错误并订正之。 如果您做出了明智的选择,那么智能工具将会加速您的产品开发并优化产品性能。

标准流程和创新
考虑到平台FPGA的开发,Xilinx® 开发出了Xilinx Platform Studio (XPS)工具套件,支持已有的用于硬件(HDL/ FPGA的网表)和嵌入式软件设计(用于处理核引擎的C/ELF代码)的传统流程(图 1)。 除了提供统一的开发工具套件用于支持所有的可编程处理解决方案外,XPS还由于提供了加速嵌入式开发的新能力,而赢得了IEC (国际电工委员会)的DesignVision创新奖。 借助于XPS之类的“有平台意识”的工具,您可以通过抽象的设计向导流程,快速创建一个实时硬件/软件系统。

设计向导指导您完成整个基本系统的创建过程,通过屏蔽那些您初始选择和假设所不支持的设计选项,降低了错误的发生率。 例如,尽管XPS支持PowerPC™ 硬和MicroBlaze™软处理器核设计,但是,如果您选择了PowerPC,这些工具足够智能化,可以去掉MicroBlaze的选项;反之亦然。

通过一个独立的设计向导,加速了IP的导入、创建和定制,并且支持IP库,通过IP库,在本次设计的其它地方或将来的不同设计中,可以很方便地重用IP。

通过使用多种自动生成器代替冗长、容易出错的手动设计步骤,XPS改革并加速了开发过程。 XPS根据平台FPGA的芯片特性和选项,可以为所选的外设自动生成软件驱动程序、为板级选项生成取样测试代码、甚至为某些应用更广的RTOS/eOS (实时操作系统/嵌入式操作系统)如Wind River Systems的VxWorks或嵌入式Linux,创建BSP(板支持包)。

XPS还提供了独特的实用程序(Data2Mem),将C代码写入FPGA bitstream,无需耗费时间重新运行FPGA布局和布线工具,就可以继续进行实时软件开发和调试。

Xilinx提供高效的方法,通过单个探头,统一的JTAG连接,将FPGA下载、FPGA调试、C代码下载和软件调试能力组合在一起。 其它的传统方法需要多个探头在不同的步骤间切换硬件连接。

事实上,XPS将硬件和软件调试器独特地整合到一起,使它们彼此可以交叉触发。 这种新型对系统的可见性使得嵌入式设计队伍可以更快地发现并订正错误,不管缺陷是出现在硬件还是软件中。

通过协处理加速
我们假设现在您有一个灵活的、基于处理器的平台,可以满足您的大多数系统要求。 您将处理器核的时钟速率设为多少才能满足您的性能要求呢?

您可能已经意识到,提高您的处理器的时钟速率并不能解决所有的性能挑战。 除了分立处理器的物理局限和热耗散之外,时钟加速并不能确保您的处理器核完成所有的实时事件响应和应用。 现在出现了越来越多的“多处理器”解决方案,从主控制处理器分担和卸载优先级较低的任务,以确保主单元的实时响应。 \

可编程平台引入了一些其它方法来解决这个问题,使用现成的器件定制您的特殊应用。 对于支持硬,软处理器核的平台FPGA,提供的一个解决方案是将优先级高的任务集中在嵌入式硬处理器上,同时将优先级较低的任务卸载到一个软处理器核上。 您可以选择将一个或多个MicroBlaze软处理器添加到一个已经包含嵌入式PowerPC引擎的平台FPGA器件上。 支持这种功能的器件实例是Virtex™-II Pro FPGA或具有内置PowerPC的新型Virtex-4 FX系列器件。 这些器件中的PowerPC核,通过作为宏而插入的MicroBlaze IP核得到补充,这样扩展FPGA的硬件资源。

另一种有前景的替代方法是采用“协处理”的概念,并利用智能工具来构建一个从嵌入式PowerPC核到高性能FPGA逻辑架构的直接连接,其中,硬件加速器功能可以作为PowerPC的扩展。 如 图2所示,通过从主CPU卸载需要大量计算的应用,您可以提高整个系统的性能。

就其本质而言,FPGA硬件逻辑架构在结构上是平行的,与改变系统时钟速率的方法相比,可以将系统功能加速几个数量级。 例如,PowerPC核通过APU (辅助处理器单元)实现,它与一个可以完成数据处理、浮点算法和视频处理之类的应用的并行软处理器接口。 这种直接连接提供一种高带宽、低等待时间的解决方案,相比其它多核处理器和仲裁总线解决方案有并行优势。

性能分析
您需要找出您的设计中哪些方面损失了性能吗? 嵌入式软件调试和分析通常具有一些挑战性,这是因为对您来说,代码的执行通常是“看不见”的。 表面上看,您的设计似乎满足技术要求,但在带异步中断的实时硬件和实际条件下运行时,您常常会发现,设计不能满足您的性能要求。 现在,智能工具可以为您提供一个独特的视角,可以看到运行器件的内部,而不是黑盒外猜测。

Xilinx Platform Studio 7.1版引入了一系列性能分析工具和方法,可以洞察您的软件实际上是如何运行的,并发现性能损失的地方(图3)。 知道了哪些软件功能占用了大部分执行时间、哪些函数调用其它函数、以及调用的次数,您会对您的嵌入式设计是如何运行的得到清楚的认识。 需要很长时间才能执行的函数或被其它程序多次调用的函数,可能是被移动到并行硬件作为协处理扩展而进行加速的目标。

图3 也表明,如果这些工具可以清晰地跟踪和显示您的软件执行情况,您就可以快速、轻松地识别更高效的区域。 这样,可以节约很多假设分析实验,这些实验非常费时、常常导致相对较小的性能改进。 嵌入一些C代码或一个完整的函数,可能会提供微小的局部加速,而把费时的程序移到了高性能FPGA硬件中常常可以使性能成数量级地提高。 通过特定的函数名称对代码的执行进行智能监视,您可以准确地看到需要调整哪些软件程序,在提高系统性能方面提供更高的回报。

结论
智能的、“有平台意识”的工具,可以帮助您识别您的嵌入式代码中的低效率之处,从而优化性能。 懂得需要简化哪些特殊的软件功能,使您可以改进您的硬件/软件划分,加速可编程FPGA架构中的更多模块。

并行FPGA硬件资源的高性能,和Virtex-4 FX APU之类的简便易用、可编程协处理技术的到来,使您可以创建更快、更灵活的嵌入式处理系统。

与传统的分立或竞争FPGA解决方案相比,Xilinx为嵌入式处理提供了明显的优势。 我们的工具与我们的可编程嵌入式平台FPGA整合在一起,为实时开发人员提供了显著的性能提升。

了解Platform Studio工具套件的更多信息,请访问www.xilinx.com/cn/edk。 可以从www.xilinx.com/cn/processor开始,了解我们的所有嵌入式处理解决方案。

带图形可打印PDF英文版本的文章。 PDF标识 (7/11/05) 240 KB

 
职位招聘 本地活动及在线座谈 本地新闻稿 投资者关系 反馈 法律声明 网站地图
© 1994-2008 Xilinx, Inc. All Rights Reserved.