stringtranslate.com

Diseño físico (electrónica)

En el diseño de circuitos integrados , el diseño físico es un paso en el ciclo de diseño estándar que sigue al diseño del circuito . En este paso, las representaciones de circuitos de los componentes (dispositivos e interconexiones) del diseño se convierten en representaciones geométricas de formas que, cuando se fabriquen en las correspondientes capas de materiales, garantizarán el funcionamiento requerido de los componentes. Esta representación geométrica se llama diseño de circuito integrado . Este paso suele dividirse en varios subpasos, que incluyen tanto el diseño como la verificación y validación del diseño. [1] [2]

El diseño de circuitos integrados (IC) moderno se divide en diseño frontal utilizando HDL y diseño back-end o diseño físico . Las entradas para el diseño físico son (i) una lista de redes, (ii) información de biblioteca sobre los dispositivos básicos en el diseño y (iii) un archivo de tecnología que contiene las limitaciones de fabricación. El diseño físico generalmente concluye mediante el posprocesamiento del diseño , en el que se realizan modificaciones y adiciones al diseño del chip. [3] A esto le sigue el proceso de fabricación o fabricación , donde los diseños se transfieren a matrices de silicio que luego se empaquetan en circuitos integrados.

Cada una de las fases mencionadas anteriormente tiene flujos de diseño asociados. Estos flujos de diseño establecen el proceso y las pautas/marco para esa fase. El flujo de diseño físico utiliza las bibliotecas de tecnología proporcionadas por las casas de fabricación. Estos archivos de tecnología proporcionan información sobre el tipo de oblea de silicio utilizada, las celdas estándar utilizadas, las reglas de diseño (como DRC en VLSI), etc.

Pasos de diseño físico dentro del flujo de diseño de circuitos integrados

Divisiones

Normalmente, el diseño físico del circuito integrado se clasifica en diseño totalmente personalizado y semipersonalizado.

Se puede utilizar ASIC para diseños totalmente personalizados y FPGA para flujos de diseño semipersonalizados. La razón es que uno tiene la flexibilidad de diseñar/modificar bloques de diseño desde bibliotecas proporcionadas por el proveedor en ASIC. [5] Esta flexibilidad falta para los flujos semipersonalizados que utilizan FPGA (por ejemplo, Altera ).

Flujo de diseño físico ASIC

Un flujo de back-end típico de ASIC

Los pasos principales en el flujo de diseño físico de ASIC son:

Estos pasos son sólo los básicos. Hay flujos de PD detallados que se utilizan según las herramientas utilizadas y la metodología/tecnología. Algunas de las herramientas/software utilizados en el diseño back-end son:

El flujo de diseño físico de ASIC utiliza las bibliotecas de tecnología proporcionadas por las empresas de fabricación. Las tecnologías se clasifican comúnmente según el tamaño mínimo de sus características. Los tamaños estándar, en orden de miniaturización, son 2 μm , 1 μm, 0,5 μm, 0,35 μm, 0,25 μm, 180 nm , 130 nm, 90 nm, 65 nm, 45 nm, 28 nm, 22 nm, 18 nm, 14 nm, etc. También se pueden clasificar según los principales enfoques de fabricación: proceso de n-pozos, proceso de dos pozos, proceso SOI , etc.

Lista de redes de diseño

El diseño físico se basa en una netlist que es el resultado final del proceso de síntesis. Synthesis convierte el diseño RTL normalmente codificado en VHDL o Verilog HDL en descripciones a nivel de puerta que el siguiente conjunto de herramientas puede leer/comprender. Esta netlist contiene información sobre las celdas utilizadas, sus interconexiones, área utilizada y otros detalles. Las herramientas de síntesis típicas son:

Durante el proceso de síntesis, se aplican restricciones para garantizar que el diseño cumpla con la funcionalidad y velocidad requeridas (especificaciones). Solo después de que se verifica la funcionalidad y el tiempo de la netlist, se envía para el flujo de diseño físico.

Pasos

Fraccionamiento

La partición es un proceso de dividir el chip en pequeños bloques. Esto se hace principalmente para separar diferentes bloques funcionales y también para facilitar la colocación y el enrutamiento. La partición se puede realizar en la fase de diseño RTL cuando el ingeniero de diseño divide todo el diseño en subbloques y luego procede a diseñar cada módulo. Estos módulos están vinculados entre sí en el módulo principal llamado módulo TOP LEVEL. Este tipo de partición se conoce comúnmente como partición lógica. El objetivo de la partición es dividir el circuito de manera que se minimice el número de conexiones entre particiones.


Plano de planta

El segundo paso en el flujo de diseño físico es la planificación del piso . La planificación del piso es el proceso de identificar estructuras que deben colocarse juntas y asignarles espacio de tal manera que se cumplan los objetivos, a veces contradictorios, de espacio disponible (costo del chip), rendimiento requerido y el deseo de tener todo cerca. a todo lo demás.

En función del área del diseño y la jerarquía, se decide un plano adecuado. Floorplanning tiene en cuenta las macros utilizadas en el diseño, la memoria, otros núcleos IP y sus necesidades de ubicación, las posibilidades de enrutamiento y también el área de todo el diseño. La planificación del piso también determina la estructura IO y la relación de aspecto del diseño. Un mal plano provocará un desperdicio de área y congestión en las rutas.

En muchas metodologías de diseño, el área y la velocidad son temas de compensaciones. Esto se debe a los recursos de enrutamiento limitados, ya que cuantos más recursos se utilicen, más lenta será la operación. La optimización para un área mínima permite que el diseño utilice menos recursos y una mayor proximidad de las secciones del diseño. Esto conduce a distancias de interconexión más cortas, menos recursos de enrutamiento utilizados, rutas de señal de extremo a extremo más rápidas y tiempos de ruta y lugar aún más rápidos y consistentes. Si se hace correctamente, no hay aspectos negativos en la planificación del piso.

Como regla general, las secciones de ruta de datos se benefician más de la planificación de planta, mientras que la lógica aleatoria, las máquinas de estado y otras lógicas no estructuradas pueden dejarse con seguridad en la sección de colocación del software de ubicación y ruta.

Las rutas de datos suelen ser áreas del diseño donde se procesan múltiples bits en paralelo y cada bit se modifica de la misma manera, tal vez con cierta influencia de los bits adyacentes. Las estructuras de ejemplo que componen las rutas de datos son sumadores, restadores, contadores, registros y muxes.


Colocación

Antes de comenzar la optimización de la ubicación, se eliminan todos los modelos de carga de cables (WLM). La ubicación utiliza valores RC de la ruta virtual (VR) para calcular el tiempo. VR es la distancia más corta de Manhattan entre dos pines. Los VR RC son más precisos que los WLM RC.

La colocación se realiza en cuatro fases de optimización:

  1. Optimización previa a la colocación
  2. En optimización de ubicación
  3. Optimización posterior a la colocación (PPO) antes de la síntesis del árbol de reloj (CTS)
  4. PPO después de CTS.

Síntesis del árbol del reloj

Reloj ideal antes de CTS

El objetivo de la síntesis del árbol de reloj ( CTS ) es minimizar el sesgo y el retraso de inserción. El reloj no se propaga antes de CTS como se muestra en la imagen. Después de que CTS mantenga la holgura debería mejorar. El árbol del reloj comienza en la fuente de reloj definida por .sdc y termina en los pines de parada del flop. Hay dos tipos de pines de parada conocidos como pines de ignorar y pines de sincronización. Los circuitos y pines "no tocar" en el extremo frontal (síntesis lógica) se tratan como circuitos o pines "ignorados" en el extremo posterior (síntesis física). Los pines 'Ignorar' se ignoran para el análisis de sincronización. Si el reloj está dividido, entonces es necesario un análisis de sesgo por separado.

Rigidez es el término acuñado en Astro para indicar la relajación de las limitaciones. Cuanto mayor es la rigidez, más estrictas son las restricciones.

Reloj después de CTS

En la optimización del árbol de reloj (CTO), el reloj se puede proteger para que el ruido no se acople a otras señales. Pero el blindaje aumenta el área entre un 12 y un 15%. Dado que la señal del reloj es de naturaleza global, la misma capa metálica utilizada para el enrutamiento de energía también se utiliza para el reloj. La CTO se logra mediante el dimensionamiento del búfer, el tamaño de la puerta, la reubicación del búfer, el ajuste de nivel y la síntesis de HFN. Intentamos mejorar la holgura de configuración en la optimización previa a la colocación, en la colocación y posterior a la colocación antes de las etapas CTS, mientras descuidamos la holgura de retención. En la optimización de la colocación posterior después de que se mejora la holgura de retención de CTS. Como resultado de CTS, se agregan muchos buffers. Generalmente, para puertas de 100.000, se agregan alrededor de 650 buffers.

Enrutamiento

Hay dos tipos de enrutamiento en el proceso de diseño físico, enrutamiento global y enrutamiento detallado. El enrutamiento global asigna recursos de enrutamiento que se utilizan para las conexiones. También realiza un seguimiento de la asignación de una red en particular.

El enrutamiento detallado realiza las conexiones reales. Las diferentes limitaciones que se deben tener en cuenta durante el enrutamiento son DRC, longitud del cable, sincronización, etc.

Verificación física

La verificación física verifica la exactitud del diseño de diseño generado. Esto incluye verificar que el diseño

Postprocesamiento de diseño

El posprocesamiento del diseño, también conocido como preparación de datos de máscara , a menudo concluye el diseño físico y la verificación. Convierte el diseño físico (polígonos) en datos de máscara (instrucciones para el escritor de máscaras fotográficas ). Incluye [3]

Ver también

Referencias

  1. ^ N. Sherwani, "Algoritmos para la automatización del diseño físico VLSI", Kluwer (1998), ISBN  9780792383932
  2. ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "Diseño físico VLSI: de la partición de gráficos al cierre de tiempo", Springer (2022), doi :10.1007/978-90-481-9591-6, ISBN 978-3-030-96414-6 , págs.6-10. 
  3. ^ ab J. Lienig, J. Scheible (2020). "Capítulo 3.3: Datos de máscara: posprocesamiento del diseño". Fundamentos del diseño de trazado de circuitos electrónicos. Saltador. pag. 102-110. doi :10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID  215840278.
  4. ^ Flujo de diseño semipersonalizado
  5. ^ Mehrotra, Alok; Van Ginneken, Lukás PPP; Trivedi, Yatin. "Flujo de diseño y metodología para ASIC de puerta de 50M", Publicaciones de la conferencia IEEE, ISBN 0-7803-7659-5 
  6. ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "Diseño físico VLSI: de la partición de gráficos al cierre de tiempo", Springer (2022), doi :10.1007/978-3-030-96415-3, ISBN 978-3-030-96414-6 , pág. 26.