软硬兼施以硬件加速器提高软件性能

本文作者:admin       点击: 2006-06-08 00:00
前言:

留意软核处理器发展的人士,对Altera Nios体系结构的可配置软核处理器应不陌生;而Nios II软核嵌入式处理器,是Altera针对可编程逻辑和芯片可编程系统(SOPC)集成进行优化的通用32位RISC CPU。Altera表示,Nios II处理器在全球已发售了15,000多个开发套件,世界前20名OEM均采用了该处理器。

Quartus II是Altera公司的可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能,为FPGA、CPLD和结构化ASIC提供一条龙式的设计流程。Quartus II可以产生并识别EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,为其它EDA工具提供了方便的接口,也可以在Quartus II集成环境中自动运行其它EDA工具。
  
资源冗余再利用  大幅提升设计效能

一套好的设计工具,对推广基础元件的使用绝对是有正面加分作用的。为了让嵌入式系统开发人员能更有效率地进行工作,Altera对Quartus II的优化是不遗余力的;今年5月间,再度全球同步发售6.0版的Quartus II软件。该版本包括了由FPGA供应商提供的第一款时序分析工具TimeQuest时序分析仪,为业界标准Synopsys设计约束(SDC)时序格式提供自然、全面的支持。这一最新版本还包括扩展的团队设计功能,能够有效管理高密度设计团队之间的协作。

Altera亚太区营销市场梁乐观,特别携同其亚太区市场渠道工程师王冬刚,于Altera北京办公室为我们说明此一重大进展。“新版本的出现,把原来在内存中串行执行的工作移至Nios片上,以硬件加速的基础实现,且可生成资源耗用多少的报告;通过滤镜观察CH,响应时间从112 ms生生缩短到7.12 ms,整整提高了16倍的效率。”梁乐观和王冬刚一开始就点出了这套工具软件与众不同之处。
  
这套专为Nios量身订做的该硬件加速器,让用户能自行根据需求订制CPU;即使在无法增加时钟频率的情况下,也能通过把某些算法硬件化的做法,把C语言子程自动转换成FPGA的逻辑资源,将有限资源做最大利用,又不增加功耗。Nios II C2H编译器能加速对性能要求较高的C子程序,将其转换为FPGA中速度更快的硬件加速器;将此加速器集成至Nios II系统后,便可把它和Nios II软件构建过程加以链接。值得一提的是,这个加速器生成和集成的动作,都是自动完成的!开发人员能在熟悉的Nios II集成开发环境下,以直观的窗口用户界面,只需单击鼠标右键、展开功能菜单,就能轻松实现C语言的加速。这套工具已于今年5月向Nios II的开发人员提供,以Nios II IDE集成插件的形式交付,售价约2,995美金。

“这款新产品本来是订于今年5月1日全球同步发布的,但由于考虑到恰逢中国的5月黄金周假期,所以我们特地向美国总部要求延缓全球同步发布消息的时间点”,王冬刚表示,足见其对中国市场的高度重视。Quartus II 6.0版可支持ANSI C语言的所有数据类型、运算符、控制流结构、循环结构、函数调用,以及指针和数组的访问。惟一美中不足的是,在最初发布的6.0版本尚未支持浮点指针和递归功能,但王冬刚透露,在下半年的6.1版本将会完善这部分的功能。

  
揭密C2H编译器:
SOPC Builder+Avalon互联架构


这套标示着重大进化、事前被Altera视为秘密王牌而对相关细节三缄其口的开发套件,乃自去年10月发布测试版以来,汇集了20多个用户试用经验的心血结晶。经过半年多的历练后,所获的典型结果为:1.以更低的时钟频率和功耗实现所需的性能,以650个逻辑单元为测试条件下,性能提高了7倍;2.可对C语言子程序复杂算法的传统代码进行转换,并可自动确定软件瓶颈,以节省大量的执行时间;3.以往需由C语言实现的DSP算法,如今仅在3小时内就能完成,速度足足提高40倍;4.RTL的C代码转换:速度提高18倍,几乎与人工生成的硬件相同。
  
“SOPC Builder”和“Avalog互联架构”是支撑此加速器的两大基石。前者解决了指针间接参考的问题,从而顺利连接CPU、加速器和存储器,并可确定流水线深度以进行资源调度;后者则实现的宽带互联和并行存储器访问,并可提取存储器特征。利用SOPC Builder可快速建立嵌入式系统的component,并快速建立Nios系统模块,进而产生一个可快速开发及验证的Embedded System,缩短数字电路的开发时程,可简化复杂的系统设计,允许更高的系统整合。

Nios II C2H编译器支持标准ANSI C代码,可加速实现多种应用程序,提高其运行效率,包括访问本地、外部存储器和外设等。它利用Quartus II SOPC Builder工具生成的宽带Avalon互联架构,能够成功的处理外部存储器操作,例如,指针分散和阵列访问等。Nios II C2H编译器分析程序要加速实现的存储器接口类型,生成硬件加速器逻辑以及合适的Avalon主机和从机接口,达到与存储器延时的匹配。这样,分担了Nios II处理器的数据计算和存储器访问功能,使处理器能够更好的处理其它任务。由于Avalon互联架构并没有限制主机和从机的数量,因此,Nios II C2H编译器可以根据转换目标代码的要求,产生多个存储器自治硬件加速器。

Altera的SOPC Builder工具和Avalon互联架构,使设计套件可以从软件算法中自动生成实现加速功能的SOPC Builder元件,为SOPC Builder和Nios II IDE开放API有助于促进合作,满足由FPGA分担处理器任务的需求。另一值得留意的是时序分析工具TimeQuest时序分析仪的加入,从此FPGA设计人员可将业界标准SDC时序约束格式直接读取到TimeQuest时序分析仪中,以便更迅速的实现时序逼近。采用SDC格式可以提高FPGA设计人员的效率,进一步促进标准时序验证方法在半导体业界的应用。Altera在最新版Quartus II软件中引入了新的技术改进,以满足客户对90nm的需求,并为65nm工艺节点打下了基础。这些新特性最突出的部分包括:

● TimeQuest时序分析仪:这一新的ASIC功能时序分析仪为业界标准SDC格式提供全面的支持。TimeQuest时序分析仪帮助用户对时序约束较复杂的设计进行建立、管理和分析操作,例如时钟复用设计和源同步接口等,用户还可以迅速完成高级时序验证。Quartus II软件6.0订购版提供TimeQuest时序分析仪。
●  扩展的团队设计支持:该设计特性包括工程管理器接口,用于顶层设计的资源管理和时序预算。此外,工程管理器接口还支持设计人员管理模块间的时序约束,实现最佳性能。这一新特性支持团队在高密度FPGA设计上的协作,从而提高了团队效率,增强了设计模块之间的性能。这一特性建立在Quartus II软件5.0中首次引入的渐进式编译设计特性之上。
●  SystemVerilog支持:通过对流行的IEEE 1800-2005标准SystemVerilog语法硬件描述和验证语言设计结构的支持,实现了速度更快的寄存器传送级(RTL)。
● 增强的I/O引脚规划器:与Altera知识产权更直接的集成,简化了引脚分配。
● 扩展的电路板级设计支持:提供Stratix II单端输出HSPICE模型,实现效率更高的电路板模型。

Quartus II软件现已可以同时提供订购版和网络版;订购版6.0向所有客户发售,它带有有效软件订购,可以从www.altera.com/q2webedition上下载免费的Quartus II网络版软件。Altera的软件订购程序将软件产品和维护费用合并在一个年度订购支付中,简化了获取Altera设计软件的过程。订户可以接收到Quartus II软件订购版、ModelSim Altera版以及对IP Base Suite的完整许可——Altera最流行的9个知识产权内核(DSP、存储器和千兆以太网MAC内核)。一个节点锁定的PC许可年度软件订购价格为2,000美金。

  
开放系统级基本结构技术,
有助产业生态养成


设计硬件加速器、并将它们集成到处理器子系统中是非常繁重的工作。这套新的效能工具最大的价值即在于:它能将对性能要求较高的C语言例程自动转换为硬件加速器,并集成到基于FPGA的Nios II子系统中,从而使开发时间由几星期缩短到几分钟。Nios II C2H编译器不仅提高了Nios II用户本身的设计效率和性能,对于产业生态的发展也有一定的助益,让Altera的合作伙伴也可以使用系统级基本结构,便于客户以多种选择方式实现FPGA嵌入式设计。

Nios II C2H编译器帮助Nios II用户以最少的资源占用来达到提高系统性能的目的,适用于多种软件应用,包括自相关、位分配、卷积编码、色彩空间转换和快速傅立叶变换(FFT)等,是基于Eclipse的Nios II集成开发环境(IDE)中的一个插件,让Nios II软件开发人员可在熟悉的界面上工作。Nios II C2H编译器实现的所有硬件加速生成任务都可以在Nios II IDE中进行调用、运行,确保用户使用同一个工具完成整个加速流程。编好应用程序后,用户使用Nios II C2H编译器,右键单击加速对时间要求高的功能,便可以生成自动链接至软件流程的硬件加速器。

Altera还允许第三方工具供应商使用其系统级基本结构,包括Quartus II SOPC Builder工具,以促进多种电子系统级(ESL)设计工具的开发。为加强Altera与合作伙伴今后的工作,建立多种ESL工具以及能够共同使用的方法,Altera开放了SOPC Builder系统级开发工具和Nios II IDE的应用程序接口(API)。因此,合作伙伴可以利用Altera新的Nios II C2H编译器系统基本结构,更迅速的进行工具开发,例如存储器延迟察觉和主机从机接口判断等。

Quartus II设计软件支持主流的操作系统,包括Windows XP Professional x64、Windows XP、Windows 2000、Sun Solaris 8和9以及Red Hat Linux Enterprise 3.0和4.0。Quartus II软件的详细信息:www.altera.com/quartus2。了解TimeQuest时序分析仪和其它的Quartus II特性,请访问Quartus II软件在线演示网页:www.altera.com/verificationtraining。