Base de datos EDA


Una base de datos EDA es una base de datos especializada con el propósito de la automatización del diseño electrónico . Estas bases de datos específicas de la aplicación son necesarias porque históricamente las bases de datos de propósito general 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 de EDA para determinar qué partes deben considerarse 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 con una base de datos hay uno o más sistemas de lenguaje (que, aunque no forman parte directamente 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 motores de sincronización , ubicación , enrutamiento o simulación ), y el nivel más alto representa las aplicaciones creadas a partir de estos bloques de componentes, comoplano de planta . El alcance de la base de datos de diseño incluye el diseño real, la información de la biblioteca, la información tecnológica y el conjunto de traductores hacia y desde formatos externos como Verilog y GDSII .

Existen muchas instancias de bases de datos de diseño maduras en la industria EDA, tanto como base para herramientas EDA comerciales como 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 produjeron 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 los dos. Son jerárquicos 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.

Dada la importancia de una base de datos de diseño común en la industria de EDA, se ha formado OpenAccess Coalition para desarrollar, implementar y respaldar una base de datos de diseño de EDA de código abierto con control compartido. El modelo de datos presentado en OA DB proporciona un modelo unificado que actualmente se extiende desde RTL estructural a través de datos de máscara de nivel GDSII , y ahora en la retícula.y espacio para 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 las reglas de diseño del proceso 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 los 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 partir de 2007, OA es la única base de datos de CI moderna donde la implementación está disponible públicamente.

La base de datos Milkyway fue desarrollada originalmente por Avanti Corporation, que desde entonces ha sido adquirida por Synopsys . Fue lanzado por primera vez en 1997. Milkyway es la base de datos subyacente a la mayoría de las herramientas de diseño físico de Synopsys:

Milkyway almacena datos topológicos, parasitarios y de tiempo. Después de haber sido utilizado para diseñar miles de chips, Milkyway es muy estable y digno de 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.