>
首页 » 业界动态 » 开放源代码的软微处理器开创了设计的新时代

开放源代码的软微处理器开创了设计的新时代

作者:  时间:2007-11-30 21:20  来源:

FPGA设计者正在把软微处理器嵌入到越来越多的电子系统设计中。因此,FPGA供应商和第三方知识产权(Intellectual Property IP)供应商开发了许多软微处理器,而获得授权许可的方法也多种多样,最近的方式是开放源代码。

由于设计者在开发软微处理器的软件代码时投入了大量的时间,所以理解相关许可模式的含义非常重要。

困难的决策

一旦做出了用软微处理器的决策,设计者必须决定采用哪种许可模式才最能满足他们的需要。对于软微处理器和微控制器,FPGA供应商主要使用四种许可模式,而第三方IP供应商大部分都使用付费IP模型。

模式1:付费IP

为FPGA提供软微处理器的传统模式是付费IP。该交货模式存在4种挑战:1. 使用微处理器开发工具必须付费,并产生HDL代码。若要继续使用开发工具,例如软件维护,每年都要付款。2. 微处理器的HDL描述是加密的。这限制了设计者试图优化设计的想法,设计者依赖FPGA供应商来修正错误。3. 对那些FPGA供应商来说,支持微处理器的开发资源是有限的。不是设计者而是供应商定义了资源的优先权。4. 付费IP许可证条款限制了设计者使用供应商提供的FPGA器件时的灵活性。

由于设计者积聚了大量为微处理器开发的代码,要转向另外一家FPGA供应商就会很困难。供应商对设计者的这种处境非常了解,因而设计者没有能力转换供应商的事实消除了供应商之间的竞争压力,减少了供应商对客户的关注程度也限制了将来的价格让步。

模式2:免费的参考设计

免费的参考设计消除了与付费IP模式相关的两种挑战。没有首笔支付费用当然是很有吸引力的,事实上这些设计是以源代码的形式提供的,这样就能够获取设计的结构。然而FPGA供应商对设计所有权的拥有使设计师缺乏为设计开发额外代码的动力。最终和付费IP一样,参考设计的实现被局限在供应商的器件结构上。

模式3:加密IP

加密IP是一种新的尝试,试图对付费IP方式进行挑战。在此模式,使用FPGA设计工具将IP混合在设计之内,并产生加密位流。为了使用这个位流,要购买预编程密钥的特殊FPGA,这种特殊FPGA的价格要高于标准的FPGA。这种方法消除了首笔支付费,并能够在FPGA内使用标准的微处理器结构。标准结构的使用允许代码在非FPGA解决方案中实现,例如独立的芯片和ASIC。然而设计者再次发现他们仍然被锁定在单一的器件供应商上。代码缺乏能见度,使用该方法还是无法改变由供应商来主导开发模式的状况。

模式4:开放代码

开放源代码方法承诺要解决其它许可证模式的棘手问题。开放源代码提供可见的代码,使设计者理解设计的功能,并能对之进行优化。为设计者修改代码提供了灵活性和知识产权,鼓励用户将他们对设计所作的改进提供给更多的开发团体。开放源代码是免费的,最重要的是它的可移植性,设计可以在任何FPGA结构上实现,或者在ASIC这样的非FPGA上实现。

GPL:针对软件而不是硬件的开放代码黄金标准

开放源代码的运动起源于软件界,有许多开放源代码许可证的方法已经被使用,其中颇受欢迎的一种是GNU通用公用许可证(General Public License,简称GPL)。作为接受责任或者要求的回报,这个许可证给予用户几个重要的权利。这些权利有:1.有权使用和修改软件。2. 有权再分销软件和衍生的产品。3. 需要在GPL的许可下进行分销,并提供许可证给那些接受分销的客户。4. 需要申请GPL许可证,并基于在GPI许可下收到的资料进行工作。5. 需要构造基于在GPL许可下收到的资料进行工作所需的源代码。6. 在责任方面的限制。7. 需要保持原始版权记录,并清楚的标明所做的修改。

GPL在保护原创者对其成果的权利、保证该成果仍能为公众所采用以及满足未来用户需求这三者之间找到了平衡,这是在软件开发组织中GPL受欢迎的主要因素之一。然而对于最终要用硬件来实现的知识产权来说GPL是有缺陷的许可。

针对硬件分销时使用GPL的两个挑战

第一个挑战是要求提供许可证的副本和获取源代码,这个挑战与目标为硬件的GPL知识产权许可相关。用软件的形式进行分销时,很明显这是合理和重要的,例如把修改的代码放到网站上,或者把它提供给用户。然而设计物理实现时,例如用FPGA,这是有问题的。设想一下发运GPL的副本和系统的每个版本会是何种情况!

第二个挑战是对许可整个衍生产品,包括GPL下基于GPL的代码的需求。设计者经常要使用GPL和所有权资料。对于软件,把基于GPL的代码和所有权代码分开作为两个独立的编译和存档程序通常并不困难。对于硬件,单独的布局和布线产生单个设计,这是不可行的。

为了提供优化的用于硬件实现的开放源代码许可证模式,例如LatticeMico32嵌入式微处理器,Lattice开发了开放IP核许可证协议,明确地提到了GPL的限制。为了解决GPL要求发运许可证的副本,Lattice协议做了保证:“供应商赋予你个人非独家的权利使用由软件建立的目标代码,或者用器件物理实现设计的衍生产品,诸如可编程逻辑器件或专用集成电路。你可以分销这些器件而没有许可证的副本或者源代码。”

解决了GPL要求:把基于GPL代码和所有权代码分开“供货商赋予你个人非独家的权利,可以修改软件源码并把修改后的源码与其它源码合并成衍生产品。根据本许可证条款,只要满足以下两个条件,你能够以你自选的格式和方式分发销售该衍生产品,而无需支付费用。这两个条件是:第一,你在安排设计时,要确保这个衍生产品在整体设计中是一个可以识别的模块;第二,在分发销售衍生产品时,要用公认的机器可读的格式来发布包含该衍生产品的模块的源代码。”

采购需谨慎

由于嵌入在FPGA内的软微处理器越来越流行,设计者应小心关注许可证条款。本文分析了4种许可证方法,除了开放源代码方式,其余的都限制了设计者对今后FPGA的选择。其中一些方法还限制了设计者得到优先代码的能力,阻碍了理解,并需要依赖IP供应商来修正错误。

软微处理器的开放源代码许可证使设计者能灵活地改变FPGA结构,清晰地理解处理器的结构。然而,即使拥有开放源代码,也必须关注许可证的细节。因为在目标为硬件的知识产权应用中(包括销售无需许可证的硬件,以及用单个硬件实现混合开放代码和所有权代码),许多在软件领域流行的开放源代码许可证仍然会带来重大的挑战。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

统一通信必须要回归本质

IP  通信  2013-08-23

评论:智能仪器仪表现状及发展趋势分析

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09
在线研讨会
焦点