系统级芯片(SoC)时代已发展到即使是大规模复杂芯片也几乎可以机械地组装的程度。从一个很高的层面来看,它似乎已变成一个公式化过程:选择一个处理器、选择一条总线、把存储器和各种外设整合在一起,这就是所有的工作。不过,集成半导体知识产权(IP)却可能是一件非常艰巨的任务,IP是一些大型功能块,它们组成了SoC的许多不同的主要单元。
在考虑采取什么步骤来简化IP集成时,下述三件事情会立即跳入脑海。第一,如果IP采用标准化方式封装和描述,那么这肯定是有帮助的,因为尽可能多的EDA工具能够马上接受它,并能够将那些描述传递到整个设计流上。第二,IP模块彼此间必须能够在系统级环境中相互通信。第三,IP模块的质量和来源对设计工程师来说是最关键的。
在本文中,我们将围绕IP集成的不同侧面做一些深入探讨。最近在标准领域和IP质量方面都有很大的进展。我们将检视业界一些关键组织机构的活动,它们一直致力于在业内形成一致的IP标准。在工具、方法学以及互连架构方面新的选择多种多样。我们还将从实现流程的角度去讨论IP,以及它可能提出的特殊挑战。
标准的重要性
在任何行业里,标准都有利于行动的一致性。让每个人都说同一种语言,使用相同的术语和概念来描述组成一个产品的基本构造块和工艺,是非常重要的。
“采用标准将使客户对所购买的任何IP都适用于那一标准有信心,”ARM公司技术市场副总裁Keith Clark表示,“它至少已经在你所熟知的规则下进行了验证。这是它很自然的优势。此外,你可以期望市场上会有更多的符合任一给定标准的IP。”
在商用IP市场的早期,市场上存在着许多格式,而且在IP应该如何被封装问题上有严重的分歧,IP标准化走了一段很长的路。IP标准化的许多进步得益于三个关键组织的努力:Virtual Socket Interface Alliance(VSIA)、Open Core Protocol International Partnership(OCP-IP)和“工具流程内部封装、 集成和复用结构(即SPIRIT组织)”。
这三个组织的目标是以一点点不同的方式使设计人员更容易进行IP集成,但都设法避免工作有重叠。事实上,在许多情况下,它们各自的努力是高度互补的。作为一个整体,这三个组织的工作旨在为IP集成构建出一个复杂的基础架构,而这需要IP供应商、EDA工具供应商、晶圆代工厂、集成器件制造商(IDM),以及最重要的设计工程师之间的通力合作(图1)。![]()
图1:IP集成只是涵盖从IP模块设计到硅实现这个非常复杂的基础架构中的一部分。
自从1996年成立以来,VSIA的使命就是开发实现多种不同来源IP内核混合和匹配所需的技术标准。按VSIA首席技术官Gary Delp(他也是LSI Logic公司RapidChip项目组的杰出工程师)的话来说,VSIA致力于“建立一个能够用来讨论、互连和比较IP的公共词汇表”。
2004年重组后的VSIA开始围绕“Pillar(或工作组)”开展工作。VSIA的IP Quality Pillar最近宣布推出QIP Metric 2.0版,它可以极大地减少作出购买一个IP决策和集成该IP所需的时间。QIP Metric工具是一个广泛的beta测试计划的结果,该计划包含了许多领先的EDA和半导体公司。
QIP Metric帮助IP供应商和用户之间基于一个客观的基础进行交流。除了建立起了一个基于业内已认可的特性表测量某个内核特性的基础之外,它还为用户观察IP供应商的总的IP开发方法提供了方便。这使得用户有可能对该IP进行持续不断的改进。反过来,它也拉平了供应商的工作范畴,并使得集成商能够评估不同竞争对手的相似内核。
QIP Metric 2.0版比它的上一版更易于使用,并作出了更多的改进。这一版本还包含更简单的IP认证度量标准,包括文档、交付时间、特别针对IP集成商的信息,以及IP开发实践。它还包含了最新增加的供应商评估。此外,对软IP的要求也进行了重新调整。
“我们正在与无晶圆厂半导体协会进行合作,以将QIP Metric扩展到硬IP,”Delp说,“预计今年夏天可以看到硬IP标准的beta度量标准,之后将发布正式标准。此外,我们还在进行IP验证和软件的质量评估标准开发工作。”
IP标签
要在整条IP供应和工具链上达成确保IP一致性的一套标准化IP质量认证规范,还有很长一段路要走。Delp认为,下一步是就IP可交付性检查清单达成协议。LSI Logic公司内部设计团队发现了两个一直在影响IP集成的主要障碍。
“其中之一是,你必须花费大量的时间来找到所有的可交付IP,并来来回回地不断沟通以确保你买回了正确的IP内核和正确的版本。”Delp指出,“另一个问题是如何快速签署一个授权协议书。这些事情都是购买IP的必要组成部分,它应该是简单易行的。”
作为对VSIA和SPIRIT承诺的一部分,LSI Logic公司汇编了一个可交付IP清单,并正与VSIA和SPIRIT一起合作以将它们整合在电子数据手册中。把这些可交付IP以一种有序的格式编排在一起,将有助于工程师及时快速了解他们希望购买的IP是否存在。
VSIA和SPIRIT正联手合作以确保采用符合标准的形式来描述商用IP。“VSIA的另一项工作是给IP加标签,”Delp表示,“这是VSIA的IP保护工作组(Protection Pillar)的任务。”
软IP标签标准从IP源文件获取识别信息,并通过每一个芯片级设计步骤提供了一个传递这一信息的方法,包括综合、时序、布局、布线和其它最后导致生成芯片GDSII文件的步骤。该信息可以包含识别、供应商ID、以及最重要的版本信息。这使得芯片设计人员能够明显地识别出每一个软IP,即使它们已经融合在芯片数目庞大的“门电路海洋”中。
IC设计人员、半导体代工厂、风险资金提供商和EDA工具制造商都可以使用这种标准方法来跟踪每一个芯片开发步骤中的识别信息。在每一步骤上,跟踪信息从前一级获得,并利用合适的输出格式传递到下一级。这就使得这些信息与设计方法学、设计工具和EDA供应商无关。
软IP标签的主要绊脚石是,在生成GDSII文件的流程中,并非所有的设计流程都产生、保护和保存标签。“VSIA的工作之一是鼓励EDA供应商和提高设计人员的敏感性,因为作为用户,我们都希望得到一套标准的可交付IP,”Delp表示,“因此业界将会出现某个大动作来推动某个通用事物的生成。”
![]()
图2:SPIRIT的1.2版本规范利用IP工具集成应用编程接口(API),将构建描述IP的标准方法的IP元数据规范整合在一起。这个API提供了在IP框架中连接工具的标准方法。
SPIRIT在行动
SPIRIT是另一个致力于推动IC设计自动化(包括在设计中集成IP)的组织。“SPIRIT正在成为一股强大的力量,不单因为它的先进技术,还因为业界在关于如何连接和描述IP上达成了协议。”Cadence公司语言标准部门总监Victor Berman表示。
“这项协议是关于如何进行交付,以及关于用户想要的特性如何能被你的设计系统自动识别。它也讨论了如何建立这样一个设计环境,它能够输入非常多的混合信号IP,了解它能够做什么,然后非常快速地执行功能验证。”Berman说。
在建立将实现其愿景的标准方面,“SPIRIT处于一个备受关注的位置。”Berman认为。其重大里程碑是最近宣布的1.2版规范(图2)。
SPIRIT计划使它的1.2版规范正式化,它基本上是一种RTL规范,是SPIRIT推出的首个真正产品。IEEE标准化预期在2006年底左右完成。“它令人激动的地方是,通过自动化集成IP过程,你可以鼓励人们构建做这一工作的工具,”Berman表示,“因此,我期望明年能看到所有主要的EDA公司都开发出基于SPIRIT的设计环境。”
这类工具不会取代验证工具或后端工具,而是更多地利用其能力来认可基于SPIRIT的IP作为一种组织准则。“如果你够机灵,”Berman指出,“你可以先从自动搜集数据库中你所需要的数据开始,从高级别的ESL设计一路向下到GDSII。”
这对能够处理IP标签以促进双向信息流的设计流程而言是非常关键的,Sonics公司首席技术官Drew Wingard强调。“EDA工具能够吸收随IP而来的信息,”Wingard解释道,“不过,实际上EDA工具不能以SPIRIT形式输出信息。这是一个巨大的障碍,因为在SPIRIT流程的每一步骤上,它阻碍了你在业内最佳工具之间的转换。”
“解决这个问题的必要条件之一是,基于SPIRIT的工具必须成为我称之为重入流程(re-entrant flow)的组成部分,在这个流程中,这些工具不仅可以使用SPIRIT信息,而且还能输出等效SPIRIT信息,从而你能够在流程的每一步骤上选择业内最好的工具。”
而这就提出了目前市场上有多少基于SPIRIT的IP这个问题。“由于各种规范越来越固定,我们现在正努力推出符合SPIRIT标准的IP,”ARM公司Keith Clark表示,“我们的目的在于尽可能快地让我们所有的基于SPIRT的IP通过验证。我们正在进行这项工作,并予以完全支持。”
点工具连接
IP标准化的第三个方面围绕着OCP-IP的努力,即标准化IP模块之间的内核接口。这一开放内核协议(OCP)主要基于Sonics公司的技术,其前提是IP模块本身的标准化并不重要,更重要的是在建立互连时使它们彼此隔离或解除耦合。
“我们所发现的是一个在联网世界里真正好的模型,”Sonics的Wingard说,“如果你能使各模块相互隔离,它们就能彼此之间变得更加独立。当你将它们集成在一块芯片上时,就不太可能违反当初模块设计时的假设条件。”
OCP-IP在围绕开放内核协议建立一个完整的基础架构方面已进行了长期的工作,包括Mentor Graphics公司的验证IP、英语语言一致性校验器(checker)、OCP实现认证环境等。这个组织还为OCP用户提供培训和技术支持。
OCP-IP基础架构建设的一个最新例子是JEDA Technologies公司向OCP-IP贡献的基于SystemC的声明驱动OCP一致性校验器。该校验器免费向所有OCP-IP成员提供,它基于OCP-IP发布的一致性校验来实现。
JEDA的OCP校验器利用该公司的NSCa(一个本地化SystemC声明开发、运行时和调试环境)创建。它可以很容易地插入到现有SystemC模型或验证框架中。
在仿真过程中,校验器监控OCP接口,检查协议的符合性,并在线报告不符合的情况。此外,声明概要覆盖率信息可用来测量一个测试平台的OCP协议覆盖率。用户可以在www.jedatechnologies.net 网站上免费下载校验器和NSCa演示版。
![]()
图3:Arteris用于片上SoC通信的NoC架构是一种基于包的概念, 它运行方式为全局不同步但本地同步(GALS),从而消除了对全局时钟分布网络的需求。
其它方案也开始浮现
一段时间以来,除了ARM公司的AXI和AMBA等专有总线外,Sonics公司和OCP-IP在为完全不同的IP模块的集成提供一个框架方面做得也相当出色。但最近其它技术也开始陆续出现。
Arteris公司的网络级芯片(network on a chip,NoC)技术就是一个例子,Arteris是巴黎的一家新创公司,创立于2003年。Arteris使用的在组成一个SoC的各IP块之间进行片上通信的方法包括了一种基于包的方案,即把网络接口单元(NIU)连接到每一个内核上(图3)。它非常类似于Sonics/OCP的方案,IP块彼此分离,不需要任何类型的转换就可以连接到NoC。
在NoC架构中,NIU通过双重请求及响应网络连接到NoC。在给出的例子中,CPU执行一个到DRAM控制器的装载-存储操作。CPU发出的信号被NIU转换为Arteris本地协议并打包。请求信号被发送到DRAM控制器自己的NIU中进行包拆封,并转换为DRAM转换器的网络协议。控制器执行CPU的请求,并经由响应网络把包送回CPU。
Arteris架构最受关注的一面是,它使用了全局异步/本地同步(GALS)技术。同步岛聚合在一起,其间采用异步链接。本地同步集群很有用,因为大多数IP模块都是这种尺寸或更小。它们为时序收敛提供了易于管理的尺寸,并可能具有独特的电压、时钟或其它本地功能。同时,点到点走线异步连接各个集群。
NoC采用了一种分层架构,分为物理层、包传输层和交易层。包含走线的物理层使同步集群内的时序收敛成为可能。另外,它还能控制集群间的GALS通信。这一层处理走线和时钟等。
Arteris为创建NoC提供了两个EDA工具。一个是NoCexplorer,它是一种NoC架构式工具,可让系统设计人员在IP认证之前就对芯片的参数进行研究。它接受一个NoC的材料清单输入和预期流量模式。借助NoCexplorer,用户能够对带宽、延迟、门数、走线效率、功率和服务质量等参数进行权衡。它甚至能在完成所有必要的IP块之前,就能够产生多个设计空间以供挑选。构成NoC的IP存放在Arteris IP库中。这个IP库包含的IP种类不多,只有NIU、GALS链接和开关。
第二个EDA工具是NoCcompiler,它可以基于设计目标对IP模块进行扩展。它连接模块并为NoC生成RTL,并可为RTL-to-GDSII 设计流程生成综合脚本。
一家新近成立的新创公司Silistix提出了在综合基础上建立片上互连的方案。该公司的工具套件CHAINworks接受一个SoC设计的目标和初始端口描述,并为“CHAIN( CHAIN代表芯片区域互连)互连”综合出一个结构化网表。
CHAINworks的关键元素是生成自定时互连的能力。CHAINdesigner工具接受一个SoC设计连接关系和端口的描述,并生成CHAIN交换结构,以及连接宽度和细粒管道级,它们可用来平衡面积、速度和功率。
该工具的图形用户界面(GUI)使得设计师能够放置网络网关、连接至客户的端口,以及以手动或自动方式生成一个CHAIN拓扑。CHAINdesigner还能够生成互连仿真模型(用Verilog-HDL或SystemC语言编写)、仿真测试平台,以及输入到该套件的第二个工具CHAINcompiler的约束CHAIN网表。
CHAINcompiler工具接受由CHAINdesigner生成的约束CHAIN网表和来自Silistix的CHAINlibrary元件后,产生一个适合被纳入目标SoC内的结构化网表。然后,该结构化网表被输入到Design Compiler等常规逻辑综合工具内,再映射到标准单元。CHAINcompiler还可生成静态时序分析脚本,并提供布局布线的提示。据Silistix表示,CHAIN互连的使用可带来更快速的SoC时序收敛。无同步路径和时钟会引入到互连中或遗漏,因此不会有随机设计元素造成的路径。设计中的每一个终接点都分离布置。
这种包交换网络允许用较快的CPU或DSP来替代较低端的同类器件,同时不影响设计的其余部分。此外,互连具有协议独立性,并且能够混合及匹配第三方或支持不同协议的内部IP模块的任意组合。
除此之外,该公司声称,这种互连能在系统级和总线级降低功率。在系统级上,CHAINworks消除了有关频率平衡的问题,因为可以使用任何数目的不相干的时钟域。这就让每一个IP模块能以它的最佳频率工作,从而消耗更少的功率。
在总线级,由于自定时电路的特性,CHAIN互连结构本身即比传统同步总线的功耗更小。功耗是由数据流量负载而不是时钟频率来决定,从而可提供精细级的自动电源管理。 |