FPGA 何去何从(一)
1赞文章只是鄙人的胡思乱想,莫当真!
FPGA发展30年,现在也到了关键时间点!首先说说腾讯FPGA云。
腾讯FPGA云发布是直接促成我写这篇博文的主要原因,免得以后被说只是事后诸葛亮。其实现在我也只是知道个大概,腾讯怎么做,面向什么客户,什么业务,环境框架,怎么开发,我都不知道。觉得和自己以前的想法有点类似。
对于FPGA开发,有很多时间是放在仿真验证上的,特别是前期,而且即使到了后期真正对硬件进行调试的时间也不多,反倒是工程编译的时间特别的长,芯片越高端,工程越复杂,所需时间就越多。常常都是人在等机器,一等就是半小时到半天。隔壁的软件开发,极少有这样的人等机器的情况。
据我工作的几家公司,目前FPGA 代码还是属于单兵作战形式。A君在自己的PC环境的FPGA工程并不能很好的和B君的PC环境同步,一般都是 export 压缩包的形式,其实和Copy没多大的差别。云却可以轻轻松松解决这些问题,仿真,编译,代码都在云上,不同的人设计维护云上的不同代码,仿真,编译,所需的大量时间,用强大的服务器性能来平衡。只要不出现大家同时申请编译需求,服务器还是没有什么压力的,其实深度协作后这种有交叉重叠的编译反而会少,而且远程协作也是十分方便的,不同的开发人员或在不同的地点,开发环境都是高度一致的,都可以用浏览器来开发(vivoda拿java来做的,Android也是java,界面是xml),现在web连大型游戏能做,这些交互只是洒洒水。只要能连上网,不管你是在公司的个人PC,还是网吧的电脑,都是一样的,一样的代码,生成一样的bit文件。当然会有很多人担心代码泄露的问题,觉得只有代码保存在公司内才是最安全的,这个其实是信用问题,我们的钱都是存在银行里面,而却很少担心银行把钱划走就是出于对银行的信任。
以上就是我以前(至少两年前的)想法。
对于腾讯FPGA云,我想有可能已经这么做了,当然不止这些,这些也不是他们的重点,腾讯的中心可能更多的是面向业务,AI,图像压缩,加速这些。因为这些腾讯都已经在实际项目中使用挺久的了,拿出来作为服务提供操作难度不大,回报反馈也快。下一步可能会做开发环境整合(区别于Xilinx Altera的第一级直接环境,更像二级环境),不会面向具体业务,只是提供一个快速原型验证的方式,对不同客户开放。首先这种开发环境成本很低,再次腾讯的影响力太大,在高校和中小企业推广,马上就能掀起一波浪潮。倒是有点担心Robei。