En el diseño de circuitos integrados , el diseño físico es un paso del 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 fabrican en las capas de materiales correspondientes, garantizarán el funcionamiento requerido de los componentes. Esta representación geométrica se denomina 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 (CI) de hoy en día se divide en diseño de front-end utilizando HDL y diseño de back-end o diseño físico . Las entradas para el diseño físico son (i) una lista de conexiones, (ii) información de la biblioteca sobre los dispositivos básicos en el diseño y (iii) un archivo de tecnología que contiene las restricciones de fabricación. El diseño físico generalmente concluye con el posprocesamiento de 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 manufactura , 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 o el marco de trabajo para esa fase. El flujo de diseño físico utiliza las bibliotecas de tecnología que proporcionan los fabricantes. 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.

Divisiones
Normalmente, el diseño físico del CI se clasifica en diseño totalmente personalizado y diseño semipersonalizado.
- Totalmente personalizado: el diseñador tiene total flexibilidad en el diseño del diseño, no se utilizan celdas predefinidas.
- Semi-personalizado: se utilizan celdas de biblioteca prediseñadas (preferiblemente probadas con DFM ), el diseñador tiene flexibilidad en la ubicación de las celdas y el enrutamiento. [4]
Se puede utilizar ASIC para flujos de diseño totalmente personalizados y FPGA para flujos de diseño semipersonalizados. La razón es que se tiene la flexibilidad de diseñar/modificar bloques de diseño a partir de bibliotecas proporcionadas por el proveedor en ASIC. [5] Esta flexibilidad no existe para flujos semipersonalizados que utilizan FPGA (por ejemplo, Altera ).
Flujo de diseño físico de ASIC

Los pasos principales en el flujo de diseño físico de ASIC son:
- Lista de diseño (después de la síntesis)
- Plano de planta
- Particionado
- Colocación
- Síntesis del árbol del reloj (CTS)
- Enrutamiento
- Verificación física
- Posprocesamiento de diseño con generación de datos de máscara
Estos pasos son solo los básicos. Existen flujos de desarrollo profesional 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 de back-end son:
- Cadence (compilador RTL Cadence Encounter, implementación digital Encounter, solución de integridad de potencia de circuitos integrados Cadence Voltus, solución de aprobación de tiempo Cadence Tempus)
- Sinopsis (Compilador de diseño, Compilador de IC II, Validador de IC, PrimeTime, PrimePower, PrimeRail)
- Magma (Explosión, etc.)
- Gráficos Mentor (Olympus SoC, IC-Station, Calibre)
El flujo de diseño físico de ASIC utiliza las bibliotecas de tecnología proporcionadas por los fabricantes. Las tecnologías se clasifican comúnmente según el tamaño mínimo de las 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-Well, proceso de dos pozos, proceso SOI , etc.
Lista de redes de diseño
El diseño físico se basa en una lista de conexiones que es el resultado final del proceso de síntesis. La síntesis convierte el diseño RTL, generalmente codificado en VHDL o Verilog HDL, en descripciones a nivel de puerta que el siguiente conjunto de herramientas puede leer/comprender. Esta lista de conexiones contiene información sobre las celdas utilizadas, sus interconexiones, el área utilizada y otros detalles. Las herramientas de síntesis típicas son:
- Compilador Cadence RTL/Puertas de compilación/Síntesis con conocimiento físico (PKS)
- Compilador de diseño de Synopsys
Durante el proceso de síntesis, se aplican restricciones para garantizar que el diseño cumpla con la funcionalidad y la velocidad requeridas (especificaciones). Solo después de verificar la funcionalidad y el tiempo de la lista de conexiones, se envía al flujo de diseño físico.
Pasos
Particionado
La partición es un proceso de división del chip en pequeños bloques. Esto se hace principalmente para separar los 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 la cantidad de conexiones entre particiones.
Plano de planta
El segundo paso en el flujo de diseño físico es la planificación del espacio . La planificación del espacio es el proceso de identificar las estructuras que se deben colocar juntas y asignarles espacio de manera tal que se cumplan los objetivos, a veces contradictorios, de espacio disponible (costo del chip), rendimiento requerido y el deseo de tener todo cerca de todo lo demás.
En función del área del diseño y la jerarquía, se decide un plano de planta adecuado. El plano de planta 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. El plano de planta también determina la estructura de E/S y la relación de aspecto del diseño. Un mal plano de planta provocará un desperdicio de área de matriz y congestión de enrutamiento.
En muchas metodologías de diseño, el área y la velocidad son objeto de compensaciones. Esto se debe a los recursos de enrutamiento limitados, ya que cuantos más recursos se utilizan, más lenta es la operación. La optimización para un área mínima permite que el diseño utilice menos recursos y que las secciones del diseño estén más próximas. Esto genera distancias de interconexión más cortas, menos recursos de enrutamiento utilizados, rutas de señal de extremo a extremo más rápidas e incluso tiempos de ubicación y ruta más rápidos y consistentes. Si se hace correctamente, la planificación de la planta no tiene aspectos negativos.
Como regla general, las secciones de rutas de datos se benefician más de la planificación de espacios, mientras que la lógica aleatoria, las máquinas de estados y otra lógica no estructurada se pueden dejar de manera segura en manos de la sección de ubicación del software de ubicación y ruta.
Las rutas de datos son, por lo general, las áreas del diseño en las que se procesan varios bits en paralelo y cada bit se modifica de la misma manera, con tal vez cierta influencia de los bits adyacentes. Ejemplos de estructuras que conforman las rutas de datos son los sumadores, los restadores, los contadores, los registros y los multiplexores.
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 de Manhattan más corta entre dos pines. Los RC de VR son más precisos que los RC de WLM.
La colocación se realiza en cuatro fases de optimización:
- Optimización previa a la colocación
- Optimización de la colocación
- Optimización de la ubicación posterior (PPO) antes de la síntesis del árbol de reloj (CTS)
- PPO después de CTS.
- La optimización previa a la colocación optimiza la lista de redes antes de la colocación y las redes de alto abanico (HFN) se contraen. También puede reducir el tamaño de las celdas.
- La optimización en la colocación vuelve a optimizar la lógica en función de la realidad virtual. Esto puede realizar ajustes de tamaño de celda, movimiento de celda, omisión de celda, división de red, duplicación de compuerta, inserción de búfer y recuperación de área. La optimización realiza iteraciones de fijación de configuración, sincronización incremental y colocación impulsada por congestión.
- Optimización de la ubicación posterior antes de que CTS realice la optimización de la lista de conexiones con relojes ideales. Puede corregir infracciones de configuración, retención y trans/cap máximos. Puede optimizar la ubicación en función del enrutamiento global. Rehace la síntesis de HFN.
- La optimización de la ubicación posterior a CTS optimiza la sincronización con el reloj propagado. Intenta preservar el desfase del reloj.
Síntesis del árbol del reloj

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 CTS, la holgura de retención debería mejorar. El árbol de 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 de "no tocar" en el front-end (síntesis lógica) se tratan como circuitos o pines de "ignorar" en el back-end (síntesis física). Los pines de "ignorar" se ignoran para el análisis de tiempo. Si el reloj está dividido, entonces es necesario un análisis de sesgo por separado.
- La desviación global logra una desviación cero entre dos pines sincrónicos sin considerar la relación lógica.
- La desviación local logra una desviación cero entre dos pines sincrónicos mientras considera la relación lógica.
- Si el reloj se desvía intencionalmente para mejorar la holgura de configuración, entonces se conoce como desvío útil.
Rigidez es el término acuñado en Astro para indicar la relajación de las restricciones. Cuanto mayor sea la rigidez, más estrictas serán las restricciones.
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 apantallamiento aumenta el área entre un 12 y un 15 %. Dado que la señal del reloj es de naturaleza global, la misma capa de metal 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 dimensionamiento de la compuerta, 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 de CTS, mientras que ignoramos la holgura de retención. En la optimización posterior a la colocación después de CTS, se mejora la holgura de retención. Como resultado de CTS, se agregan muchos búferes. Generalmente, para compuertas de 100k, se agregan alrededor de 650 búferes.
Enrutamiento
Existen 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 la asignación de rutas para una red en particular.
El enrutamiento detallado se encarga de las conexiones reales. Hay diferentes restricciones que se deben tener en cuenta durante el enrutamiento, como DRC, longitud del cable, tiempo, etc.
Verificación física
La verificación física verifica la exactitud del diseño de la distribución generada. Esto incluye verificar que la distribución
- Cumple con todos los requisitos tecnológicos: verificación de reglas de diseño (DRC)
- Es coherente con la lista de conexiones original: diseño frente a esquema (LVS)
- No tiene efectos de antena – Comprobación de la regla de antena
- Esto también incluye la verificación de la densidad a nivel de chip completo... La limpieza de la densidad es un paso muy crítico en los nodos de tecnología inferior.
- Cumple con todos los requisitos eléctricos: verificación de normas eléctricas (ERC). [6]
Posprocesamiento 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 fotomáscaras ). Incluye [3]
- Acabado del chip, como la inserción de etiquetas de la empresa/chip y estructuras finales (por ejemplo, anillo de sellado, estructuras de relleno),
- Generar un diseño de retícula con patrones de prueba y marcas de alineación,
- Preparación de diseño a máscara que extiende los datos de diseño con operaciones gráficas (por ejemplo, tecnologías de mejora de resolución , RET) y ajusta los datos a los dispositivos de producción de máscara (escritor de fotomáscara).
Véase también
Referencias
- ^ N. Sherwani, "Algoritmos para la automatización del diseño físico VLSI", Kluwer (1998), ISBN 9780792383932
- ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "Diseño físico VLSI: desde la partición de gráficos hasta el cierre temporal", Springer (2022), doi :10.1007/978-90-481-9591-6, ISBN 978-3-030-96414-6 , págs. 6-10.
- ^ por J. Lienig, J. Scheible (2020). "Cap. 3.3: Datos de máscara: posprocesamiento de diseño". Fundamentos del diseño de circuitos electrónicos. Springer. pág. 102-110. doi :10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. Número de identificación del sujeto 215840278.
- ^ Flujo de diseño semi personalizado
- ^ Mehrotra, Alok; Van Ginneken, Lukas PPP; Trivedi, Yatin. "Flujo de diseño y metodología para circuitos integrados de aplicación específica (ASIC) de 50 M puertas", IEEE Conference Publications, ISBN 0-7803-7659-5
- ^ A. Kahng, J. Lienig, I. Markov, J. Hu: "Diseño físico VLSI: desde la partición de gráficos hasta el cierre temporal", Springer (2022), doi :10.1007/978-3-030-96415-3, ISBN 978-3-030-96414-6 , pág. 26.