如何正确选择FPGA器件

如题所述

第1个回答  2017-04-04
FPGA器件选型应该考虑的问题

2.1 器件的供货渠道和开发工具的支持
目前,主要的FPGA供应商有Xllinx公司、ALTEra公司、LattIC公司和Actel公司[1],其中Xllinx公司和Altera公司的规模最大,能提供器件的种类非常丰富[2,3]。FPGA的发展速度非常快,很多型号的FPGA器件已不是主流产品,为了提高产品的生命周期,最好在货源比较足的主流器件中选型。目前,Altera公司的主流器件有CycloneⅡ,CycloneⅢ,StatixⅡ,StatixⅡGX,StatixⅢ和StatixⅢGX等系列,其中CycloneⅡ和CycloneⅢ系列主要应用于逻辑设计和简单的数字信号处理,StatixⅡ和StatixⅢ系列主要应用于高速复杂数字信号处理和高速逻辑设计,StatixⅡGX和StatixⅢGX系列主要应用于通讯领域[1];Xllinx公司的主流器件有Spartan-3E,Spartan-3A,Virtex-4LX,Virtex-4 SX,Virtex-4 FX,Virtex-5 LX,Virtex-5SX和Virtex-5 FX等系列,其中Spartan-3E和Spartan-3A系列主要应用于逻辑设计和简单数字信号处理,Virtex-4 LX和Virtex-5 LX系列主要应用于高速逻辑设计,Virtex-4 SX和Virtex-5 SX系列主要应用于高速复杂数字信号处理,Virtex-4 FX和Virtex-5 FX系列主要应用于嵌入式系统[3]。
两家公司都提供了优秀的开发工具。Xllinx公司有集成开发环境ISE,Altera公司有集成开发环境QUARTusⅡ,两个集成开发环境支持本公司所有器件的设计和开发[2,3]。该集成开发环境不仅功能强大、界面友好,而且有很多第三方合作伙伴提供相应的技术支持,能使器件获得更高的性能。因此,如果没有特殊应用要求,建议最好在这两家公司进行器件选型。
2.2器件的硬件资源
硬件资源是器件选型的重要标准。硬件资源包括逻辑资源、I/O资源、布线资源、DSP资源、存储器资源、锁相环资源、串行收发器资源和硬核微处理器资源等。
逻辑资源和I/O资源的需求是每位设计人员最关心的问题,一般都会考虑到,可是,过度消耗I/O资源和布线资源可能产生的问题却很容易被忽视。主流FPGA器件中,逻辑资源都比较丰富,一般可以满足应用需求。可是,在比较复杂的数字系统中,过度I/O资源的消耗可能会导致2个问题[2,3]:FPGA负荷过重,器件发热严重,严重影响器件的速度性能、工作稳定性和寿命,设计中要考虑器件的散热问题;局部布线资源不足,电路的运行速度明显降低,有时甚至使设计不能适配器件,设计失败。根据本人的应用经验:
(1)在做复杂数字信号处理时,位数比较高的乘法器和除法器对全局布线资源的消耗量比较大;
(2)在做逻辑设计时,双向I/O口对局部布线资源的消耗量比较大;
(3)在利用存储器资源设计滤波器的应用场合,局部布线资源的消耗量比较大;
(4)在电气接口标准比较多,而逻辑比较复杂的应用场合,局部布线资源的消耗量比较大。据Altera公司推荐,设计中最好能预留30%以上的逻辑资源、20%以上的I/O资源和30%以上的布线资源[1]。而且,从两家公司器件的结构看,Xllinx公司器件的可编程逻辑块相对于Al-tera公司要复杂一些,使用起来要灵活一些。在一些复杂的、控制信号比较多的设计中,适合选用Xllinx公司的产品。不过Xllinx公司器件布线资源是分段的,器件延时的可预测性要差一些。在这些应用场合,最好首先做设计仿真,对设计消耗的布线资源,尤其是很容易被忽视的局部布线资源,要有一个比较充分的了解,然后在考虑器件选型,是比较理想的。
在做乘法运算比较多而且对速度性能要求比较高的应用场合,最好能选用带DSP资源比较多的器件,例如,Altera公司的StatixⅡ和StatixⅢ系列[2],Xllinx公司的Virtex-4 SX和Virtex-5 SX系列等[3]。
器件中的存储器资源主要有2种用途[2,3]:作高性能滤波器;实现小容量高速数据缓存。这是一种比较宝贵的硬件资源,一般器件中的存储器资源都不太多,存储器资源较多的器件逻辑容量也非常大,用得也比较少,供货渠道也不多,器件价格也非常高。因此,在器件选型时,最好不要片面追求设计的集成度而选用这种器件,可以考虑选用低端器件+外扩存储器的设计方案。
目前,主流FPGA中都集成了锁相环,利用锁相环对时钟进行相位锁定,可以使电路获得更稳定的性能。Xllinx公司提供的是数字锁相环,其优点是能获得更精确的相位控制,其缺点是下限工作频率较高,一般在24 MHz以上;Altera公司提供的是模拟锁相环,其优点是下限工作频率较低,一般在16 MHz以上,其主流器件StatixⅡ和StatixⅢ系列中的增强型锁相环工作频率只要求在4 MHz以上,其缺点是对时钟相位的控制精度相对较差。