电路规则检查属于集成电路设计物理验证的一部分。其主要目的是验证版图与电路原理图的电路结构是否一致。 电路设计者完成电路设计和仿真后交由版图设计者完成掩模工作。 确保所画版图与设计电路完全一致就是 LVS 工具要做的工作。LVS检查的内容可以槪括为两点:①所有信号的电气连接关系是否一致;②器件类型尺寸是否一致。LVS 文件一般由晶圆代工厂提供[1]。
LVS 不是一个简单地将版图与电路原理图进行比较的过程,它需要分两步完成。第—步“抽取”,第二步“比较”。 首先根据 LVS 提取规则,EDA 工具从版图中抽取出版图所确定的网表文件; 然后将抽取出的网表文件与电路网表文件进行比较。需要说明的是:抽取的网表为晶体管级的 SPICE网表,而电路网表为门级的Verilog网表,该门级网表需要结合SPICE模型/CDL模型转化为SPICE网表,才能与抽取的网表进行逻辑等效性比对。如果两个网表的电路连接关系和器件完全一致则通过 LVS 检査。反之,说明版图存在与电路不一致的地方,需要进行检査并加以处理或修改更正[1]。
图1 版图与原理一致性检查
实现“抽取”的主要步骤是网表提取,它可以实现从版图提取网表,包含连接关系提取和器件提取两大模块。连接关系提取模块的主要功能是标识线网和为线网命名。标识线网是指把金属、通孔、多晶等半导体划分为不同的连通集合,从而生成不同的线网。器件提取模块的主要功能是识别器件、计算器件属性和输出网表[2]。
实现“比较“的步骤是网表比较,它包括网表预处理、版图和原理图网表比较。网表预处理的主要工作是串并联结构约简,虚拟器件过滤,门电路识别等。在版图设计中,宽长较大的 MOS 管通常会采用版图折叠的方法将其等效于多个晶体管的并联,所以为避免在检査器件数目和尺寸时发生错误,需要把版图中折叠的、并联或串联的器件合并成一个再进行比较。而门电路结构可以作为一个整体对待,以此减少需要处理的节点数量[2]。
完成网表预处理后,则可以开始进行网表比较。网表比较本质上是图同构问题,图同构问题是一个NP完全问题。图同构比较的是拓扑结构,不受节点的物理位置、距离、大小影响。若版图网表和原理图网表同构,则版图上的每一个节点都唯一对应原理图上的一个节点[2]。
图2 版图和原理图比较示意图
参考文献:
[1] 陈春章,数字集成电路物理设计,科学出版社,2008:30-32
[2] 李志梁,版图与原理图一致性检查(LVS)工具的原理简介,2017:33-38