Diseño VLSI - Tecnología FPGA

FPGA - Introducción

La forma completa de FPGA es "Field Programmable Gate Array”. Contiene de diez mil a más de un millón de puertas lógicas con interconexión programable. Las interconexiones programables están disponibles para que los usuarios o diseñadores realicen funciones determinadas fácilmente. En la figura dada se muestra un chip FPGA de modelo típico. Hay bloques de E / S, que están diseñados y numerados según su función. Para cada módulo de composición de nivel lógico, hayCLB’s (Configurable Logic Blocks).

CLB realiza la operación lógica dada al módulo. La interconexión entre CLB y bloques de E / S se realiza con la ayuda de canales de enrutamiento horizontal, canales de enrutamiento vertical y PSM (multiplexores programables).

El número de CLB que contiene solo decide la complejidad de FPGA. La funcionalidad de CLB y PSM está diseñada por VHDL o cualquier otro lenguaje descriptivo de hardware. Después de la programación, CLB y PSM se colocan en un chip y se conectan entre sí con canales de enrutamiento.

Ventajas

  • Requiere muy poco tiempo; desde el proceso de diseño hasta el chip funcional.
  • No hay pasos de fabricación físicos involucrados en él.
  • La única desventaja es que es más costoso que otros estilos.

Diseño de matriz de puerta

los gate array (GA)ocupa el segundo lugar después de la FPGA, en términos de capacidad de creación rápida de prototipos. Si bien la programación del usuario es importante para la implementación del diseño del chip FPGA, para GA se utiliza el diseño y procesamiento de máscara metálica. La implementación de la matriz de puertas requiere un proceso de fabricación de dos pasos.

La primera fase da como resultado una matriz de transistores no comprometidos en cada chip GA. Estos chips no comprometidos se pueden almacenar para una personalización posterior, que se completa definiendo las interconexiones metálicas entre los transistores de la matriz. El patrón de interconexiones metálicas se realiza al final del proceso de fabricación del chip, por lo que el tiempo de respuesta puede ser aún corto, de unos días a algunas semanas. La figura que se muestra a continuación muestra los pasos de procesamiento básicos para la implementación de la matriz de puertas.

Las plataformas típicas de arreglos de puertas utilizan áreas dedicadas llamadas canales, para el enrutamiento entre celdas entre filas o columnas de transistores MOS. Simplifican las interconexiones. Los patrones de interconexión que realizan puertas lógicas básicas se almacenan en una biblioteca, que luego se puede usar para personalizar filas de transistores no comprometidos de acuerdo con la lista de conexiones.

En la mayoría de los GA modernos, se utilizan varias capas de metal para el enrutamiento de canales. Con el uso de múltiples capas interconectadas, el enrutamiento se puede lograr sobre las áreas activas de la celda; para que los canales de enrutamiento se puedan eliminar como en los chips Sea-of-Gates (SOG). Aquí, toda la superficie del chip está cubierta con transistores nMOS y pMOS no comprometidos. Los transistores vecinos se pueden personalizar utilizando una máscara de metal para formar puertas lógicas básicas.

Para el enrutamiento entre celdas, algunos de los transistores no comprometidos deben sacrificarse. Este estilo de diseño da como resultado una mayor flexibilidad para las interconexiones y, por lo general, una mayor densidad. El factor de utilización del chip GA se mide por el área de chip utilizada dividida por el área total del chip. Es más alto que el de la FPGA y también lo es la velocidad del chip.

Diseño basado en celdas estándar

Un diseño basado en celdas estándar requiere el desarrollo de un conjunto completo de máscaras personalizadas. La celda estándar también se conoce como policélula. En este enfoque, todas las celdas lógicas comúnmente utilizadas se desarrollan, caracterizan y almacenan en una biblioteca de celdas estándar.

Una biblioteca puede contener varios cientos de celdas, incluidos inversores, puertas NAND, puertas NOR, AOI complejas, puertas OAI, D-latches y Flip-flops. Cada tipo de puerta se puede implementar en varias versiones para proporcionar la capacidad de conducción adecuada para diferentes abanicos. La puerta del inversor puede tener tamaño estándar, tamaño doble y tamaño cuádruple para que el diseñador del chip pueda seleccionar el tamaño adecuado para obtener alta velocidad de circuito y densidad de diseño.

Cada celda se caracteriza de acuerdo con varias categorías de caracterización diferentes, tales como,

  • Tiempo de retardo versus capacitancia de carga
  • Modelo de simulación de circuitos
  • Modelo de simulación de tiempos
  • Modelo de simulación de fallas
  • Datos de celda para lugar y ruta
  • Máscara de datos

Para la colocación automatizada de las celdas y el enrutamiento, cada diseño de celda está diseñado con una altura fija, de modo que una cantidad de celdas se pueden delimitar una al lado de la otra para formar filas. Los rieles de energía y tierra corren paralelos a los límites superior e inferior de la celda. De modo que las celdas vecinas comparten un bus de energía común y un bus de tierra común. La figura que se muestra a continuación es un plano para el diseño basado en celdas estándar.

Diseño personalizado completo

En un diseño totalmente personalizado, todo el diseño de la máscara se hace nuevo, sin el uso de ninguna biblioteca. El costo de desarrollo de este estilo de diseño está aumentando. Por lo tanto, el concepto de reutilización del diseño se está volviendo famoso para reducir el tiempo del ciclo de diseño y el costo de desarrollo.

El diseño personalizado completo más difícil puede ser el diseño de una celda de memoria, ya sea estática o dinámica. Para el diseño de chips lógicos, se puede obtener una buena negociación utilizando una combinación de diferentes estilos de diseño en el mismo chip, es decir, celdas estándar, celdas de ruta de datos yprogrammable logic arrays (PLAs).

En la práctica, el diseñador realiza el diseño personalizado completo, es decir, la geometría, orientación y ubicación de cada transistor. La productividad del diseño suele ser muy baja; normalmente unas pocas decenas de transistores por día, por diseñador. En CMOS VLSI digital, el diseño totalmente personalizado casi no se utiliza debido al alto costo de mano de obra. Estos estilos de diseño incluyen el diseño de productos de gran volumen como chips de memoria, microprocesadores de alto rendimiento y FPGA.