随着系统级芯片(SoC)设计的普及,物理验证成为半导体公司、代工厂、晶圆厂以及库、IP和设计服务供应商之间进行数据传递的关键环节,成功的SoC元件集成取决于成功的物理验证。很多公司传统上支持两种物理验证工具流程,即交互式(单元/模块)和批处理(大型模块/全芯片)验证工具,每个设计流程根据设计元件的类型和设计人员使用工具的方式而选择不同的工具。
SoC设计要求在交互式和批处理两个阶段都进行设计规则检测(DRC)和版图与原理图对照(LVS)物理验证。在设计流程开始或在建立标准单元库/模块时候用交互式工具对小单元和模块进行验证,此时设计人员需要与版图设计工具不断地交换信息,然后开始验证,在版图设计环境中对结果进行调试,不用再做其它设置。在这个阶段,版图设计、验证和调试结合得非常紧密,无论什么原因脱离版图设计环境都会使流程出现偏差。
和上述情况相反,当设计规模超出交互式验证工具的范围,或者是头等重要的时候,通常应用批处理工具。与交互式工具相比,批处理用户需要更全面的命令和复杂处理模块,为了实现性能,批处理工具充分利用先进的验证模块,如分层检查和多处理运行(很多单数据“线程”运行在多个处理器上)以缩短整个验证的时间。 由于待处理数据量很大,验证运行时间需要几小时才能完成,正因为此,使用批处理工具的设计人员通常开始运行后就去执行其它任务直到运行结束,然后再回过头调试。批处理工具也可用作指定的签出(sign-off)工具,确认芯片可以出带并交付给晶圆厂或代工厂进行制造。
这种采用两种验证工具的验证环境需要用到不同的规则文件,这些规则文件之间的不连续在单元和模块进行全芯片集成时会引起严重的分歧,不连续还会导致制造问题。
两种流程的差异
在不同流程内有两种工具完成类似的微调任务,表面上看起来很好,但实际上这种环境很容易出问题。微调表明在每次改进验证流程时,必须不断校准每个工具才能得出相同的结果,这需要宝贵的时间和资源,并可能使流程更新推迟。
另外,应用两种模型要求分别维护交互式和批处理物理验证工具及其各自的规则文件,这种分离会在工具、规则文件和验证结果之间产生差异。例如在批处理验证期间发现一个交互式验证漏过的单元设计错误,将会使整个物理验证流程受到质疑。
如果出现“有的错误发现,有的错误漏掉”情况时,设计人员必须查明为什么会漏掉错误,以及在进行验证之前要采取哪些行动。仅仅改正错误会对其他人员的设计部分造成不利影响,跟踪这些差异需要多个设计人员和CAD工程师共同参与,他们必须在一起确定下面的问题:
1. 在有错误时,交互式和批处理工具究竟哪个是正确的?
2. 谁应该“负责”或解决这个错误?
3. 工具之间为什么有差异?
4. 在今后设计中怎样消除这些差异?
差异表明存在下列两种情况之一,即交互式规则文件与代工厂标准批处理规则文件不同步,或者交互式工具不能为现代深亚微米工艺所需的复杂检查进行编码。
认识到差异并“承认”错误之后,设计人员必须对版图进行修复,CAD工程师则需要更新验证流程。但如果错误是在库单元或IP模块里,设计人员可能无法随意地更正或更改,这些模块的修订控制使得更新难于进行,而且外购的IP不能保证改变后仍然工作正常。解决这些问题不仅要耗用宝贵的CAD资源,还会造成设计和出带延迟,所以了解产生差异的原因是防止将来再次出现的关键。
为交互式和批处理流程编写的规则文件经过编码后,再按代工厂或晶圆厂规定的规则文件规范去检查错误,这些设计规则规范可以保证可制造性和产量。在半导体公司,规则文件是执行规范,根据给定设计类型的性质,可以增加规则以进一步加大产量增强性能。创建和保持这些规则文件比较困难且费时,在两种验证环境下,CAD工程师的工作量必须加倍才能支持两种不同的规则文件,确保其编写符合规则规范。
代工厂和晶圆厂的规则规范不断在发展,因此设计规则文件必须经常升级以适应这些变化,然而维护并不总是有效及时的,造成规则文件过时有几个原因:
1. 代工厂为几个验证工具提供规则文件,但可能没有同时对所有规则文件进行升级,一般首先是对内部使用的工具,然后对为其它工具设计的规则文件。必须使用代工厂的规则文件以避免设计被退回。
2. 设计人员可能会指定进行其它检查,并将其添加到代工厂规则文件里,或者从内部工艺规范中创建新的规则。在两种验证流程里,使用交互式工具和批处理工具的工程师会对规则规范给出不同的解释,造成交互式规则文件和批处理规则文件之间出现差异。
3. 在出带期间,可以把增加的检查放入批处理签出工具规则文件中,以提高产量或满足设计约束条件。这些新规则可能没有加到用于交互式验证的规则文件里,造成以后设计出带时出现差异。
规则文件不同步不仅使全芯片集成更加困难,而且会使制造停顿,直到差异解决为止。
其它隐性费用
支持不同物理验证工具还会造成其它一些费用。如版图设计人员和CAD工程师需要花费大量时间查找、修复和重新验证各自设计和流程,出带和CAD开发会被推迟。支持两种验证流程还需要专门的资源,负责流程创建、鉴定、执行和日常维护。双工具验证流程要花很多时间创建执行,比只用一种工具时间长,而且完成之后,还需要其它CAD资源解决流程中的差异问题。
培训和学习也要花费时间和资源,工程师必须掌握每种验证工具的知识,再加上每种工具还有自己的调用和调试环境。用户可能具有交互式工具的使用经验,而当设计规模需要用到批处理时很难应用批处理工具,缺乏批处理/签出工具使用经验将很难解释验证结果。由于时间有限只能得到一种工具应用技术,所以设计人员必须依赖CAD小组协助完成验证工作。
单一工具的优点
对于交互式和批处理验证只使用一种功能强大的物理验证工具对两种应用模型都有好处。设计人员进行交互验证时,可以很容易地调用DRC和LVS,选择规定的检查以及验证设计各部分,并可在图形方式下调试结果而不用离开版图设计环境。由于版图设计工具有一个简单的图形用户界面,交互式设计人员可在保持其独有应用模型时,快速执行迭代验证。将全芯片验证功能延伸到单元/模块可使交互设计人员确信单元和模块设计都是正常的,不会在全芯片组装时出现错误或延迟。
进行批处理验证的工程师也能保留他们所需要的速度、性能和可升级性以使用批处理/签出工具验证大的模块和整个芯片,同时也有一定的灵活性,并对含各种模拟/混合信号元件的大型SoC有更深入的认识。
还有一个主要优点是更快的设计周期有助于满足目前对面市时间的要求,设计周期缩短主要有三个原因。首先,一个完全兼容和集成的工具流程能让设计人员利用已有的大量全芯片规则文件进行单元-模块验证,而且交互式设计人员能应用代工厂提供的规则文件。
其次,因为消除了规则文件不同步和工具限制之间的差异,设计人员可在芯片装配期间节省宝贵的时间,这对赶在出带期限之前完成任务很重要;另外还能在设计过程早期而不是后期发现和更正物理验证错误,如果后期再进行反复会拖延设计进度。
第三,只用一种工具模型可使设计人员对工具更加熟悉,了解更深入,使用效率更高,从而节省时间。设计人员熟悉以后,新成员就能很容易得到培训,问题解决得更快,设计决策更加迅速。同时,单一工具模型还减少了因多个验证工具而产生的维护工作量。
如何选择物理验证工具
选择一种既适用于交互式又适合于批处理验证流程的工具需要考虑五个标准。
1.能在“开放式”非专用环境下工作
开放式环境能让设计人员易于将速度更快的新工具融入设计流程之中,而封闭式环境这样做比较难。由于流程中增加新工具同时又去掉了一些旧工具,因此物理验证工具应非常灵活,能随时适应多种设计流程。
2.能在GDSII下工作
工业的标准数据库是GDSII,它是其它所有数据库甚至包括专用数据库在制造时都必须遵守的。选择在GDSII下工作的工具不仅能避免易出错的数据传输阶段,而且能保证数据对制造格式是正确的。
3.既可用于交互式也可用于批处理
由于一般交互式工具的性能通常无法完成批处理验证,所以交互式工具不是单工具流程很好的候选方案。批处理工具则没有这些局限,在交互式物理验证中使用批处理/签出工具可以为交互式用户提供与批处理同样的规则文件和扩展能力。
4.不受设计类型约束
不受设计类型约束的物理验证工具不管设计元件类型如何,它都能有效运行,无论是处理模拟、定制数字、存储器、数字ASIC还是这些元件的组合,都不会有影响。
5.应得到代工厂有力支持
代工厂是规则文件的很好来源,规则文件可用于不同的验证工具,但工厂内部只使用一种工具规则文件作为签出标准。用于不同工具的规则文件有些完全由代工厂评定,有些可能不是。一些批处理工具需要多个规则文件以支持不同的设计类型和工艺,这要CAD工程师对其提供支持很难,为每个工艺维持规则文件库是一个负担。对指定工具提供有力工艺支持表明将来会有工艺规则文件,所以选择代工厂内部标准的批处理/签出物理验证工具可以保证设计具有可制造性。
本文结论
对不同的设计工具、类型和方法来讲,采用一种不受设计类型约束的物理验证工具可为工程师制造复杂IC提供灵活性和保证。一种能对单元和模块进行快速交互式验证,以及对全芯片SoC进行快速准确批处理验证的验证工具是满足当前对面市时间要求的一个重要因素,把批处理工具融入单元/模块设计指明了一条取得成功的简单方法。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。