Actel SmartFusion®系列智能型混合信号 FPGA 采用与 Fusion 混合信号 FPGA 相同的技术,并通过 Flash 半导体工艺集成了可编程的高性能模拟模块和硬化的 ARM® Cortex-M3 微控制器模块。SmartFusion 将这三种不相关的技术整合在一起,使得其成本大大降低,占位面积大大减少,不仅具有 FPGA 的高速并行的特点,而且可以发挥 ARM 灵活控制的长处,取长补短,它将成为新一代 SOC 完美的解决方案。
关于Microsemi SmartFusion系列,开发工具Libero SoC的使用,FPGA和ARM部分的开发等,可以关注我的专栏:Microsemi Libero系列教程
MSS 由 100 MHz Cortex-M3 处理器与集成外设组成,其中,外设通过一个多层 AHB 总线矩阵(ABM)互相连接。这个矩阵使得 Cortex-M3 处理器、FPGA Fabric 主机、以太网MAC(有效时)以及外设 DMA(PDMA)控制器充当着集成外设、FPGA Fabric、嵌入式非易失存储器(eNVM)、嵌入式同步 RAM(eSRAM)、外部存储器控制器(EMC)和模拟计算引擎(ACE)模块的主机。
不同密度的 SmartFusion 器件其集成外设的组合也不同。可用的外设包括 SPI、I2C 和 UART 串行端口、嵌入式 FlashROM(EFROM)、10/100 以太网 MAC、定时器、锁相环(PLL)、振荡器、实时计数器(RTC)和外设 DMA 控制器(PDMA)。
Actel SmartFusion 系列器件基于已经证实的 ProASIC3 Flash FPGA 体系结构,拥有只有基于 Flash 的器件才有的优势:
SmartFusion 器件在 Fusion 器件的基础上增加了一个增强型模拟前端。逐次逼近型模数转换器(SAR ADC)与 Fusion 器件上的那些 ADC 类似。此外,SmartFusion 还增加了一级sigma-delta(∑-△)数模转换器(SDD DAC)。
SmartFusion 通过其信号调节模块(SCB)可以同时处理多个模拟信号。SCB 由有源双极预分频器(ABPS)、比较器、电流监控器与温度监控器联合组成。ABPS 模块可以向 ADC 提供大的双极电压。电流监控器负责提取外部检测电阻两端的电压并将它转换成一个适合 ADC 输入范围的电压。类似地,温度监控器负责读取流过外部 PN 结点(二极管或三极管)的电压并将它转换成适用于 ADC 的电压。此外,SCB 还包含了几个比较器,用于在不使用 ADC 的情况下监控快速信号的阈值电压。比较器的输出可以馈送至模拟计算引擎或 ADC。
模拟计算引擎(ACE)相当于一个小处理器,我们通过它来控制 SmartFusion 中的混合信号模块以及将这些模块连接到其它系统。ACE 的任务是不再让 Cortex-M3 来控制模拟模块,因此相对于由主处理器负责监控模拟模块这种做法,其吞吐率要更快,功耗也更低。 ACE 专门用来处理 ADC、DAC 和 SCB 的采样、时序以及后处理等过程。
Flash 技术带给设计人员的好处远远不止低单位成本、高性能和使用方便。与基于 SRAM 的 FPGA 不同的是,以 Flash 为基础的 SmartFusion 器件具有上电即行的特性,不需要外部引导 PROM;板内的安全机制可以防止编程信息被访问,从而使得 FPGA 逻辑可以安全地进行远程更新。设计人员也可以执行安全的远程在系统编程(ISP),以支持未来的反复设计与现场升级,同时又确保宝贵的知识产权(IP)不会被泄漏或复制。此外,我们还可以通过业内标准的 AES 算法来实现安全的在系统编程(ISP)
基于 Flash 的 SmartFusion 器件所表现出来的功率特性与 ASIC 类似,这使得它们非常适用于注重功耗的应用场合。我们知道,许多 FPGA 器件在上电时常常会出现电流浪涌(current surge)和大的过渡电流,而 SmartFusion 器件却不会出现这类问题。
此外,SmartFusion 器件的动态功耗很低,并支持低功耗待机模式与超低功耗睡眠模式,因而进一步节省了功耗。
基于 Flash 的非易失性 SmartFusion 器件不需要引导 PROM,因此不存在脆弱的且容易被拷贝的外部位流。SmartFusion 器件内部集成了 FlashLock 技术,无需任何外部开销就可以提供一种结合“可重复编程和设计安全”的独特组合,并且拥有配备非易失性 Flash 编程能力的 FPGA 才具有的优点。
SmartFusion 器件使用一个 128 位 FlashLock 和一个单独的 AES 密钥加密已编程好的知识产权(IP)和配置数据。在装载 Fusion 器件的 FlashROM 数据之前,我们也可以先将它们加密。此外,通过使用 AES-128(FIPS192)分组密码(block cipher)加密标准,还可以在运行期间对 Flash 存储器块进行编程。
经过 AES 加密的 SmartFusion 器件可以通过公共网络(像互联网等)安全地进行远程在线升级,确保宝贵的 IP 不会被过建、拷贝或剽窃。另外一种安全措施是,我们可对已编程 SmartFusion 器件的配置信息进行安全设计验证,但不能将它读回。在设计过程中,用户既可以控制和定义 Flash 存储块的内部访问也可控制其外部访问。
内置在 FPGA Fabric 内的安全性是 SmartFusion 器件固有的特性。Flash 单元位于 7 层金属层之下,并且使用了非常多的器件设计与布局技术,可以很好地抵制侵入性攻击(invasive attack)。带有 FlashLock 和 AES 加密的 SmartFusion 系列器件是唯一一类能很好地抵制侵入性攻击和非侵入性攻击的器件,它使得用户宝贵的 IP 可以受到很好的保护,同时也让远程 ISP 变成了可能。SmartFusion 器件为可编程逻辑设计提供了最牢靠的安全性。
基于 Flash 的 FPGA 将配置信息存放在片内 Flash 单元中。一旦被编程好后,配置数据就成为了 FPGA 结构的一个固有部分,这样系统上电时就不再需要加载外部配置数据(这与基于 SRAM 的 FPGA 不同)。因此,基于 Flash 的 SmartFusion FPGA 在加载器件配置数据时不需要 EEPROM 或微控制器等系统配置元件。这样一来既降低了物料清单(bill-of-material)的花费,又节省了印刷电路板(PCB)的空间,同时还提高了安全性和系统可靠性。
基于 Flash 的 SmartFusion 器件支持上电即行(LAPU)。LAPU SmartFusion 器件无需复杂的可编程逻辑器件(CPLD),极大地简化了整个系统设计并降低了总系统成本。 SmartFusion 用 LAPU 时钟(PLL)替代了片外时钟资源。此外,就算系统电源出现干扰脉冲(glitch)和掉电等情况,SmartFusion 器件的 Flash 配置也不会被破坏。SmartFusion 器件与基于 SRAM 的 FPGA 不同,当系统电源恢复供电时它不需要重新加载配置信息。这样,在PCB 设计中就可以减少昂贵的电压监控器与掉电检测等器件的使用,甚至可以完全不需要使用它们。基于 Flash 的 SmartFusion 器件简化了整个系统设计、降低了成本和设计风险,同时又提高了系统可靠性。
此外,阿尔法粒子也会导致辐射引发的固件错误。阿尔法辐射若要引起软错误或固件错误,其放射源必需非常靠近受影响的电路。阿尔法源应当位于封装制模(package molding)混合物中或芯片本身内。通过越来越多地使用低阿尔法(low-alpha)制模混合物,可以帮助减少阿尔法引发的固件错误,但却不能完全消除。
固件错误在 SRAM FPGA 中是不可避免的,它可能会导致系统彻底失效。但基于 Flash
的 SmartFusion FPGA 却不会产生固件错误。因为,它一旦被编程后,其 Flash 单元配置元素将不会被高能量中子改变,因此也就不受高能量中子的影响。所有 FPGA 器件的用户数据
SRAM 都会出现可恢复错误或软错误。用户可以通过使用 FPGA Fabric 中内置的错误检测和校正(EDAC)电路来减少这些错误的产生。
Micosemi SmartFusion 系列 FPGA 部分的开发使用的是官方的Libero SoC,ARM微控制器程序的开发,可以使用通用的ARM MCU开发工具,如Keil、IAR等,也可以使用官方基于Eclipse和ARM GCC工具链的开发工具SoftConsole。
程序的下载和调试,FPGA 部分程序的下载和调试,使用FlashPro 4/5下载器,ARM部分程序的调试使用通用的ARM调试工具,JLink或CMSIS-DAP。当然,也可以使用SoftConsole+FlashPro来进行ARM程序的调试。
关于Microsemi SmartFusion系列,开发工具Libero SoC的使用,FPGA和ARM部分的开发等,可以关注我的专栏:Microsemi Libero系列教程
SmartFusion 系列主要分为3个型号,A2F060/A2F200/A2F500,资源依次增加,同一封装的不同型号,可以直接替换。
注意:
温度范围
注:
[1] C = 商业温度范围:0℃~85℃(结温)
[2] I = 工业温度范围:-40℃~100℃(结温)