Articulo de referencia

Formato de intercambio parásito estándar

El formato estándar de intercambio de parámetros parásitos ( SPEF ) es un estándar IEEE para representar datos parásitos de los cables de un chip en formato ASCII . Los cables n...

El formato estándar de intercambio de parámetros parásitos ( SPEF ) es un estándar IEEE para representar datos parásitos de los cables de un chip en formato ASCII . Los cables no ideales presentan resistencia y capacitancia parásitas que SPEF captura. Estos cables también presentan inductancia , la cual no se incluye en SPEF. SPEF se utiliza para el cálculo de retardo y para garantizar la integridad de la señal de un chip, lo que en última instancia determina su velocidad de operación .

SPEF es la especificación más popular para el intercambio parasitario entre diferentes herramientas del dominio de automatización del diseño electrónico (EDA) durante cualquier fase del diseño. La especificación SPEF forma parte del estándar IEEE 1481-1999 para el sistema de cálculo de retardo y potencia de circuitos integrados (CI). La versión más reciente de SPEF forma parte del estándar IEEE 1481-2019 para la arquitectura de biblioteca abierta (OLA) de circuitos integrados (CI) .

El archivo SPEF se extrae tras la fase de enrutamiento . Esto facilita el cálculo preciso del análisis de caída de IR y otros análisis posteriores al enrutamiento. Este archivo contiene los parámetros R y C, que dependen de la ubicación de cada celda y del enrutamiento entre ellas.

Sintaxis SPEF

El formato SPEF (Standard Parasitic Exchange Format) está documentado en el capítulo 9 de la norma IEEE 1481-1999. Se documentan varios métodos para describir los parámetros parásitos, pero aquí solo analizaremos algunos de los más importantes.

Sintaxis general

Un archivo SPEF típico tendrá 4 secciones principales:

  • una sección de encabezado,
  • una sección del mapa de nombres,
  • una sección de puerto de nivel superior, y
  • la sección principal de descripción de parásitos.

Generalmente, las palabras clave de SPEF van precedidas de un asterisco , por ejemplo *R_UNIT: *NAME_MAPy *D_NET.

Los comentarios comienzan en cualquier parte de una línea con //y se extienden hasta el final de la línea. Cada línea en un bloque de comentarios debe comenzar con //.

Información del encabezado

La sección de encabezado consta de 14 líneas que contienen información sobre:

  • el nombre del diseño,
  • la herramienta de extracción parasitaria,
  • estilos de nombres y
  • unidades.

Al leer archivos SPEF, es importante verificar las unidades en el encabezado, ya que varían según la herramienta. Por defecto, los archivos SPEF de Astro estarán en pF y, mientras que los de Star-RCXT y Quantus QRC estarán en fF y Ω.

Sección del mapa de nombres

Para reducir el tamaño de los archivos, SPEF permite asignar nombres largos a números más cortos precedidos por un asterisco. Esta asignación se define en la sección de asignación de nombres. Por ejemplo:

*MAPA_NOMBRE *509 F_C_EP2 *510 F_C_EP3 *511 F_C_EP4 *512 F_C_EP5 *513 TOP/BUF_ZCLK_2_pin_Z_1 *514 TOP/BUF_ZCLK_3_pin_Z_1 *515 TOP/BUF_ZCLK_4_pin_Z_1 

Más adelante en el archivo, F_C_EP2se puede hacer referencia a él por su nombre o por *509. El mapeo de nombres en SPEF no es obligatorio. Además, pueden aparecer nombres mapeados y no mapeados en el mismo archivo. Por lo general, los nombres cortos, como un pin llamado A, no se mapearán, ya que el mapeo no reduciría el tamaño del archivo. Se puede escribir un script para mapear los números de nuevo a nombres. Esto hará que SPEF sea más fácil de leer, pero aumentará considerablemente el tamaño del archivo.

Sección del puerto

La sección de puertos es simplemente una lista de los puertos de nivel superior en un diseño. También se anotan como de entrada, salida o bidireccionales con una I, O o B. Por ejemplo:

*PUERTOS *1 Yo *2 Yo *3 O *4 O *5 O *6 O *7 O *8 B *9 B 

parásitos

Cada red extraída tendrá una *D_NETsección. Esta generalmente constará de una *D_NETlínea, una *CONNsección, otra *CAPsección, *RESotra sección y una *ENDlínea. Las redes de un solo pin no tendrán *RESsección. Las redes conectadas por pines adyacentes tampoco tendrán *CAPsección.

*D_NET regcontrol_top/GRC/n13345 1.94482 *CONEXIÓN *I regcontrol_top/GRC/U9743:EI *C 537.855 9150.11 *L 3.70000 *I regcontrol_top/GRC/U9409:AI *C 540.735 9146.02 *L 5.40000 *I regcontrol_top/GRC/U9407:ZO *C 549.370 9149.88 *D OR2M1P *TAPA 1 regcontrol_top/GRC/U9743:E 0.936057 2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675 3 regcontrol_top/GRC/U9407:Z 0.386093 *RES 1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916 2 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9409:A 8.07710 3 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U9407:Z 11.9156 *FIN 

La *D_NETlínea indica el nombre de la red y su capacitancia total. Esta capacitancia será la suma de todas las capacitancias de la *CAPsección.

*Sección CONN

La *CONNsección enumera los pines conectados a la red. Una conexión a una instancia de celda comienza con un *I. Una conexión a un puerto de nivel superior comienza con un *P.

La sintaxis de las *CONNentradas es:

*I < nombre del pin> < dirección> *C < coordenada xy> < información de carga o conducción>

Dónde:

  • El nombre del pin es el nombre del pin.
  • La dirección será I, O, o B, correspondientes a señales de entrada, salida o bidireccionales, respectivamente.
  • La coordenada xy será la ubicación del pin en el diseño.
  • Para una entrada, la información de carga será *Ly la capacitancia del pin.
  • Para una salida, la información de conducción será *Dy el tipo de celda de conducción.
  • Las coordenadas de *Plas entradas de puerto pueden no ser precisas porque algunas herramientas de extracción buscan la ubicación física del puerto lógico (que no existe) en lugar de la ubicación del pin correspondiente.

*Sección CAP

Esta *CAPsección proporciona información detallada sobre la capacitancia de la red. Las entradas en esta *CAPsección se presentan en dos formatos: uno para un capacitor conectado a tierra y otro para un capacitor acoplado.

Un condensador conectado a tierra tiene tres campos:

  • un número entero de identificación,
  • un nombre de nodo y
  • el valor de capacitancia de este nodo.
Ejemplo
1 regcontrol_top/GRC/U9743:E 0.936057

Un condensador de acoplamiento tiene cuatro campos:

  • un número entero de identificación,
  • dos nombres de nodos y
  • los valores del condensador de acoplamiento entre estos dos nodos.
Ejemplo
2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675

Si la red Aestá acoplada a la red B, el condensador de acoplamiento aparecerá en la *CAPsección de cada red.

*Sección RES

Esta *RESsección proporciona la red de resistencias para la red.

Las entradas en esta *RESsección contienen 4 campos:

  • un número entero de identificación,
  • dos nombres de nodos y
  • la resistencia entre estos dos nodos.
Ejemplo
1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916

La red de resistencias de una conexión puede ser muy compleja. El archivo SPEF puede contener bucles de resistencias o resistencias de tamaño desproporcionado, incluso si el trazado es una simple ruta punto a punto. Esto se debe a que la herramienta de extracción divide las conexiones en pequeños fragmentos para su extracción y luego los vuelve a unir matemáticamente al escribir el archivo SPEF.

Valores parasitarios

Los ejemplos anteriores muestran un único valor parásito para cada condensador o resistencia. El flujo de extracción de valores parásitos y cálculo de retardo es el que determina a qué esquina representa este valor. SPEF también permite informar los valores min : typ : max :

1 regcontrol_top/GRC/U9743:E 0.936057:1.02342:1.31343

El estándar IEEE requiere que se informen 1 o 3 valores; sin embargo, algunas herramientas informarán pares min : max y se espera que en el futuro las herramientas puedan informar muchos vértices ( esquina1 : esquina2 : esquina3 : esquina4 ).

La diferencia entre los formatos de datos parásitos

SPEF no es lo mismo que SPF (incluidos DSPF y RSPF). El formato parasitario estándar detallado es un formato muy diferente, diseñado para ser útil en una simulación SPICE . Por ejemplo, *NETlas secciones no tienen final y los comentarios deben comenzar con dos asteriscos.

A continuación se muestra una breve sintaxis del formato DSPF.

*DSPF 1.0 *DIVISOR / *DELIMINADOR: *BUS_DELIMITER [ ] *|GROUND_NET Nombre de red .SUBCKT *NET NetName NetCap *|I(InstancePinName InstanceName PinName PinType PinCap XY) *|P(Nombre del pinTipo de pinCap XY) *|S(Nombre del subnodo XY) FIN .FIN 

Las siglas significan:

  • SPF — Formato parasitario estándar
  • DSPF — Formato estándar detallado de parámetros parásitos
  • RSPF — Formato Parásito Estándar Reducido
  • SPEF — Formato estándar de intercambio parásito
  • SBPF — Formato binario parásito de Synopsys

SPF es un estándar de Cadence Design Systems para definir parásitos en listas de conexiones . DSPF y RSPF son las dos formas de SPF; el término SPF en sí se usa a veces (o se usa incorrectamente) para representar parásitos en general. Tanto DSPF como RSPF representan la información de parásitos como una red RC. RSPF representa cada red como un modelo RC "pi", que consta de una capacitancia equivalente "cercana" en el controlador de la red, una capacitancia equivalente "lejana" para la red y una resistencia equivalente que conecta estas dos capacitancias. Cada red tiene una única red "pi", independientemente de la cantidad de pines que tenga. Además de la red pi, RSPF hace que la herramienta PrimeTime calcule un retardo de Elmore para cada retardo de interconexión pin a pin.

En contraste, DSPF modela una red detallada de parásitos RC para cada red. Por lo tanto, DSPF es más preciso que RSPF, pero los archivos DSPF pueden ser un orden de magnitud mayores que los archivos RSPF para el mismo diseño. Además, no hay especificación para condensadores de acoplamiento en DSPF. DSPF es más similar a una lista de conexiones SPICE que los otros formatos. SPEF es un formato de Open Verilog Initiative (OVI) —y ahora IEEE— para definir parásitos en listas de conexiones. SPEF no es idéntico al formato SPF, aunque se usa de manera similar. Al igual que el formato SPF, SPEF incluye parásitos de resistencia y capacitancia. También como el formato SPF, SPEF puede representar parásitos en formas detalladas o reducidas (modelo pi), siendo la forma reducida probablemente la más utilizada. SPEF también tiene una sintaxis que permite modelar la capacitancia entre diferentes redes, por lo que es utilizado por la herramienta de análisis PrimeTime SI (diafonía). SPEF es más pequeño que SPF y DSPF porque los nombres se asignan a enteros para reducir el tamaño del archivo.

SBPF es un formato binario de Synopsys compatible con PrimeTime. Los datos parásitos convertidos a este formato ocupan menos espacio en disco y se pueden leer mucho más rápido que los mismos datos almacenados en formato SPEF. Puede convertir los datos parásitos a SBPF leyéndolos y luego escribiéndolos con el write_parasitics -format sbpfcomando correspondiente.

Referencias

  • Norma IEEE para el sistema de cálculo de retardo y potencia de circuitos integrados (CI) . 1999. doi : 10.1109/IEEESTD.1999.91518 . ISBN 0-7381-1771-4.
  • Estándar IEEE para la arquitectura de biblioteca abierta (OLA) de circuitos integrados (CI) . 2020. doi : 10.1109/IEEESTD.2020.9034549 . ISBN 978-1-5044-6355-3.
  • http://143.248.230.186/tech_doc/diffrence_paracitic_data.txt
  • "Formato estándar de parámetros parásitos de Cadence (SPF). Versión C1.5.1" (PDF) . Cadence Design Systems . 1999-05-19 . Consultado el 2019-04-19 a través del soporte de Cadence.
  • "¿Dónde puedo encontrar la especificación Cadence SPEF, DSPF, SPF o RSPF?" . Consultado el 12 de julio de 2023 .