【精品博文】吴明系列博文 FPGA 何去何从(二)
胡思乱想第二篇
现在FPGA开发的瓶颈在哪呢,又怎么破呢
曾经看过一篇文章说verilog是的可控能力范围是1W门,就是说verilog设计规模超过1w门的话,就比较难把控了,当然这个1w只是个模糊的数,像是开车最好不要超过时速120公里,一天至少休息6个小时。我很赞同verilog有个能力范围,只是我觉得不是1w门,而是1w LE或 LUT。
目前有几种尝试:
1、HLS
2、嵌入CPU核
3、opencl
4、systemverilog
HLS,最近炒得挺好,现实也挺火,虽然xilinx大力推广hls,很遗憾我十分不看好HLS,主要原因是C,在我看来C是很低级(汇编低级,python高级,的那个低级!)的语言比verilog还低,对于大规模设计C也是很吃力的,还会引入C的很多问题,开发环境复杂化,说写算法方便,在我来看是个伪命题,Python写算法还比C快呢,怎么不用Python,更别说闭包,反射,元编程这些了,C统统没有,感觉HLS只是把一个问题用例外一个更大问题来代替。随着时代的发展房子小了,既然现在选择重新建一座房子,为什么不一开始就建个大的呢?
嵌入CPU核,像是剑走偏锋,持续IP集成确实能解决规模的问题,但毕竟CPU还是用局限性的,多一层开发环境,多一个嵌入式开发人员或嵌入式技能需求。在现代提倡分布式处理的现在,CPU(中央处理器)的方式终究不是很好的解决方案,可能系统需要几十上百个控制U,嵌入U就不划算了,有点像Vmware虚拟机和Docker,同样是虚拟系统,一台PC跑个十几个vmware虚拟机已经撑破天了,但是Docker容器可以部署成百上千个。再者就是有时候只是需要几个简单的控制逻辑而已,就因为用了axi或avalon,而不得不得加入一个全功能的U做控制。
OpenCl,基本不了解,不说。
Systemverilog更像一同过度手段,Systemverilog下回讲。
——未完待续