微控制器来在形状和大小的令人眼花缭乱,但他们都有一个共同点:它们的功能是由制造商定义。虽然他们的外围设备都设计得尽可能的灵活,经常与修改某些参数的能力,有些甚至允许通过软件添加新的功能 - 比如PSoC系列由赛普拉斯半导体公司,他们仍然拥有资源的固定数量,允许相对少量的自定义。这是因为存在如此大量的变体该固定功能。
FPGA中,在另一方面,是一个相对空白画布:它们的功能是通过使用他们的能力几乎无限的范围以选择工程师很大程度上限定。正是这种自由的设计,使团队能够整合往往许多不同的数字(和越来越多的模拟)功能集成到,可以更好地满足特定设计单一,基本上是量身定制设备。
一个主题变奏曲
可编程逻辑已经远远超出了PLD;传统上流行的在相对简单的设计,提供“胶合逻辑”。处理器内核在知识产权形式的可用性意味着OEM厂商现在可以选择在常最小的FPGA增加一个微控制器(MCU)。虽然他们可能无法提供的设计完全自由,增加了柔软的内核可以提供更大的设计整合不是简单的组合门。
然而,或许更显著,在软核的形式微控制器通常由制造商特定的FPGA系列,其商业允许那些制造商提供的核心免费的,没有前期成本或版税优化。这意味着,如果你使用的是FPGA,它有余力,你基本上得到一个MCU是免费的。此外,由于内核进行了优化,运行在什么往往是一个高性能的FPGA架构,他们无一例外地提供比他们的分立更高的性能。
这并不奇怪 - 这可能是因为它的遗产,提高可用性或只是它的大小 - 提供最丰富的软核之一,是一个版本的令人尊敬的8051由于其长寿的,不起眼的8051可能是部署最广泛的指令集架构行业尽管面临压力,从32位的替代品(其中多以后),这仍然是其相对简单的架构和易用性或许是因为一个牢固的喜爱与开发商,。
市场对通用和针对FPGA的行业标准的“软核是现在这么好确定,Altera公司,Microsemi的,格子和Xilinx的所有工作与第三方供应商提供一系列的软核。合作伙伴是数字内核设计,并提供了一系列的8位内核,包括8051,PIC16,HC11,以及基于对68K CISC指令集的32位内核的版本。
定制的解决方案
当然,对于使用FPGA的部分原因是为了创建一个定制的设计,提供最佳的性能对于一个给定的应用程序,其中通用8位MCU可能不太会接受挑战。在这种情况下,一个更强大的32位替代,可能需要和,这里,FPGA提供商已经选择了通过开发定制的解决方案来区分自己。
一个很好的例子是LEON3的核心,这是与Microsemi的Xilinx器件提供两种。它是由开发,可从他们的相互合作艾法斯Gaisler AB。核心可以在Microsemi的融合,IGLOO,和的ProASIC3器件的Axcelerator来实现。它也可用于Xilinx公司的Virtex-6,Virtex-5的,的Spartan-6和Spartan-3系列。根据SPARC V8指令集与用于V8E扩展的支持,所述芯(图1)被提供作为综合的VHDL,这使得它能够支持广泛的可配置,包括高速缓存数量和大小。
图1:LEON3内核提供32位性能与SPARC V8指令集。
赛灵思还提供了自己专有的32位嵌入式软核的MicroBlaze中(图2),这是支持其FPGA的宽一些,拥有七十多个用户可配置选项的形式。
MicroBlaze的赛灵思软核的图像
图2:赛灵思MicroBlaze软核与提供丰富的可配置的32位性能。
可配置可以是一个关键的差异为开发人员和当然是,该基金会在其FPGA厂商运作。这并不奇怪,这种延伸当然到软核,但,支承芯需要一个编译器,这不可避免地引入上只是如何配置的芯可以是一些限制。为了克服这种情况,一些厂商提供他们的软核的变体,如在Nios II Altera提供(图3),它声称可以在其任何的FPGA被实例化。 Nios II的有三种变体:快速,经济,和标准,并提供一系列的免费功能外设IP核,诸如内存控制器和串行接口。
Altera公司的Nios II软核的图像
图3:Altera提供的Nios II软核核心三个变种优化。
业界标准
还有一系列的'传统'的架构,包括8051,喜欢LEON3和定制解决方案,如的Nios II与MicroBlaze优化方案,FPGA厂商也有支持这已成为可能是最普遍的整个嵌入式电子指令集架构的选择行业:ARM的Cortex-M。
虽然没有立即识别为标准的变种,在Cortex-M1是由ARM专门为在FPGA架构实现。这种低门数版本是基于ARM V6-M Thumb指令集架构,也包括32位Thumb-2指令。扩展,以支持一个操作系统和调试(图4)。芯提供前向与Cortex-M3的,这意味着,软件可以从-M1在FPGA被移植到在ASIC或标准部分而无需重新编译一个-M3二进制兼容性。
ARM的Cortex-M1的图像
图4:在ARM Cortex-M1已经制定了专门为在FPGA中嵌入织物。
Microsemi的可支持Cortex-M1在其融合,IGLOO和的ProASIC3 / E FPGA的要求之间的60万到100万系统门(具体取决于设备),这相当于20%的FPGA资源之间%和33(如果调试特征被省略)。 Microsemi的还提供了一个开发工具,它集成了Cortex-M1在它的ProASIC3 / E设备。 Altera公司支持的Cortex-M1在其Cyclone III系列,它消耗2600逻辑元件。
不同于像8051简单内核中,Cortex-M1需要外设内核,使其'工作',这也将构成障碍的一些开发商。然而,无论Microsemi的和Altera提供全面的工具套件,旨在使执行尽可能简单;如何FPGA厂商正朝着提供芯片上的完整的系统,而不仅仅是逻辑器件的反映。
结论
通过即使是最简单的MCU保证其继续使用所带来的好处;然而,随着对低成本的32位大规模移民变种为首的ARM的Cortex-M系列的授权,它可以被看作是传统设备的失宠。在现实中,FPGA是不可能取代标准的MCU,尽管提供整合更多的机会,但它是可行的在一个范围内的FPGA的软核实施的供应将维持一定的8位家庭的普及,新代开发享受。
支持现在可用于软核,加上其低甚至是零成本意味着他们已经采取了自己的位置,在工程师的工具箱,虽然是一个很小的地方,今天。随着FPGA进一步发展,他们很可能会继续整合更多功能的硬接线,其中包括处理器内核。然而,似乎同样放心,软核仍将是一个可行的选择,今后许多年。