SPICE ( Programa de simulación con énfasis en circuitos integrados ) es un simulador de circuitos electrónicos de propósito general de código abierto . Se trata de un potente programa utilizado en el diseño tanto de circuitos integrados como de placas de circuito impreso para comprobar la integridad del circuito y analizar su comportamiento.
Los circuitos integrados, a diferencia de las placas de circuito impreso, prácticamente no son susceptibles de creación de prototipos antes de la producción. Además, el alto costo de crear máscaras fotolitográficas y otros pasos en la fabricación de semiconductores genera la necesidad de un diseño y una verificación muy cuidadosos. La simulación de circuitos con SPICE es un método común en la industria de semiconductores para verificar el funcionamiento de un circuito a nivel de transistor (antes de que se implemente en silicio).
Para placas de circuito impreso, especialmente de baja complejidad, es posible realizar prototipos. Pero en una placa de prueba, algunas propiedades del circuito pueden no ser precisas en comparación con la placa final. Por ejemplo, en una placa de prueba, las pistas impresas tendrán diferentes resistencias y capacitancias parásitas. Dichos elementos espurios a menudo se pueden evaluar mediante la simulación SPICE.
SPICE fue desarrollado en el Laboratorio de Investigación Electrónica de la Universidad de California en Berkeley por Laurence Nagel y su supervisor, el profesor Donald Pederson . SPICE1 se basó en gran medida en el anterior programa CANCER [1] escrito por Lawrence con otro supervisor, el Prof. Ronald Rohrer. El nombre del programa significaba "Computer Analysis of Nonlinear Circuits, Exclusive Radiation" (Análisis por computadora de circuitos no lineales, excluyendo la radiación), que era una referencia a la relativa libertad en la Universidad de Berkeley en la década de 1960 [2] . En ese momento, la mayoría de los simuladores de circuitos electrónicos se desarrollaron con subvenciones y contratos del Departamento de Defensa de EE. UU. , uno de cuyos requisitos era la capacidad de evaluar el efecto de la radiación en el funcionamiento de los circuitos (consulte Radiación endurecida ). Después de cambiar de supervisor, Nagel tuvo que reescribir el CANCER patentado para que el nuevo programa pudiera ser lanzado al dominio público, transfiriéndolo así al dominio público. [3]
SPICE1 se presentó por primera vez en una conferencia en 1973. [4] El programa fue escrito en el lenguaje FORTRAN y utilizó el análisis de circuitos por el método de potencial nodal para construir ecuaciones de circuitos. El método de los potenciales nodales tenía limitaciones para trabajar con inductancias, fuentes de voltaje de CA y con varias opciones para generadores de corriente y voltaje controlados. En SPICE1, una pequeña cantidad de elementos estaban disponibles, el programa usaba análisis transitorio con un paso de tiempo fijo. La popularidad llegó a la segunda versión del programa, SPICE2 [5] , en 1975. También fue escrito en FORTRAN, pero contaba con más elementos, permitía cambiar el paso de tiempo en el análisis de procesos transitorios, las ecuaciones de circuitos se formularon utilizando el método de potencial nodal modificado ( modified nodal analysis ) [6] , eliminando así las limitaciones del Método del potencial nodal. La última versión de SPICE escrita en FORTRAN es 2G.6 (1983). La siguiente versión, SPICE3 [7] , fue desarrollada por Thomas Quarles en 1989. Está escrita en C , usa el mismo formato de lista de conexiones y es compatible con la visualización en el sistema X Window .
Desde las primeras versiones, SPICE ha sido un software de código abierto, lo que ha contribuido a su adopción y uso generalizados. SPICE se ha convertido en el estándar de la industria para la simulación de circuitos eléctricos [8] . La universidad distribuyó los códigos fuente de SPICE a su valor nominal (el precio de una cinta). La licencia originalmente incluía términos que restringían la transferencia del código a ciertos países no amigos de los EE. UU., pero el programa se distribuye actualmente bajo los términos de la licencia BSD .
SPICE ha servido como base para el desarrollo de muchos otros programas de simulación de circuitos, tanto en entornos académicos como industriales. La primera versión comercial es ISPICE, [9] ( National CSS ). Las versiones comerciales más destacadas de SPICE son HSPICE (originalmente Meta Software, ahora Synopsys ) y PSPICE (ahora Cadence Design Systems ). Versiones académicas del programa: XSPICE ( Georgia Tech , con soporte para modelos mixtos A/D) y Cider (anteriormente CODECS, UC Berkeley y Oregon State Univ.; con soporte para dispositivos semiconductores). La industria del diseño de circuitos integrados fue una de las primeras en adoptar SPICE y, antes del desarrollo de implementaciones comerciales, muchas empresas de diseño de chips tenían sus propias versiones patentadas de SPICE. [10] Actualmente, los principales fabricantes de chips están desarrollando sus propios programas de simulación basados en SPICE. Por ejemplo, ADICE de Analog Devices , LTspice de Linear Technology , Mica de Freescale Semiconductor , TISPICE de Texas Instruments .
En 2011, la aparición de SPICE se atribuyó al IEEE Milestone , [11] y señaló que SPICE y sus derivados se han convertido en una parte integral del diseño de casi cualquier circuito integrado.
SPICE se hizo popular porque admitía el análisis y contenía los modelos necesarios para el diseño de circuitos integrados de la época, a la vez que era lo suficientemente rápido para un uso práctico. [12] Los predecesores de SPICE a menudo tenían un solo propósito, por ejemplo, BIAS [13] permitía calcular los modos de los transistores bipolares; SLIC [14] realizó un análisis de señales pequeñas. SPICE combinó varios modos de análisis y una biblioteca bastante extensa de modelos de dispositivos.
SPICE2 incluye:
SPICE2 acepta netlist en forma de texto como entrada y produce listados de impresoras de línea como resultado de su trabajo. Tal programa era típico para 1975. Los listados son columnas con números correspondientes a los parámetros de salida calculados (la mayoría de las veces, corrientes y voltajes), o eran una imagen de caracteres ( arte ASCII ). SPICE3 retuvo el formato de lista de conexiones para las descripciones de circuitos, pero permitió que el análisis se controlara a través de una interfaz de comando ( CLI ). SPICE3 también introdujo opciones básicas de dibujo esquemático en el entorno gráfico de X Window a medida que Unix y las estaciones de trabajo se hicieron más populares.