Xilinx技术总监:为FPGA设计带来革命性变革
扫描二维码
随时随地手机看文章
全球可编程平台领导厂商赛灵思公司 (Xilinx, Inc. (NASDAQ: XLNX) )日前在进驻北京新址的庆典上,强调其对高增长的中国市场的承诺。该公司不断扩大其在亚太地区的影响力,包括开设研发中心,并将本地销售、市场营销和应用工程设计等业务整合到统一的办公地点。新址面积达 2,000 平米,将为北京本地、整个亚太区乃至跨国客户提供强有力的支持。
以下是赛灵思赛灵思公司软件研发技术总监宋传华博士在庆典中的演讲实录:
赛灵思中国研发中心的成立是赛灵思公司在2011年非常重要的投资,也是我们赛灵思研发部将创新DNA植根在中国的一个重要步骤,同时它也是我们“中国智造”整体战略的一个重要组成部分。
当前赛灵思拥有多项领先业界的先进技术。其中业界首创的包括先进的28纳米半导体技术、基于堆叠硅片互联技术(SSIT)的多晶圆集成技术、数模混合技术以及多核可扩展处理平台技术。这些技术大多基于硅片和硬件的平台,而在软件设计技术方面,我们也推出了AutoESL这一高层次综合工具。它可以同时支持C语言、C++和SystemC的输入,通过自动化的综合过程生成高效的寄存器传输级设计描述。那么当这一高层次综合技术和多核可拓展处理平台技术结合在一起时,又将能够给大家带来一些什么样的新变化呢?
Zynq™-7000是我们最新的一款芯片,它同时集成了ARM的处理器和FPGA可编程逻辑,并拥有多方面的技术优势。首先是基于28纳米的先进工艺,完美地将高性能和低功耗结合在了一起。同时,由于我们的CPU里集成了双核ARM的处理器和常用外设接口模块,大家仍然可以用传统软件开发的流程来开发自己的系统。此外,Zynq极大的加强了处理器和FPGA可编程逻辑之间的互联,其数量远超传统的多芯片解决方案,其速度也更快。关于Zynq平台,最后我们来总结一个关键的信息就是,我们这个平台不仅是一款先进的芯片,更是给大家提供了一个完整的开发平台,它可以更好的支持大家完成自己所需的解决方案。
在整个设计平台方面,在芯片的层面,我们提供了两个部分,一是我们的处理器的系统,第二就是我们可编程逻辑系统。从软件的层面,我们提供操作系统和板极支持,我们的系统可以支持多种流行的嵌入式操作系统包括Linux、VxWorks、Android、WinCE和OSE等,这些大家都可以在我们的平台上使用。为了便于用户的开发我们还提供系统的仿真器,以及完善的软件开发工具,也包括我们极为丰富的软件IP,帮助大家快速的完成自己的设计。赛灵思和合作伙伴也提供了很多的参考板和参考开发流程,大家基于此进行拓展,就可以很快的完成自己的解决方案。在技术支持方面,赛灵思和我们的合作伙伴都可以给大家提供前后一致、完整的支持流程。来保证大家可以获得必要的帮助。
AutoESL是一款创新性产品,是最近几年业界非常关注的ESL设计方法学中一个突出的设计工具。它可以同时支持C语言、C++和SystemC这三种语言的输入,然后通过我们的工具的自动综合过程生成所需RTL设计描述。在传统的开发流程中,这个转换过程是需要是由算法组和硬件设计组来分别完成的,如今已经可以由我们的工具自动转换完成了。同时AutoESL还提供了一个集成的验证流程。我们可以在C语言级别对算法进行验证,然后系统会自动生成RTL包装函数,与C语言的测试向量进行连接和混合仿真来确认设计的功能,这个过程也是完全自动化的,无需用户输入和干预。当实现RTL之后,我们的工具会自动与后端FPGA实现软件进行无缝连接,为大家提供一个完整的开发流程。
高层次的综合有以下几点好处。首先是设计生产率的提升。多年前工业界就完成了从晶体管级设计到RTL设计的转变,今天我们完成的从RTL级设计到C语言级别设计的又一次飞跃。在高层次语言级别上进行设计有着丰富的数据类型支持,它可以帮助用户更好地关注算法级的设计理念,而不被一些烦琐硬件实现细节所打扰。举个例子讲,比如说当我们用到浮点运算的时候,我们通常是会愿意用整型的定点数据类型去进行转换,以提高资源的利用率。在AutoESL设计流程中,我们直接给大家提供了定点数据类型的支持,包括中间类型转换和精度的取舍操作,这样大家就不必再关心这些繁琐的实现细节。我们还可以看这样一个具体的例子,在光流检测视频应用中,若使用RTL进行设计,模块功能仿真需要两天的时间,而用C语言级别进行仿真验证,只需短短的十秒钟。另外,我们的设计在可复用性和可移植性方面也有着更好的表现。当设计需要从一种性能指标转换成另一种性能指标或者从一种器件移植到另外一种器件时,传统的流程需要重新设计RTL的描述,而如今我们只要改变其中一两个约束条件就能达到预期效果。
当Zynq和AutoESL结合在一起时,它们能给我们带来什么呢?在传统的设计流程中,软硬件的划分是在系统设计之初完成的,需要我们的系统架构师在一开始就进行系统的划分。再由软件工程师对软件进行编程和测试,硬件开发人员对系统的硬件流程进行开发和测试,最终将这两部分集成到Zynq平台上。但是当Zynq和AutoESL结合在一起之后,我们的产品流程甚至设计方法学都产生了根本性的变化。在新的流程里,首先由系统开发人员进行系统算法级别的开发,并通过对算法的性能分析,来找到系统的性能、功耗的瓶颈部分,然后将其通过AutoESL转换成硬件加速器,依靠系统反馈来监测系统指标是否可以满足我们的需要。接下来我们的工具就会把软件部分交给软件编辑器去生成相应的二进制应用程序,而硬件部分交给AutoESL工具产生硬件加速器的RTL代码,进而完成可编程逻辑的实现。整个系统的开发流程不再是分离的,而是变成了一个完整的开发过程。
通过这样全新的设计流程,整个设计的灵活性也得到了较大的提升。我们不再需要一开始就绑定在某个解决方案上,而是可以根据我们的性能分析结果和设计需求的变化,现场决定设计方案。
综上所述,我们说这种设计方法学的转变是革命性的,将给大家带来全新的设计体验和开发的便利。