开放源码硬件简史
开放源码硬件展望
摆在开放源码硬件支持者面前的一个颇有趣的问题是,"如果你要自己做一顿免费的晚餐,那么是否你做饭用米必须是自己种的,做饭用的锅碗瓢盆也必须是免费获得的 ?
一部分开放源码的信仰者坚持认为上述问题的答案是肯定的。因此,有一些人坚持开发了例如gEDA 的开放源码EDA工具。另一部分人则认为,开放源码硬件也可以利用商业工具和商业原材料,只要在此基础上做的系统设计开放出来就可以了。
在利用商业工具进行开放源码的设计方面,Xilinx 公司走在了业界前列, 例如,Xilinx公司开发的8位软处理器Picoblaze 是一种开放源码的8微处理器,而Xilinx公司的32位软处理器Micoblaze是在Xilinx公司EDK软件下支持的处理器,Xilinx公司给出了非常多的可供下载的参考设计,颇具参考价值。 再加上对uclinux的官方支持,可以在Xilinx提供的EDK工具的基础上,利用Xilinx的参考设计并加以改进, 迅速搭建嵌入式系统, 并在uclinux的基础上完成应用软件设计。
在Xilinx 率先宣布65nm 的FPGA量产时,广大开放源码硬件爱好者面临的是可以容纳数千万门的可编程逻辑。传统的自底而上的设计很难快速地构建如此大的系统。电子系统级设计(ESL) 可以用高层次语言来描述系统需求,并自动生成硬件设计。例如,Xilinx的XtremeDSP方案, 可以在Matlab中,用Simulink这种图形化的方式搭建复杂的数字信号处理系统(例如3G/B3G数字前端)。
在开放源码硬件世界,也出现了诸如利用SystemC等高层次语言描述的系统(例如SystemCDES).可以预计,随着开放源码硬件进一步普及和成熟,软件,硬件,系统设计,算法设计等会在开放源码的旗帜下日趋融合,数年之后,可下载的硬件设计 (Downloadable Hardware)可以出现在每个人的掌上。
开放源码硬件遇到的挑战
开放源码硬件从诞生到现在将近10年了,很多人为它的发展付出了大量的努力,但至今采用开放源码硬件运用在实际应用系统中的案例几乎没有。究其原因,开放源码硬件面临的问题和挑战主要有:
1)免费EDA工具的获取。
尽管有Alliance 和 gEDA 等EDA工具可供使用,但它的功能和易用性和商业EDA软件相比还是不能相提并论。对于"非完美主义"的开放源码硬件设计者来说,适当采用商业软件是一个可以考虑的方案。 在商业软件中,由于FPGA厂商的软件工具(比如XILINX的ISE, EDK,CHIPSCOPE,SYSTEM GENERATOR等)可以通过大学计划获得捐赠,使得利用强大商业软件的支持进行开放源码硬件设计变得可能。
2)板卡制造成本
自己制作一块FPGA原型系统板的成本是相当可观的上市时间,在电子产品数月就换代的时代,上市时间是电子系统设计的一个关键因素,即使是采用商业IP, 都有可能遇到意想不到的整合问题;而 目前开放源码硬件在文档完备性,稳定性上,技术支持方面存在的诸多问题,更是使务实的设计者望而确步。
3)软件丰富性和工具链问题
如果采用开放源码的处理器,这就意味着从指令集到编译器到调试器都是重新开发的,几乎所有的软件都需要移植和重新编译,这使得开放源码的处理器的开发尤其困难。如果设计实际系统,人们更关心的是如何能解决问题。 商业处理器更能满足这种需要。
4)厂商支持
Linux得以蓬勃发展,除了广大爱好者的奉献之外,IBM 等大公司的积极推动也起了非常大的作用。 而开放源码硬件的发展,也离不开相关硬件厂商的支持。
正是由于这些挑战的存在,开放源码硬件的活动目前更多的集中在大学和研究机构中,尤其在不发达国家中,更多得起着硬件设计知识传播的作用。
推荐阅读:
产、学 、研联手推动FPGA创新应用 Xilinx杯中国高校开放源码硬件创新大赛拉开帷幕
- 高带宽嵌入式应用中SoC微控制器的新型总线设计 (02-02)
- SoC前段(ARM)嵌入式系统开发实作训练(上) (02-28)
- SoC前段(ARM)嵌入式系统开发实作训练(下)(02-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 可配置处理器技术优势详解(05-15)
- 基于ADSP-BF537的视频SOC验证方案设计(05-18)