华为FPGA加速云服务:颠覆传统FPGA开发

FPGA开发日益走向高层次综合型,从门级、开关级到RTL级再到算法及未来再到系统级,而在应用层面,由于FPGA有天生的并行处理机制,在人工智能、大数据处理方面无器件能出其右。因此,在数据中心引入FPGA并实现云化加速业务成为必然趋势。随着华为云FPGA加速服务的推出,打破原有FPGA开发、测试和应用存在的较高门槛,开启了一个颠覆FPGA开发的新时。

华为FPGA加速云服务——更懂您设计习惯的开发套件

华为在FPGA领域深耕多年,有着全球最专业的FPGA开发团队,积累了大量FPGA开发经验和IP,这些积累结合其领先的弹性云服务架构,可以为用户提供简单易用的FPGA云服务。 总结起来,华为FPGA云加速服务优势体现在以下技术方面:

多样化的开发环境

传统FPGA开发方式以RTL语言开发为主,在云时代,用FPGA快速进行算法验证,让软件工程师也能快速使用FPGA等需要,促进了使用OpenCL和C/C++等高级语言开发FPGA的需求。华为FPGA加速云服务开发套件提供了HDL、SDAccel和C/C++等多种语言开发环境,用户可以选择最熟悉和擅长的环境完成业务的设计开发。

丰富的设计组件和IP库

华为积累的大量高质高效常用FPGA设计组件,例如器件无关乎的ram,字节级和帧级的通用fifo,高效的支持绝对优先级SP、公平轮询RR、权重轮询WRR等多种调度组件,多通道的DDR控制器,带PFC等功能100G Eth接口控制器,通用矩阵运算、傅里叶变换等各种组件,用于可以直接调用这些设计组件,从而提升FPGA开发效率。在加速IP方面,华为积累了网络转发、网络协议、安全加解密、压缩解压缩、AI、媒体、大数据、数据库等覆盖CT和IT各领域的通用加速 IP,通过华为IP marketplace,用户可以快速的调用这些IP,从而快速构建自己的加速应用。

差异化shell

shell逻辑提供了PCIe接口、DDR控制、DMA引擎、Flash控制器等基本功能。凭借在CT领域高质量和高性能需求场景的多年积累,华为可以提供业界领先的高性能和us级低时延的自研shell,满足您高性能低时延的应用场景;也同时提供高灵活性和低开发门槛的SDAccel shell,方便您移植基于GPU等平台的应用,快速地上线FPGA加速的业务。

简易的工程构建方式

华为FPGA加速云服务也提供了一系列的开发套件,支持用户一键式创建用户目录,快速地构建工程。

简单的工程配置

无需掌握TCL或者SHELL脚本语言,无需修改构建脚本,只需要简单修改配置参数,开发套件即会自动生成约束文件及综合编译脚本,使用户的开发更简单。

自由的工程实现

用户可以选择单步执行综合、实现、PR校验、目标文件生成及加密操作,也可以通过套件一键式完成工程构建,生成自己的加速IP。

完美的细节体验

工程构建套件提供了时序自动检测功能和定时构建等功能。用户可以预约任意时间进行工程构建。工程构建完成后,用户无需打开log查看构建结果,套件会自动检查用户时序,以直观的方式通知您设计的时序情况。

华为FPGA加速云服务——简单易用的全流程验证

FPGA开发过程中,仿真是保证FPGA产品质量最重要且难度最大的环节,具体的:

(1) 传统FPGA开发方式中仿真平台搭建需要大量验证工程师投入,难度大,导致验证人员无法专注于验证逻辑功能;

(2) 验证专用IP开发难度高,如果购买第三方VIP价格昂贵,使得用户难以保障功能的稳定性;

(3) 使用验证平台进行验证门槛高,如果验证基础薄弱,很难驾驭,不利于验证工作的开展。

完善的云验证平台

华为FPGA加速云验证平台采用业界通用的systemverilog2012语言开发,由具有丰富验证经验的团队维护和升级。不仅提供简易的端到端的流程指导,还提供丰富的验证IP(VIP),满足用户的各种需求。

相对业界其他FPGA云开发平台,华为除了提供通用仿真平台,还提供增强版仿真平台以满足更专业的用户需求。增强版仿真平台采用业界成熟的UVM方法学,提供比通用版更多的特性以及更强的性能。

解耦的架构设计

验证平台采用Testbench与Testcase完全分离的架构,即用户可在完全不改变仿真平台的前提下增删并执行测试用例。Testbench中包含基础激励组件、AXI4接口的BFM、CPU模型、DDR功能仿真模型、记分牌以及VIP。其中用户可自定义部分通过用户激励组件、callback、rm等动态重配到testbench中而完全无需修改testbench。

针对使用云上加速资源的用户,华为FPGA加速云服务为用户提供完整的Testbench,用户只需要设计自己的激励组件、参考模型然后即可进行仿真测试,而无需关注接口时序,平台连接、脚本实现等繁杂事务,极大的提高了用户的仿真验证效率。

用户可通过华为FPGA加速云服务提供的覆盖率报告以及回归脚本等工具对测试的覆盖情况进行统计和闭环。

华为FPGA加速云服务平台针对用户仿真速度慢的问题,通过预编译仿真库以及一次编译多次执行的方法,大幅提高用户的仿真速度。

丰富的验证IP库

华为也将提供丰富的VIP(验证IP)库,包含自己信息领域多年积累的高效能VIP,此类VIP将覆盖总线接口,外挂存储,网络处理,高速接口等,用户可以通过华为云IP MarketPlace快速的选择及使用。

华为FPGA云服务——简约而不简单的验证平台

验证平台是验证环节最重要的组件之一,传统FPGA开发方式不仅需要投入大量人力搭建验证平台,而且如果需要完成复杂的测试往往会导致验证平台过于复杂,对非熟练用户不友好,不易上手。

华为云验证平台不仅拥有强大的功能与扩展性,而且结构简单,易于新手使用,简约而不简单。

如图所示,Testbench中包含AXI4接口的BFM、DDR仿真模型、记分牌等组件。用户如需使用Testbench仅需编写自己的测试用例、激励以及参考模型等功能而完全无需关注BFM、组件连接,最大程度上简化用户的验证工作。华为的通用仿真平台还支持代码与功能覆盖率的收集、断言和C混合编程等高级仿真方法。

华为FPGA加速云验证平台架构图

华为FPGA加速云服务——志当存高远,新模式,更高效,创未来

华为FPGA加速云服务开启了一种新的FPGA开发模式,随着华为云MarketPlace的推出,未来FPGA开发业者可以在任何时间和地点专注开发属于自己的IP,并将其出售;同时,华为FPGA加速云服务还开启了共享智慧,这将再次颠覆FPGA开发模式,如果你是FPGA专家,你完全可以在家通过华为云开始属于自己的事业。

未来,有多种可能,现在,你要做的就是申请华为FPGA云加速公测,欢迎您的加盟!

注册申请公测beta版请访问以下网址:http://www.hwclouds.com/product/fcs.html

 

【注:本文作者王 琦任职华为公司2012实验室,高雪松任职华为云IaaS服务产品部】