如何解决IC设计过程中使用两种物理验证流程带来的问题
扫描二维码
随时随地手机看文章
尽管在ic设计过程中针对不同部分可以选择不同的eda工具,但物理验证贯穿从版图设计到流片整个过程,如果使用不同的物理验证工具会引起前后不连续,从而导致产生错误,使出带推迟,而且在制造时也会出问题。本文讨论使用不同物理验证工具带来的问题,并介绍如何加以解决。 随着系统级芯片(soc)设计的普及,物理验证成为半导体公司、代工厂、晶圆厂以及库、ip和设计服务供应商之间进行数据传递的关键环节,成功的soc元件集成取决于成功的物理验证。很多公司传统上支持两种物理验证工具流程,即交互式(单元/模块)和批处理(大型模块/全芯片)验证工具,每个设计流程根据设计元件的类型和设计人员使用工具的方式而选择不同的工具。 soc设计要求在交互式和批处理两个阶段都进行设计规则检测(drc)和版图与原理图对照(lvs)物理验证。在设计流程开始或在建立标准单元库/模块时候用交互式工具对小单元和模块进行验证,此时设计人员需要与版图设计工具不断地交换信息,然后开始验证,在版图设计环境中对结果进行调试,不用再做其它设置。在这个阶段,版图设计、验证和调试结合得非常紧密,无论什么原因脱离版图设计环境都会使流程出现偏差。 和上述情况相反,当设计规模超出交互式验证工具的范围,或者精度是头等重要的时候,通常应用批处理工具。与交互式工具相比,批处理用户需要更全面的命令和复杂处理模块,为了实现最佳性能,批处理工具充分利用先进的验证模块,如分层检查和多处理运行(很多单数据“线程”运行在多个处理器上)以缩短整个验证的时间。 由于待处理数据量很大,验证运行时间需要几小时才能完成,正因为此,使用批处理工具的设计人员通常开始运行后就去执行其它任务直到运行结束,然后再回过头调试。批处理工具也可用作指定的签出(sign-off)工具,确认芯片可以出带并交付给晶圆厂或代工厂进行制造。 这种采用两种验证工具的验证环境需要用到不同的规则文件,这些规则文件之间的不连续在单元和模块进行全芯片集成时会引起严重的分歧,不连续还会导致制造问题。 两种流程的差异 在不同流程内有两种工具完成类似的微调任务,表面上看起来很好,但实际上这种环境很容易出问题。微调表明在每次改进验证流程时,必须不断校准每个工具才能得出相同的结果,这需要宝贵的时间和资源,并可能使流程更新推迟。 另外,应用两种模型要求分别维护交互式和批处理物理验证工具及其各自的规则文件,这种分离会在工具、规则文件和验证结果之间产生差异。例如在批处理验证期间发现一个交互式验证漏过的单元设计错误,将会使整个物理验证流程受到质疑。 如果出现“有的错误发现,有的错误漏掉”情况时,设计人员必须查明为什么会漏掉错误,以及在进行验证之前要采取哪些行动。仅仅改正错误会对其他人员的设计部分造成不利影响,跟踪这些差异需要多个设计人员和cad工程师共同参与,他们必须在一起确定下面的问题: 1. 在报告有错误时,交互式和批处理工具究竟哪个是正确的? 2. 谁应该“负责”或解决这个错误? 3. 工具之间为什么有差异? 4. 在今后设计中怎样消除这些差异? 差异表明存在下列两种情况之一,即交互式规则文件与代工厂标准批处理规则文件不同步,或者交互式工具不能为现代深亚微米工艺所需的复杂检查进行编码。 认识到差异并“承认”错误之后,设计人员必须对版图进行修复,cad工程师则需要更新验证流程。但如果错误是在库单元或ip模块里,设计人员可能无法随意地更正或更改,这些模块的修订控制使得更新难于进行,而且外购的ip不能保证改变后仍然工作正常。解决这些问题不仅要耗用宝贵的cad资源,还会造成设计和出带延迟,所以了解产生差异的原因是防止将来再次出现的关键(图1)。
每个验证工具都有自己的处理引擎和规则文件语法,处理引擎的工作方式差不多,但在性能上有很大差异。更多是为满足速度要求的交互式验证工具,可能不包括进行复杂检查的批处理验证能力,在很多情况下,某些规则不能针对交互式工具进行编码,这样在用批处理工具时就会有元件集成问题,这就是批处理模式下交互式工具验证过的单元和模块中还会发现错误的主要原因。 为交互式和批处理流程编写的规则文件经过编码后,再按代工厂或晶圆厂规定的规则文件规范去检查错误,这些设计规则规范可以保证可制造性和最大产量。在半导体公司,规则文件是执行规范,根据给定设计类型的性质,可以增加规则以进一步加大产量增强性能。创建和保持这些规则文件比较困难且