首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式SoCIC的设计方法和流程(2)

嵌入式SoCIC的设计方法和流程(2)

  对于复杂的SoC IC,其版图设计(layout)也是非常复杂的。随着半导体工艺的越来越精密,芯片的规模越来越大,版图布线的负荷已成为主要的时序影响因素,所以自动布局布线的时序分析成为设计的重点。无论采用module-based的设计方法还是sea-of-cell的方法,最好要采用时序驱动(timing driven)的版图设计方式,这样,可以确保前端各个层次的设计约束条件延伸到物理设计(physical design)中去。具体做法是将综合电路的约束条件转化为Layout工具可以识别的格式,用来驱动Layout工具完成设计。此外,为了保证电路的时钟到达各时序单元的时间的一致性,需要在各时钟路径上插入时钟树(clocktree),通过一定的约束条件,Layout工具可以通过平衡时钟路径之间的差异(skew),自动完成时钟树的生成。通常的版图设计流程如图3所示。
  最后,当布局布线完成之后,还要做DRC和LVS的检查。DRC(Design Rule Check)是检查版图设计定否符号生产工艺的物理规则要求;LVS(Layout Versus Schematic)是检查版图设计是否与电路设计一致。只有当这两项检查都通过后,版图设计的工作才算完成。我们通常采用Cadence或Avanti公司的Layout检查工具。
  需要强调一点的是,虽然在设计开始时设定了芯片顶层及模块间的时序约束条件和时钟树,也采用了动态仿真和静态时序分析以及时序驱动的版图设计方法;但是,由于SoC IC设计的复杂和困难,通常以设计工程师和工具合作也要经过多次反复修改才能成功,超过10次的也不少见。所以,在设计开始前应作好设计周期的计划。
  再要一提的是,当生产工艺小于0.35μm以下时,尤其在采用同步电路设计方法时,因为布线而造成的时序差异和延迟常常超过模块中电路设计的差异和延迟。因此,在Layout时对布局设计和时钟树生成需要仔细考虑。Layout完成后的时序分板是做好设计的关键。这也是选择基于模块设计方法或是“门海”设计方法时要考虑的因素之一。
  对于深亚微米的版图设计,还有两个因素要考虑。一个是当走线过长时产生的天线效应(antennaeffect)会对电路的时序产生影响。解决的办法是在长走线中插入天线二极管(antenna diode),用于抵消天线效应。另一个情况是当两条平行的走线非常靠近的时候,它们之间的偶合效应会产生交叉干扰(cross-talk),也会对电路的时序造成不利影响。解决的办法是在线路中加入buffer来克服,采用Cadence公司的Signal Integrity工具可以分析出交叉干扰出现的电路部分并结合Layout工具自动完成buffer的插入。
  对于模块电路的版图设计,现在还无法采用上述的自动布局面线方法而需要人工完成,因而设计的时间和工作量比较大,这一点在作计划时也要考虑。
  芯片端口(I/O PAD)的设计也是SoC IC设计的重点,除了要考虑静电保证ESD、驱动能力等因素外,还要考虑到当两个PAD靠得很近的时候,它们之间的耦合效应会形成寄生三极管(parasitic transistor)效应,影响I/O PAD的正常功能。
  SoC IC通常都是数模混合电路,版图设计的核心是防止噪声干扰。通常要从两个方面来考虑:一是在布局时尽量使相互容易受干扰的模块分开得远一些;二是数字电路和模拟电路要采用不同的电源和布线。
  六、SoC IC的测试设计DFT(Design For Test)
  芯片的测试,一方面是为了保证芯片的质量和可靠性,另一方面也要满足低成本的生产目的。过去,传统的测试方法是把我们用于功能仿真的测试程序转化为生产测试程序输入测试仪器。它的缺点是测试时间长,尤其是高覆盖率(test coverage)的要求下,对于大规模的SoC IC,其成本将非常高。现在,通常采用插入测链(scan chain)的方法,使得芯片中的时序单元在测试模式下连接成移位寄存器(shift register),然后,采用ATPG(Automatic Test Pattern Generator)工具产生的测试向量,能够有效地对芯片完成测试。测试时间大大缩短,也能达到高于90%的覆盖率,保证产品的品质和可靠性。许多 EDA工具如Synopsys公司的Design Compiler和Mentor公司的DFT Aduvisor/Fastscan都可以帮助完成这一工作,自动化程序相当高。当然,这一方法的代价是会增加芯片的面积。需要指出的是,采用插入测试链的方法只适用于同步电路设计,而且在电路的RTL设计阶段就要把这一因素考虑进去。对于异步电路的测试主要还是通过功能测试完成。
  由于SoC IC比较复杂,芯处中需要设有专门的测试控制模块(test control module),将整个芯片分为若干个测试组,每个部分都有独立的测试链完成测试。结合若干个芯片端口完成整个芯片的测试控制。
  结束语
  好的开始是成功的一半。在开始时要做好设计计划。计划项目列举于下,以作参考。
  设计计划考虑项目:
  Product Design specification(产品设计规格书)
  Design methodology and EDA tools selection(设计方法和设计工具的选择)
  Database structure(and choose a Database Manager)(设计数据的存储结构)
  Naming convertion(命名规范)
  IP Module re-use consideration (IP模块重用的考虑)
  Test plan(测试计划)
  Chip Integration plan(整个芯片的集成计划)
  Design schedule(设计时间表)
  Design Resources requirement plan(设计的人力和软硬件需求计划)
  Detail design task check off list。(详尽的设计任务完成情况检查表)
  SoC IC成为现代电子系统的核心已是不争的事实。总而言之,SoC IC的设计方法和流程是一个不断演变和改进的过程,有效利用“重用”功能模块和强大EDA工个的支持是SoC IC设计的基础,而采用好的设计方法和流程、解决好Timing Closure和Testability是SoC IC设计的核心。同时,我们借此机会呼吁业界同仁的支持和鼓励,尽快设立中国的IP模块重用标准,使国内嵌入式系统和SoC设计能很快得到普及。
返回列表