霡霂的个人空间 https://blog.eetop.cn/maimu [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

开放硬件设计的状况

已有 764 次阅读| 2006-8-15 23:03 |个人分类:备份

天气: 晴朗
心情: 高兴

面向大众的免费芯片

开放硬件设计的状况
IBM developerWorks


Jamil Khatib, 硬件设计师, Siemens-ICT

2000 年 8 月 01 日

    Jamil Khatib 回顾了用于芯片设计的开放硬件模型。在对开放硬件工程做了简单介绍之后, 他论述了为什么硬件设计应该服从开放源代码软件模型的原因、当前的开放硬件组织的努力方向以及将开放模型从软件转换到硬件中所出现的问题。

开放硬件的发展正突飞猛进。由于开放源代码取得了成功,并且日益流行,工程师们已经开始以同样的方式着手设计硬件。由于有了工程师国际社区,来自各大学(如 Delft)的学生以及公司(如 Sun Microsystems)已经加入到这场竞赛中来。开放硬件设计范围从简单的 IP 内核和原型板一直到 CPU 和主板。

社区中两个最具影响力的组织(请参阅 参考资料),OpenIPCore 和 OpenCores,正在为从事开放硬件开发的工程师定义通用的设计概念和许可协议。开放硬件设计的前景主要取决于合法设计保护(与 GNU 许可证相似)和 EDA (Electronics Design Automation,电子设计自动化)工具的可用性。开放硬件社区希望根据在软件开发方面开放源代码模型成功的策略,在市场上与商业硬件技术进行最后的较量。

历史一瞥

现在,软件设计和代码正慢慢地从其商业束缚中解脱出来,开放模式也正在往硬件设计领域转换。在 1998 年初,Delft 大学接待了一群学生、教师和工程师,创建了因特网上的开放设计电路组,致力于开发开放电路并在 Web 上发布开发成果。虽然开放设计电路组已不再活动,但一些工程师和学生从这个组得到了灵感,他们继续完善自己的开放硬件社区并促进这个领域的发展。现在最积极的组有 OpenCores 和 Free-IP 组织,主要设计针对 FPGAs (Field Programmable Gate Arrays) 的内核。

许多来自 Delft 和 Birzeit 等大学的硬件设计学生越来越多地选择在因特网上发布他们的工程,并工作在一个开放的环境下,互相协作,以期设计出功能更全面、更强大的硬件。当前由网上的学生发起的开放硬件工程,包括从 LART 项目和 OpenRisc1000 CPU 到 OpenCores 组织的许多核心部分。因特网上的协作和学生的参与发布、从事开放硬件设计已经持续完整地形成了一个稳定的开放硬件社区。



开放硬件设计发布和专业审查

开放硬件可生产出功能全面且适用范围更广的硬件设计,因为用于实现这种设计的概念模型不是由某个人或某个组织的需要决定的。硬件设计人员之间的协作使得开发出的产品更具稳定性、创新性,功能更全面,就象软件设计人员之间的协作一样,他们已在开放源代码领域作出了表率。硬件设计稳定性来自于多方的创新和拥有不同背景的开发人员在网上所做的大量调试工作。与此形成对比的是商业硬件设计仅由生产厂商和其商业伙伴进行测试。在这样一种有限的开发领域里,硬件设计经常因商业兴趣的影响而导致开发出的系统不稳定。

参与硬件设计的学生很感激这个开放领域,因为它为他们提供了一个论坛,使他们能够相互讨论,共同进步,后来也证明他们的专业发展的确因此而更加全面。硬件开放方面的开放趋势,也为初学者打开了专业工程师世界的大门,他们可向这些开发人员(同时也为商业革命而工作的人员)学习。

在硬件设计世界里,芯片正日益变大。芯片尺寸的增加意味着设计工作将变得更加复杂,因为他们必须操作、控制更大的系统(称为 SOC 或 "System-On-Chip" 设计)。为高效率地工作,SOC 模型要求工程师重复利用许多以前的设计模型。这种方法的问题是封闭源代码硬件设计已经对私有设计的文档产生了伤害。过去硬件从不倾向于“共享” ,所以不兼容的、未经过足够证明的系统成为了标准。当前硬件设计档案文件的这种混乱状态说明,硬件设计的商业所有权正在阻碍在新的 SOC 模型下更大规模、更快设计的技术发展。

在另一方面,开放硬件设计确保核心设计文件和文档可在开放平等评论的基础上供公众审查和进行专业修改。这使得开放硬件设计模型成为可重用内核的最好来源,并且使定制和改造以满足单个硬件需要的过程更加容易。这些内核还可随时得到支持,因为设计组的成员可提供帮助,而不必考虑代码保密问题并将他们的产品交到普通大众支持部门。

除我们刚才看到的所有技术优势之外,开放硬件模型将开始适应商业世界的需要。Sun Microsystems 已在 Web 上免费发布了它的 PicoJava 和 microSparc 处理器的设计文件。Sun 已经制订出的开放硬件内核与开放硬件定义的主要观点一致,但要求在 商业硬件上实现内核时要付费。其它公司,主要的可编程逻辑设备厂商,为他们的设备提供免费软件以减少硬件设计和个人配置的成本,轮流鼓励使用他们的设备(适应开放硬件)。这些示例表明开放硬件模型帮助公司的一些方法可增加对他们的设备系统的使用并改善设备系统的性能(通过与开放硬件工程师社区合作及来自社区的反馈)。

一些会议如 DAC2000 和 FDL2000 早已安排了开放硬件社区的功能展示,典型情况下包括设计、组织以及开放源代码 EDA 工具。在这些会议部门上的努力,表明在计算机行业对开放硬件设计和工具的需求及它们的重要性都在逐渐增加。



开放硬件定义

OpenIPCore 组织对开放硬件的定义基于下列规则:

    * 所有的设计文件均可免费获得。包括 schematic、HDL 和 layout 文件。
    * 软件和固件接口如驱动器、编译器、指令集和寄存器接口应该是可获取的并且开放源代码。
    * 所有的信息和文档,如应用说明和界面信息都应该公开提供。

简而言之,为指定一个工程遵守开放硬件规范,修改、使用和实现硬件设计所需的全部信息都应该免费提供。



开放硬件工程

许多企业和组织当前正在从事开放硬件设计。OpenCores 和 Free-IP 组织正在开发主要针对 FPGAs 的几个内核。这些内核的设计中有 CPU、滤波器及算术和内存内核。其中一些已经具有很好的工作性能(OpenCores' OR1K CPU 就是一个很好的示例)。

Free Model Foundation 是另一个组织,为不同的 IC 制造免费 HDL 模型(技术思想来自 Intel、IDT 和 AMD)。这些模型可帮助设计人员以最小的成本模仿使用组件的任何系统。使用模型首先是帮助设计人员选择组件。结果,这些开放源代码 HDL 模型通过减少组件成本和设计创新帮助公司增加其设备的普及性。

F-CPU 是一个自由 CPU 是由一群志愿工程师白手起家设计出来的。他们的主要目标是开发一个完整的、功能强大的自由 CPU 设计。这些工程师讨论了包括 CPU 实现和设计问题,从指令集设计到测试和原型问题。

European Space Agency (ESA) 已经在 LGPL 条款下发布了它的 Leon CPU 的所有设计文件。CPU 的体系结构与 Sparc 兼容并可在 FPGA 上实现。

董事会和系统设计人员也开始寻找开发开放硬件的方法。 例如,Linux Advanced Radio Terminal (LART) 工程和 Open Power PC 主板工程正在尝试开发完整的开放系统板。LART 板在真实的硬件上实现,已经可以通过因特网购买。OpenCores' OCRP-1 FPGA 原型板的设计也可在 Web 上获得,可通过站点(请参阅 参考资料)订购。

但目前大多数开放硬件设计仍未找到真正付诸应用的方法。这些设计工程仍然被作为研究应用程序管理或用于证明概念和算法(后者中有些在真实硬件上得到了实现)。OpenCores 组织的 OR1K CPU 已经在单个 FPGA 上测试过并以大约 100MHz 的频率执行了一些程序(其它几个 free-IP 内核也在真实硬件板上测试过)。不幸的是,许多实现过的设计还未进入大规模生产,这纯粹是因为缺少资金和消费者支持。

实际上,有一些公司对使用开放硬件设计作为产品解决方案很感兴趣,主要是因为它可以减少销售产品所需的时间。开放硬件设计已经过许多工程师的调试,由于他们的设计带有通用倾向,且文档清楚,所以很容易修改。这意味着,使用开放设计时启用新硬件并进行测试比使用封闭设计花费要少得多。到目前为止,由于缺少开放硬件模型的信息和公开性、还没看到具体的商业组织主动为这个领域燃起希望的火花。

EDA 供应商过去已经使用开放硬件设计来检查和演示他们工具的强大。例如,Synplisity 使用 Sun 的开放源代码内核演示了他的新 ASIC 原型“验证”工具。Synplisity 的主要动机是,这样可以避免开发新的真实设计来测试他们的工具。于是,他们使用已测试过的设计作为模型以便于进一步创新。理想情况下,随着开放硬件的商业测试的增加,一些公司如 Sun 开放他们的硬件设计以供公共评论,开放硬件模型将获得更多的商业市场。


OpenIPCore 组织

OpenIPCore 组织已经采取自己的方式推广开放硬件模型。该组织努力形成开放硬件设计的基础并解决初步的设计问题。例如,他们尝试提供交流天地以便开放源代码 EDA 工具的设计人员和开发人员之间进行通信。OpenIPCore 然后为使用开放源代码 EDA 工具的某个工程指定设计流程。

OpenIPCores 还定义了开放硬件模型的保护模式和许可证,(与开放源代码软件模型相同)这是影响开放硬件设计扩展到商业领域的最重要因素。由于担心版权和利益受损,设计人员和公司经常避免公布他们的设计文件。此刻,有一些暗示许可和保护模式 -- 基于版权、专利权和 NDA -- OpenIPCores 正在努力解决许可证和专利权问题。

OpenIPCore 还为它的业务推出了一种新的商务模式,鼓励商业供应商的资金和技术支持,没有这些它就无法有效地运转。设计支持,开放硬件商务模式之一,创建了伙伴关系,在这种关系中公司提供工程小组,轮流接受 OpenIPCores 对其所有的开放硬件设计工作的支持。但是,当然推广开放硬件的最重要的进展还是开放硬件设计的实现。

由于目前大多数设计都是基于可编程逻辑设备,所以任何销售和制造设计的公司都将获得声望,并通过向新的开放硬件市场销售设备获取收入,这种销售活动由许多社区的设计人员监控。这些设计人员将选择使用他们的商业产品(支持开放硬件)中的设备,主要是因为他们已经在开放硬件上测试过自己的设计。

OpenIPCore 大体上参与了与开放硬件设计相关的几个工程(而未参与特定的开放硬件工程),它主要处理如编码风格、内核接口和开放硬件设计的编译以及分发 CD-ROM 上的开放源代码 EDA 工具等方面的问题。通过从事这些一般的开放硬件问题,OpenIPCore 希望帮助设计人员找到他们更容易、更有效地需要的工具和预先格式化的设计。



开放硬件模型的当前困难

虽然使用开放硬件有许多优点,并且这种思想已经吸引了许多设计人员,但开放模型的实现在范围上和实用性上仍面临着一些问题。缺少标准社团和顶级商业公司的支持。这些集团不能向负责运转开放硬件工程的设计人员提供足够的文档,或者在开放工程或开放硬件使用的设计档案文件中包含先前的商业设计。随着出自开放硬件社区的设计和体系结构变得更好、更加实用,主动与社区合作的组织将会增加。随着主动性的增加,商业社团会感到一种动力,推动他们提供更多的设计信息和更好文档供开放硬件设计使用。

硬件实现的成本是另一个影响开放硬件设计扩展的因素。高实现成本已经促使开放硬件设计人员转向可编程逻辑设备上的 IP 内核设计,因为设备设计更具延展性,并且设备本身更易修改。由于以上原因,当前 OpenCores 的多数工程是基于这种方法的。为革新开放硬件,OpenCores 提供了一套内核和可编程逻辑板。

EDA 工具的成本也约束了开放硬件开发和设计。开放源代码社区正努力尝试与开放硬件社区合作,建立一个能比商业销售的 EDA 产生更好结果的新 EDA 工具。开放资源 EDA 工具涵盖了几乎全部硬件设计领域(已经可用的或正在发展中的)。关于更多信息,请查阅开放收藏家站点(OpenIPCore 工程之一,OpenTech CD-ROM,包含许多免费 EDA 工具和开放硬件设计)。



结论

开放硬件设计将不可避免地对硬件技术产生影响,就象开放源代码为软件开发带来革命一样。剩下的问题是这种革命将何时发生,如何发生。由于更具公开性,以及来自商业技术公司的支持,集成会变得相对轻松可使集成各方获得更多收益。这种方法还将打开设计人员、学生和用户之间的新的通信渠道。


参考资料

    * 您可以参阅本文在 developerWorks 全球站点上的 英文原文.

    * "Open hardware design trend: A survey"本文作者著

    * "Business Models for Open Source Hardware Design" 作者 Gregory M. Pomerantz

    * "Richard Stallman -- On 'Free Hardware'"选自 Linux Today

    * OpenIPCore 组织的 Web 站点

    * OpenCores 组织的 Web 站点

    * 免费模型工厂

    * Free-IP 工程

    * F-CPU 工程

    * Leon-1 工程

    * LART 工程

    * OpenCollector 数据库


关于作者   

Jamil Khatib 是一个硬件设计工程师,也曾担任过软件设计工程师。他参与过许多开放硬件工程如 F-CPU 和许多 OpenCores.org 工程。他曾为创建 OpenIPCore 组织提供过大力支持,并为创建 OpenCores.org 做出过贡献。目前他是 Siemens-ICT 的硬件工程师。可通过 khatib@opencores.org 联系他。 


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 1

    好友
  • 6

    获赞
  • 45

    评论
  • 3123

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 11:39 , Processed in 0.015120 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部