首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

第一部分:专用FPGA工具开发商

第一部分:专用FPGA工具开发商

FPGA设计工具面临的挑战与发展趋势
根据Gartner Dataquest的分析报告显示:2005年ASIC和FPGA/PLD的增长率分别为3.9%和5.8%,而2006年,两者的增长率分别达到8.3%和13.4%。可以看到FPGA的发展速度明显高于ASIC。随着两大FPGA巨头Xilinx和Altera争相推出65nm工艺FPGA芯片Virtex-5以及Stratix III系列,FPGA迎来了空前繁荣的时代。同时,先进的工艺使得ASIC的开发成本不断上升,加上市场对于设计灵活性和上市时间的迫切需求,进一步促进了FPGA应用领域的不断扩大。越来越多的系统厂商选用FPGA来实现最终产品,或者为大型ASIC和SoC设计作初期的原型设计。

有关统计显示,未来消费电子(包括HDTV和无线应用等)和汽车电子是FPGA应用领域中成长最快的。人们期盼FPGA的成本更低、功耗更低、性能更高,这同时也意味着FPGA的设计日趋复杂,器件的密度越来越高,时序收敛问题也日益突出,这些问题都在挑战着FPGA开发工具的性能。很多设计还要集成更多的IP应用甚至是CPU或者DSP内核,FPGA向大规模系统芯片挺进,力求在大规模应用中取代ASIC。这都需要借助更为专业高效的工具来实现。

FPGA开发工具包括软件开发工具和硬件开发工具两类。其中硬件开发工具主要是FPGA厂商或第三方厂商开发的FPGA开发板及相关调试下载工具,另外,逻辑分析仪和示波器等也常常用于FPGA开发过程中的调试阶段。在软件开发工具方面,针对FPGA设计的各个阶段,FPGA厂商和EDA软件公司提供了很多优秀的EDA工具。一般来说,FPGA厂商提供的开发环境可以涵盖从源代码编写到最后仿真调试的各个阶段,对于不算十分复杂的FPGA设计,可以利用这类的开发环境进行FPGA的开发设计,但是EDA厂商提供的专用工具显然具有更大的优势,可以替代厂商自带开发工具的各个设计阶段,从而充分地利用FPGA的设计资源,并加速整个设计的进展。事实上,在Xilinx发布Virtex-4/Virtex-5系列产品的同时,也推荐客户使用专业的EDA工具,例如Synplicity的综合工具Synplify Pro和物理综合工具Synplify Premier,以便充分发挥芯片的性能。

设计工具市场

今天的FPGA提供大容量,超高速的性能,针对不同领域优化的多平台FPGA以其革命性的能力促使FPGA技术加速进入更多的应用领域中,并大大缩短了产品的上市时间。今后五年内,基于FPGA的系统设计将增长30%,尤其在消费电子如高清电视里的应用非常广泛,而采用FPGA做ASIC的原型设计也成为节省成本和缩短原型设计时间的流行手段。Synplicity的资料显示,在该公司广泛分布于消费电子、电信、计算机和设计服务领域的客户中,有45%的客户采用FPGA来设计他们的产品,而采用传统Cell-based ASIC的客户则占32%,还有23%在使用门阵列。随着器件复杂性的增加,设计人员需要更精密复杂的工具,定位在FPGA设计上的EDA工具也面临着更大的发展契机。

Synplicity设计工具

目前,FPGA芯片的发展趋势主要集中在几个方面:
·向更高容量,更大密度的系统级迈进;
·向低成本,低电压,微功耗,微封装方向发展;
·MCU,DSP,ARM等嵌入式处理器IP更多的集成在FPGA中;
·FPGA芯片的接口越来越丰富;

FPGA的基本开发流程包括:设计输入,设计仿真,设计综合,布局布线,配置,调试六个步骤。
在这6个步骤中,设计仿真、设计综合和调试是最重要的步骤。其中,综合工具的性能更是对设计的结果有直接的影响。

随着FPGA芯片的容量越来越大,复杂度不断提升,功能要求越来越复杂,对FPGA开发工具的要求也提出了挑战。以Xilinx为例,为了应对IP Core的开发和集成的需要,开发了IP Core生成工具Core Generator和IP Core包装工具IP Capture,提供了片内逻辑分析仪Chipscope ILA进行片内逻辑调试。而且System Generator和Simulink一起使用还可以生成数字信号处理的FPGA硬件实现。为了适合团队开发和微量修改,还推出了增量设计流程供开发者使用。在ISE新的版本中,可以支持多CPU的处理器系统,以节约开发时间。


图 Synplify Pro

Synplicity的开发工具也不断推出新的版本,包含了一些有竞争力的特点:
Synplify Pro的每个新版本都会在面积和性能上有一些提升,以充分利用和发挥FPGA的资源;Synplify Pro的多点综合流程可以很好的和ISE的增量设计流程一起使用,便于团队开发和设计修改。

Synplify DSP可以和Simulink及Matlab一起使用,生成直接用于硬件实现的RTL源代码,一方面,可以加快产品的开发周期;另一方面,又可以节约购买专门的IP所带来的成本提升。

在调试领域,Identify比起厂商自带的工具Chipscope或者SignalTap也具有优势,主要体现在设计者可以直接在RTL源码级进行调试以及灵活的断点和触发点设置。

随着Xilinx和Altera 深亚微米工艺FPGA芯片的推出,传统的综合工具不能充分发挥出这些芯片的优势,针对这一现状,Synplicity的Synplify Premier物理综合工具显示出了较强的优势,由于可以在综合的同时进行布局以及预布线,因此,该工具可以提供更精确的时序估计,在提升设计性能的同时,提高设计修改的鲁棒性。■

Mentor FPGA开发工具

FPGA厂商一般都提供集成的开发环境,如Altera Quartus II和Xilinx ISE,基本上可以完成所有的设计输入(原理图或HDL)、仿真、综合、布线和下载等工作。初期的用户较多采用它们,但它们在设计仿真和逻辑综合方面不够理想,因此一般都会提供第三方EDA工具的接口,让用户更方便地利用其他EDA工具。


图 FPGA Advantage设计流程

为了提高设计效率,优化设计结果,很多EDA厂商提供了各种专业软件,用以配合FPGA芯片厂家提供的工具进行更高效的设计。EDA厂商也为FPGA厂商提供各自产品的定制版本,以满足中、低端用户的基本要求,比如Mentor Graphics公司的逻辑仿真软件ModelSim XE/AE、逻辑综合工具Precision等。因为FPGA厂商集成的开发环境和OEM版本的工具在性能上有很大的限制,所以面对复杂度不断增加的高端设计,用户都逐渐采用专业的EDA开发工具和流程,如Mentor的FPGA Advantage。

FPGA技术突飞猛进,新的开发工具更是层出不穷。工艺技术的发展直接推动着开发工具的变化,90nm以下的FPGA器件其连线延时占到总延时的75%以上,造成传统的逻辑综合工具在布线前后时序无法收敛,这导致了物理综合工具Precision Physical的产生。SoC设计的发展对系统验证更是提出了巨大的挑战,系统级描述语言在验证方法上的巨大优势正逐渐替代现有的VHDL和Verilog环境,基于标准语言SystemVerilog和System C的验证工具将广为采纳并大行其道,Questa也因此应运而生。在系统的设计上特别是在信号处理和通信等领域,有大量的算法密集型设计,以往的方法是通过MATLAB和 C++来研究算法,再手工编写成RTL代码,这满足不了产品上市时间的急迫需要,另外设计者对各种可用的RTL体系结构做出权衡的能力非常有限,而且C++ 模型与RTL描述之间还有很大差距,手工转换很容易引入错误。Mentor Graphics 的Catapult SL综合工具是成熟且市场份额领先的算法综合工具,能利用非定时的纯C++语言来产生高品质的RTL描述,速度最快可达到传统人工方式的20倍。

随着FPGA设计的日趋复杂,许多开发项目不再是一、两位工程师参与开发,而是由多位工程师组成的设计团队参与项目前端设计,甚至还有很多跨地域的设计合作需要,同时IP或者内部设计模块的复用也已经成为大规模芯片设计必不可少的手段。如何应对日益增长的设计复杂性和设计可管理性,已经成为FPGA开发工程师和项目经理需要迫切解决的问题。HDL Designer工具提供了整合式设计和管理解决方案,从设计输入、设计复用、设计规则检查到文档生成和版本控制以及数据和流程的管理。

FPGA IDE开发工具

FPGA Advantage集成开发环境把Mentor三个工具HDL Designer Series、Modelsim和Precision紧密结合在一起,涵盖设计的创建、仿真、综合、布局布线以及文档和设计的管理。

除了FPGA Advantage之外,Mentor在中国市场主推的产品包括Questa高级验证平台、Seamless软硬件协同验证平台、Precision Physical 物理综合工具和Catapult SL 算法综合工具。■

Altium Designer :FPGA板级系统一体化开发工具

嵌入式“智能”的兴起

微处理器出现带动了电子产品开发的革命,因为可以把设计问题的各个部分转移到高度灵活、易于升级的软件功能上。所以,开发电子产品的本质只剩下了两个设计层次,第一层是使用印刷电路板(PCB)上的分立器件搭建物理平台,第二层则涉及到设计中可编程部分的开发,并在设计中或制造后将它们“装载”进物理设计中去。

可编程器件如FPGA的兴起,重新定义了软件和硬件间的界线,也让工程师重新思考如何在产品中添加“智能”。基本上,这些可编程部分包括设计内运行在执行平台上的嵌入式软件,以及在FPGA等器件上实现的可配置硬件。随着越来越多功能从分立器件转移到可编程领域,牵涉到的各种设计也要融合在一起。

这也是Altium公司在原先Protel系列的基础上推出一体化开发系统Altium Designer的原因。Altium Designer在单一的设计环境中集成了板级和FPGA系统设计、基于FPGA和分立器件的嵌入式软件开发以及PCB板图设计、编辑和制造。
  
灵活的设计

Altium中国区总经理曲刚解释说:“传统的FPGA开发工具使用取决于工程师的HDL设计经验和对可编程器件体系的结构知识,并且大量的功能IP模块的源码和评估也是一大挑战。”所以设计流程在概念上与使用硬连接在PCB板上的器件有极大的不同。 Altium Designer将电路功能从板卡转移到FPGA等可编程器件,FPGA内部的逻辑可以改变和重新配置,在板级设计时可不受硬连接器件的限制。
在Altium Designer中,可采用原理图编辑器将大量预置的FPGA器件连接在一起创建电路设计。
Altium Designer包含器件范围从通用的逻辑功能器件(计数器、乘法器和各种逻辑门)到完整的32位处理器和高级外设。使用这些器件无需考虑版权问题,这排除了从FPGA供应商获得IP的困难。
Altium Designer是一个独立的设计环境,用户在使用FPGA构件系统功能时,可以把设计定位于面向多个不同公司的FPGA,包括Actel、Altera、Lattice和Xilinx。Altium Designer的用户可以不固定于某一个FPGA供应商或产品系列,从而在FPGA之间移植设计,抓住机会,规避风险。

除了通过预置FPGA创建需要的系统功能,Altium Designer可通过VHDL和Verilog硬件描述语言输入设计逻辑,创建IP模块和定义特定逻辑功能,并以图形化的方式放进原理图编辑器中,或者将生成的逻辑模块加入到Altium Designer的FPGA库中。

Altium Designer在最新版本中添加了对第三方处理器的支持。主要FPGA供应商提供的大量软处理器都是定位于自己的FPGA系列,虽然性能更高,但是用户被锁定在特定的FPGA器件上。第三方处理器支持是指可以将第三方应用程序生成的FPGA软处理器(像 Xilinx的Core Generator和Altera的Megafunction Wizard)导入Altium Designer一体化的开发系统中。导入向导解决了与导入第三方核心设计关联的问题,智能地导入必需的文件,更新目标项目结构。

一体化开发流程

Altium Designer一体化开发的特性集中体现在FPGA设计和集成它的板卡设计的无缝连接。Altium Designer统一了FPGA和PCB设计流程,支持两者之间的I/O同步。当FPGA还未开发时,用户在没有FPGA配置的情况下开始PCB物理设计步骤,而在FPGA过程中,新的引脚和I/O分配可转换到PCB设计项目,FPGA原理图可自动更新,反映出新的I/O定义。

作为一体化开发流程的一部分,Altium Designer还提供了一组FPGA虚拟仪器。Altium Designer中,FPGA作为预先验证和综合的逻辑模块,可直接从库中提取和使用,但是用户依然需要测试这些器件构成的系统整体功能。FPGA虚拟仪器使用方法与板级平台测试仪器的使用方法类似,用户在运行内部对连接点进行检测和仿真。虚拟仪器同样是预先集成的逻辑模块。为了简化对系统仿真的依赖,Altium Designer添加了叫做“Live Design”的交互开发流程,用来调试FPGA系统设计。

Altium Designer对开发流程的统一延伸到了处理器的嵌入式软件设计。用户可以创建并编辑代码、编译和仿真程序,自系统上进行完整的源代码调试。Altium Designer包含所有支持处理器的完整编译工具。■
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表