FPGA的两条发展之路,怎么走更稳?

2018-06-08 09:06:10 来源:半导体行业观察
标签:

 

多种趋势正在将FPGA推向两条截然不同的发展道路。
 
在第一条路上,FPGA不断优化,主要用于加速数据中心工作负载。 数据中心是大型供应商关注的下一个“圣杯”。 
 
在另一条发展道路上,有传统的FPGA网络市场、蜂窝基站、国防、商用航空、工业4.0和医疗。 在这些应用领域,许多工程师认为他们正在被抛弃。 他们面临的发展挑战与大型供应商关注的数据中心焦点截然不同。 设计人员面临着越来越难以平衡的行为,因为他们试图在不牺牲性能和安全性的情况下,实现低功耗和低成本。
 
要想实现这种平衡,就需要以新的方式来看待FPGA,采用新的工艺技术选择、结构设计、收发器策略和内置的安全措施。这孕育出了一类新的、中等规模的FPGA,为传统FPGA开发人员提供了新的功能。
 
新的工艺技术选择
降低功耗同时优化中等规模FPGA成本的一种方法是:使用新的工艺技术。 例如,在28nm技术节点上使用Silicon-Oxide-Nitride-Silicon(SONOS)非易失性(NV)技术,其与相同或更小节点上的基于SRAM的FPGA相比,具有更低的功耗优势。 使用65nm及以上浮栅NV技术的上一代非易失性FPGA比SONOS昂贵。 鉴于浮动栅极技术需要17.5 V来编程使用消耗大量芯片面积的大型电荷泵,SONOS技术只需要7.5 V编程,因此电荷泵可以更小。 这项技术可以缩小芯片尺寸,并有助于提供更具成本效益的器件。
 
SONOS技术通过使用具有非导电氮化物电介质层(Si3N4)作为电荷存储单元的单个多晶硅晶体管堆叠(见图1)来实现这些优势。 使用这种方法,在底部氧化物中可能存在的任何缺陷附近,只有非常少量的电荷将流失。 
 
由于储存的电荷在绝缘氮化物层中不可移动,所以大部分储存的电荷仍然保持原样,完好无损。 与浮栅技术相比,可以使用更薄的底部氧化物,并且可以用更低的编程电压(〜7.5 V)和更小的电荷泵进行编程。与SRAM存储单元相比,使用SONOS所需的晶体管数量更少。
 
图1:SONOS技术。 (来源:Microsemi)
 
SONOS技术通过使用包含N通道和P通道NV器件的推挽式单元来提高可靠性。 NV器件不处于数据路径,仅用于控制用作数据路径开关的标准晶体管。 这提供了很大的功能优势,因为NV器件阈值电压(Vt)的任何变化都不会改变开关电导。设备互动的方式充当了内置的准冗余,可防止产品在使用期间的性能下降。
 
功耗也会降低。 首先,SONOS NV FPGA配置单元启用两种不同的可编程“配置”状态,控制FPGA数据信号路径,关断和开启时优化开关器件以提供比标准晶体管低得多的漏电。 其次,SONOS技术可以将器件置于一种状态:将电源电压关闭至FPGA逻辑模块中的配置存储器,同时将用户的状态保存在低功耗锁存器中。 这降低了约三分之二的待机功耗。
 
SONOS还有两个重要的优势。 首先是“即时开”功能:因为FPGA逻辑配置单元在掉电后保持其状态,所以当电源返回时不需要重新加载FPGA设计代码,也不需要外部引导PROM。其次,与基于SRAM的FPGA中的配置存储器不同,该器件可由于中子轰击而翻转状态,SONOS器件的FPGA逻辑配置不受SEU影响。 SONOS NV电荷存储在氮化物电介质中,不容易受到中子轰击带来的电荷损失。
 
新的结构设计
另一种提高中等规模FPGA性能的方法是:改变可编程逻辑结构。 这使得器件能够满足主流性能要求,同时,静态功耗仅为SRAM FPGA的十分之一,以及总功耗的一半。
 
功耗和性能需要权衡考量。 例如,6输入LUT可提供一些速度优势,但4输入LUT是现代工艺技术中功率和成本优化FPGA的更好选择。 同时,随着工艺技术从65nm发展到28nm及以上,由于金属线和通孔电阻的缩放差,布线的延迟已成为逻辑延迟的主导因素。 拓宽金属线会增加芯片面积和成本。 因此,随着每一代后续的工艺技术的发展,集群间(inter-cluster)延迟将成为关键路径的首要问题,6输入LUT的速度优势将会减弱。 确保相邻LUT之间的快速直连可以减少集群内延迟,尤其是与先进的综合和布局算法相结合。 某些逻辑功能(如MUX树)会从直连中受益良多。
 
为了获得最佳效果,应该仔细优化FPGA系列的功耗性能折衷方案,以便核心逻辑电源电压略低于其制造过程的标称电压。 在28nm SONOS器件中,这意味着优化1.0V核心逻辑电源电压,在需要额外速度时可选择使用完整的1.05 V电源。
 
FPGA架构的最后一块是数学模块,它应该支持18位乘法累加操作。 通过提供具有完整19位结果和输入值级联链的预加法器,并通过确保数学模块支持精确的9位操作,包括9×9点积模式。 后者非常适合用于图像处理和卷积神经网络(CNN)。
 
FPGA收发器
收发器在优化FPGA成本,功耗和性能要求方面发挥着重要作用。 许多应用需要高达24个高速全双工收发器通道。 他们还需要SerDes收发器,可以支持250 Mbps到12.7 Gbps的波特率,以覆盖全系列的SDI,高达10Gbps的以太网,JESD204B转换器和其他应用。 优化收发器的一个主要优势在于降低从高端FPGA调整的更高速SerDes的性能,因为与降级的SerDes方法相比,它在所有波特率下的功耗都要低得多。
 
多种架构选择有助于降低FPGA收发器功耗,从使用半速率架构实现收发器到使用高度共享的传输PLL架构。 理想情况下,FPGA应该具有1~6个四通道收发器,最多可以有24个SerDes通道。 许多均衡功能允许更长距离,并在印刷电路板和背板中使用低成本材料。 特殊的锁相环(PLL)特性可为用户提供更多灵活性,从更灵活的时钟和波特率选择到简化的radiated-emission要求,以及更高的带宽选项。
 
调试和测试也很重要,包括内置伪随机二进制序列(PRBS)发生器和检测器的可用性以及支持非直流耦合信号的IEEE 1149.6“AC JTAG”。 包括带调试软件支持的内置眼图监视器,设计人员无需示波器即可调试SerDes。 人们可以实时优化DFE和CTLE参数,并调用最终产品的理想设置(参见图2)。
 
图2:SerDes眼图监视器智能调试软件
 
解决安全挑战
目前,设计的安全性存在许多威胁。 从用户设计IP到制造过程的所有内容都可能受到影响。
 
关键的安全技术和性能包括可信任的硬件roots,强大的加密技术以及每个阶段的顶级密钥管理,以及内置被动和主动对策以防止篡改的设备。 图3显示了使用唯一序列号、密钥和X.509公钥证书进行安全FPGA配置的最佳实现方法。
 
图3:设备证书信任链
 
有了这些组件,就可以解决设计和数据安全问题。 设计安全性要求FPGA使用制造商提供的密钥和证书,以及其他技术(从专利的差分功耗分析(DPA)对策到防止侧向信道攻击的技术),以保护用户的IP。 另一种提高设计安全性的方法是使用物理不可克隆功能(PUF)技术来生成硬件固有密钥。
 
数据安全性要求使用专用于核心NIST认证的FPGA用户的加密处理器,以实现许多最常用的加密算法,如AES,SHA 2,ECC,RSA和DH,并包含加密级TRNG。 与向FPGA架构添加加速器相比,用户加密处理器适用于许多应用,从而降低成本(面积、功耗和其它相关)。
 
市场对需要成本优化的中等规模FPGA的需求不断增长,在通信、国防和工业市场,对密度高达500K逻辑单元(LE)的情况下,要求功率密度显着降低。 一个新的发展路线图已经出现,它将新的工艺技术和结构设计与重要的收发器变化和安全特性相结合,使FPGA能够解决主流应用的成本、功耗、性能和安全要求,同时提供非易失性技术的所有优势。
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
几款小而美的FPGA学习板
几款小而美的FPGA学习板

任何一种开发板,我都对小个头的感兴趣,因为越是小个头的其实越强大,从中也越能够体会出原设计者的用心和技术含量。

Lattice FPGA的集成化开发环境Diamond的安装配置

为什么要使用Lattice的FPGA?因为真的好用,用过的人都说好!

从概念到FPGA逻辑实现的设计流程
从概念到FPGA逻辑实现的设计流程

今天再啰嗦点玄学 - fpga的设计流程,因为“流程”我们学习任何一门技术都必须事先清楚的重要信息。

FPGA是什么?里面有什么?能做什么?
FPGA是什么?里面有什么?能做什么?

今天在群里有工程师问我,怎么才叫学会了FPGA,怎么才叫学好了FPGA?我相信有很多朋友有类似的问题,因为在多数人的潜意识里,FPGA是非常高深莫测的技术,能够玩转FPGA的都是大神级的人物。

FPGA到底是啥?
FPGA到底是啥?

今天在群里有工程师问我,怎么才叫学会了FPGA,怎么才叫学好了FPGA?我相信有很多朋友有类似的问题,因为在多数人的潜意识里,FPGA是非常高深莫测的技术,能够玩转FPGA的都是大神级的人物。

更多资讯
简单几步让你看懂单片机时序图

操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了。而提取芯片器件手册上有用的信息是使用芯片的最基本步骤。

如何实现SoC全生命周期的监测?

SoC的设计越来越复杂,上市时间、软硬件集成、系统级验证、系统性能、异构、网络安全/功能安全等都是设计人员需要考虑的因素。流片前,设计师能通过仿真软件进行验证,但是流片过程中很多意想不到的结果,需要在流片后仍能被准确的检测出来。

如何将单片机的波特率作为形参的函数

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。

代码分享教你如何使用msp430单片机延时函数

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

如何控制51单片机液晶实现计时器的功能?

要想实现人机交互,显示装置是不可缺少的。前面讲到了如何利用单片机控制数码管的显示,这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示的定时器搬到液晶屏上来。

Moore8直播课堂