微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 开放源码硬件简史

开放源码硬件简史

时间:05-21 来源:eefocus 点击:

开放源码硬件史前时代

早在60,70 年代,电子爱好者就开始互相交流电路设计,PCB版图, 形成了开放源码硬件的雏形。在中国,这个时期,出现了很多以业余无线电和电子设计为主题的书刊、杂志。

集成电路出现后,越来越多的功能集成在一个芯片中, 电路越来越复杂, 设计制造集成电路的门槛越来越高,开放和共享集成电路设计变得越来越困难。

ISA|0">ISA(指令集构架)的出现,使得电子行业出现了软件和硬件大分工,硬件厂商大规模生产具有ISA的芯片(如微处理器),以取得芯片生产的规模效应, 软件厂商进行软件开发,以适应不同应用之间个性化的需要。

标准的ISA, 比如X86指令集,加上标准的硬件构架, 比如PC、使得软件开发人员可以在同一平台上互相交流软件设计,这导致了90年代开放源码软件的蓬勃发展。

芯片设计,在80年代90年代, 随着EDA|0">EDA技术的日臻完善,硬件设计越来越自动化,以HDL语言为核心的芯片设计越来越像软件设计。

90年代末, 随着互联网以及开放源码软件的盛行,很自然地,人们就想到可以利用开放源码软件的理念进行硬件设计,尤其是芯片设计。

由于芯片设计的复杂性, 一次设计一个完整的系统难度是相当大的, 因此, 开放源码硬件社区通常采用的自底而上的方法进行,也就是,先设计小的功能模块(称为芯核,core, 或者IP), 每个功能模块都工作正常了,再搭建大的系统,比如片上系统(SOC)。

开放源码硬件的产生

1998年,Delft University of Technology 的一些学生和老师在互联网上发起Open Design Circuits Group, 目的是开放电路设计并把它发布在网上,尽管这个小组的活动逐渐稀少, 但它启发了后来最著名的两个开放源码硬件网站的产生:Opencores 和 OpenIPcore.越来越多的学校学生选择把他们的设计公布到网上,并把许多功能集成到一起,以期完成很复杂的功能。 在2000年的时候,OpenIPcore 合并入Opencores.

Jamil Khatib是Opencores的中的教父级的人物,1975年出生的他,写了非常多的奠基性的文档,探讨开放源码硬件的定义以及商业模式,参与了最早的F-CPU,gEDA等项目的开发,2006年他在Brandenburg University大学念研究生。作为阿拉伯人,他的还专门撰文探讨了开放源码硬件如何对阿拉伯世界的技术转移产生影响。他甚至还建议在互联网上除了http之外,还需要添加Hardware Computing Resource Protocol ,比如说 ``hcrp://'',专门用来进行硬件资源下载。

随着芯片设计越来越大,芯片设计越来越向SOC方向迈进,也就是在一个芯片中集成很多现有的IP核,以达到快速设计出系统的目的。这时,IP核的可重用性和可更改性就成了最关键的问题。而开放源码的IP核的无疑在这方面具有先天优势。因此,很多商业公司也逐渐加入了开放源码硬件的行列,例如,SUN公司,IBM公司。商业公司进行开放源码往往是有附加条件的,比如,对于学术界免费,但是如果商业应用,仍需要收费。

开放源码硬件现状

目前,开放源码的硬件中比较著名的项目有:F-CPU是第一个在互连网上设计的处理器,OpenCores中的OpenRISC项目,试图开发一个完全免费的RISC构架的处理器以及之上的SOC, 欧洲航天局(ESA)开发的Sparc兼容的Leon2处理器。

与开放源码软件的完全免费不同,开放源码硬件最终要物理实现才能验证其设计是否达到预期目的。可编程逻辑器件(PLD),特别是现场可编程门阵列(FPGA), 以其快速灵活,初期投入成本低廉,成为开放源码硬件最适合的开发平台。因此,Opencores的设计主要都是在FPGA上进行。

为了让开放源码社区的项目易于共同开发和沟通,通常会提供统一的开发板使用,例如,Opencores 社区广泛使用的Micro FPGA Board和OCRP-1 board这两款开发板,就是统一采用Xilinx公司的Vertix系列FPGA设计的。大名鼎鼎的OpenRisc1000 就是在这块板上开发设计的。

近年来,很多开放源码的处理器及总线基本开发完成,下一步就是在上面运行操作系统,编写各种设备驱动程序, 并配上丰富的应用软件。目前,Leon2 和Openrisc 1200 均可以成功运行Linux系统,为开放源码硬件和开放源码软件的社区融合打下了基础。

中国开放源码硬件发展状况

中国有案可查的开放源码硬件项目是2001年3月启动的OpenARM项目, OpenARM并不像他的名字所隐含的那样ARM处理器的设计相关。实际上,这个项目只是利用了现成的ARM 芯片,外面加上一块MEMEC 公司2002年3月(现已被Avenet收购)捐赠的Xilinx FPGA作为外围扩展的模块。 FPGA的引入¸ 使得该设计可以很容易地用HDL 代码的形式进行管理和跟踪。该项目后期还充分引入了OpenCores社区已有的成果,如Wishbone总线。

有趣的是,开放源码软件库sourceforge中也有一个OpenARM, 这个项目的ARM指的是"Application Response Measurement" ,而不是我们所说的ARM 处理器。

在"中国芯"盛行的几年里,不少学校和研究单位参考开放源码的处理器设计了自己的微处理器,这个时期,中国利用开放源码硬件的资源进行IC设计的方法开始悄然流行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top