1 引言
近年来,FPGA的发展速度明显快于ASIC。随着两大FPGA巨头Xilinx和Altera争相推出65nm工艺FPGA芯片Virtex-5以及Stratix Ⅲ系列,FPGA迎来了史无前例的繁荣时代。同时,先进的工艺使得ASIC的开发成本不断上升,加上市场对于设计灵活性和上市时间的迫切需求,进一步促进了FPGA应用领域的不断扩大。这也给应用于FPGA设计的EDA工具的发展带来了前所未有的挑战和机遇。
2 高速发展的FPGA产业
FPGA要在系统设计中得到广泛运用,最大的障碍就是单位成本。即使大批量生产,一个FPGA器件的成本也高于用ASIC或结构化ASIC工艺实现的相同设计的成本。随着深亚微米技术的发展,ASIC和FPGA在器件单位成本方面的差别正在缩小。
Xilinx,Altera两家FPGA大公司一直通过改进封装、速度级别、测试和工艺技术不断降低FPGA器件的成本。Altera推出了针对低成本设计的产品Cyclone,其成本为每1000个逻辑单元0.99美元,包含逻辑单元数为3000~20000个,Altera随后推出90nm的Cyclone Ⅱ产晶成本比上一代产品低30%。Xilinx推出的新一代Spartan器件——Spartan3采用90nm工艺,器件密度为50000~5000000系统门,用户I/O数量高达1120个,其中,1000000门的FPGA器件价格低于20美元,4000000门的FPGA器件价格低于100美元。
因此,越来越多的系统厂商选用FPGA来实现最终产品,或者为大型ASIC和SOC设计做初期的原型设计。在FPGA上可以用与ASIC相当的速度验证和调试软硬件设计,在做ASIC综合和布局布线之前验证产品的功能,可节约数月的时间并且避免了重新掩膜的风险。由于使用的都是一样的RTL语言,原型验证成功后可以非常方便地将设计移植到ASIC上流片。这样大大节约了上市时间,降低了设计成本并有效地控制了设计风险。
未来消费电子(包括HDTV和无线应用等)和汽车电子将是FPGA成长最快的应用领域。人们希望FpGA的成本和功耗更低、性能更高,也意味着FPGA的设计日趋复杂、器件的密度越来越高、时序收敛问题日益突出,这些都在挑战着FPGA开发工具的性能。由于很多设计还要集成更多的IP应用甚至是CPU或者DSP内核,FPGA正在向大规模系统芯片挺进,力求在大规模应用中取代ASIC,这些都需要借助更为专业、高效的工具来实现。
据Gartner预测,2006年全球的FPGA/PLD销量增长14%,达到37亿美元,2007年将加速增长到43亿美元,2010年全球FPGA/PLD的市场规模更是可达67亿美元。来自Synplicity公司的资料显示,在该公司广泛分布于消费电子、电信、计算机和设计服务领域的客户中,有45%的客户采用FPGA设计产品,而采用传统Gell-based ASIC的客户占32%,还有23%的客户使用门阵列。
3 FPGA对EDA工具的新要求
那么,高速发展的FPGA对EDA工具及其厂商提出了哪些要求。第一,复杂的FPGA设计环境应该既可以有效地设计百万门FPGA,又能让小规模的FPGA设计者直观易用,从而完成从RTL到芯片的转换;第二,EDA工具厂商既要关注FPGA设计的4个基本要素,即设计管理、集成、IP和设计复用,又要与FPGA厂商共同发展。
各大FPGA厂商,例如Xilinx,Altera,Actel和lattice公司等都在不断更新各自的软件,所有FPGA厂商也都把第三方软件嵌入自己的产品中。EDA厂商通常为这些FPGA厂商提供各自产品的OEM定制版本,这些定制版本一般都不具备工具的全部功效,但是可以较为低廉的价格随FPGA厂商自身的工具出售给客户使用。在应对复杂的FPGA设计和ASIC原型验证时,专业的EDA厂商提供的FPGA工具是不可或缺的选择。事实上,在Xilinx发布Virtex-4/Virtex-5系列产品的同时,也推荐客户使用专业的EDA工具,例如Synplicity的综合工具Synplify Pro和物理综合工具Synplify Premier以便发挥芯片的最佳性能。
任何深亚微米技术都需要EDA公司和芯片厂商的紧密合作。由于在深亚微米工艺下EDA工具不仅要了解产品的基本特点,而且要了解其物理特性,因此EDA厂商必须理解半导体工艺的特点。ASTC和FPGA的物理综合的最主要区别就是目标器件不同。对于ASIC而言,允许对门电路和连线进行自由布局,布线越接近意味着延时越小。但FPGA并不是这样。一个通用的FPGA逻辑结构包括可编程逻辑模块和各种预定义的互连资源。在一个给定的FPGA中,有很多种方法用来连接两个可编程单元,其中包括直接连接、长连接、高速连接和低速连接,或者这些连接的任意组合,例如高速-长连接、低速-短连接等。为了精确地对这些连接关系进行建模,综合工具需要理解所有不同连接类型的特点和区别,并且知道其暗含的时序关系。EDA工具必须知道两个点间的最快连接并不一定是最短的连接。
为了实现对关键路径的优化和获得时序收敛,综合工具必须知道和充分利用FPGA所能提供的所有连线特征。大多数EDA公司现在仅仅是尝试使用其ASIC物理综合工具来做这些工作,但这些方法事实上不适合FPGA。
Synplicity推出了Graph-Based物理综合方法,为90nm FPGA提供了一次性通过的物理综合流程。该方法的精华在于:那些用于FPGA走线的预先存在的连线、开关和布局空间都能用详细的布局布线资源图表示,距离概念现在变为延时和可利用连线间的一种权衡。Synplify Premier物理综合将优化、布局和连线合并到一起,这样就能保证沿着关键路径的快速布线,进而产生一个可完全布局和经物理优化的网表。这个流程只需按键即可完成操作,且和Synplicity公司已有的RTL设计工具完全兼容。另外,Synplify Premier物理综合对于时序收敛的表现比逻辑综合工具也有很大的提升。根据Synplicity对200多个设计进行的相关性分析表明,90%的路径预测值都在最终值的10%之内。这样可以使用户更加方便地修改时序约束条件或者设计规划。
4 EDA工具的创新发展方向
近年来,得益于FPGA在并行操作方面的优势,把相当一部分的DSP算法放到FPGA上实现正成为一种趋势。不过在把抽象的算法优化到硬件实现的过程中,往往有着很高的难度。DSP算法通常是由算法工程师设计的,一旦算法完成,就移交给FPGA实现工程师,由他们将这些设计和算法翻译成硬件描述语言(HDL)。算法工程师往往不熟悉HDL,FPGA工程师也一样不熟悉算法设计,这就给实际的转换工作带来了不小的麻烦。
事实上,敏锐的EDA工具商已经意识到了其中的商机,开发出了完成这种转换的工具。例如Synplicity的Synplify DSP工具就可以帮助完成这种翻译工作。当算法验证工程师通过Matlab/Simulink完成算法验证后,借助于Synplify DSP便可直接生成基于算法级优化的RTL源代码,省去了手工编写代码的工作。Synplify DSP还可以基于系统级对源代码进行优化,因此生成的代码在占用最小面积的同时可以达到更高的性能,而且基于Synplify DSP生成的RTL源代码可以适用于不同厂商的FPGA。同时生成的还有test bench源代码和输入、输出数据用于仿真验证,从而使整个设计进程和工作效率大大提高。
5 结语
如今的FPGA具有大容量、超高速等性能,能够大大缩短产品的上市时间,在消费电子和汽车电子等领域具有广阔的应用前景。某些EDA工具厂商已经意识到这一点,开始展开相关研究。然而,国内的EDA工具厂商对此似乎并没有相应的应对措施。通过采用新型的物理方法和翻译工具,相信EDA工具一定能够应对FPGA设计中的多重挑战。
3/15/2012
|