Una base de datos EDA es una base de datos especializada para la automatización del diseño electrónico . Estas bases de datos específicas para cada aplicación son necesarias porque las bases de datos de propósito general históricamente no han proporcionado suficiente rendimiento para las aplicaciones EDA.
Al examinar las bases de datos de diseño de EDA, es útil observar la arquitectura de la herramienta EDA, para determinar qué partes se deben considerar parte de la base de datos de diseño y qué partes son los niveles de aplicación. Además de la base de datos en sí, se necesitan muchos otros componentes para una aplicación EDA útil. Asociados a una base de datos hay uno o más sistemas de lenguaje (que, aunque no son parte directa de la base de datos, son utilizados por aplicaciones EDA como celdas parametrizadas y scripts de usuario). En la parte superior de la base de datos se construyen los motores algorítmicos dentro de la herramienta (como los motores de sincronización , colocación , enrutamiento o simulación ), y el nivel más alto representa las aplicaciones construidas a partir de estos bloques de componentes, como la planificación de pisos . El alcance de la base de datos de diseño incluye el diseño real, la información de la biblioteca, la información de la tecnología y el conjunto de traductores hacia y desde formatos externos como Verilog y GDSII .
Bases de datos de diseño maduro
Existen muchos ejemplos de bases de datos de diseño maduras en la industria EDA, tanto como base para herramientas EDA comerciales como para herramientas EDA patentadas desarrolladas por los grupos CAD de las principales empresas de electrónica. IBM , Hewlett-Packard , SDA Systems y ECAD (ahora Cadence Design Systems ), High Level Design Systems y muchas otras empresas desarrollaron bases de datos específicas de EDA durante los últimos 20 años, y estas siguen siendo la base de los sistemas de diseño de circuitos integrados en la actualidad. Muchos de estos sistemas tomaron ideas de la investigación universitaria y las convirtieron en productos con éxito. La mayoría de las bases de datos de diseño maduras han evolucionado hasta el punto en que pueden representar datos de listas de conexiones, datos de diseño y los vínculos entre ambos. Son jerárquicas para permitir la reutilización y diseños más pequeños. Pueden admitir estilos de diseño desde digital hasta analógico puro y muchos estilos de diseño de señal mixta.
Bases de datos de diseño actuales
La base de datos de diseño OpenAccess
Dada la importancia de una base de datos de diseño común en la industria de EDA, se ha formado la OpenAccess Coalition para desarrollar, implementar y dar soporte a una base de datos de diseño de EDA de código abierto con control compartido. El modelo de datos presentado en la OA DB proporciona un modelo unificado que actualmente se extiende desde RTL estructural hasta datos de máscara de nivel GDSII , y ahora al espacio de retícula y obleas. Proporciona una capacidad lo suficientemente rica como para admitir datos de diseño digitales, analógicos y de señal mixta. Proporciona datos de tecnología que pueden expresar reglas de diseño de procesos de fundición a través de al menos 20 nm, contiene las definiciones de las capas y los propósitos utilizados en el diseño, definiciones de VIA y reglas de enrutamiento, definiciones de puntos operativos utilizados para el análisis, etc. OA hace un uso extensivo de técnicas de compresión de datos específicas de IC para reducir la huella de memoria , para abordar los problemas de tamaño, capacidad y rendimiento de las bases de datos anteriores. A pesar de lo que su nombre podría implicar, este formato de archivo no tiene una implementación o especificación de acceso público. Estas son exclusivas de los miembros de la OpenAccess Coalition.
Sinopsis Milkyway
La base de datos Milkyway fue desarrollada originalmente por Avanti Corporation, que luego fue adquirida por Synopsys . Se lanzó por primera vez en 1997. Milkyway es la base de datos en la que se basan la mayoría de las herramientas de diseño físico de Synopsys:
- Compilador IC y síntesis física Astro
- Extractor de parásitos RC Star-RCXT
- Verificación física del Hercules LVS / DRC
Milkyway almacena datos topológicos, parásitos y de sincronización. Milkyway, que se ha utilizado para diseñar miles de chips, es muy estable y apto para producción. Se sabe que Milkyway está escrito en C. Su implementación interna no está disponible fuera de Synopsys, por lo que no se pueden hacer comentarios sobre la implementación.
API C de MDX
A petición de grandes clientes como Texas Instruments , Avanti lanzó MDX C-API en 1998. Esto permite a los desarrolladores CAD de los clientes crear complementos que agregan funcionalidad personalizada a las herramientas Milkyway (principalmente Astro).
MDX permite un acceso bastante completo a los datos topológicos en Milkyway, pero no admite datos parásitos de RC ni de sincronización.
Programa MAP-in
A principios de 2003, Synopsys (que adquirió Avanti) abrió Milkyway a través del Programa de Acceso Milkyway (MAP-In). Cualquier empresa de EDA puede convertirse en miembro de MAP-in de forma gratuita (los clientes de Synopsys deben utilizar MDX). Los miembros reciben los medios para interconectar su software con Milkyway mediante C, Tcl o Scheme. La interfaz Scheme está obsoleta en favor de TCL. IC Compiler solo admite TCL.
La API C de MAP-in permite que una aplicación que no sea Synopsys lea y escriba bases de datos de Milkyway. A diferencia de MDX, MAP-in no permite la creación de un complemento que se pueda utilizar desde las herramientas Milkyway de Synopsys. MAP-in no admite el acceso a datos parásitos de RC o de sincronización. MAP-in tampoco admite directamente determinados objetos geométricos.
MAP-in incluye Milkyway Development Environment (MDE). MDE es una aplicación GUI que se utiliza para desarrollar interfaces TCL y Scheme y diagnosticar problemas. Sus principales características incluyen:
- Editor gráfico para visualizar y editar bases de datos de Milkyway
- Intérprete de comandos TCL
- Intérprete de comandos de esquema
- Traductores para leer y escribir formatos populares como Verilog, LEF, DEF y GDSII
Halcón de Mentor
Otra base de datos de diseño importante es Falcon , de Mentor Graphics . Esta base de datos fue una de las primeras de la industria escrita en C++. Al igual que Milkyway lo es para Synopsys, Falcon parece ser una plataforma estable y madura para los productos IC de Mentor. Nuevamente, la implementación no está disponible públicamente, por lo que poco se puede decir sobre sus características o rendimiento en relación con otros estándares de la industria.
Base de datos de Magma
La base de datos de Magma Design Automation no es solo un formato de disco con una API, sino que es un sistema completo construido alrededor de su base de datos como una estructura de datos central. Nuevamente, dado que los detalles del sistema no están disponibles públicamente, no es posible realizar una comparación directa de las características o el rendimiento. Analizar las capacidades de las herramientas de Magma indicaría que esta base de datos tiene una funcionalidad similar a OpenAccess y puede ser capaz de representar información de comportamiento (entrada de síntesis).
Características principales de una base de datos específica de EDA
Se espera que una base de datos específica de EDA proporcione muchos servicios y construcciones básicas. A continuación se presenta una lista breve e incompleta de lo que se necesita:
- Características fundamentales
- El diseño (o célula) como unidad básica
- Formas y geometría física
- Jerarquía
- Conectividad y conectividad jerárquica
- Construcciones generales
- Formularios API
- Capa de utilidad
- Funciones avanzadas
- Diseños parametrizados
- Espacios de nombres y mapeo de nombres
- Construcciones de lugar y ruta
- Temporización y construcciones parasitarias
- Modelos de ocurrencia y mapeo lógico/físico
- Interfaz para la gestión de la configuración
- Extensibilidad
- Datos de tecnología
- Definiciones de capas
- Reglas de diseño
- Reglas de generación y extracción para dispositivos simples
- Datos y estructuras de bibliotecas: diseño y gestión de datos
- Organización de bibliotecas: desde diseños hasta archivos en disco
- Gestión de datos de diseño
- Modelos de interoperabilidad
Referencias
- Manual de automatización de diseño electrónico para circuitos integrados , de Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3 Un estudio del campo. Este artículo se derivó (con permiso) del Volumen 2, Capítulo 12, Bases de datos de diseño , del autor Mark Bales.