设计灵活、高性能的嵌入式系统——软处理和IP定制同时确保灵活性和性能

发布者:DazzlingSmile最新更新时间:2007-03-06 来源: 电子系统设计关键字:FPGA  硬件  时钟 手机看文章 扫描二维码
随时随地手机看文章

您的下一个嵌入式系统设计项目需要的是什么:是可以让您轻松地定制设计的灵活的系统元件,还是额外的性能空间,以便您在设计周期中加入更多的功能?为什么要让自己承受过度的开发压力,并且只能舍此取彼呢?软处理和IP定制能够为同时确保灵活性和高性能提供了最佳的解决方案,将定制设计的概念和协处理带来的性能加速结合起来。

分立处理器只能提供固定的外设选择,并且一些性能受到时钟频率的限制。在嵌入式FPGA所提供的平台上,您可以创建一个具有大量定制处理器核、灵活的外设、甚至协处理减负引擎的系统。现在,您能设计出一个不折不扣的定制处理系统——不仅满足最具挑战性的项目要求,而且能够冲破性能极限,与此同时,通过使用FPGA硬件实现加速的软件指令最大限度地提高系统的性能。随着FPGA架构的加速,从前的限制便不复存在。

灵活性

除了在Xilinx VirtexTM平台的FPGA中所提供的高性能PowerPCTM硬件处理核和使用汇编语言编程的占位空间更小的PicoBlazeTM微控制器外,Xilinx公司还提供一种可定制的通用32位RISC处理器。由于可以使用Virtex或SpartanTM系列产品中的任意一款在逻辑门外对其进行构建,因此MicroBlazeTM软件处理器的使用十分灵活,并且您能够通过定制处理IP外设来满足您的特定要求。

使用可定制核和IP,您只需创建所需的系统元件而不浪费任何芯片资源。当您使用像FPGA这样的可编程器件构建一个处理系统时,就不会在分立器件中浪费任何未使用的资源,也不会出现当需要的外设数量超过所提供的数量时(例如您的设计需要3个UART,而分立器件只能提供1个或2个),设计无法继续进行的情况。此外,您不会受限于初始的架构设想;相反,您能不停地进行大的修改并且能够调整系统架构来适应新的需求特性或不断变化的标准。

在“2006年嵌入式系统大会”的论文汇编中有一个FIR滤波器的设计示例,其中,MicroBlaze系统包含一个可选的符合IEEE 754标准的内部浮点单元(FPU),从而大大提高了该处理器核上仅可由软件执行的操作的性能。通过加入可选的MicroBlaze元件,可以迅速地提高应用程序的性能。

这些可选内部元件的另外一个优势就是它们得到MicroBlaze C编译器的全面支持,因此不必改变源代码。在这个FIR滤波器设计示例中,由于调用外部C代码库的浮点函数的操作被使用新的FPU的指令自动取代,因此加入FPU和对设计的重复编译意味着直接的性能提升。

与软件重新编码方法相比,使用专用硬件处理单元,能够将完成特定任务所需的时钟周期数减少几个数量级,从而提高处理器的性能。图1的简化图显示了一个带有内部FPU IP核、本地存储器核和像UART或JTAG调试端口这样的可选外设的MicroBlaze处理系统。由于系统是可定制的,我们可以方便地实现Xilinx处理器IP产品目录中所包含的多个UART或其他的IP外设核,其中包括DMA控制器、IIC、CAN或DDR存储器接口等。

该IP产品目录提供了门类齐全的其他处理IP(桥、仲裁器、中断控制器、GPIO、定时器和存储器控制器等),以及适用于每个IP核的可定制选项(例如波特率和奇偶校验位),以对元件的特性、性能和尺寸/成本进行优化。此外,您还能设置与处理核相关的时钟频率、调试模式、本地存储器容量、高速缓存和其它选项。仅仅增加一个FPU核,我们就能创建一个可将前文所提到的FIR的实现从8,500,000个CPU周期优化至177,000个CPU周期的MicroBlaze系统,这样,在不改变C代码源文件的情况下即可将性能提高48倍。

在第二个示例中,我们将构建另外一个设计模块,实现一个面向MP3解码器的IDCT引擎,这一设计可使应用模块的速度加快一个数量级。

您可以使用图2中所示的开发工具,方便地创建上文提到的两个处理器平台。这个集成式软件/硬件开发工具包括一块直接支持PowerPC和MicroBlaze处理器设计的Virtex-4参考板。开发工具还包括所有的编译器和所需的FPGA设计工具,以及IP目录和用作预校准的参考设计。

再加上JTAG探测器和系统电缆,此开发工具能够让您在开始编辑和调试自己的设计变更之前,轻松构建和运行一个工作系统。不同器件和板卡的开发工具,可从Xilinx公司及其分销商以及第三方嵌入式系统合作伙伴那里得到。

查明瓶颈和实现协处理

MicroBlaze处理器是EDN公司2005年的百件热门产品之一,使用获得IEC(国际工程协会)大奖的Xilinx Platform Studio(XPS)嵌入式工具套件实现硬件/IP的设置和软件的开发。XPS包含在我们预先配置的嵌入式开发系统中,是用来创建系统的集成式开发环境(IDE)。如果您拥有一块标准的参考板或已经创建了自己的电路板描述文档,那么XPS就可以驱动一个设计向导来快速地配置您的初始系统。

通过使用智能化工具来减少错误和学习压力,您就可以集中精力提高最终产品的价值。完成基本的配置后,您可以花一些时间来调整IP,从而定制自己的系统,然后进行软件应用的开发。

XPS为程序员提供了一个功能强大的基于Eclipse框架的软件开发IDE。这一环境对于开发、调试和管理代码以查明隐藏于其它不可见的代码执行中的性能瓶颈是十分理想的。这些代码中的不足之处经常会使设计达不到所要求的性能目标,但它们又很难被发现而且通常更难被优化。

使用像“内联代码”这样的技术来减少多余的函数调用开销,就能够将应用程序的性能提高1%~5%。但如果使用可编程平台,利用现有更强大的设计技术,可使性能提高一到两个数量级。

图3显示了XPS性能分析截屏图。XPS可以用不同的形式显示分析信息(profiling information),这样您就可以一目了然地看清突出显示在性能图上的趋势或个别相冲突的程序。柱状图、饼状图和测量指标表格,让定位和判断函数与程序的不足之处变得简单,这样您就能够采取行动来改进这些极大影响整体系统性能的程序。

自带IP模块的软处理器核

在我前面所介绍的MP3解码器示例中,我们从多个MicroBlaze处理器的示例化开始,构建了一个定制系统(图4)。由于MicroBlaze处理器是一个软核处理器,因此我们能方便地构建一个具有多个处理器的系统并能平衡性能负载,从而得到一个优化的系统。

从图4我们可以清楚地看到,顶部自带总线和外设的MicroBlaze块与底部的MicroBlaze块和它自带的外设是彼此分开的。此设计的顶部区域运行支持整个文档系统的嵌入式Linux操作系统,这样就能通过网络接入MP3比特流。我们将这些比特流的解码和播放操作留给第二个MicroBlaze处理器。在此设计中我们加入了紧密耦合的DCT/IMDCT(正向和反向改进的离散余弦变换)函数处理器减负引擎和两个高精度MAC单元。

IMDCT块负责数据的压缩和解压缩,以缩短传输线的执行时间。DCT/IMDCT是压缩应用中计算量最大的两种函数,因此将整个函数放到它自己的协处理模块中执行,极大地提高了整个系统的性能。与前面提到的在FIR滤波器中加入一个内部FPU的设计示例不同的是,这个MP3设计示例已经实现了MicroBlaze的定制,并且在FPGA中加入了外部专用硬件。

协处理+可定制IP = 高性能

通过将软件函数的大量计算负担转移给协处理的“硬件指令”,您就能找到一个最佳的平衡点,使系统性能达到最佳。图4还显示了Linux文件系统模块的一系列IP外设,其中包括UART、以太网MAC和其他各种存储器控制器选项。与此不同的是,编码/解码应用模块采用了针对不同系统功能定制的不同IP。

第二个MicroBlaze软核从属于第一个MicroBlaze处理器,并扮演用于对MP3比特流进行解码的任务引擎的角色。带有附加专用IP核的解码算法,通过Xilinx快速单工连接(Fast Simplex Link,FSL)接口直接连到FPGA架构硬件资源内部。这一协处理的设计技术充分利用了FPGA硬件相对于较慢的独立式处理器的顺序指令执行而言所具有的并行和高速特性。

与高性能FPGA架构直接相连,可以引入快速的乘累加模块(图4中的LL_SH MAC1和LL_SH MAC2),与DCT和IMDCT模块的专用IP形成互补。长长整型MAC模块能够提供更高的精度,同时减轻处理单元的计算负荷。您可能注意到,在AC97控制器核到外部AC97多媒体数字信号编解码器接口之间同样使用FSL连接,这可使MP3播放器实现CD音质的输入/输出。

图4所示的协处理系统的性能,比原有的软件系统的性能累计提高了41倍。将一个“只使用软件”的实现方式(参见图5顶部的横条)与硬件指令示例化的每个阶段相比,您就可以看出是如何一步步提高性能的。仅仅将软件计算转移到IMDCT中就会带来1.5倍的性能提升,增加DCT硬件指令后则可使性能提升1.7倍。加入一个长长整型乘累加单元,可带来8.2倍的性能提升。

采用协处理技术在硬件中实现所有的软件模块,能够使系统总体性能提升41倍,这还没有考虑减少应用程序代码长度这一额外优势。由于去除了需要大量指令的乘法函数,而代之以一个可以读写FSL端口的单一指令,因此我们进一步减少了指令数量,并因此压缩了代码的占位空间。例如在MP3的应用示例中,代码的占位空间缩小了20%。

更重要的是,通过像XPS这样的智能化工具能够方便快速地对设计进行修改,同时仍能保证在产品的开发周期内实现这些修改。仅使用软件增强性能的方法,非常费时,而且得到的回报通常很有限。在一个可编程平台之上平衡软件应用、硬件实现和协处理的划分,您就能得到一个更理想的结果。

结论

基于本文所描述的示例,我们能够轻松定制一个全嵌入式处理系统,编辑IP从而在特性/面积/成本之间取得最佳平衡,并且在看似不可能的地方使性能得到大幅提升。Virtex-4和Spartan-3系列器件提供了灵活的软处理器解决方案,开发人员可以在随后的开发周期中对其进行设计和改进。屡获殊荣的MicroBlaze软处理器核,加上获奖不断的XPS工具套件,为您的嵌入式设计提供了一套强大的工具。

协处理技术,例如采用高性能FPGA硬件指令实现需要大量计算的软件算法,能够使常规工业应用模块的性能提高2倍、10倍甚至40倍以上。想象一下这将为您的下一个设计带来什么——在开发周期的后期,您的设计仍有修改的余地,并且可以预先规划好下一代产品的改进方案。

了解Xilinx嵌入式处理解决方案方面的更多信息,请登录网站www.xilinx.com/cn/processor

关键字:FPGA  硬件  时钟 引用地址:设计灵活、高性能的嵌入式系统——软处理和IP定制同时确保灵活性和性能

上一篇:基于32位低端嵌入式系统的图像采集模块
下一篇:设计灵活、高性能的嵌入式系统——软处理和IP定制同时确保灵活性和性能

推荐阅读最新更新时间:2024-05-02 20:27

基于AT89C51的电子时钟
最近闲着没时的时候又写了个基于AT89C51单片机的电子时钟,采用6位12小时制显示,运用了6个共阳数码管。具体功能如下:上午第一个数码管显示A,下午显示P,第四个数码管显示分隔符 - ,并且一秒闪烁一次。按键SW0调节分钟,SW1调节小时。下面是C程序和硬件电路图: #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit MG=P1^0; sbit MS=P1^1; sbit MM=P1^2; sbit HG=P1^3; sbit HS=P1^4; sbit SD=P1^5; bit shan;
[单片机]
基于AT89C51的电子<font color='red'>时钟</font>
基于DSP的加速度计温度控制系统的硬件设计
1 引言   近年来,数字信号处理器(DSP)得到了高速发展,性价比不断提高,广泛应用于各个领域,例如通信、语音处理、图像处理、模式识别及工业控制等方面,并且日益显示出巨大的优越性。数字信号处理器利用专门或者通用的数字信号处理电路,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小以及可靠性高的特点,可满足对信号快速、精确、实时处理及控制的要求。文中以T1MS320F240型DSP为核心,设计了高精度的惯性导航加速计温度控制系统。 2 TMS320F240系列的基本特征   TMS320F240将DSP的高速运算能力和高效控制能力集于一体,其主要特点如下:      (1)核心CPU包括32位
[应用]
片上网络技术的发展及其给高端FPGA带来的优势
概述 在摩尔定律的推动下,集成电路工艺取得了高速发展,单位面积上的晶体管数量不断增加。片上系统(System-on-Chip,SoC)具有集成度高、功耗低、成本低等优势,已经成为大规模集成电路系统设计的主流方向,解决了通信、图像、计算、消费电子等领域的众多挑战性的难题。 随着片上系统SoC的应用需求越来越丰富,SoC需要集成越来越多的不同应用的IP(Intellectual Property)。另外,片上多核系统MPSoC(MultiProcessor-System-on-Chip)也已经成为必然的发展趋势。 随着SoC的高度集成以及MPSoC的高速发展,对片上通信提出了更高的要求。片上网络技术(Network-on-Ch
[嵌入式]
片上网络技术的发展及其给高端<font color='red'>FPGA</font>带来的优势
用VHDL设计专用串行通信芯片
  在通信系统中,通信芯片是整个硬件平台的基础,它不仅完成OSI物理层中的数据发送和接收,还能根据传输方式和协议的不同实现不同的数据校验方式及数据组帧格式。   目前,许多厂商都提供通用的串行通信芯片,其传输方式分为同步方式和异步方式。其中,异步芯片大多与INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的传输协议(BSC、HDLC、SDLC等),所以当用户要求应用特定的同步传输协议时,往往需要设计专用的SRT(同步收发器)。以前,大多采用通用的逻辑元器件进行设计,这导致了设计和调试过程冗长、系统稳定性不高,非常不便。如今,随着以FPGA和CPLD为代表的可编程ASIC技术的日趋成熟和完善,用户完全可以根据自己的要求
[嵌入式]
用VHDL设计专用串行通信芯片
FPGA设计的四种常用思想与技巧
本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。 FPGA/CPLD的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本文能引起工程师们的注意,如果能有意识地利用这些原则指导日后的设计工作,将取得事半功倍的效果! 乒乓操作 “乒乓操作”是一个常常应用于数据流控制的处理技巧,典型的乒乓操作方法如图1所示。 乒乓操作的处理流程为:输入数据流通过“输
[嵌入式]
mini2440硬件篇之IIC
1. 硬件原理 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。 1.1. 数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据
[单片机]
mini2440<font color='red'>硬件</font>篇之IIC
基于FPGA的160路数据采集系统设计
   l 引言   随着科学技术和国民经济的发展,电能需求量日益增加,对电能质量的要求也越来越高。这对电能质量的监测提出了挑战。电能质量的监测往往需要多通道数据采集,但因其覆盖面积大,周期性强,采集数据量大,因此对数据采集系统的采集、传输速度和精度提出了较高的要求。常用的数据采集方案往往采用单片机或数字信号处理器(DSP)作为控制器。以控制模数转换器(ADC)、存储器和其他外围电路的工作。但因单片机自身指令周期及处理速度的影响,很难达到多通道高速数据采集系统的要求,虽然DSP可以实现较高速的数据采集,但在提高其速度的同时,也增加了系统成本。现场可编程门阵列(FPGA)以其时钟频率高,内部延时小,速度快,效率高,组成形式灵活等特点
[测试测量]
基于<font color='red'>FPGA</font>的160路数据采集系统设计
FPGA助力高速未来
超级高铁技术是一种十分新潮的交通概念,它有望以其高速、低压系统重新定义移动出行的未来。 超级高铁的核心是在密封管网络中,乘客舱在磁悬浮和电力推进下,以超高速度行驶。 确保如此复杂系统的无缝运行和安全性需要先进的控制和监控功能,而这正是FPGA的用武之地。 FPGA提供无与伦比的灵活性、安全性和高性能,可处理各类复杂任务,包括管理超级高铁网络中的推进、导航和通信等。凭借自身的可重新编程性、行业领先的安全功能和实时数据处理能力,FPGA在优化超级高铁运输系统的效率和可靠性方面发挥着关键作用,为更快、更安全、更可持续的旅行方式铺平了道路。 Swissloop原型车亮相2023年苏黎世公开活动 Swissloop是一个由苏
[嵌入式]
<font color='red'>FPGA</font>助力高速未来
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved