因此,许居衍提出了“从MPU的‘软’编程到FPGA的‘硬’编程看,一个逻辑的发展应是‘硬’、‘软’均可编程,即算法可编程、可重构器件也可编程的U-SoC。” 谢凯年认为,这意味着FPGA是极有前途的,因为现在只有FPGA才能做到在软硬件间游刃有余。事实上也是如此,与开放源码软件的完全免费不同,开放源码硬件最终要物理实现才能验证其设计是否达到预期目的。可编程逻辑器件特别是FPGA,因其快速灵活、初期投入成本低廉,而成为开放源码硬件最适合的开发平台。可以看到的是,Opencores的设计主要都是在FPGA上进行。 开源硬件挑战重重 虽然FPGA为开源硬件的发展起到了基础和推动的作用,但我们也很清楚,开源硬件的发展还在面临很多挑战。事实上,虽然开源硬件从诞生到现在已将近10年,很多人付出了大量努力,但至今采用开放源码硬件运用在实际应用系统中的案例几乎没有。 究其原因,开放源码硬件面临的问题和挑战主要有: 1)免费EDA工具的获取。尽管有Alliance 和 gEDA 等EDA工具可供使用,但它的功能和易用性和商业EDA软件相比还是不能相提并论。 2)板卡制造成本。自己制作一块FPGA原型系统板的成本是相当可观的。 3)上市时间。在电子产品数月就换代的时代,上市时间是电子系统设计的一个关键因素,即使是采用商业IP, 都有可能遇到意想不到的整合问题;而目前开放源码硬件在文档完备性,稳定性上,技术支持方面存在的诸多问题,更是使务实的设计者望而确步。 4)软件丰富性和工具链问题。如果采用开放源码的处理器,这就意味着从指令集到编译器到调试器都是重新开发的,几乎所有的软件都需要移植和重新编译,这使得开放源码的处理器的开发尤其困难。如果设计实际系统,人们更关心的是如何能解决问题。 5)厂商支持。正是由于这些挑战的存在,开放源码硬件的活动目前更多的集中在大学和研究机构中,尤其在不发达国家中,更多起着硬件设计知识传播的作用。不过,谢凯年对电子工程世界说,中国其实是最适合学习开源硬件,因为中国的IP保护相较很多国家还是较弱。 就像开源软件在中国已拥有大量拥趸,开源硬件也终将迎来那一天。 |