|
找到一台能够同时满足性能、特性和成本要求的处理器不是件容易的事。 Xilinx® MicroBlaze™软处理器提供一个可扩缩的解决方案,不仅全面支持用户定制、具备高面积效率,而且可以针对成本最敏感的设计进行优化。
MicroBlaze v4.00是Xilinx推出的最新版32位软处理器核,利用新的用户可配置硬件选项、改善的调试性能以及完全后向兼容早期型号等优势,将灵活性和易用性提升至新的层次。 本文将介绍如何利用MicroBlaze处理器和获奖的Xilinx Platform Studio嵌入式工具套件,提升基于软件的滤波器设计的性能。
构建您所需要的系统
Xilinx MicroBlaze处理器是基于RISC的、32位可重配置软处理器,可根据不同的外设和存储器配置进行定制。 与在晶体管级在FPGA内实现的硬处理器不同,软核是一个IP块。 MicroBlaze软处理器核已针对我们的FPGA架构进行了优化。 软核设计的诸多优势之一就是高度可配置。 也就是说,用户不必整合所有可用的特性。 与之相反,用户可以禁用不需要的特性,从而节省器件上珍贵的逻辑资源。 因此,有了MicroBlaze解决方案,用户就可以针对应用而调整处理器系统架构。
利用XPS着手设计
Xilinx Platform Studio(XPS)嵌入式工具套件提供了一个集成环境,适用于创建面向MicroBlaze系统的软件和硬件规范流程,如图1所示。 我们将在本文中讨论的MicroBlaze系统采用了浮点有限脉冲响应(FIR)算法,可通过为设计增加浮点单元(FPU)来提升系统性能。
XPS基本系统生成器(BSB)向导帮助用户迅速创建针对现有的或定制开发板的工作系统。 基于用户选择的板,BSB可向用户提供多种选项,以在该板上创建一个基本系统,包括处理器类型、调试接口、高速缓存配置、存储器类型和尺寸以及外设选择等。 对于每个选项,向导中都有预选定的功能默认值。
一旦确定了系统架构,用户就可以生成适用于该系统的虚拟平台软件模型和库。 XPS的一个新特性就是虚拟平台发生器(Virtual Platform Generator),提供生成虚拟MicroBlaze平台模型的能力。 现在,用户不再需要实际制作硬件开发板原型,甚至检查整个硬件开发流程。 有了虚拟平台发生器,用户可以生成系统的软件模型、驱动和库,然后在该模型上编译软件、生成软件配置表和运行软件。
下一步—生成软件应用配置表
现在,用户已经确定了硬件处理器系统,并生成了虚拟模型和软件库。 下一步就是利用XPS或者基于Eclipse的XPS软件开发套件(SDK)工具,开始执行C应用项目。 一旦构建和编译了软件项目,用户就可以运行可执行程序,然后通过调试器工具执行这个应用。
在SDK内生成软件配置表是一个互动过程,并可提供图形化软件配置表视图。 在我们的MicroBlaze设计实例中,核算法环路函数实现一个FIR滤波器功能。 这个小小的代码环将调用浮点库函数,这在调用FIR函数时,会耗用大量CPU时间(如图2所示)。 如何避免调用浮点库? 可以将其转换为定点运算,但这种运算非常费时间。 还可以选择使用带有FPU的处理器。 该FPU能完成这些计算,从而避免调用库(如图3所示)。
为了便利,新的MicroBlaze v4.00包含了一个集成FPU选项(如图4所示)。 该FPU可处理单精度浮点算法,并与IEEE-754兼容。 通过集成FPU,确保了高性能、短时延和小型化设计。 由于MicroBlaze FPU是MicroBlaze核的另一个可配置特性,所以如果不需要该选项,它也不会占用FPGA中的空间。
现在,来看看如何通过启用这个MicroBlaze FPU来提高FIR滤波器的性能。
救星——FPU
为了进行性能比较,用户应在两种不同配置的MicroBlaze处理器上生成浮点FIR滤波器应用配置表。 图5和图6 中的平坦曲线视图,分别显示了在启用了FPU和未启用FPU的情况下调用主函数所用的时间。 在设计中增加FPU可使这个应用要求的CPU周期从62毫秒缩短至4.7毫秒——性能提升了约13倍。 此外,FIR函数调用也比未启用FPU时快了50多倍。 只要启用MicroBlaze FPU选项,用户就可大幅提升MicroBlaze浮点FIR滤波器的性能。
为了进一步增强系统性能,可以考虑在硬件中实现全部FIR函数,以作为连接至快速单工链路(FSL)接口的辅助引擎。 FSL是一个简单、却功能强大的点到点接口,可将用户开发的协处理器连接至MicroBlaze处理器流水线。 与FPU选项一样, FSL接口是MicroBlaze处理器内的可配置特性。 得益于这种高度可配置性,用户可以根据目标嵌入式应用的实际需要,量身定制处理器系统。这种方式极为灵活,并且,如果用户不需要这些特性,也不会增加成本。
结论
这个MicroBlaze FIR滤波器应用范例演示了如何以最简便的方式,在混合式硬件/软件平台上,实现一种是适用于实现硬件加速的算法,以便进行系统性能评估。 利用Xilinx Platform Studio嵌入式工具套件,用户可以生成周期精确型软件模型,并可生成在完全定制的虚拟系统上运行的软件的性能配置表。 用户可以迅速调节处理器架构和系统架构的性能,从而实现性能和硬件资源的最优均衡。
了解MicroBlaze软处理器核方面的更多信息,请登录:www.xilinx.com/cn/microblaze.
带图形可打印PDF英文版本的文章。
(9/1/05) 385 KB
|