IP的崛起
在过去的十年里,集成电路的复杂性和费用的飞涨导致新的设计风格,称其为片上系统(System-on-Chip,简称SoC)设计。最初SoC这个词是保留给可以支持嵌入式处理器和外设的ASIC设计,但是今天进行的FPGA提供了非常类似SoC的平台。由于其巨大的复杂性,这些芯片只能有效地使用基于可重用的即插即用的组件的方法构建。这些可重用的硬件组件被称为知识产权核(或者模块或者宏),或者简称为IP。IP一词来自于专利许可和源代码的知识产权的法律问题。今天,IP通常在ASIC和FPGA SoC设计中都有使用奥。
IP类型
IP有各种形式,其从高度灵活到高性能的不同性能有着广泛存在。具有高度灵活性的是软IP。软IP需要源代码形式体现,典型的是基于VHDL和Verilog语言,其可以被引入到用户设计开发的早期阶段,并和用户的设计代码一起进行综合。软IP是最灵活的,因为其往往是参数化的,所以客户可以配置。由于软IP是独立于工艺/器件,相同的IP可以从一个设计到另一个设计或者从设计一代到下一代重复使用,因而不存在过时的问题。例如Zipcores公司多功能视频控制器以VHDL语言形式提供,可以用于任何FPGA或者ASIC器件肯。
与软核相对的还有硬IP。硬IP是在硅片中严格实现或者以一种固定的物理设计布局的形式体现,用于特定处理工艺或者硅片平台。可用于Xilinx Zynq SoC的ARM的双核Cortex-A9处理器就是一个典型硬IP的例子思。
介于软核和硬核的是固核IP。固核IP以网表形式存在,其经过了性能优化,且可以通过布局布线工具完成实现。基于网表的TTTech ARINC 664/AFDX核就是一个固核IP的例子。
值得一提的是任何形式的IP,即使是软核IP都会以某种方式阻止反相工程或者复制。例如,软核IP通常以加密方式提供给客户,但可以通过工具被整合到设计中,其是以黑盒形式给用户呈现出来的。
和符合IP相关的一个术语是COTS(Commercial Off The Shelf)。其代表商用货架产品。在取证的上下文中对于IP的讨论是不完整的,没有提及COTS。COTS是指设备(各种设计层次和复杂性)是由个别公司针对大众市场所创建。COTS可以指整个板卡或者微处理器芯片(即COTS处理器)、ASSP(Application Specific Standard Product)、DSP等等。但是有时候特别是在取证指南中,术语COTS是指IP(如COTS IP)。COTS IP可能意味着无论是以前描述的任何一种还是一种硬核IP,其真正做为硅片平台预建的一部分。例如,嵌入在Xilinx公司的Zynq器件中的ARM双核处理器可以考虑作为COTS。另外一个复杂因素是COTS也可以指的是空白的FPGA芯片本身,其不包含用户编程到器件中的任何定制设计程序。
高新企业,科研院所与IP的使用
IP无疑是今天所看到复杂设备的推动者。不寻常的是在新设备中有80%都包含有现有的IP。通讯标准和通用接口导致了IP的方便使用,并在启动了当今的“即插即用”设计风格。在几乎所有的电子行业领域,IP的使用很普遍。这是因为它允许设计人员快速有效地开发复杂的设计。
是对于IP的使用主流是个规则例外。该行业通常更关心的是使用经过验证的技术,而不是利用最前沿的技术。虽然这被认为是采用落后技术,但是有很好的理由---对于安全和安全性的考虑。这些关注给他们带来了对设计过程本身的附加需求(即认证标准),这进一步的复杂化和延迟采用新技术。然而,在高科技企业和科研院所设计中,对于政策和取证的考虑一定程度放缓了对IP的采用,今天的IP使用将打破这些障碍。
提高生产率的拉动和新技术能力催生了更小、更快、更全面和低功耗设备,这将强力驱动在高科技企业和科研院所领域采用IP。减小设备尺寸、重量以及功耗的需要将导致更激烈的竞争。生产效率的提高也需要降低在该领域出了名的项目开发费用。SoC器件为这方面的压力提供了一个答案,使用IP是开发这些种类设备的一种手段。
高科技企业和科研院所设计中使用IP的主要问题是认证需求,其要么是含混不清要么是极难满足,留给DO-254申请方的是想知道如何甚至是否能够使用IP,并寻找答案和解决这一难题的解决方案。
DO-254背景和IP政策的演变
RTCA/DO-254在2000年代早期所开发以及由FAA、EASA和其他认证当局在2005年引用为官方政策,以提供作为“机载电子硬件设备保证指南”。所编写的该文档适用于所有机载电子硬件的开发,从最小的组件到现场可替换单元(LRU)。然而,当其由FAA通过AC 20-152正式引用的时候,FAA缩小应用范围,主要集中在对“定制微码组件”的开发上,如采用现今的术语和工艺的PLD、FPGA、ASIC和SoC类型的设计。而DO-254中没有引用IP,其只是在第11.2章节提到了COTS,特别指出的是单独设备级别(如芯片或者板级)。在第11.2章节中的COTS的一些信息可以适用于IP,对其调用的范围重新划分使得这部分的申请变得不清楚。
后来的指南文档(发布于2008年),Order 8110-105,其目的是向负责执行DO-254取证当局提供更多的指导,尝试澄清在“定制微码组件”(即在DO-254申请的官方层面)背景下对COTS的使用。Order 8110-105首次在机载电子硬件政策中引入了“COTS IP”术语。通过以下陈述,基本上否定了DO-254第11.2章节对COTS的讨论:
“Though AC 20-152 recognized RTCA/DO-254 as an acceptable means to gain FAA approval of complex custom micro-coded components, the AC doesn’t recognize RTCA/DO-254 as an acceptable means to gain design assurance for COTS components.”
“虽然AC 20-152认可RTCA/DO-254可以作为复杂定制微码组件获得FAA批准的可接受方式,但咨询公告没有认可RTCA/DO-254作为一种可接受方式以获得COTS组件的设计保证.”
Order 8110-152 继续描述IP和应该如何从一个DO-254符合的角度处理。基本上,其简单的注意事项如下:
“在许多不同的应用中意在提供特定的功能或能力,COTS组件可能会或可能不会被采用严格的设计保证方法(如RTCA/DO-254)所开发。鉴于此,我们必须确保申请方和硬件开发者表明,所使用的COTS IP符合适用的需求、法规、用于该项目的政策和指南。”
这将导致一个大问题---如何来做?
在Order 8110-152中继续描述:
“COTS IP可用性不会自动地保证其以一种方式能用于符合需求、法规、政策和指南。根据不同的COTS IP的复杂性和文档的可用性,申请方和/或硬件开发者可能有显著的工作表明符合系统或者设备。注意:作为一个网表的COTS IP核和COTS处理器核(软核或者硬核)可能没有足够的可用文档以证明其符合性”
换句话说,仅因为COTS IP有效并不意味着在DO-254项目中使用可以被接受。如果要使用它,需要准备大量的工作来表明其符合性。
Order 8110-152中也增加了以下内容:
“安装在机载系统或者设备中的SHE/CEH中使用了COTS IP,其应该满足适当的功能和安全相关的需求。RTCA/DO-254的第11.2章节未必能够为在SHE/CEH中所应用的COTS IP提供足够的设计保证,以支持A和B设计保证等级、其它安全关键和功能。结果是申请方可能需要为COTS IP开发或者增加系统架构缓解、组件验证、测试、分析和其它生命周期数据。所需的所有这些用于证明其预期功能,表明其没有不合适的行为,满足使用的法规和达到其需求”
基本上来说COTS IP,如果集成到需要符合DO-254的设计中,并没有特殊的待遇。其也必须要被表明符合标准,这对于申请方来讲是个很大的负担,尤其是设计保证级别为A和B的设计。
Order 8110-152也尝试提供可能的潜在可接受的符合方式(假设IP没有按照DO-254要求开发):