近日,Altera资深副总裁,首席技术官Misha Burich访华。虽然这不是Misha第一次来中国,但却是他第一次面对国内媒体。Misha做了《硅片融合时代的FPGA》的主题发言,以下是其主题演讲中的最重要部分:未来十年是硅片融合的十年。
以下文字整理来自Misha发言:
当集成了很多其他功能之后,FPGA从原先的服务于胶合逻辑这样的功能开始慢慢进入到其他的市场。比如说通讯、军工、测试仪器以及医疗等领域,这就是硅片融合的趋势。
通用处理器或通用芯片的主要特点是软件可编程,这样整个系统都会灵活,同一款芯片可以用在不同地方,应用范围广,灵活性高,但同时问题是功效低,也就意味着每个任务所消耗的功耗会高。
另外让我们看一下ASSP或者是ASIC,他们是固化的硬件,专门针对某个应用。这些硬件很多都是不能编程的,这类产品的特点是成本低,效率高,面积小,但缺点是灵活性低,这时候有一些ASSP或者ASIC公司开始加入一些处理器,使其具有一定的灵活性。
而FPGA则是介于二者之间,兼具二者的优点,硬件可编程的灵活性同时也兼具较好的功效。
图一:以每十年为阶段的FPGA市场演进图
所以在你选择方案时,会有两方面的考虑,到底是需要灵活性还是在意系统功耗。在英特尔的一份关于灵活性与效率的报告(High-Performance Energy-Efficient Reconfigurable Accelerator Circuits for the Sub-45nm Era)中,列举了一个衡量标准,即每毫瓦百万运算次数。最左边的是通用处理器,这一部分你会看到它的功效相对比较低,但是它的灵活性相对比较高。中间这一块是DSP,DSP的功效其实在中间,功效最高的是专用的一些硬件,比如说ASIC、ASSP等,但是它的灵活性相对会很低。其实英特尔这个报告得出的一个结论是在一个要兼顾灵活跟功效的系统里面,最好的方案就是处理器与专用的硬件相结合。
图二:来自英特尔的报告
根据英特尔的报告,英特尔也在找类似的硅片融合的方案。Altera也有硅片融合的趋势,如果FPGA中集成了处理器,会同时兼具硬件与软件的灵活性。同时,如果是我们把ASIC跟ASSP的一些特性加到我们FPGA,我们又可以为这个系统带来更高的功效,更低的成本,这就是我们硅片融合的一个趋势,这里面有处理器,有DSP,有专用的IP。当然加上可编程的架构,这就是硅片融合时代的混合系统架构。
作为FPGA的供应厂商,我们有一些天然的优势去做硅片融合这样的技术,是因为作为FPGA的供应厂商,我们了解FPGA的架构,我们有它的一些生态系统。我们可以利用在FPGA上的优势,引用外面处理器或者是一些硬核的IP,来融合系统架构。有些芯片厂商如果没有FPGA的积累,尽管可以去做一些硅片融合,但他们只能做到处理器加上一些硬核的IP,灵活性就没有像传统的FPGA厂商做到这么灵活。
在我们看到的未来十年,FPGA架构的演进还在继续。在FPGA中我们会有硬核的处理器,会有大容量的逻辑单元,我们可以利用这种兼顾的架构不断拓展应用领域。我们可以覆盖高性能的计算、高性能的存储、汽车马达控制等。
在迎接硅片融合的时代,如果只是做芯片的话是不够的。芯片上面需要支撑的技术,作为Altera,我们在这块也有一些积累。比如说像集成处理器等方面。其实在过去的几年中,我们已经有很多的很广的处理器的选择给到客户,包括我们自己开发的Nios 2的软核处理器,它是一个RSIC架构的处理器,是利用FPGA的架构来实现处理器功能的软核。根据我们的调查,有三分之一的客户会用到一个或多个NIOS软核处理器。同时我们在硬核的处理器选择上,我们会有ARM硬核处理器集成在FPGA中。
同时在其他的处理器的选择上,我们还有MIPS 32这样的软核处理器给到客户,同时还有跟飞思卡尔合作的ColdFire软核处理器,ARM Cortex软核处理器。同时,我们也和英特尔合作,有些客户希望为Atom增加灵活性,所以英特尔将我们的FPGA与Atom做到了一个封装下,成为单芯片方案。
另外一个方面作为ASIC这一块,我们有HardCopy的技术,不光是整个芯片可以做成HardCopy,我们还有技术是把FPGA的一部分做HardCopy,这样的话我们可以给客户提供嵌入式ASIC方案。在ASSP这一块我们会提供给客户的解决方案,同时会有一些IP。举个例子,我们在2010年我们收购了一个公司叫Avalon,这个公司主要它是在OTN光通讯这一块,它有很多光通信IP积累。通过收购Avalon这样的公司,Altera能够为OTN的客户提供一些解决方案,同时我们会用这样的IP帮客户解决一些系统的方案。
在DSP这一部分,Altera是一直在投入的。包括我们会提供浮点运算的DSP的架构,因为在有些应用里面需要有浮点运算的DSP来给到很大的动态范围。我们同时还有在可变精度的DSP上面,我们在新一代的产品上面会有这样的可变精度的DSP模块给到客户。您看到复杂的系统上面,包括有FPGA、有处理器、还有DSP这样的一些不同的技术,对它进行编程其实是需要重要考虑的。怎么样来编程是需要一套环境,包括综合、仿真还有持续分析主要是对FPGA进行编程。而对于复杂的芯片系统来说,系统互连也是需要考虑的。
同时,对于C代码的编程,需要对处理器进行C代码的编程这样一些工具,也是要考虑的。包括DSP的编程方法,编程工具也是要考虑的事情。同时对于嵌入式的软件,还有操作系统方面的考量。
图三:混合系统架构下Altera生态系统开发工具
以上这五点,是在混合系统开发环境下需要考虑的设计方式及方法。
现在在Altera,有50%的开发人员是在做软件工程支持方面,50%做芯片本身。我自身也是来自EDA公司,所以公司其实是很重视这部分。
针对以上五点混合系统开发环境,我们有分别的解决方案:
在综合、方针及时序分析方面,我们有传统的QuartusII,而在片上互连方面,我们有Qsys工具。在基于C语言的编程工具上,OpenCL可以做一个并行编程的编译器。DSP编程方面,我们跟The MathWorks合作,可以通过SoPC Builder下的DSP Builder提供给客户。同时嵌入式的软件工具及OS支持,由于我们有最强大的处理器组合,因此可以通过他们的第三方开发工具,获得对FPGA的开发支持。
评论
查看更多