1、SoC技术原理与应用主讲:郭 兵 单位:四川大学计算机学院电话: 028-81228076 E-mail: 2007 年 4 月第四章 IP核的设计、选择与验证 引言主要内容 IP核的应用现状 IP核的应用分类 IP核的设计方法 IP核的选择方法 IP核验证环境主要内容 IP核验证过程 可综合性测试 Synopsys DesignWare Library简介 一个基于DW8051的税控机51核芯开 实例 美国ICE主编的“ASIC Status99”中对IP和SoC的关系有这样一段精彩的描述: “Yesterdays chips are todays reusable IP blocks, a
2、nd can be combined with other functions, like video, audio, analog, and I/O, to formulate what we now know as system on chip (SoC).”(昨天的芯片就是今天可复用的IP核,并能够同其它的功能模块相组合,如视频、音频、模拟和I/O模块,形成我们今天称之为SoC的东西) 这个描述比较清楚地说明了一般的ASIC设计与可复用的IP核之间的演变关系,以及IP核对于SoC设计的重要性。由于IP核模块需要完成行为4.1、引言(Behavior)、结构(Structure)和物理(P
3、hysics)三个设计域的设计,因此,IP模块也就在三个层级上分别成为软(Soft)IP核、固(Firm)IP核和硬(Hard)IP核。由于目前IP核的规范尚不统一,如何根据系统功能划分、选择合适的IP核,并进行验证,集成到自己的SoC设计中,满足设计应用的需要是关键。 目前,许多IC设计都采用基于IP的ASIC设计方法,这些IP要么自行设计和积累,要么选择向第三方专业IP公司外购, IP在整个IC及SoC设计行业中处于愈来愈重要的位置,因此,下面对IP的设计、选择和验证做一些简要的介绍。4.2、IP核的应用现状 在IC设计中,IP核复用可以有效地缩短产品开发周期并降低成本,然而目前整个IP核
4、产业尚不成熟,行业规范和交流渠道的缺乏限制了IP核产业的发展。IP核是满足特定规范,并能在设计中复用的功能模块。根据功能不同,IP核可进行参数化,但IP核供应商必须提供相关的文档以及IP核功能验证方法。令人遗憾的是,目前还没有业界普遍接受的规范,不同公司的IP核需要满足的规范也不尽相同,这是在设计中很难融合不同厂商所提供IP核的一个主要原因。尽管一些组织提出了IP核应满足的标准,但迄今没有一个能够成为业界所广泛接受的规范,因此,IP核集成仍面临诸多问题。 IP核可以在不同的硬件描述级实现,由此产生了三类IP核:软核、固核和硬核,这种分类主要依据产品交付的方式,而这三种IP核的实现方法也各具特色
5、。 软核通常以可综合的HDL形式(RTL或门级网表)提供,可以供使用者进行前端的逻辑仿真和时序验证使用,因此,具有较高的灵活性,并与具体的实现工艺无关,其主要缺点是缺乏对时序、面积和功耗的预见性。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。硬核则经过完全的布局布线、以GDSII文件形式提供的IP核,一般都要经过物理设计和特定的制造工艺的实际验证,并且其结果要与仿真的结果相比较是吻合的后才能向市场提供。这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器传输级(RTL)文
6、件,因而更易于实现IP核保护。 固核则是软核和硬核的折衷。大多数应用于FPGA的IP核均为固核,固核有助于用户调节参数并增强可复用性。固核通常以加密形式提供,这样实际的RTL对用户是不可见的,但布局和布线灵活。在这些加密的固核中,如果对固核进行了参数化,那么用户就可通过头文件或图形用户接口(GUI)方便地对参数进行操作。对于那些对时序要求严格的固核(如PCI接口IP核),可预布线特定信号或分配特定的布线资源,以满足时序要求。由于固核是预先设计的代码模块,因此,这有可能影响包含该固核的整体设计。由于固核的建立(Setup)、保持(Hold)时间和握手(Hand-shake)信号都可能是固定的,因
7、此其它电路的设计时都必须考虑与该固核进行正确的接口。如果固核具有固定布局或部分固定的布局,那么这还将影响其它电路的布局。 对IP核产业感兴趣的人可分为3类:第三方IP核供应商、第三方IP核用户及专门的IP核设计人员和用户。第三方IP核供应商是那些只对IP核开发感兴趣并以此作为最终产品销售或附属硅产品的公司,这些公司并不关心如何将IP核产品与整体产品设计进行接口。 第三方IP核用户为那些开展大型设计项目的公司服务的企业,他们希望通过利用来自外部的IP核加速产品的上市时间。IP核用户正致力于开发针对特定应用的产品,而对自己开发专用IP核没有兴趣,因为自己重复利用这些IP核的机会很小。最后,专门IP
8、核设计人员和用户则服务于那些针对特定市场进行大规模内部专用产品设计的公司。这些公司设计复用的机会很多,因为他们的设计主要针对某个特定市场。虽然这些公司在内部专用IP核的设计中形成了设计复用理念,但也购买一些外部开发的IP核,以作为内部开发产品的有益补充。 由于IP核已成为芯片设计的一项重要内容,因此业界成立了一些组织以推动设计复用标准的发展,目标是开发一套业界标准,协调并制订IP核复用所需的参数、文档、检验方式等形式化规范,以及IP核标准接口、片内总线等技术性的标准,促进IP核使用,并简化外部IP核与内部设计之间的接口。 下面介绍这些标准开发组织及其作用: (1)VSIA协会 1996年9月虚
9、拟接口联盟(VSIA: Virtual Socket Interface Alliance) 成立,该联盟的成立是为了推动不同来源的IP核之间的“混合搭配”而制订开放标准,从而加速SoC开发。该联盟的会员由业界各系统公司、半导体公司、IP公司和EDA公司组成,目前有200家成员。 VSIA希望通过发布开放的接口标准创建一个环境,这样VC(Virtual Component虚拟器件)就能以最少(甚至不需要)的“胶合”逻辑电路轻松地满足“虚拟接口”需求,而且是基于功能和物理层面的。VSIA标准包括业界已有的标准、公开或专有的数据格式,目标是创建可交付使用的IP核标准格式,这样IP核就完全独立于各个
10、用户的独特设计流程。 到目前为止,VSIA陆续已成立11个开发工作组,制定和发表的规范已被工业界广泛使用,应用于片上总线、IP核的接口以及IP核的使用、交换、测试、质量和保护等环节,这些标准和规范也是进行IP核电子商务的基础。 (2)OpenMORE Synopsys公司和Mentor Graphics公司合作开展了著名的OpenMORE(Open Measure of Reuse Excellence复用模块的开放方法)计划,这是建立在两家公司共同发起的“复用方法指南” (RMM)基础上的一项评估计划。OpenMORE将IP核设计视为完整SoC设计一部分的独立设计,此外,RMM还定义软核为软
11、宏(Soft MacroCell)或以集成RTL代码形式交付的IP核,而硬核则定义为硬宏或以GDSII文件形式交付的IP核,硬核可以是完整的设计、布局和布线。 当设计人员决定为他们的设计购买IP核时,IP核评估将成为设计流程的重要环节,OpenMORE方案有望通过为IP核复用质量提供合理的评估模式而简化IP核评估流程。IP核开发人员在一个工作表中填写有关硬核和软核的规则描述和应用指南,用户利用该过程得到的最后分数来评估IP核设计方法。工作表评估旨在改进IP核的可复用性,进而改善IP核集成至最终SoC设计的速度和可预测性。需要注意的是,在各个公司独立开发IP核设计标准的过程中,他们通常并不保证预
12、想的IP核同实际IP核在功能上完全匹配,因为无法保证其他公司也具有与那些既购买第三方IP又自行设计IP的公司相同的设计复用风格。 大部分OpenMORE用户是那些通常在使用公司内部开发的IP核和第三方IP核的公司,IP核提供商也可采用OpenMORE以使用户更方便地使用IP核,从而减少客户支持。 (3)RAPID和VCX组织 一些开发和销售IP核的公司于1996年成立了RAPID (Reusable APplication-specific Intellectual-property Developers可复用特定应用知识产权开发者)协会,该协会致力于促进使用并接受外部IP核产品,其目标是通过
13、建立相关的准则,鼓励协会成员在电子行业内或与产业标准组织合作时采用良好的商业和设计惯例,使设计人员更轻松地使用IP核。 VCX (Virtual Component eXchange虚拟器件交换)组织的任务是创建一个高效、开放的国际市场架构,以推进虚拟器件(VC)业务。该组织成立了一个“交易中心”,采用了股票和商品市场的最佳特性、服务和结构进行VC交易,这两个组织成立了合资公司以加速开发并使VCX成为全球IP核商务架构。 在过去几年,业界和研究机构对于IP核在设计过程的影响进行了一些探讨,从理论和实践两方面论述了IP核对SoC设计的影响。尽管市场上很早就出现了IP核,但IP核的市场地位仍未确立
14、,因此在向成熟市场发展过程中,IP核产品的用户和供应商仍然面临着严峻的考验。 下面分别从用户和供应商的角度对IP核做进一步的分析。 (1)用户的观点从事IP核设计的开发人员一直对缺乏基础架构忧心忡忡,采用第三方IP核时,最大的问题在于文档编制。文档编制之后,还需要能提供100%覆盖范围的测试平台,以验证IP核设计。购买IP核的设计人员不仅需要RTL文件,还需要保障设计性能。 由于存在IP核产品许可证和设计集成工艺的问题,尤其是当设计中采用多家供应商的IP核时,融合难度的增加使得采用第三方IP核是否还有意义值得商榷。这些问题通常会推迟产品的上市时间,进一步抵消了设计采用外部IP核的优势。在设计工
15、艺中严格遵循IP核使用规范的公司通常需要耗费相当多的资源开发内部IP核,不仅内部开发的IP核需要遵循设计方法,而且在购买外部IP核之前更需要仔细地评估IP核。评估IP核的过程比较漫长,一般持续数周甚至数月,而评估IP核的成本也相当惊人,这不利于IP核融入小公司的开发流程。 (2)供应商的观点 IP核用户首次从IP核供应商购买IP核获取的经验非常重要。由于IP核产业相对而言仍处于成长期,因此IP核在工程师之间的口碑相当关键。实际上,某些IP核供应商甚至宣称80%的销售是“口碑相传”的结果。显然,与客户之间良好的关系至关重要,但IP核业界也开始寻求互联网的帮助,供应商不仅利用互联网展示产品,还将其
16、作为一种交货方式。 FPGA和CPLD等可编程逻辑器件公司也在IP核开发中投入了大量的人力和物力,如Xilinx和Altera这些公司已将IP核产品的成功开发视为百万门级新器件产品获得成功的关键因素。这些公司不但开发了自己的IP核和设计工具,并通过与第三方IP核供应商的合作,协助客户理解新设计方法以及为用户提供的IP核。尽管这些公司也经销IP核,但他们的目标是缩短FPGA设计时间以出售更多的硅片,可以通过出售IP核许可在一年的时间里将IP核进行节点锁定(node-locked),允许用户在一年时间内在其设计中随时地采用该IP核。一些硅片销售商允许在特定的设计中使用其IP核,而只在其他设计中收取
17、微不足道的IP核复用费,而另外一些硅片销售商则对IP核复用完全不加任何限制。以出售IP核为其主营业务的第三方IP核供应商可选择不同的销售策略,他们既可以出售IP核以收取相关费用,用户可以将该IP核用于特定设计或未来任何设计,也可以选择按件计费的方式购买IP核,从而降低用户购买IP核的风险。此外,还可以采取综合上述两种方式的混合模式。 虽然IP核在实际应用中存在着许多问题,但是由于其巨大的发展潜力,目前许多公司都仍投入极大的人力、物力,开发相关的技术和产品,如很多EDA软件提供商,像Synopsys、Cadence、Mentor、Xilinx、Altera等,都提供了丰富的IP库与自己的EDA工
18、具软件密切配合销售。更多的第三方IP(Designless or Chipless)提供商,如CAST、ARM、xylon、ModelWare、TurboConcept、Paxonet Communications Inc、Artisan、DCD(Digital Core Design)和 Eureka 技术(Eureka Technology, Inc.)公司等,对外销售各种功能、各种层次、各种形式的IP核供IC设计公司使用,甚至许多Foundry厂商也提供了与生产工艺紧密相关的硬IP核,称为“Foundry IP”。 据Dataquest公司的调查结果显示,作为在半导体工业中增长最快的一部
19、分,1998年IP核的销售额为3.6亿美元,1999年全球IP核市场规模为4.2亿美元。前三家企业分别是英国ARM公司、美国MIPS Technologies公司和美国Rambus公司,3家公司合计占有市场的50.6%的份额,而ARM公司以21.2%的市场占有率,位居首位。2000年,这一数字为6.2亿美元,到了2004年,销售总额预计将急增到29.4亿美元。其中以ARM公司为代表,只卖ARM处理器系列IP核的License,不加工、生产和销售芯片,2003年年销售额达到2.4亿美元。 最近,半导体工业协会(SIA)2004年5月13日在韩国釜山举行全球半导体会议(WSC:World Semi
20、conductor Council)年会,在会议中包括欧、美、日及台湾、韩国等半导体业者决定成立一个保护半导体知识产权的团体知识产权任务小组(Intellectual Property Task Force)。WSC在本次会议上就IP核、保护环境以及交易等多种公共政策问题达成协议,并公布了多份有利于全球半导体业长期发展的政策劝告。除了呼吁各国政府和当局制定保护IP核的法规外,WSC也劝告各国政府禁止对数字设备和空白记录介质征税,以及在关税进行分类时,对配备多个芯片的IC与普通IC予以同等对待。 目前国内IP核的发展特点呈现“应用为主、开发为辅、应用拉动开发”的态势,Fabless芯片设计公司通
21、过自身设计复用的尝试和MPW计划的验证机会使内部使用的设计模块不断成熟,并成为可向外界提供的IP核。尽管中国现在还没有能够与国际半导体巨头相比的设计企业,但是随着一大批具有自主知识产权的集成电路设计产品不断推向市场,中国的半导体设计业近年来的确取得了一定的进步,市场销售额2003年翻了一番,从2002年的21.6亿元增长到了2003年的44.9亿元,同比增长108%。中国集成电路设计业的迅猛增长主要得益于中国电子信息市场的巨大需求、中国政府优先发展集成电路设计的政策方针以及产业各方对设计业龙头地位的认识程度的不断加深,同时,集成电路制造水平的不断提升也为集成电路设计业的迅速发展提供了坚实的基础
22、。目前,中国集成电路设计业在整个集成电路产业链中所占比重也得到了跳跃式提升,从2002年的8.0%跃升到了2003年的13.2%。在有利发展的大环境推动下,中国集成电路设计业近几年一直保持着高速增长的态势,20002003年均复合增长率达到了61.3%,“方舟”、“龙芯”、“北大众志”等CPU芯片以及DSP、移动通信芯片已开发成功,国内集成电路IP核标准化工作也已开展,预计2004年6月将发布第一批行业标准。IP核产业的发展符合“系统集成”和“可复用功能模块设计”相分离的趋势,这是一个逐步积累的过程,国内绝大多数国内设计公司刚刚起步,仍处在探索阶段,以低价位、高性能的信息家电产品应用拉动SoC
23、平台及其IP核的开发顺应了这一态势,将使产品和设计的附加值大大提高。4.3、IP核的应用分类 众多的IP核可以按其应用范围的不同进行分类: (1)嵌入式CPU类 与Intel和AMD的通用CPU不同,SoC芯片设计应用中,较多的会用到嵌入式CPU(处理器),从CISC到RISC、从4位到64位处理器及其不同的系列。对于不同的IP核厂商,其所提供的CPU的性能和价格也会不同,如8051,有的厂商是免费提供的,有的厂商却是收费的,且价格不尽相同,并且与不同的商业模式有关,一般会有一次性购买、分次购买和Royalty的方式,其价格也不同,并且同一IP厂商的同一IP对于不同的客户,也会有不同的收费方式
24、和价格。一般信誉较好和会有较大量产的客户会得到较低的价格,这主要与IP使用的特性及IP厂商自身的知识产权和利益保护有关。 32位嵌入式CPU IP核使用最多的厂商是ARM和MIPS公司。ARM的嵌入式CPU应用较广,几大Foundry,如TSMC、UMC等都支持,目前国内有的Foundry也在和ARM洽谈在其工艺上的支持,并有望取得实际的进展。MIPS的CPU应用也非常广泛,且最近和益芯科技(CMSC,专门致力于设计服务的公司)结成同盟,并由CMSC作为在亚太地区唯一的代理商向亚太地区大力推广应用,而且有的设计服务公司也提供ARM和MIPS处理器的外围接口,如Atmel公司,使得其在SoC芯片
25、设计中更能方便可靠的应用。 (2)DSP类 DSP核在SoC设计中也被广范使用,许多IP公司(如DSP Group公司提供了在TSMC的0.25um上实现的OakCore)提供了DSP的IP核或某些更小的DSP单元,如Multiplyer(乘法器)、DCT(Discrete Cosine Transform离散余弦变换器)或DWT(Discrete Wavelet Transform离散小波变换器),只是其 DSP核的性能可能不如TI公司的DSP芯片优越。在选择CPU和DSP核时最好选用硬IP核,这是由于CPU和DSP的结构决定的。为了使CPU或DSP核达到最优,CPU或DSP的许多内部单元是
26、要专门设计实现的。 (3)通信类 各种通信协议相关的IP核,包括基带、调制/解调、编/解码、压缩/解压缩、加密/解密、RF等,如通信芯片中的Wireless Lan、Bluetooth、SONET(Synchronous Optical NETwork同步光网络)、MPEG、Ethernet和TD-SCDMA IP核。 (4)通用接口类 通常,IP提供商都会提供一些通用接口IP核,包括计算机外围接口、串行通信接口、总线等,如PCI、USB1.1/2.0等,芯片设计者更多的可以从IP的性能参数、应用指标的范围、IP的接口、IP提供商的信誉,以及在特定工艺的验证结果和价格进行考虑。国内的一些Fou
27、ndry也在和一些IP厂商协作或自己开发一些在其工艺上的通用接口IP核。 (5)混合信号IP类 由于混合信号(Mixed Signal)IC的发展和市场应用的推动,一些混合信号IP也被SoC设计者广泛采用,如DAC、ADC、PLL、OSC等。但是,同样的一种IP由于性能、厂商或客户的不同,其价格也会差别很大,如有的厂商对PLL是免费使用的,而有的却要几万美元。由于该种IP中含有模拟器件,器件的特性非常依赖工艺,因此该IP必须是硬IP核。 (6)其他类 还有众多的其他类IP的应用,IP提供商也都基本上能提供,如Bit-slice processors、Memory。另外,对于有些较少使用或有特别
28、性能要求的IP,一些设计服务公司也可以特别为这些客户的需求设计相应的IP核。4.4、IP核的设计方法 由于IP核作为独立的、可复用的部件,其可复用设计至关重要。可复用设计需要完整的功能描述文档、良好的编码习惯、仔细设计的验证环境、完备的测试图形(Test Pattern,即Test Vector测试矢量)和通用性强的EDA工具脚本(Script),硬核还需要不同工艺库之间的可移植性。 如果IP核及验证的测试平台(TestBench)只面向单一的HDL语言和仿真器,那么它在各种工艺技术和设计环境之间就失去了可移植性。可复用的IP核应具有几种主要HDL语言(如Verilog和VHDL)编写的、可验
29、证的仿真模型和测试包,同时,必须具有独立的、可用于验证的测试平台,可以进行完全的仿真。 为保证IP核设计的可复用性,需要遵循一些具有普遍意义的原则,包括: (1)同步设计 在同步设计中,数据只在时钟沿变化,因此,指令和数据很容易管理。在随机逻辑中使用寄存器(Register),并在每个IP核的输入/输出都进行寄存,这对IP核的互连非常有用。这些寄存器本质上在IP核的周围形成一个外壳,除了在IP核的边界提供同步外,还可以提高IP核的可移植性和用于生产测试等好处。 另一方面,基于锁存器(Latch)的设计不易管理,因为数据的采样不是根据时钟沿;相反,它要求信号能保持较长的时间,因此,在随机逻辑中应
30、避免使用锁存器,而只在如 FIFO、存储器和堆栈这类模块中使用。一般情况下,应避免在IP核设计中使用异步环路和内部脉冲发生电路,以及避免使用模块的输入和输出端口的多周期通路和直接组合逻辑通路。如果有任何异步的清零和置位信号,那么这些信号的清除应该恢复同步。此外,存储器的边界,也就是读、写和使能信号接口处,也应该同步并采用基于寄存器的电路。 (2)存储器设计 由于存储器的设计与工艺相关的,且一些基本规则在SoC级集成时非常有用,因此,SoC中大多数嵌入式寄存器是用存储器编译器工具自动设计的,小部分采用集成存储器IP核的方式。 在大规模存储器IP核中,边界上的存储单元寄生参数与处在阵列中心的存储单
31、元寄生参数差别很大。为了减少这种不匹配的情况,比较有效的方法是在存储器周围加上行和列虚拟(Dummy)单元。为了减少虚拟单元所占的面积,它们应该作为存储器内建自修复BISR(Built-In Self-Repair)机制的一部分。BISR能使存储器中失效单元得到替换,提高产品成品率。 通常大规模存储器IP核放在芯片的边或角上,小的存储器IP核分散放置,但如果不仔细规划,在整个芯片布线时这些小存储器也会带来很大的麻烦,因此,通常在实现小存储器IP核时要保证用到的金属层比工艺允许的布线层数少12层,留出的金属层可以在存储器上面进行芯片级布线。 (3)混合信号设计 现在的SoC设计中,通常存储器占芯
32、片面积的60%以上,混合信号电路几乎占不到芯片面积的5%。在SoC中最常使用的模拟/混合信号电路是PLL、DAC、ADC和温度传感器等,这些电路提供专门的功能,如片内时钟发生、同步、彩色显示器的RGB输出和芯片的对外通信等。由于这些模拟/混合信号电路对噪声和工艺参数非常敏感,因此,应将这些IP核放置在SoC芯片的角上,有助于简化芯片的布局,同时,在这些IP核电路的周围加上保护环和虚拟单元可以降低对噪声的敏感度。 (4)片上总线设计 片上总线在SoC设计中起着非常重要的作用,基于总线的设计有利于系统管理,主要原因是片上总线提供了各种IP核互连的通用接口,因此,片上总线的设计和数据传输协议的制定应
33、该在设计IP核之前考虑。否则,将导致SoC中数据传输机制的混乱,使SoC的集成复杂化,并导致硬件成本增加和性能下降。 由于IP核的提供者无法满足所有的总线接口,因此,在IP核的设计中应该使用参数化、可配置的总线接口。一些公司和组织(如VSI)正在积极开发可满足要求的片上总线和IP核接口的标准/规范,这类标准一般支持多宿主、数据和控制信号的分开标识、全同步和多周期传输机制及总线的请求和允许协议等。 (5)时钟分配 时钟分配的规则是IP核与SoC设计的最重要规则之一,对时钟分配规则的任何违反都会对整个SoC性能产生影响,甚至可能导致整个设计的时序错误,因此,SoC设计要求建立一个高度鲁棒性的时钟分
34、配规则,包括时钟区域分析、时钟树类型、时钟信号缓冲、时钟偏斜分析和时钟外部特性(如建立/保持时间、输出端口时序波形)等。目前,大多数SoC芯片都有多个时钟域,但最好使时钟域的数量最少,并且每个时钟都有独立的区域,并在时钟的边界使用缓冲器,避免时钟域之间的接口出现亚稳态。 当IP核中有局部PLL时,应该在总线上分配一个低频芯片级同步时钟,同时,每个IP核的局部PLL应该与芯片级的同步时钟锁定,并产生IP核所需的频率。同时,SoC设计中一定要控制时钟的偏斜,避免数据失配,减少时钟偏斜的简单方法是使主时钟和衍生时钟的边沿同步,常用方法是使用时钟树将单一时钟分配到片上。 (6)清零/置位/复位信号 在
35、IP核文档中,详细说明整个设计中所有的复位方案是非常重要的,包括同步/异步复位、内部/外部上电复位、使用多少复位信号、是否使用软复位机制、是否所有的功能模块都有内部产生的复位信号、复位信号是否与局部时钟同步等。只要有可能,就应该使用同步复位,因为这样可以避免复位时的竞争现象。如果使用异步复位,静态时序分析会很困难,而且必须仔细考虑每个触发器的复位脉冲宽度,以确保复位结束与时钟同步,因此,只要复位/清零是异步的,复位的结束就应该恢复同步。 (7)物理设计 从复用的观点看,许多物理设计上的问题是极为重要的。在硬核的开发中,物理设计是硬核成功的关键。虽然软核和固核不以版图的形式交付,但也需要考虑在物
36、理设计方面的一些问题,主要包括: l版图规划:在IP核设计之初,就应考虑版图问题,这有助于估算芯片的大小和确定是否能达到面积、时序、性能和成本的目标。 l综合:在IP核设计之初,同样应该考虑综合问题,并对面积、时序和功耗制定明确的目标。 l时序:在版图设计之前,对版图规划后的块进行静态时序分析,最后的时序验证应在块的版图设计完成后进行。 l输入/输出端口:IP核每个I/O端口的配置,无论是时钟输入,还是测试I/O,都应清楚地进行说明,包括I/O端口种类(输入/输出/双向信号端口、时钟端口、电源/地线、与测试有关的I/O以及虚I/O端口等)、双向使能信号时序说明、输出负载限制(扇出和连线负载)、
37、所有输入信号的斜率(Slew rate)范围以及关于输出端的与容性负载相关的噪声容限降低(Degradation)。 l确认与测试:IP核设计确认与测试对于设计复用非常关键,最终保证设计能否满足规格定义。 (8)可交付模型 设计复用在很大程度上依赖于可交付模型的质量,这些模型包括行为或者指令集结构模型(ISA:Instruction Set Architecture)、用于系统集成及验证的总线功能模型、用于时序仿真和基于周期的逻辑仿真的全功能模型以及包含版图规划、时序和面积的物理设计模型等。表4-1总结了每种模型的需要及用途。 (9)知识产权保护 IP核交付时面临的一个关键问题是IP核的知识产
38、权保护问题。对未加保护的模型,很容易施行逆向工程、改进原有设计、窃取商业秘密,甚至盗版整个设计。为防止侵权和逆向工程,很多模型都是以加密形式交付的。最常用的方法是创建一个顶层的模块,在它的内部具体是IP核的加密模型,只有使用厂家提供的配置工具才能对其进行动态解密和操作。这样,顶层模块的作用就像一个包装(外壳),将IP核的整个网表、版图规划和时序隐藏起来。外壳使用仿真模型的编译版本,而不是源代码。因此,它提供了安全保护,以防止对仿真模型施行逆向工程。 另外,对于不同类型的IP核,如逻辑核、存储器核和模拟核等,以及不同形式的IP核,如软核、固核和硬核,针对其特殊结构和物理设计,分别具有一些特殊的指
39、导原则,如软核一般使用HDL语言进行RTL设计,需要进一步确定RTL设计规则和代码风格,它决定了IP核的可移植性和可复用性,还决定了综合后的芯片面积、时序和功耗等性能指标;与软核和固核相比,硬核需要进行可测性设计,而软核和固核则没有这方面的要求,同时,硬核需要更加严谨的文档,需要增加的内容包括引脚排列、指定工艺下IP核的面积、详细的时序数据表、布线和通道疏松度方面的约束、Vdd/GND、互连规则、时钟和复位分配规则及时序说明等。 4.5、IP核的选择方法 在向第三方选择和购买IP核时,除了拥有经验丰富的设计团队,成功的SoC芯片设计还需要如下三个方面的准备和整合: l先进的设计工具及可靠的设计
40、方法。 l适当的IP核(包括IP核提供商及其IP核的选择)和可靠的Library (包括Library提供商的选择) l Foundry 及其工艺的考虑和选择 其中设计工具和方法决定了SoC设计效率和芯片性能的基础,对于在进行具体的SoC设计的同时,也希望能锻炼和培养芯片前端或后端设计(物理实现)队伍的单位,高效和及时的EDA厂商的设计工具本地化支持以及先进设计方法的交流也是一个SoC芯片设计成功及持续提高的重要保证。 SoC芯片设计过程中,设计工具和方法与Foundry以及IP/Library提供商的互动关系如图4-1所示。 对于SoC芯片设计,除了重视EDA设计工具和方法的确定,整个芯片T
41、ape-out供应链的管理也非常重要,尤其是深亚微米的设计,其中包括Foundry及其制造工艺的确定,和与该工艺相对应的IP核和Library的选择。先进的EDA设计工具和方法、适当的工艺、IP核和Library的确定可以降低芯片设计和制造中不必要的风险、时间延误和费用支出,并提高芯片设计一次成功的可能。 在国内业界,芯片设计者和项目决策者对EDA设计工具和方法的确定,相对而言,普遍比较重视。SoC芯片设计过程中,在前端的功能和逻辑设计时,系统设计工程师就需要对系统芯片中要嵌入的IP核进行选择和确定。这是由于制造工艺的提升、芯片上器件数量的急剧增大和设计方法的演进,以及设计者对芯片设计过程中的
42、高效及高可靠性的需求共同决定的。满足设计性能需求,并经过硅片物理验证的IP核可以很好的保证SoC芯片Tape-out成功的同时,缩短设计的时间周期和减少设计的反复,这就需要在自有的IP库中进行精心的选择,或与第三方的IP核提供商中进行充分的交流并做出选择。 工艺的改变,同时会影响到现有IP模块的复用。要实现IP 复用,需要实现多层次的设计与仿真,在较高的抽象层次上的设计可以避免受到工艺、Foundry等因素的影响。目前,众多的IP核提供商包括纯IP核提供商、设计服务公司等都能向设计者提供各种各样的IP核。但是,由于目前应用市场的多样性和不断的细分化,还没有任何单独的一家IP核提供商能拥有所有的
43、IP核,尤其在考虑到同一IP核的具有不同的提供和使用形式的情况下更是如此,这就需要设计者在芯片设计过程中对IP核进行细心和全面的考虑。 所以需要特别注意的是,在IP核的选用上,尤其对于刚准备从SoC系统设计开始到实际硅片生产的设计者而言,考虑到软IP核和硬IP核在使用中的区别尤为重要。软IP核可以让使用者在设计过程中以及未来的产品升级或系列化时,提供一定的灵活性。但是,这样的灵活性是以设计队伍丰富的后端物理设计经验为基础和相当的设计风险为代价的。如果系统设计者没有拥有从系统设计到后端物理实现以及硅片Tape-out丰富的经验积累,采用软IP核的风险就很大,尤其是有的软IP核提供商自己本身都没有
44、对其所提供的IP核进行硅片验证。 硬IP核由于经过实际的物理设计和硅片验证,可以大大的降低使用者的风险,帮助设计者获得从SoC芯片设计到生产的成功,并且有能力提供硬IP核的厂商总会同时拥有该IP的软/硬核。 因此,对于刚开始从事SoC芯片设计的使用者来说,选择有硬IP核提供能力的IP核厂商的硬IP核或软IP核是比较关键的。同时,需要IP核提供厂家具有SoC设计经验,能帮助客户正确、有效的使用IP核。另外,只有IP核的仿真模型而没有经过硅片验证的软IP核的采用,可能还会导致由于最终更换到其他IP核厂商的软/硬IP核而延误时间。 IP核有没有经过硅片验证,可以从相关的信息中进行判断,以有代表性的F
45、oundry和IP核商公开的信息为例,在全球最大的Foundry TSMC的网页上,第三方的IP核被列为Pre-Silicon、Verification和Production三种。Pre-Silicon指的是该IP核在特定的工艺上只处在仿真阶段,Verification是指该IP核正在进行硅片验证,而Production则是已经完成验证并可以量产了。在最大的设计服务公司Tality的网页上,其所提供的IP核可以看到是针对具体某个Foundry,如TSMC或UMC的某个工艺如0.25um或0.18um的IP核。 在IP核选择时,通常以下三个问题也需要考虑: (1)Library的支持 在芯片设计
46、中,Library的支持也显得非常重要。在芯片设计过程中,不论是前端的逻辑设计还是后端的物理设计,都需要用到Library中的模型和数据,可靠的Library是设计能得到成功芯片的有力保证,模型的偏差会使得最终的芯片物理特性与仿真的结果相差很远。 一般的Library都会提供基于特定工艺上的Standard Cell、I/O Cell、Memory Compiler,以及工艺技术文件,大部分的Library都可以免费获得。值得一提的是,对于SoC芯片设计中存储器的嵌入,通常Foundry会和Library的提供商协作共同为客户提供存储器的模型供前端和后端设计使用。一般会以Memory comp
47、iler 的方式让客户自己可以很方便的确定存储器(RAM和ROM)的大小,基本是以免费的方式提供给客户,如Artisan 公司为TSMC的工艺开发的Library中就包含 有SP-RAM和DP-RAM,不过一些Library其中有的部分的使用是收费的,这主要取决于Library和Foundry厂商的具体合作方式。 对于混合信号(mixed-signal)、模拟或射频(RF)的芯片设计来说,Foundry 所提供的PDK(Process Design Kits)也是非常重要的,尤其是Time-to-Market和设计效率比较关键的设计。PDK库是Foundry针对自己的工艺和相关EDA软件厂商开
48、发,包括Technology Files、Device Symbols、CDF、Pcells、PV rule files等,拥有了经验证的Pcell结构、符号及规则等优化集合的PDK, IC设计者的工作就能从繁琐易错的任务中解脱出来而变得高质量且富有效率。 (2)Foundry 及其制造工艺的确定 SoC芯片的设计最终还是要具体落实到某个Foundry的某个工艺的芯片制造上,Foundry工艺的确定在芯片设计供应链管理中起着举足轻重的地位,因为其同时还确定了IP核的实现和Library的选择。 确定适当的工艺需要考虑以下几个方面的要素: l工艺的性能指标是否满足设计的需要。 l工艺上的IP/L
49、ibrary是否具有相应的支持。 l工艺的成品率和可靠性。 l Foundry的市场美誉度。 l MPW Shuttle 的时间表及价格。 l量产的时间周期和价格。 大陆以外的Foundry主要有TSMC(台积电)、UMC(台联电)和Chartered(特许)。TSMC工艺已经从0.35um以上一直拓展到目前正要风险生产(Risk Production)的90nm,0.18um和0.13um是其主流的生产工艺,UMC(联电)和Chartered的工艺也已经从0.35um、0.25um、0.18um发展到0.13um。 国内的Foundry主要有中芯国际(SMIC)、华虹NEC、首钢NEC、华晶
50、上华(CSMC)、贝岭、先进半导体等。中芯国际其工艺从0.35um、 0.25um到0.18um,不久前,其0.18um的工艺通过了国际的生产认证,这三种工艺都有相应的Library支持,并且都支持主要的EDA设计工具,如Synopsys和Cadence。华虹NEC主流的工艺包括0.35um和0.25um,以及0.35um E2PROM。国内能提供0.5um的6英寸工艺生产的Foundry主要有华晶上华和首钢NEC,首钢NEC也有0.35um工艺,贝岭目前可以提供1.2um的4英寸CMOS和BiCMOS工艺。另外,两家正在建设的Foundry是宏力半导体和贝岭合资企业,宏力半导体准备生产的工艺