当前位置:首页 > 读后感 > 基于渐进式的多阶段SoC开发方法与应用_应用开发工程师
 

基于渐进式的多阶段SoC开发方法与应用_应用开发工程师

发布时间:2019-02-16 04:37:18 影响了:

  摘要:VLSI技术的发展使得SoC的开发变得越来越复杂和困难,本文重点介绍了一种基于多阶段的SoC开发过程,阐述了每阶段SoC的主要任务和目标,介绍了SoC以及IP的开发流程,经实践检验,该方法能够很好的适用于复杂SoC芯片的设计与开发。
  关键词:SoC设计;ARM;低功耗;IP集成
  
  1、前言
  
  SoC(system on Chip)技术是当前大规模集成电路(VLSI)的发展趋势,由于其集成度高,功耗低,占用系统面积小等优势使其在工业界特别是移动设备中得到越来越广泛的应用。随着SoC集成度的提高,SoC芯片的架构和开发过程也变得异常复杂。以我们开发的一颗手机SoC芯片为例,图1为其基本结构图,该芯片集成了手机中常用的连接器件,如蓝牙,GPS,FM等模块。系统一共包括两个ARM子系统,一个DSP系统,4个RF系统,以及相应的基带处理器和链路处理器。ARM采用CortexM3软核,通过AHB Matrix存取相应的应用模块,同时还配置了AHB2APB桥,用于扩展AHB端口和连接一些慢速的IP。两个ARM系统采用类似的结构,通过UART进行通信。采用该芯片的手机方案可以快速地集成,有效的减少PCB的面积,并且采用较低成本的制造。
  
  如图1所示,该芯片的集成涉及到非常多的模块,包括数字的,模拟的,射频的等等。在实际的开发中,一共有12个Team共同参与,这包括1个SoCTeam,4个RF Team,4个Digital IP开发Team(主要负责相关Baseband以及MAC的开发),2个ARM子系统开发Team,1个Analog Team(负责LDO,ADC/ATB等)。每个IP的成熟度不尽相同,有已经比较成熟的IP,也有正在开发的IP,同时由于国际化的合作,这12 Team又分布在不同的地域,因此如何有效地进行SoC的集成是一个值得研究的问题。
  
  2、渐进式的开发方法论
  
  SoC芯片的开发,很大程度上依赖于各个IP的成熟度,理想的情况是所有的IP都已经足够成熟,最好是Silicon Proven的设计,这样的话,SoC的设计就会有一个较高的起点。同时也能够从IP Team得到较完整的数据和足够的支持(如Power,ClockTree等)。但是要等到所有的IP都基本成熟再进行SoC的集成,这在本质上是一种串行的开发方法,这在当今高复杂度集成和短的上市时间的要求下几乎是不可能的。因此IP的开发和SoC的集成需要同时进行,这将会在很大程度上缩短SoC芯片的开发时间,但是芯片的开发变得更加有难度。SoC和IP的并行开发意味着SoC的集成工作需要在IP还未成熟的阶段即开始,这里有很多不确定性,如接口,时钟和Power的定义,Scan Chain的结构等。SoC必须定义和协调IP的开发工作,并且充分利用IP的阶段性数据进行SoC集成和信息反馈。
  在此,我们介绍一种渐进式的SoC开发方法,该方法能够适用于较复杂SoC芯片的开发。如图2所示,整个的SoC开发是基于并行开发的模式。我们将SoC的开发分为几个阶段(图中列出四个阶段),每个阶段的开发有着不同的侧重点。
  
  由于SoC的高复杂性,使得SoC的开发一定会涉及到多个IP的集成以及与多个子开发团队的合作。而每个IP很大程度上都有不同的成熟度和提供方式。SoC Team必须有效地与各子开发团队进行数据交换和进度协调。本文主要讨论四阶段的SoC/IP集成模式。总的来说,IP的开发应该领先于SoC的集成至少一个周期,如图2中所示的B Team的进度,在SoC需要开始Phase_n的时候,IPTeam应该提前完成Phase_n的开发,并且在SoC指定的时间提供相应的数据。而实际上,由于IP的成熟度不同,因此可能会出现有些IP已经比较成熟,如图2中的A Team,在SoC开始Phasel的时候,A team已经能够提供比较完善的数据。当然也有的IP进度落后于SoC的要求(图中未画出),这需要SoCTeam充分评估项目的风险,根据IP的重要性,推后集成进度或者考虑采用Hard-Macro的方法。采用Hard-Macro的方法可以让SoC Team在项目的前期阶段只注重接口,在项目最后阶段合并Layout即可,但是也失去了全局优化的优势。一旦SoC集成开始,IP Team的开发进度必须纳入SoC的开发轨道,需要按照SoC的要求在每个SoC集成阶段的开始点提供IP的数据。值得注意的是数字开发团队有4次集成要求,在SoC开始phase4的时候,所有的数字开发团队都需要结束开发任务,提供V4版本的最后数据。而模拟开发团队或者Hard macro开发团队可以在SoC阶段四的中间再提供最后的layout数据V5,这样可以给AnalogTeam更多的时间而不影响SoC的进度,整个Chip的开发是在SoC Team的总体协调下循序渐进展开的。
  SoC在每一集成阶段开始时,都有严格的Checklist去检验IP的质量,包括文档,数据,运行的logfile等,并且根据检验的结果反馈给IPTeam,如果不是严重的问题,可以让IP Team在下一阶段集成的时候进行更改。同时SoC在自己每一阶段结束时,也有严格的检验要求,并且有一定的量化指标,根据Review的结果来决定是否进入下一阶段或者延长本阶段。
  从开发的角度,SoC的每个集成阶段有着不同的侧重点,以4阶段集成为例,分别命名为:概念阶段、确认阶段、实现阶段和Tape-out阶段;
  ◆概念阶段:其重点是与IPTeam进行协调,包括数据库,工具的定义等,在此阶段SoC Team必须要提供SoC集成文档,在此文档中SoC Team定义了分阶段对IPTeam的各种技术要求,如目录结构,命名要求,Coverage要求,DFT要求等,同时也会提供一些脚本模板等供IP使用。同时需要根据各个IP的成熟度确定该IP的开发方法(如Hard-Macro,SoN-Macro)。SoC Team需要选定Library以及定义PVT Comer。此阶段SoC Team应该能够计算出大概的芯片面积和初步的功耗值。
  确认阶段:该阶段的重点是集成,SoC Team需要完成所有IP的接口信号的互连,验证Team可以进行IP的互连测试,确认数据通路的畅通。同时SoC的时钟和Reset结构必须在该阶段确定,后端人员可以开始ClockTree的定义和设计。主要的PowerDomain的定义也必须在该阶段完成,所有重要的Power相关控制信号必须确定。后端人员应基本完成Floorplan,并且充分考虑高速信号的位置,PAD位置的合理性和Cohabitation要求。SoC应该能够提 供DEF给相应的IP Team做为下阶段物理综合的输入。
  实现阶段:该阶段的重点是完整地遍历SoC的所有流程(从RTL toGDSII),完成所有的脚本设计以及SoC层次的RTL开发。这个阶段也是SoC Team需要最多人员的时候,虽然有些数据并不是最后版本,但是从流程的角度,SoCTeam必须做到可以控制。退出该阶段时,FloorPlan必须Freeze,Verification应该有较高的覆盖率。同时可以开始作门级的仿真。功耗分析可以在Post Layout Neflist上采用有Vector的计算。
  Tape-out阶段:该阶段是在所有IP数据都齐备的基础上,做最后一次的集成,此时由于有上阶段的基础,因此整个SoC实现过程不应有太多意外,该阶段的重点是完成Timing closure,提高DFT的覆盖率,完成所有的验证以及后端Layout以及Redhawk分析。
  表1列出了每个阶段的主要任务及目标。
  
  
  3、SoC/IP开发流程
  
  在该项目中,我们主要采用基于IP Netlist的集成方法,总体流程可以简化如图3所示。在整个SoC实现中,主要采用CPF进行low power相关行为的描述,同时在综合和DFT时,由于采用了Synopsys的工具,因此也引入了很基本的UPF,主要定义基本的Power Domain信息,主要目的是为了让DC和DFTC有PowerDomain的信息,特别是在Scan Chain插入的时候,不会频繁地跨越多个Power Domain。在Scan Chain插入完后,采用Cadence的RC利用CPF进行Isolation Cell的插入,然后会有一系列相应的LEC check.CLP Check以及spyglass check等环节。当所有的ComplianceCheck都通过后,流程进入到后端环节。后端主要采用Socencoutner,由于有众多的IP进行集成,在后端的实现上我们采用Hierarchy的方法,在Floorplan后根据IP和Power Domain的结构将整个Chip划分为多个模块分别进行P&R,主要目的是为了减少各个模块之间的相互影响,不会因为某个模块的重新Layout而导致所有模块全部重新来过。同时基于模块的划分SoC能够向IP提供相应的物理信息,IP可以用于下阶段的物理综合以及接口的约束,这样使得最后的Chip Assembly时会更加顺利。
  SoC对于IP的开发和输出有严格的定义,该流程需要在SoC的阶段一就确定。以数字IPTeam为例,我们定义了如下的IP流程,每个IP Team需要提供完整的RTL,Netlist,Constraint,验证VIP,UPF/CPF,Clock信息,DFTcoverage信息以及所有的运行logfile用于SoC的检测。值得注意的是,IP最后只提供综合后的Scan-Ready Netlist,所有的scan chain和IsolationCell的插入,以及ATPG Pattern的产生均在SoC阶段完成,但是IP需要在IP Level也Trial Run这些步骤,以保证其Netlist的质量。
  
  
  
  4、总结
  
  本文的描述主要以四阶段SoC集成为例,实际的SoC项目中并不需要严格遵循四阶段模型,其主要判断依据是SaC架构的复杂性、IP以及采用工艺的成熟度等。该体系本身是可裁剪,可扩展的,依项目的实际情况而定。采用上述的方法,我们有效地规范了SoC/IP的开发和集成流程,顺利地完成了图1所示的SoC的开发,并且即将流片。相关信息如表2所列。
  
  本文所述的方法能够很好地应用于复杂SoC的开发过程中,目前我们已将该方法应用到另一更为复杂的SoC项目中,相信也能够取得很好的效果。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3