El diseño Versus Esquema ( LVS ) es la clase de electrónica de automatización de diseño software de verificación (EDA) que determina si un determinado diseño de circuito integrado corresponde al original esquemática o diagrama de circuito del diseño.
Fondo
Una verificación de reglas de diseño (DRC) exitosa asegura que el diseño se ajuste a las reglas diseñadas / requeridas para una fabricación sin fallas. Sin embargo, no garantiza si realmente representa el circuito que desea fabricar. Aquí es donde se usa una verificación LVS.
La necesidad de tales programas se reconoció relativamente temprano en la historia de los CI, y los programas para realizar esta comparación se escribieron ya en 1975. [1] Estos primeros programas operaban principalmente en el nivel de isomorfismo gráfico , verificando si el esquema y el diseño eran de hecho idéntico. Con el advenimiento de la lógica digital, esto fue demasiado restrictivo, ya que exactamente la misma función se puede implementar de muchas formas diferentes (y no isomórficas). Por lo tanto, LVS se ha aumentado mediante una verificación de equivalencia formal , que verifica si dos circuitos realizan exactamente la misma función sin exigir isomorfismo. [2]
Cheque
El software de verificación LVS reconoce las formas dibujadas del diseño que representan los componentes eléctricos del circuito, así como las conexiones entre ellos. Esta lista de conexiones es comparada por el software "LVS" contra un esquema similar o de diagrama de circuito lista de conexiones .
La verificación de LVS implica seguir tres pasos:
- Extracción: el programa de software toma un archivo de base de datos que contiene todas las capas dibujadas para representar el circuito durante el diseño. Luego, ejecuta la base de datos a través de muchas operaciones lógicas basadas en áreas para determinar los componentes semiconductores representados en el dibujo por sus capas de construcción. Las operaciones lógicas basadas en áreas utilizan áreas poligonales como entradas y generan áreas poligonales de salida a partir de estas operaciones. Estas operaciones se utilizan para definir las capas de reconocimiento de dispositivos, los terminales de estos dispositivos, los conductores de cableado y las estructuras de vía, y las ubicaciones de los pines (también conocidos como puntos de conexión jerárquica). Las capas que forman los dispositivos pueden tener varias mediciones realizadas y estas mediciones se pueden adjuntar a estos dispositivos. Las capas que representan el cableado "bueno" (conductores) generalmente están hechas y se llaman metales. Las conexiones verticales entre estas capas a menudo se denominan vías.
- Reducción: durante la reducción, el software combina los componentes extraídos en combinaciones en serie y en paralelo, si es posible, y genera una representación de lista de conexiones de la base de datos de diseño. Se realiza una reducción similar en la lista de conexiones del esquema "fuente".
- Comparación: la lista de conexiones de diseño extraída se compara con la lista de conexiones obtenida del esquema del circuito. Si las dos listas de red coinciden, el circuito pasa la verificación LVS. En este punto, se dice que está "LVS limpio". (Matemáticamente, el diseño y las listas de red esquemáticas se comparan realizando una verificación de isomorfismo de Graph para ver si son equivalentes).
En la mayoría de los casos, el diseño no pasará LVS la primera vez, lo que requiere que el ingeniero de diseño examine los informes del software LVS y realice cambios en el diseño. Los errores típicos encontrados durante LVS incluyen:
- Cortocircuitos: Dos o más cables que no deberían estar conectados han sido y deben estar separados.
- Se abre: Los cables o componentes que deben conectarse quedan colgando o solo parcialmente conectados. Estos deben estar conectados correctamente para solucionar este problema.
- Discrepancias de componentes: se han utilizado componentes de un tipo incorrecto (por ejemplo, un dispositivo MOS de Vt bajo en lugar de un dispositivo MOS de Vt estándar)
- Componentes faltantes: se ha dejado fuera del diseño un componente esperado.
- Falta de coincidencia de parámetros: los componentes de la lista de conexiones pueden contener propiedades. La herramienta LVS se puede configurar para comparar estas propiedades con la tolerancia deseada. Si no se cumple esta tolerancia, se considera que la ejecución de LVS tiene un error de propiedad. Un parámetro que está marcado puede no ser una coincidencia exacta, pero aún puede pasar si la tolerancia de la herramienta lvs lo permite. (ejemplo: si una resistencia en un esquema tenía una resistencia = 1000 (ohmios) y la lista de conexiones extraída tenía una resistencia combinada con una resistencia = 997 (ohmios) y la tolerancia se estableció en 2%, entonces este parámetro de dispositivo pasaría como 997 es dentro del 2% de 1000 (997 es 99,7% de 1000, que está dentro del rango de 98% a 102% del error de tolerancia aceptable + -2%))
Software
Software comercial
- Assura , Dracula y PVS de Cadence Design Systems
- Calibre por Mentor Graphics
- Guardian LVS de Silvaco
- LVS de cuarzo de Magma Design Automation
- Validador IC de Synopsys
- PowerLVS de Polyteda LLC | POLYTEDA LLC
- VERI y HVERI por Zeni EDA
Software libre
- KLayout https://klayout.de/
- Netgen http://opencircuitdesign.com/netgen/
Referencias
- ^ Baird, HS; Cho, YE (1975). Un sistema de verificación del diseño de obras de arte . Actas de la 12ª Conferencia de Automatización del Diseño. Prensa IEEE. págs. 414–420.
- ^ Fabio Somenzi y Andreas Kuehlmann, Comprobación de equivalencia , capítulo 4 (volumen 2) del Manual de automatización de diseño electrónico para circuitos integrados , por Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3