FPGA中的处理器概述
扫描二维码
随时随地手机看文章
可编程逻辑业对微处理器核的报道层出不穷,包括与ARM和MIPS的协议,这些讨论已经持续了数年。然而,讨论的主题大体上没什么改变,诸如采用硬核还是软核?采用供应商的特定标准还是行业标准?这些核如何用来全方位地支持生态系统?如何根据成本、功耗和性能来选择微处理器?如何根据应用来选择核?
嵌入式微处理器的情况也没有太大的改变:设计人员可以选择供应商的特定软核,例如莱迪思的LatticeMico32(图1)、Altera的Nios II和Xilinx的MicroBlaze(目前没有供应商提供硬核)。在行业标准方面,现有ARM公司的软核和PowerPC硬核。
设计人员对于IP 的优点和缺点都十分清楚。供应商特定的软核提供良好的成本和性能优势,因为它们是针对供应商的特定FPGA而优化的。然而,工业标准的核虽然没有像软核那样有效或节约成本,但声称拥有全方位的支持,以及拥有多年来设计人员所熟悉的用于ASIC或分立处理器设计的工具。不过,像LatticeMico32那样的软核在技术上也很有优势(不仅仅拥有核,还有构建平台的工具),还有可用于任何ARM或MIPS发布的用FPGA实现的软核。
传统理论认为,使用软核是一种避免微处理器过时的方法,而硬核(相对于软核而言)具有低成本、低功耗和更高的性能(但不灵活)的特点。然而,通常认为硬核有风险:他们占用了空间,对不需要使用他们的客户来说增加了成本,如果随后需要这个硬核能够提供更高性能的处理,那么很快会出现过时的情况。
人们通常按习惯做事,但是传统的知识是随着时代而变化的(或者更确切地说,是随着技术而变化的)。随着稳步发展的更小的芯片尺寸,现在FPGA结构之中的硬核和软核只占用很小的空间,实际上对一个更大的FPGA而言并没有增加成本。
反复的讨论表明,硬核相对于软核、专门供应商与行业标准的嵌入式微处理器之间的争论,目前仍没有任何明确的“赢家”。
最感兴趣的是了解FPGA中处理器的使用已与以下三大类别之一的相同:
● 以前的ASIC /片上系统(SoC)是针对FPGA的。他们的微处理器核的应用是最少的,而且也是最苛刻的。对于SoC而言,功能更强大的核是非常重要的,因为使用现有的软件应用代码,可以证明这些将针对行业标准处理器的硬核。
● 分布式计算。对于这些应用, FPGA将有专门的处理引擎,在电路板上具有与FPGA分开的高速处理器。在这种情况下,FPGA本身并不需要先进的处理器性能。
● 低性能处理。在这些应用中,性能较低的处理器的功能添加至FPGA,会增加一点成本或对成本没有影响。大多数在FPGA中使用处理器的应用将继续归为这一类。
可以很肯定地说,目前期望FPGA厂商提供嵌入式微处理器核、工具、外围设备和其他的IP、互连的IP、参考设计和基于这些核实现平台的库(所有这些可缩写为“处理器的IP”)。总之,微处理器核已经从“可选”到“标准”的FPGA设备,处理器IP的重要性从来没有像现在那么突出。