为嵌入式处理设计选择合适的开发工具
如果问使用嵌入式开发工具的用户,他们需要什么功能来满足其下一代终极处理设计的需要,他们必然会回答:"性能和先进的处理功能。" 为了满足嵌入式环境的要求,工程师必须设法从现有大多数成本经济的器件中一点点地挖掘出性能,并且,他们在设计和调试两个方面都需要方便使用的工具,因此,选择一个性能强大具有先进的处理功能的开发工具对工程师的设计工作至关重要。
Xilinx Platform Studio(XPS|0">XPS)是一款普遍使用的嵌入式开发套件(EDK),其升级版XPS 8.2版本新增加了独特的功能和性能,可进一步提高嵌入式系统设计的效率,通过这一新版本,工程师可以获得针对目前业界速度非常快的FPGA产品,如Virtex-5 LX器件的嵌入式处理支持。下面将介绍XPS 8.2版本的一些新功能和增强的性能。
XPS 8.2增加了新型的高度最优化的MicroBlaze软处理核,支持一体化的PowerPC浮点单元(FPU),并且增加了对Virtex-5 LX最新器件的支持。与其纯粹利用单个处理器的时钟频率来衡量性能提升的程度,嵌入式设计工程师不如利用集成了更快速的硬处理核、灵活的软处理核及附加的协处理引擎所有优势的XPS套件,不论它们是FPU、其他IP或用于卸载和分配工作负载的附加的处理核。此外,新型的XPS增加了大量的增强功能、调试可视性,并在使用方便性上进行了改进。
新型器件和处理支持
Virtex-5 LX器件是在65nm的三栅极氧化层架构上集成了高级系统功能,从而能够完全支持嵌入式处理。与上一代FPGA相比,Virtex-5技术把半导体器件的性能提高了30%,与此同时,功耗降低了30%以上。灵活的处理IP外设容许工程师精确地构建需要的定制解决方案,而不必增加额外的器件成本或在昂贵但不需要的器件选择上造成浪费。
为了在高性能Virtex-5 LX器件中最有效地利用嵌入式设计,赛灵思优化了MicroBlaze用于65nm工艺的软处理核,并且增加了一些特殊的增强功能,以实现每条指令较少的周期(CPI)。赛灵思的MicroBlaze 5.0处理器配备5级管线及可选的4或8字高速缓冲存储器以提升性能。新型的MicroBlaze嵌入式处理器与为初期的实例编写的代码后向兼容,所以,工程师不会因处理器的退化而遇到麻烦。那些采用Spartan系列FPGA进行嵌入式设计的工程师们可以继续沿用现有的MicroBlaze 4.0核,这个核已经针对高性能应用进行了优化,而且同时拥有最小的占位面积。
实际上,在基系统生成器(Base System Builder)设计向导内,Platform Studio工具套件自动地针对合适的FPGA器件把优化的MicroBlaze核进行例示。除非工程师想手工完成这个过程,否则,要让设计向导为你优化核配置以加速设计。工程师不需要仅仅为了利用一个更快的Virtex-5器件和较高性能的MicroBlaze处理器,就为预存的设计或代码"设置端口"。
性能和调试可视性
此外,使总体嵌入式系统性能最大化的一个方法是利用协处理的概念。利用那些包含浸入PowerPC 405处理器核的Virtex-4器件,Platform Studio 8.2版本引入了对实现FPU的支持。通过在并行FPGA架构中例示FPU性能,就可以实现重大的性能改进。
随着嵌入式系统变得更为复杂,调试工具需要提供更高级别的可视性。因为硬件和软件组成部分之间的传统分区是模糊的,工程师再也不能仅仅依赖于硬件工具来调试硬件及用软件工具来调试代码,要利用在器件、处理、协处理和软件指令的硬件实现上的进展。
作为引入"平台调试"的第一步,赛灵思已经集成了硬件和软件调试器,以提供系统级的观察并减少硬件和软件工程师之间的矛盾。一体化的ChipScope Pro硬件调试器交叉触发GNU软件调试器,反之亦然,工程师现在可以从两个方向反复查找系统上的故障。如果在某一个硬件地址上或在某一个硬件事件之后发现一个问题,那么只需简单地交叉触发软件调试器就能够看到软件正在做什么;如果系统在进入一些软件功能"foo"之后死机,那么,交叉触发硬件调试器就可以看到硬件正在干什么。
在平台调试演变过程中,第二步就是利用安捷伦和赛灵思公司联盟的成果。安捷伦公司提供一种E9524A MicroBlaze追踪工具集,它通过安捷伦的Windows Xp based逻辑分析仪能够完全分解踪迹,是一种利用数据流跟踪和重构MicroBlaze程序执行历史的易于使用的解决方案(见图1)。
图1 安捷伦的MicroBlaze跟踪共具集
Xilinx EDK 8.2版提供的MicroBlaze跟踪核(MTC)在设计内部进行例示,为安捷伦的踪迹工具集提供可视性。可以捕获实时代码流,这些代码流与来自周围系统的测量值有
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)