PCell significa celda parametrizada , un concepto ampliamente utilizado en el diseño automatizado de circuitos integrados analógicos . Una PCell representa una parte o un componente del circuito cuya estructura depende de uno o más parámetros. Por lo tanto, es una celda que se genera automáticamente mediante un software de automatización de diseño electrónico (EDA) en función de los valores de estos parámetros. Por ejemplo, se puede crear una PCell de transistor y luego usar diferentes instancias de la misma con diferentes longitudes y anchos definidos por el usuario. [1] Los proveedores de software EDA a veces usan diferentes nombres para el concepto de celdas parametrizadas, por ejemplo, T-Cell y Magic Cell . [2]
En los diseños de circuitos electrónicos, las celdas son unidades básicas de funcionalidad. Una celda dada puede colocarse o instanciarse muchas veces. Una celda P es más flexible que una celda no parametrizada porque diferentes instancias pueden tener diferentes valores de parámetros y, por lo tanto, diferentes estructuras. Por ejemplo, en lugar de tener muchas definiciones de celda diferentes para representar los transistores de diversos tamaños en un diseño dado, una sola celda PCell puede tomar las dimensiones de un transistor (ancho y largo) como parámetros. Diferentes instancias de una sola celda PCell pueden entonces representar transistores de diferentes tamaños, pero con características similares.
Las estructuras dentro de un circuito integrado y las reglas ( reglas de diseño ) que rigen sus dimensiones físicas suelen ser complejas, lo que hace que sea tedioso dibujar las estructuras a mano. Al utilizar PCells, un diseñador de circuitos puede generar fácilmente una gran cantidad de estructuras diferentes que solo difieren en unos pocos parámetros, lo que aumenta la productividad y la coherencia del diseño.
En la mayoría de los casos, PCell implica una PCell física , es decir, una representación física de un componente electrónico que describe su estructura física dentro de un circuito integrado (CI). Aunque la mayoría de las PCells son PCells físicas, los símbolos de dispositivos en los esquemas de circuitos también pueden implementarse como PCells.
Las características subyacentes de todas las PCells son la dependencia de los parámetros (de entrada) y la capacidad de generar datos de diseño basados en estos parámetros.
Una PCell es un fragmento de código de programación. Este código es responsable del proceso de creación de la estructura adecuada de las variantes de PCell en función de sus parámetros (de entrada). En el ejemplo de una PCell física, este código genera (dibuja) las formas reales del diseño de la máscara que compone el circuito.
Dado que una pieza de código PCell puede crear muchos objetos diferentes (con distintos valores de parámetros), se la denomina PCell Master . El objeto/formas/datos que crea este código se denomina instancia de PCell . Normalmente, una PCell Master produce muchas instancias/variantes. Esto no solo es útil durante la entrada y especificación del diseño, sino también para reducir los recursos de memoria necesarios para representar los datos de diseño.
Aunque el lenguaje de programación en el que se escribe una PCell no es importante, SKILL o Python son los lenguajes de programación más utilizados para escribir el código de una PCell. Alternativamente, las PCells se pueden generar utilizando una interfaz gráfica de usuario (GUI) [3] o herramientas de diseño de PCell especializadas basadas en una biblioteca de funciones predefinidas. [1]