在工作中,我们接触到的至少90%以上的FPGA项目,它的的资源/时序都有很大的优化空间,为啥这么说?
1. 首先是,不用优化
为什么说不用优化:
用地好好的,又没有出啥毛病,为啥要优化,你告诉我为啥要优化?你告诉我为啥要优化?你告诉我为啥要优化?净整一些幺蛾子!
FPGA的确会比单片机贵很多,但是FPGA目前还是大部分用在比较高端的产品上,对整个产品来说,成本很小,只要FPGA功能实现了就可以,我还优化个锤子;
FPGA技术在高速发展,FPGA容量越来越大,编译综合工具越来越智能(HLS用C++都可以做FPGA开发)等等,人也就会越来越懒,我都恨不得不写什么代码都能做FPGA开发,你还想让我优化FPGA,我优化个毛线。
一直不用优化,自然就很少去优化,代码也就千奇百怪,自然也就会有很大的优化空间。
如果有那么一天,当大家开始卷,特别是卷成本的时候(消费类一直在卷),FPGA的成本不得不要考虑的时候,优化资源/时序的FPGA产品将更有优势(低成本、低功耗和小体积),更能得到市场的认可。
当然也有可能是那么一天,FPGA工艺更NB,FPGA容量无限大,FPGA资源/时序随便开发都不会有问题,那就是:一直不用优化。
2. 其次是,不会优化
你见过写的像C代码的Verilog吧,你告诉他不建议这样写,他说我学Verilog时,老师说过会C就会Verilog,学的时候也发现没啥区别,这样写有什么问题?
关键这样写的代码最后也能正常工作起来,你该怎么说?你觉得他会优化资源/时序吗?他只会觉得你不懂FPGA,你这人太较真,学东西太死板!不懂变通!
3. 最后是,等你优化
看到千奇百怪、打满补丁的FPGA代码,我深深地吸了一口烟,缓缓吐出,在烟云环绕中思索了好久:还是等你优化,毕竟我家锅是用来做饭的。