FPGA能否推动开源硬件?
2008-05-05
作者:向农
2006年Sun公开其UltraSparc芯片的设计细节,以便Linux操作系统和各种版本的BSD Unix操作系统更容易地与其兼容。另外,Sun公司总裁Jonathan Schwartz还宣布Sun将使用GPL(General Public License)来管理芯片设计的公开发布。
凭借Sun在产业界的地位,Sun的这个举动在当时将开源硬件推向人们注意力的焦点。然而传统的半导体厂商对此响应者廖廖,FPGA厂商赛灵思" title="赛灵思">赛灵思因其特殊的角色而大声呼吁,并且将之带到了中国,但其做法能否推动开源硬件在中国的发展?
开源硬件悄然兴起
2008年4月20日,在无锡国家集成电路设计基地,一群电子工程相关专业的大学生收获着自己辛勤努力的成果——在赛灵思举办的“中国电子学会Xilinx开放源码" title="开放源码">开放源码硬件创新大赛”中取得各种奖项。必须承认,这些迸发着灵感的设计还是稚嫩的,但也许这些学生自己也不清楚,他们是在见证一段注定要被记住的历史——开源硬件在中国的艰难前行。
随着芯片设计越来越向SOC方向迈进,即在一个芯片中集成很多现有的IP核,以快速设计出系统。这时,IP核的可重用性和可更改性就成了最关键的问题,而开放源码的IP核无疑在这方面具有先天优势。
1998年,Delft University of Technology 的一些学生和老师在互联网上发起Open Design Circuits Group, 目的是开放电路设计并把它发布在网上,尽管这个小组的活动日渐稀少,但却引发了日后两个著名的开源硬件网站的产生:Opencores 和 OpenIPcore(2000年时,OpenIPcore 合并入Opencores)。越来越多的学校学生选择把他们的设计公布到网上,并把许多功能集成到一起,以期完成很复杂的功能。
中国有案可查的开放源码硬件项目是2001年3月启动的OpenARM项目,在“中国芯”盛行的那几年里,不少学校和研究单位参考开放源码的处理器设计了自己的微处理器,这个时期,中国利用开放源码硬件的资源进行IC设计的方法开始悄然流行。
未来将是Designless
但就像Linux的蓬勃发展,部分得益于IBM 等大公司的积极推动,开源硬件的发展,也离不开相关硬件厂商的支持。赛灵思公司大学计划部中国区经理谢凯年告诉电子工程世界,赛灵思会一直推动开源硬件,而开源硬件设计大赛只是推动的手段之一。
商家从来都是无利不起早,赛灵思自然也不是在做公益事业。从中国工程院院士许居衍的论文《半导体特征循环与可重构" title="可重构">可重构芯片》中,我们可以找到端倪。根据许居衍提出的“许氏循环”,半导体产品的主要特征将沿着“通用”与“专用”循环波动,每十年一次,从2018~2028年,将会重新走向通用。
资料来源:《半导体特征循环与可重构芯片》(许居衍、尹勇生)
许居衍的判断依据是,因为“可重构计算是一个难度颇大、涉及面甚广的课题,尽管当前很多人在研究,但是无论在器件结构、系统结构还是在设计方法学方面,均存在不少问题,仍有很长的路要走。我们相信,可重构计算技术的发展,终将推动主流应用进入U-SoC通用波动,仅仅通过对“毛坯芯片” (Raw Chip)的配置编程就可以得到用户自定义的功能电路,从而引导半导体产业结构演变,促进不做芯片设计而专事芯片应用创新的Designless 商业模式的新兴起。”
所谓的Designless,就是根本无需设计,自动生成集成电路,工程师只需要关注在应用和功能上即可。但要实现Disignless的前提是必须软硬件都开放,因为如果只开放软件,你不知道细节,因此还是无法生成一个设计。
因此,许居衍提出了“从MPU的‘软’编程到FPGA的‘硬’编程看,一个逻辑的发展应是‘硬’、‘软’均可编程,即算法可编程、可重构器件也可编程的U-SoC。”
谢凯年认为,这意味着FPGA是极有前途的,因为现在只有FPGA才能做到在软硬件间游刃有余。事实上也是如此,与开放源码软件的完全免费不同,开放源码硬件最终要物理实现才能验证其设计是否达到预期目的。可编程逻辑器件特别是FPGA, 因其快速灵活、初期投入成本低廉,而成为开放源码硬件最适合的开发平台。可以看到的是,Opencores的设计主要都是在FPGA上进行。
开源硬件挑战重重
虽然FPGA为开源硬件的发展起到了基础和推动的作用,但我们也很清楚,开源硬件的发展还在面临很多挑战。事实上,虽然开源硬件从诞生到现在已将近10年,很多人付出了大量努力,但至今采用开放源码硬件运用在实际应用系统中的案例几乎没有。
究其原因,开放源码硬件面临的问题和挑战主要有:
1)免费EDA工具的获取。尽管有Alliance 和 gEDA 等EDA工具可供使用,但它的功能和易用性和商业EDA软件相比还是不能相提并论。
2)板卡制造成本。自己制作一块FPGA原型系统板的成本是相当可观的。
3)上市时间。在电子产品数月就换代的时代,上市时间是电子系统设计的一个关键因素,即使是采用商业IP, 都有可能遇到意想不到的整合问题;而目前开放源码硬件在文档完备性,稳定性上,技术支持方面存在的诸多问题,更是使务实的设计者望而确步。
4)软件丰富性和工具链问题。如果采用开放源码的处理器,这就意味着从指令集到编译器到调试器都是重新开发的,几乎所有的软件都需要移植和重新编译,这使得开放源码的处理器的开发尤其困难。如果设计实际系统,人们更关心的是如何能解决问题。
5)厂商支持。正是由于这些挑战的存在,开放源码硬件的活动目前更多的集中在大学和研究机构中,尤其在不发达国家中,更多起着硬件设计知识传播的作用。不过,谢凯年对电子工程世界说,中国其实是最适合学习开源硬件,因为中国的IP保护相较很多国家还是较弱。
就像开源软件在中国已拥有大量拥趸,开源硬件也终将迎来那一天。
注:文章中部分资料引用自赛灵思公司大学计划部中国区经理谢凯年整理的《开放源码硬件简史》,特此感谢