
La verificación de diseño versus esquema ( LVS , por sus siglas en inglés ) es una clase de software de verificación de automatización del diseño electrónico (EDA, por sus siglas en inglés) que determina si el diseño de un circuito integrado en particular se corresponde con el esquema o diagrama de circuito original del diseño.
Fondo
Una verificación de reglas de diseño (DRC) exitosa garantiza que el diseño cumpla con las reglas diseñadas o requeridas para una fabricación impecable. Sin embargo, no garantiza que represente fielmente el circuito que se desea fabricar. Aquí es donde se utiliza una verificación LVS.
La necesidad de este tipo de programas se reconoció relativamente pronto en la historia de los circuitos integrados, y ya en 1975 se escribieron programas para realizar esta comparación. [ 1 ] Estos primeros programas operaban principalmente a nivel de isomorfismo de grafos , comprobando si el esquema y el diseño eran realmente idénticos. Con la llegada de la lógica digital, esto resultó demasiado restrictivo, ya que la misma función puede implementarse de muchas maneras diferentes (y no isomorfas). Por lo tanto, LVS se ha complementado con la comprobación de equivalencia formal , que verifica si dos circuitos realizan exactamente la misma función sin exigir isomorfismo. [ 2 ]
Controlar
El software de verificación LVS reconoce las formas dibujadas en el diagrama que representan los componentes eléctricos del circuito, así como las conexiones entre ellos. Esta lista de conexiones es comparada por el software "LVS" con la lista de conexiones de un esquema o diagrama de circuito similar .
La comprobación del LVS implica seguir tres pasos:
- Extracción: El programa informático toma un archivo de base de datos que contiene todas las capas dibujadas para representar el circuito durante el diseño. Luego, procesa la base de datos mediante diversas operaciones lógicas basadas en áreas para determinar los componentes semiconductores representados en el dibujo por sus capas de construcción. Estas operaciones lógicas utilizan áreas poligonales como entrada y generan áreas poligonales de salida a partir de ellas. Se utilizan para definir las capas de reconocimiento de dispositivos, los terminales de estos dispositivos, los conductores de cableado y las estructuras de vías, así como la ubicación de los pines (también conocidos como puntos de conexión jerárquicos). Las capas que forman los dispositivos pueden tener diversas mediciones, las cuales pueden adjuntarse a dichos dispositivos. Las capas que representan el cableado "correcto" (conductores) suelen estar hechas de metales. Las conexiones verticales entre estas capas 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 la lista de conexiones de la base de datos del diseño. Se realiza una reducción similar en la lista de conexiones del esquema original.
- Comparación: La lista de conexiones del diseño extraída se compara con la lista de conexiones del esquema del circuito. Si ambas listas coinciden, el circuito supera la verificación LVS. En este punto, se dice que está "limpio según LVS". (Matemáticamente, las listas de conexiones del diseño y del esquema se comparan mediante una comprobación de isomorfismo de grafos para determinar si son equivalentes).
En la mayoría de los casos, el diseño no superará la verificación LVS la primera vez, lo que obliga al ingeniero de diseño a examinar los informes del software LVS y realizar cambios en el diseño. Los errores típicos que se presentan durante la verificación LVS incluyen:
- Cortocircuitos: Dos o más cables que no deberían estar conectados se han separado y deben separarse.
- Desconexión: Los cables o componentes que deberían estar conectados quedan sueltos o solo parcialmente conectados. Para solucionar este problema, deben conectarse correctamente.
- Desajustes de componentes: Se han utilizado componentes de un tipo incorrecto (por ejemplo, un dispositivo MOS de bajo Vt en lugar de un dispositivo MOS de Vt estándar).
- Componentes faltantes: Se ha omitido un componente esperado en el diseño.
- Desajuste de parámetros: Los componentes de la lista de conexiones pueden contener propiedades. La herramienta LVS se puede configurar para comparar estas propiedades con una 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 se verifica puede no coincidir exactamente, pero aún así puede pasar si la tolerancia de la herramienta LVS lo permite. (Ejemplo: si una resistencia en un esquema tiene una resistencia de 1000 ohmios y la lista de conexiones extraída tiene una resistencia coincidente con una resistencia de 997 ohmios y la tolerancia se establece en un 2 %, entonces este parámetro del dispositivo pasaría, ya que 997 está dentro del 2 % de 1000 (997 es el 99,7 % de 1000, que está dentro del rango del 98 % al 102 % del error de tolerancia aceptable de ±2 %)).
Software
Software comercial
- Assura , Drácula , PVS y Pegaso por Cadence Design Systems
- Calibre de Mentor Graphics
- Guardian LVS de Silvaco
- Quartz LVS de Magma Design Automation
- Validador de circuitos integrados de Synopsys
- PowerLVS , ahora SmartLVS de Silvaco
- SmartLVS de Silvaco
- VERI y HVERI de Zeni EDA
- Sistema de diseño avanzado para escritorio LVS de PathWave Design ( Keysight Technologies, anteriormente la división EEsof EDA de Agilent )
Software gratuito
- 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. IEEE Press. págs. 414–420 .
- ↑ Fabio Somenzi y Andreas Kuehlmann, Equivalence Checking , capítulo 4 (volumen 2) de Electronic Design Automation For Integrated Circuits Handbook , de Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3
- Verificación de circuitos electrónicos