26
1 Diseño VLSI Estimación del área de circuitos Enric Pastor Dept. Arquitectura de Computadors UPC

Diseño VLSI

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diseño VLSI

1

Diseño VLSI Estimación del área de circuitos

Enric Pastor

Dept. Arquitectura de Computadors

UPC

Page 2: Diseño VLSI

2

Contenido

l Estimación del área a nivel de bloques

– Diseño bit-slice

l Proceso de diseño del layout:– Floorplaning– Difinición de canales– Routing global– Routing detallado

l Área en los buses

l Cross-coupling en los buses

l Distribución de la alimentación

Page 3: Diseño VLSI

3

Definición de bloques

l Estructura genérica de un bloque:

Page 4: Diseño VLSI

4

Definición de bloques

l La estructura de los bloques suele ser uniforme:

– Separación transistores PMOS y NMOS.

– VDD/GND en los niveles superior/inferior

– Uno o dos niveles de transistores.

– Puertas con entradas equivalentes alineadas con el poly.

l Tamaño de la celda:

– La anchura depende del número de transistores

– La altura del tamaño de la W del mayor en cada fila.

– Overhead: Vdd/Gnd + separaciones mínimas

Page 5: Diseño VLSI

5

Definición de bloques

l La comunicación se ordena entre conexiones:

– Dentro del propio bloque.

– Externas al bloque.

l Las conexiones internas se suelen solapar con los transistores.

l Las conexiones externas suelen utilizar zonas dedicadas.

Page 6: Diseño VLSI

6

Definición de bloques

l Estructura de las conexiones:

Page 7: Diseño VLSI

7

Diseño Bit Slice

l Podemos diseñar un bloque quecontenga todo el cálculo relativo a unsolo bit (en un diseño multi-bit, e.g.un sumador)

l Debemos tener en cuenta las entradas,salidas y todas las conexionesinternas.

l La yuxtaposición del bloque generauna estructura regular densa.

l Clásico para el data-path de unprocesador (registros + UF +desplazador en un solo bloque).

Page 8: Diseño VLSI

8

Diseño Bit Slice

l Yuxtaposición de los bloques.

Page 9: Diseño VLSI

9

Diseño a nivel de bloques

l El proceso de creación del layout a partir de bloques sigue tresfases separadas:

– Floorplaning:Situar los bloques sobre el área disponible

– Definición de canales:Difinir los espacios disponibles para realizar las conexiones.

– Routing global:Determinar que canales utilizara cada conexión.

– Routing detallado:Implementar las conexiones en cada canal.

Page 10: Diseño VLSI

10

Floorplaning

l Los bloques deben colocarse de forma que se minimiza el áreay las distancias de interconexión entre ellos.

Page 11: Diseño VLSI

11

Definición de canales

l Los bloques se separan dejando espacios rectangulares por loscuales se realizara la interconexión.

Page 12: Diseño VLSI

12

Routing global

l Cada conexión deberá pasar, desde el bloque origen, por unconjunto de canales hasta alcanzar el bloque final.

Page 13: Diseño VLSI

13

Routing global

l La longitud de las conexiones dependerá de la situación de losbloques, y no tanto de la forma final utilizada en el routing.

Page 14: Diseño VLSI

14

Routing detallado

l El espacio requerido dentro de cada canal depende de ladensidad de conexiones y de su complejidad.

Page 15: Diseño VLSI

15

Routing detallado

l Conexiones alineadas requieren un tamaño de canal muyreducido (simular a un bus).

Page 16: Diseño VLSI

16

Routing detallado

l Conexiones no-alineadas incrementan la complejidad delrouting, que requerida mucho más espacio para completarse.

Page 17: Diseño VLSI

17

Routing detallado

l El número de cruces entre señales determina el espacionecesario. El espacio inicial asignado al canal puede tener queaumentarse.

Page 18: Diseño VLSI

18

Routing detallado

l Conexiones alineadas permiten una reducción muy importanteen el área requerida en el canal para completar el routing.

Page 19: Diseño VLSI

19

Área en los buses

l El área ocupada por un bus es directamente proporcional alnúmero de bits que lo componen.

Page 20: Diseño VLSI

20

Área en los buses

l Los giros deben realizarse al estilo “Manhattan”, lo cualaumenta el área requerida..

Page 21: Diseño VLSI

21

Cross-coupling en los buses

l Los distintos bits en un bus pueden interaccionar entre ellos deforma negativa: cross-coupling.

Page 22: Diseño VLSI

22

Cross-coupling en los buses

l Los distintos bits en un bus pueden interaccionar entre ellos deforma negativa: cross-coupling.

Page 23: Diseño VLSI

23

Cross-coupling en los buses

l En ese caso se debe “proteger” la victima utilizando algunatécnica de aislamiento, e.g. aumentar la separación.

Page 24: Diseño VLSI

24

Cross-coupling en los buses

l Otra solución es utilizar la información diferencial entre unseñal y una señal de Gnd contigua: el glitch aparece en ambos.

l Podemos tomar la diferencia entre las dos victimas.

Page 25: Diseño VLSI

25

Distribución de la alimentación

l Distribución entrelazada para minimizar el número de capas demetal utilizadas. El grosor se ajusta según el consumo en cadazona.

Page 26: Diseño VLSI

26

Conclusiones

l El área de los bloques es predecible:

– Depende del número de transistores y su espaciado.

– No depende de las conexiones.

l El área de las conexiones es poco predecible.

l Si los bloques son mayores que el routing: las conexiones estándeterminadas por la separación entre ellos.

l Si el routing domina sobre los bloques (en forma de buses): losbuses se comportan como bloques.

l En cualquier otro caso es preciso “simular” las conexiones paraestimar su área (muy sensible al floorplaning).