首页 理论教育 FPGA与CPLD性能比较:恢弘FPGA应用技术及实践

FPGA与CPLD性能比较:恢弘FPGA应用技术及实践

时间:2023-11-21 理论教育 版权反馈
【摘要】:由前面的分析可知,FPGA和CPLD各有不能取代的优点,这也正是两种器件目前都得到广泛应用的原因。FPGA与CPLD在结构上的主要区别如下:逻辑块的粒度不同。CPLD的逻辑寄存器少,FPGA的逻辑弱而寄存器多,这正好与控制密集型系统与数据密集型系统相对应。对使用方便性,首先要考虑性能的可预测性,在这点上CPLD优于FPGA。而FPGA则很难预测,因为完成设计所需的CLB逻辑级数是无法事先确定的,只有靠多次试验才能得到满意的结果。而CPLD采用最佳的E2CMOS技术。

FPGA与CPLD性能比较:恢弘FPGA应用技术及实践

由前面的分析可知,FPGA和CPLD各有不能取代的优点,这也正是两种器件目前都得到广泛应用的原因。FPGA与CPLD在结构上的主要区别如下:

(1)逻辑块的粒度不同。

逻辑块指PLD芯片中按结构划分的功能模块,它有相对独立的组合逻辑阵列,块间靠互连系统联系。

FPGA中的CLB是逻辑块,其特点是粒度小,输入变量为4~8个,输出变量为1~2个,因此只是一个逻辑单元。每块芯片中有几十到近千个这样的单元。CPLD中逻辑块粒度较大,通常有数10个输入端和1~20个输出端,每块芯片只分成几块。有些集成度较低的(如ATV2500)则干脆不分块。显然,如此粗大的分块结构在使用时不如FPGA灵活。

(2)逻辑之间的互连结构不同。

逻辑系统通常可分为两大类型:一类是控制密集型;另一类是数据密集型。控制密集型也称为逻辑密集型,如高速缓存控制、DRAM控制和DMA控制等,它们仅需要很少的数据处理能力,但逻辑关系一般都复杂。数据密集型需要大量数据处理能力,其应用多见于通信领域。为了选择合适的PLD芯片,应从速度与性能、逻辑利用率、使用方便性、编程技术等方面进行考查。

① 速度与性能。数据密集型系统,如通信中对信号进行处理的二维卷积器,每个单元所需要的输入端较少,但需要很多这样的逻辑单元。这些要求与FPGA的结构吻合。因为FPGA的粒度小,其输入到输出的传输延迟时间很短,因此能获得高的单元速度。(www.xing528.com)

而控制密集型系统通常是输入密集型的,逻辑复杂,CLB的输入端往往不够用,需要把多个CLB串行级联使用,同时CLB之间的连接有可能通过多级通用PI或长线,导致速度急剧下降,因此实际的传输延迟时间大于CPLD。比如实现一个DRAM控制器,它由4个功能块组成:刷新状态机、刷新地址计数器、刷新定时器和地址选择开关,需要的输入端有几十个,显然用CPLD更合适。

② 逻辑利用率。逻辑利用率是指器件中资源被利用的程度。CPLD的逻辑寄存器少,FPGA的逻辑弱而寄存器多,这正好与控制密集型系统与数据密集型系统相对应。比如,规模同为6000PLD门的ispLSI1032有192个寄存器,而XC4005E有616个寄存器。因此从逻辑利用率的角度出发,对于组合电路类较复杂的设计,宜采用颗粒较粗的CPLD;对于时序电路触发器较多的设计,宜采用颗粒较细的FPGA。

③ 使用方便性。对使用方便性,首先要考虑性能的可预测性,在这点上CPLD优于FPGA。因为对于CPLD,通常只要输入/输出端口数、内部门和触发器数目不超过芯片的资源并有一定裕量,总是可以实现的。而FPGA则很难预测,因为完成设计所需的CLB逻辑级数是无法事先确定的,只有靠多次试验才能得到满意的结果。

④ 编程技术:FPGA编程信息存放在外部存储器中,要附加存储器芯片,其保密性差,断电后数据易丢失。而CPLD采用最佳的E2CMOS技术。

⑤ 低功耗的器件如接负载重,不仅使器件工作频率降低,还可能损伤芯片。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈