编者按:随着芯片整合度和规模的不断提高,在设计各个层次上所需执行的验证也相应增多,DRC和版图与电路图(LVS)的对比检查变得越来越重要,它对于消除错误、降低设计成本和减少设计失败的风险具有重要作用,本文介绍了基于Calibre工具的DRC和LVS验证方法。
一般地说,SoC芯片中包含了几个乃至几十个IP核。在本文提到的系统单芯片(SoC)中,除了采用了三个厂家的IP硬核外,还自行设计开发了十余个IP硬核。在SoC芯片开发的实际商业应用中,O计方购买的是IP硬核在一个产品中的使用权。IP硬核供货商为了保护自己的版权,通常不会将其IP硬核的实体版图用GDSII格式交给用户。他们所提供的只是IP硬核的几个框图和引出端的位置和属性。这就带来一个问题,在进行SoC芯片的版图设计验证时,最重要的问题是验证工具必须能让用户进行'层次化'验证。即用户可以把他们完成版图设计后的SoC分成若干模块或者区域,对他们进行多层次的验证。
在集成电路从ASIC进入到SoC阶段(当然在SoC阶段中ASIC还是会存在下去的)的时候,这种可以进行'层次化'版图验证的工具就显得十分必要。甚至可以说,不具备'层次化'验证功能的工具,是无法用于SoC芯片的版图设计验证的。本文首先介绍Calibre软件所具备的'层次化'验证功能,然后说明其在对SoC芯片进行版图设计验证时就所发挥的作用。
Calibre DRC简介
目前,Calibre工具已经被众多设计公司、单元库和IP开发商、晶圆代工厂采用为深次微米集成电路的实体验证工具。Calibre具有先进的分层次处理功能,是唯一能在提高验证速率的同时,可最佳化重复设计层次化的实体验证工具。
Calibre DRC用于版图的设计规则检查,具有高效能、高容量和高精密度,还具有足够的弹性,即便是系统芯片包含有设计方法差异极大的模拟与数字电路,也可以方便地进行验证。具体表现在以下几个方面:
(1) 检查内容丰富准确:既包括简单的DRC规则检查,如宽度、间距、包含关系等的检查,又包括一些复杂的DRC检查,如天线规则、电流流向规则和导线密度规则等。本公司所设计SoC为数字模拟混合电路,采用Calibre DRC除进行了宽度、间距、包含关系等简单的DRC检查外,也进行了一些复杂的DRC检查。其结果得到了台积电等晶圆厂的认可。
(2) 档执行方式可选:执行DRC档时,可以采用命令行的方式,也可以采用图形接口方式,Calibre Interactive-DRC是Mentor Graphics公司推出的Calibre实体验证的新版本(Calibre Interactive),它已作为Cadence Design Systems公司全定制设计环境Virtuoso的插件。现在,Virtuoso的用户能够直接从Virtuoso中调用Calibre Interactive进行工作。对于规模较小的版图应用Interactive非常方便而且直观的图形化接口便于初学者使用。在我们的计划开发过程中,同时用到了这两种方式。对于全定制版图,经常要选用图形接口工具Calibre Interactive-DRC,对于自动布局布线出来的SoC版图,我们采用了命令行的形式,可以快速地得到DRC检查报告。
(3) 结果浏览快捷方便:透过Calibre RVE(Results Viewing Environment,验证结果视图环境)和版图编辑器分析DRC的结果进行查错,准确快捷,一目了然。RVE可以指出错误类型和数目,使用Highlight命令可以直接标明版图中的出错地方(图2),可以很方便地修正版图中的错误。无论是规模不大的模拟电路,还是大规模的SoC电路,其DRC检查都可以透过启动RVE,对照版图和分析DRC结果档,可以快速修改错误或进行最佳化。
RVE能够同常见的版图环境实现自动整合,这些版图环境包括:Mentor Graphics的Calibre DESIGNrev和IC Station以及Cadence的Virtuoso和Seiko,Avant!的Apollo和Enterprise等工具。在我们的设计中使用的是Virtuoso。
(4) 多执行绪能力:Calibre的多执行绪技术(CalibreMT)提供多CPU环境下的杰出性能。Calibre几何划分版图层次化使之成为上千个独立的'执行绪'支持多处理器工作站或者服务器应用,每一个执行绪可以在独立的处理器上执行,这样的结构对性能的提高是巨大的。简单的'turbo'命令行选项就可以实现高性能的CalibreMT的调用,而不需要任何辅助文件或者设置约束信息的支撑。CalibreMT支持多CPU高度灵活的结构并且不会导致RAM的大量增加。
Calibre LVS简介
Calibre LVS是一个出色的版图与线路图对比检查工具,具有高效率、高准确度和大容量等优点。Calibre LVS不仅可以对所有的'组件'进行验证,而且还能在不影响性能的条件下,处理无效数据。主要表现在以下几个方面:
(1) 执行模式快捷方便:Calibre LVS有两种执行模式,即命令行模式和接口模式(Calibre Interactive-LVS)。采用命令行模式可以快速输入控制命令,快速执行,其结果精确稳定。Calibre Interactive-LVS能够自动选择验证正被编辑的单元,并且能够选择所有的Calibre执行时间选项以及标准文件的规格。该验证技术,允许用户选择特定标准文件以及独立规则和规则组的任何子集。GUI可控制普通使用的LVS选项,并记录执行设置过程。当采用修改控制或冻结标准档时,它可将执行配置数据传给Calibre。其接口友好,使用方便。我们在做LVS过程中,对于规模较小的模拟电路和数字模拟混合电路,一般采用方便的图形接口模式(Calibre
Interactive-LVS)进行对比检查,这样可以在启动RVE后,对照LVS结果文件和版图,将电路(或者网表)和版图直接对应起来检查,非常方便;对于大规模的SoC电路,由于命令行方式输入简单直接,执行速度更快,执行结果稳定精确,这次就采用了命令行方式来执行LVS,获得了极大的成功。
(2) 多种比较方式可选:Calibre LVS可以进行版图与电路图(layout vs shematic)和网表与网表(netlist vs netlist)的方式对比检查,还可以单独从版图撷取网表。而且,透过v2lvs命令,可以将自动布局布线所产生的verilog网表转换成spice网表,然后与自动布局布线的版图进行对比,作业简单方便,结果精确。由此可见,可以根据不同需要,在LVS验证过程的不同阶段,灵活地选择比较方式,以获得最有效的执行和最佳的结果。
(3) 侦错方便快捷:当执行完LVS后,Calibre LVS会产生一个结果报告,明确指出出错类型和数目,并且可以对层次化中的每个模块都有一个完整的LVS报告,简单明了。这个报告还能明确指出短路(特别是电源和地短路的情况)、开路、浮空或孤立的nets、pin swapping以及软连接等问题。Calibre LVS还能产生一个详细的结果数据库,其中包括原理图网表、从版图抽取的网表、结果报告、版图中的组件及连接关系等。这样透过RVE来读取这些数据,就可以在版图和网表中准确地Highlight有错误的地方(图1)。
由此可见,Calibre LVS所产生的结果文件结构清晰,又可以透过RVE来准确定位,能有效地帮助用户快速地消除错误以降低设计风险,这在我们计划的开发过程中得到了完全的体现。由于时间紧迫,致使后端设计时间相当紧张,正是Calibre LVS能准确无误、快速地查出短路、开路、浮空或孤立的网络、接脚、软连接等问题,还能很好地识别晶体管、闸级电路和模块级电路,才使得我们按时地完成了百万闸级的信息安全SoC的设计。
在反复使用Calibre LVS的图形接口的执行方式和命令行方式过程中,发现Calibre LVS图形接口的执行方式方便快捷,但是其稳定性不如命令行方式好,若能加以改进,则能进一步提高验证精准度。
相关连接
高速系统讯号完整性设计工具的选择策略
http://www.eettaiwan.com/ART_8800326563_617717,681522.HTM.f56505fa
可测试性设计与EDA技术
http://www.eettaiwan.com/ART_8800326568_617717,681522.HTM.aed4690d
利用FPGA的多频率设计策略
http://www.eettaiwan.com/ART_8800326567_617717,681522.HTM.a5c664a9
本文小结
Calibre工具作为ASIC特别是SoC的实体验证工具,正成为设计公司的设计与半导体制造公司交接的标准框架。Calibre DRC和Calibre LVS使用方式灵活快捷,验证准确精密度高,结果浏览一目了然;加上Mentor Graphics公司能及时提供高水平的技术支持,因而可以快速地消除错误,降低设计成本,减少设计失败的风险。