tema 4. An
tema 4. Aná álisis de circuitos de nivel l lisis de circuitos de nivel l ógico ó gico
Diseñ Dise ño Autom o Automá ático de Sistemas tico de Sistemas
Jos
José é Manuel Manuel Mend Mendí ías as Cuadros Cuadros
Dpto. Arquitectura de Computadores y Autom Dpto. Arquitectura de Computadores y AutomááticaticaUniversidad Complutense de Madrid Universidad Complutense de Madrid
2
©J.M. Mendías, 2004
introducci
introducció ón (i) n (i)
⌦ El objetivo de un proceso de síntesis lógica es:
diseñar una netlist de celdas (biestables y puertas) cuyo comportamiento se ajuste al especificado por una descripción conductual formada por una o varias funciones combinacionales o secuenciales simples y un conjunto de máquinas de estados.
⌦ El objetivo de un proceso de validación de nivel lógico es:
demostrar que la netlist es correcta, es decir, que su comportamiento es el requerido.
demostrar que la netlist tiene cierto nivel de calidad.
⌦ Una netlist puede ser incorrecta por:
errores púramente funcionales.
violaciones del modelo de temporización.
violaciones de reglas de diseño específicas de la tecnología objetivo.
⌦ Los criterios más importantes para evaluar la calidad de una netlist son estimaciones (ya que aún el circuito no está fabricado) de:
Area: tamaño de la porción de silicio requerida para fabricar el circuito.
Tiempo de ciclo: frecuencia máxima de funcionamiento del circuito.
Consumo de potencia: cantidad de energía que consume el circuito durante su funcionamiento.
⌦ Los métodos más comunes de validación a nivel lógico son:
Simulación: reproducción del comportamiento del circuito bajo varios escenarios de operación.
Análisis: extracción de medidas de rendimiento.
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
introducci
introducció ón: n: á área ( rea (ii ii) )
⌦ El área de un circuito depende de:
el área de las difusiones de los transistores.
el área del interconexionado.
⌦ Conviene que el área sea pequeña ya que:
los circuitos pequeños son más baratos (caben más por oblea).
los circuitos pequeños son más rápidos (interconexiones más cortas: retardo de una interconexión crece con el cuadrado de su longitud).
los circuitos pequeños son más rentables (aumenta el yield: porcentaje de circuitos funcionales por oblea).
z x
Vss Vdd
x z
x z
inversor (dominios estructural y físico)
4
©J.M. Mendías, 2004
introducci
introducció ón: tiempo de ciclo ( n: tiempo de ciclo (iii iii) )
⌦ El tiempo de ciclo de un circuito, para una temporización síncrona por flanco, depende del retardo del camino crítico.
Camino crítico (máximo) de un circuito es aquel con mayor retardo de propagación.
⌦ Su corrección, depende principalmente del retardo del camino crítico mínimo.
Camino crítico mínimo de un circuito es aquel con menor retardo de contaminación.
⌦ El retardo de propagación de un camino entre dos puntos de un circuito es:
el tiempo máximo que tarda en hacer una transición (conmutación de voltaje) el destino en respuesta a una transición del origen.
se calcula como la suma de los retardos de propagación máximos de cada uno de los elementos que lo forman (transistores y/o interconexiones).
⌦ El retardo de propagación de un elemento es:
directamente proporcional a su capacidad (cantidad de carga que acumula) inversamente proporcional a su conductancia (cantidad de corriente que es capaz de conducir), o lo que es lo mismo, directamente proporcional a su impedancia.
dependiente del sentido de la transición:
en lógica CMOS, trisedepende de la red de transistores de pull-up, y tfallde la red de transistores de pull-down.
dependiente del tiempo de transición (pendiente) de la señal que se propaga.
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
introducci
introducció ón: tiempo de ciclo ( n: tiempo de ciclo (iv iv) )
⌦ El retardo de conmutación de un transistor es proporcional a:
la capacidad de sus elementos parásitos, que son:
capacidades de puerta (proporcional al área del canal),
capacidades de unión (proporcionales al área y perímetro de las difusiones) capacidades de solapamiento (proporcional a la anchura del canal).
su impedancia:
que depende de aspectos tecnológicos del proceso de fabricación (propiedades del semiconductor y del aislante de canal usado, variabilidad del proceso).
que depende de aspectos ambientales (temperatura, voltaje de alimentación).
que es proporcional a la relación entre entre longitud (L) y la anchura (W) del canal.
Vdd
1 → 0
saturación
corte
0 → 1 se carga
Vdd
0 → 1
corte
saturación
1 → 0 se descarga
n'
L n n L
fall k
C W
L
t C ⎟
⎠
⎜ ⎞
⎝
=⎛
∝β
p'
L p p
L
rise k
C W
L
t C ⎟
⎠
⎜ ⎞
⎝
=⎛
∝β
6
©J.M. Mendías, 2004
introducci
introducció ón: tiempo de ciclo (v) n: tiempo de ciclo (v)
⌦ El retardo de conmutación de una interconexión es proporcional a:
su capacidad:
que depende de aspectos tecnológicos del proceso de fabricación (cte. dieléctrica del aislante, separación de otras interconexiones, anchura de la interconexión)
que es proporcional a la longitud de la interconexión.
su resistencia:
que depende aspectos tecnológicos del proceso de fabricación (resistividad del material usado, grosor, anchura de la interconexión)
que es proporcional a la longitud de la interconexión.
B
A
t W
L IAB
W
L t
A
B
t LW C=ε0εins
AB
AB V
W L I t W
L
R=ρt ⇒ =ρ
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
introducci
introducció ón: consumo ( n: consumo (vi vi) )
⌦ El consumo de un circuito es proporcional a:
la cantidad de intensidad que por él circule.
al voltaje de alimentación.
⌦ Un menor consumo implica:
menor calentamiento, que a su vez implica mayor duración del chip
posibilidad de mayor integración.
mayor duración de una fuente de alimentación autónoma.
⌦ El consumo total de un circuito digital se calcula sumando dos tipos de consumo: el estático y el dinámico
⌦ El consumo estático ocurre con el dispositivo en régimen permanente, es decir, conectado pero en reposo.
para circuitos CMOS debiera ser 0, ya que teóricamente no existe ningún camino directo entre alimentación y tierra.
sin embargo, es muy pequeño debido a la circulación de pequeñas corrientes de fuga:
a través de los diodos inversamente polarizados parásitos que existen con el sustrato.
a través del transistor cortado por conducción subumbral.
depende de:
del estado del dispositivo.
voltaje de alimentación.
aspectos tecnológicos del proceso de fabricación.
8
©J.M. Mendías, 2004
introducci
introducció ón: consumo ( n: consumo (vii vii) )
⌦ El consumo dinámico ocurre con el dispositivo en régimen transitorio, es decir, durante la realización de cálculos:
se debe a las corrientes que circulan:
al cargar y descargar los condensadores de carga (consumo por conmutación).
a través del camino directo que momentáneamente existe entre alimentación y tierra cada vez que el dispositivo conmuta (consumo interno por cortocircuito):
los transistores no son conmutadores perfectos.
las señales no cambian instantáneamente.
depende de:
el voltaje de alimentación.
la frecuencia de conmutación de las señales.
el tiempo de transición de las señales.
DD fuga
fuga I V
P = ⋅
2
2 ft V Pconm=CL⋅ DD⋅
t f I V t
Pcorto=trans⋅ DD⋅corto⋅
Vdd
Icorto Ifuga Iconm ttrans
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
estimaci
estimació ón a nivel l n a nivel ló ógico (i) gico (i)
⌦ El diseño automático a nivel lógico:
no produce circuitos físicos, la calidad de la implementación solo puede estimarse.
está orientado principalmente a tecnologías semicustom, aquellas que usan un conjunto reducido de celdas físicas prediseñadas o prefabricadas con características fijas.
⌦ El área de un circuito, a nivel lógico, depende de:
el número de celdas usadas — medido el área de cada una de ellas — conocido el área del interconexionado — estimado y suele medirse:
celdas equivalentes: en base al tamaño de una celda de tamaño mínimo (transistor, inversor, CLB, ...) — semicustom basado en celdas.
grado de ocupación: porcentaje de celdas (e interconexiones) utilizadas respecto del total disponible — semicustom basado en arrays.
⌦ El retardo de un camino, a nivel lógico depende de:
la impedancia y capacidad de los pines (representando a redes de transistores) de las celdas atravesadas por el camino — conocido
la resistencia y capacidad de las interconexiones atravesadas por el camino — estimado del sentido de las transiciones que se provoquen — estimado o medido
⌦ El consumo, a nivel lógico depende de:
el consumo estático de las celdas — conocido
el sentido, frecuencia y tiempo de conmutación de las señales — estimado o medido la capacidad de los pines e interconexiones implicados en cada conmutación — conocido o estimado
10
©J.M. Mendías, 2004
estimaci
estimació ón a nivel l n a nivel ló ógico ( gico (ii ii) )
⌦ El área, resistencia y capacidad del interconexionado se suele estimar a partir de:
el área, resistencia y capacidad por unidad de longitud de una interconexión.
una estimación de la longitud de cada interconexión función de:
el tamaño total del diseño (las interconexiones son más largas en diseños grandes).
el grado de conectividad de la interconexión (las interconexiones que conectan muchas celdas son más largas)
⌦ El sentido y frecuencia de las transiciones se puede:
estimar teniendo en cuenta la funcionalidad de la celda que genera la transición.
medir en simulaciones funcionales.
⌦ El tiempo de conmutación de las señales se estima:
teniendo en cuenta la capacidad de los elementos implicados en la transición.
⌦ Las bibliotecas tecnológicas suministradas por el fabricante:
contienen información sobre las celdas con las que una herramienta de síntesis puede construir una netlist:
Funcionalidad, área, impedancia y capacidad de cada pin, etc.
contiene información sobre el interconexionado:
Area, resistencia, capacidad por unidad de longitud, etc contiene formulas y tablas de extrapolación.
contiene factores de escala dependientes del proceso fabricación.
contiene reglas de diseño dependientes de tecnología.
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis de tiempos lisis de tiempos
⌦ Se entiende por análisis de tiempos al conjunto de métodos que permiten estimar las características temporales de un diseño.
⌦ Análisis temporal dinámico:
Muestra el comportamiento temporal estimado de un diseño frente a un patrón de estímulos, mediante la simulación de un modelo de la netlist anotado con información precisa de tiempos.
Es aplicable a la mayor parte de los estilos de diseño.
Alcanza una alta precisión, ya que tiene en cuenta la dependencia de los retardos respecto de los valores propagados.
Dado que está basado en simulación, es lento y puede ser incapaz de localizar los caminos críticos si los estímulos no sensibilizan todos los caminos relevantes del diseño.
⌦ Análisis temporal estático:
Estima el retardo de los caminos combinacionales de una netlist basándose en los retardos de los elementos que lo constituyen y en cómo están interconectados.
Localiza los caminos críticos del diseño, aunque a veces puedan ser falsos.
Típicamente está restringido a circuitos síncronos.
Es rápido aunque no muy preciso, ya que es una técnica independiente de estímulos.
12
©J.M. Mendías, 2004
aná an álisis din lisis diná ámico de tiempos mico de tiempos
⌦ Un analizador dinámico de tiempos permite simular el comportamiento temporal detallado de una netlist.
Esta simulación se utiliza para validar la corrección de un diseño, ya que cualquier tipo de error detectable a este nivel de abstracción se manifiesta como un error funcional.
⌦ El funcionamiento de un analizador dinámico de tiempos se basa en:
extracción de información temporal de cada uno de los elementos de la netlist:
retardos pin-to-pin.
elementos parásitos (resistencias y capacidades).
generación de un modelo estructural simulable de la netlist completado del modelo simulable con:
la información extraída (back-annotation) una colección opcional de timing-checks simulación del modelo anotado.
⌦ La información de back-anotation suele usar diferentes formatos:
retardos pin-to-pin:
SDF (Standard Delay Format) elementos parásitos:
RSPF (Cadence Design Systems’ Reduced Standard Parasitic Format) DSPF (Cadence Design Systems’ Detailed Standard Parasitic Format) SPEF (Open Verilog International Standard Parasitic Exchange Format)
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis est lisis está ático de tiempos (i) tico de tiempos (i)
⌦ Un analizador estático de tiempos permite obtener estimaciones sobre el retardo de cada uno de los caminos de una netlist. Estas estimaciones se utilizan para:
comprobar la consistencia de un diseño con un cierto modelo de temporización:
respeto de los tiempos de hold y setup de los dispositivos secuenciales.
capacidad de funcionamiento con un reloj de frecuencia y ciclo de trabajo dados.
evaluar la calidad del diseño:
frecuencia de reloj máxima y valores tolerables de jitter y skew.
rango de tiempos tolerables de llegada a puertos de entrada y de salida.
tiempos absolutos de contaminación y retardo.
guiar los procesos de optimización bajo un cierto modelo de temporización:
a partir de la definición de la temporización de los puertos y de la forma de reloj.
LC LC LC LC
de registro a puerto de puerto a
registro de registro a registro
de puerto a puerto tipos de caminos en
un sistema de nivel-lógico
14
©J.M. Mendías, 2004
aná an álisis est lisis está ático de tiempos ( tico de tiempos (ii ii) )
⌦ Un analizador estático de tiempos estima los retardos de los caminos relativos al momento en que se produce una cierta transición en la señal de reloj.
esto es así ya que, en los sistemas síncronos, son las transiciones del reloj las que marcan el comienzo de los periodos transitorios de los modulos combinacionales.
es decir, los nodos intermedios realizan transiciones en respuesta a la transición del reloj.
dicho evento del reloj (seleccionado según la temporización) marca el tiempo 0.
⌦ Representa la netlist como un grafo dirigido:
cada nodo representa un pin o un puerto de la red lógica.
cada arco representa una conexión entre pines que puede hacerse a través de una interconexión o a través de una celda.
Q
D D Q
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis est lisis está ático de tiempos ( tico de tiempos (iii iii) )
⌦ Asocia a cada arco del grafo, un retardo máximo y otro mínimo (correspondiente a transiciones de subida y de bajada) que los calcula teniendo en cuenta:
fórmulas y tablas de retardos de celda o de interconexión dependientes de tecnología.
carga capacitiva, impedancia, y otros efectos locales.
condiciones de funcionamiento.
⌦ Asocia a cada nodo una colección de atributos que describen el comportamiento temporal de las señales que pueden atravesarlo:
latest arrival time (tiempo máximo de llegada) / earliest arrival time (tiempo mínimo de llegada) de una señal a un nodo:
tiempo de propagación / contaminación de un nodo en respuesta a un evento del reloj.
equivalente al retardo del camino más lento / más rápido que alcanza el nodo.
latest requiered arrival time (tiempo máximo de llegada requerido) / earliest requiered arrival time (tiempo mínimo de llegada requerido) de una señal a un nodo:
tiempo requerido de propagación / contaminación de un nodo en respuesta a un evento del reloj para que el sistema tenga un funcionamiento correcto.
equivalente al tiempo disponible menos el retardo del camino más lento / más rápido que comienza en el nodo.
slack (margen) en un nodo: diferencia entre el tiempo máximo de llegada requerido y el tiempo máximo de llegada efectivo de una señal a dicho nodo
puede definirse también para tiempos mínimos de llegada.
16
©J.M. Mendías, 2004
an aná álisis est lisis está ático de tiempos ( tico de tiempos (iv iv) )
⌦ El slack mide el grado de insensibilidad de un circuito al retardo de un nodo, cuando en un nodo:
el slack es 0, indica que el nodo pertenece al camino crítico.
el slack es positivo, indica que las señales que lo atraviesen pueden retrasarse sin afectar al rendimiento del sistema.
el slack es negativo, indica que las señales que lo atraviesen pueden llegar demasiado tarde para que el sistema funcione adecuadamente.
latest arrival time earliest
arrival time
earliest requiered arrival time
latest requiered arrival time
t
0
slack
clk
nodo
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis est lisis está ático de tiempos (v) tico de tiempos (v)
⌦ Los tiempos máximos (mínimos) de llegada a cada nodo se calculan:
recorriendo uno a uno los nodos del grafo, comenzando por los nodos sin predecesores hasta alcanzar los nodos sin sucesores según la ordenación primero en anchura.
cuando el nodo no tiene predecesores (representa a un puerto de entrada) sus tiempos de llegada dependen del entorno y deben ser fijados por el diseñador el tiempo de llegada máximo (mínimo) a un nodo, conocidos los tiempos de llegada máximos (mínimo) de sus predecesores se calcula:
como el máximo (mínimo) de las sumas de cada uno de los tiempos de llegada máximo (mínimo) a cada predecesor y el retardo máximo (mínimo) del arco que lo une con el nodo dado.
el nodo sin sucesores con mayor (menor) tiempo de llegada:
determina el retardo de los caminos críticos
permite localizar el propio camino si se recorre inversamente el grafo inverso eligiendo los nodos con mayor (menor) retardo.
⌦ Los tiempos máximos (mínimos) de llegada requeridos a cada nodo se calculan:
recorriendo uno a uno los nodos del grafo, comenzando por los nodos sin sucesores hasta alcanzar los nodos sin predecesores según la ordenación primero en anchura.
cuando el nodo no tiene sucesores y representa a un puerto de salida
sus tiempos de llegada requeridos dependen del entorno y deben ser fijados por el diseñador.
cuando el nodo no tiene sucesores y representa a un entrada de un biestable su tiempo de llegada máximo requerido es el tiempo de ciclo menos el setup.
su tiempo de llegada mínimo requerido es el tiempo hold.
el tiempo de llegada máximo (mínimo) requerido a un nodo, conocidos los tiempos de llegada máximos (mínimo) requeridos de sus sucesores se calcula:
como el máximo (mínimo) de las restas de cada uno de los tiempos de llegada máximo (mínimo) a cada predecesor y el retardo máximo (mínimo) del arco que lo une con el nodo dado.
18
©J.M. Mendías, 2004
an aná álisis est lisis está ático de tiempos ( tico de tiempos (vi vi) )
⌦ Para realizar estimaciones más ajustadas algunos analizadores tienen en cuenta la funcionalidad de las celdas a la hora de calcular tiempos de llegada.
Así calculan tiempos máximos y mínimos diferentes en función de la polaridad de la transición que se propaga.
⌦ Por ejemplo, para calcular el tiempo de llegada máximo de subida (o bajada) de un camino entre 2 nodos adyacentes se calcula sumando al tiempo de llegada máximo de subida (o bajada) del arco:
el tiempo de llegada máximo de subida (o bajada) del nodo origen, cuando el arco representa, por ejemplo, una interconexión o un camino dentro de una puerta AND.
las puertas AND cuando propagan, propagan la transición sin invertir la polaridad.
el tiempo de llegada máximo de bajada (o subida) del nodo origen, cuando el arco representa, por ejemplo, un camino dentro de una puerta NAND.
las puertas NAND cuando propagan, propagan la transición invertida.
el peor de los tiempos de llegada máximos del nodo origen, cuando el arco representa, por ejemplo, un camino dentro de una puerta XOR.
el sentido de la transición de salida de una puerta XOR no puede ser predicho a partir del sentido de la transición de una de las entradas.
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis est lisis está ático de tiempos: modelos ( tico de tiempos: modelos (vii vii) )
A B C
retardo derivado de la red de interconexión de salida
retardo pin a pin del dispositivo
di Ro
Ci
Rw
Cw
δ Ro Ci
A B C
c t i s
d d d d d
t = + + +
⎪⎪
⎩
⎪⎪
⎨
⎧
+
⋅ +
⋅
=
∑
case balanced N C
C N R
case worst C C R
case best d
i w w
i w w c
) (
) (
0
retardo de conexión (dc) retardo de
pendiente (ds) previo t
s sd
d = ⋅
retardo de transición (dt)
) ( +
∑
⋅
= o w i
t R C C
d
retardo intrínseco (di)
El retardo de un dispositivo interconectado es la suma de:
Retardo intrínseco (di): porción del retardo que es independiente del uso del dispositivo.
Retardo de pendiente (ds): porción del retardo que depende del tiempo de rampa de la señal de entrada (que suele ser el tiempo de transición de la celda anterior).
Retardo de transición (dt): tiempo que tarda una salida en realizar una transición en respuesta a una transición de una de las entradas del dispositivo.
Retardo de conexión (dcc): tiempo que trada en propagarse una transición a lo largo de un árbol de interconexión.
obsérvese que la Cidel inversor influye en el retardo de conexión y de transición de la puerta anterior
20
©J.M. Mendías, 2004
an aná álisis est lisis está ático de tiempos: modelos ( tico de tiempos: modelos (viii viii) )
d R C A
B Rw/N
Cw/N d2
R2 C2 C2 Rw/N
Cw/N d1
R1 C1 C1
Rw/N Cw/N
dN RN CN CN
d R
C
A B C1
C1 d1
R1
C2 d2
R2
C2 CN dN
RN
CN Rw
Cw
d R
C
A B C1
Cw C1 d1
R1
C2 d2
R2
C2 CN dN
RN
CN Rw
⌦ mejor caso: modela el caso en el que el pin que carga a la celda esta físicamente adyacente a ella. Se tiene en cuenta toda la capacidad de la interconexión, pero su resistencia es despreciada (por lo que el factor RC es siempre 0).
⌦ caso equilibrado: modela el caso en que todos los pines que cargan a la celda están en ramas separadas y de igual longitud del arbol de interconexión. Cada pin carga con una porción igual de la capacidad y de la resistencia de la interconexión.
⌦ peor caso: modela el caso en que el pin que carga a la celda está en el extremo de la interconexión. Cada pin carga con la capacidad y resistencia completa de la interconexión.
Modelos para el c
Modelos para el cáálculo del retardo de conexilculo del retardo de conexióónn
disediseñño automo automáático de sistemastico de sistemas
©J.M. Mendías, 2004
an
aná álisis est lisis está ático de tiempos: tico de tiempos: caminos falsos caminos falsos (ix ( ix) )
⌦ Topológicamente el camino crítico es el que atraviesa las 3 puertas.
⌦ Sin embargo, para que una transición se propague a través de dicho camino cada una de las puertas debe poder propagarla
una puerta AND propaga la transición de uno de sus pines si el otro pin vale 1, en caso contrario la salida de la puerta esta fija a 0.
una puerta OR propaga la transición de uno de sus pines si el otro pin vale 0, en caso contrario la salida de la puerta esta fija a 1.
Como el puerto B o vale 0, o vale 1, dicho camino nunca se sensibiliza es un camino falso
⌦ Se denomina camino falso a todo camino de una netlist que nunca se sensibiliza.
funcionales: aquellos que nunca se sensibilizan por la función lógica de la netlist cualquier diseño que posea porciones de lógica compartida por varios cálculos es propenso a poseer caminos falsos.
también son caminos falsos los lazos existentes en puertos bidireccionales, los caminos que atraviesan lógica de reset, etc
dependientes del retardo: aquellos que nunca se sensibilizan por las carreras que se producen en la netlist
camino critico falso camino critico
real
22
©J.M. Mendías, 2004
aná an álisis de potencia lisis de potencia
⌦ Se entiende por análisis de potencia al conjunto de métodos que permiten estimar el consumo de un diseño.
⌦ El funcionamiento de un analizador de potencia se basa en:
generación de un modelo estructural simulable de la netlist
simulación del modelo y generación de un informe sobre la actividad de cada uno de los elementos de la netlist:
frecuencia de transición (ft): número de transiciones por unidad de tiempo probabilidad de valor (pv): porcentaje de tiempo en que un elemento toma un cierto valor lógico (0 ó 1)
completado de la netlist con el informe de actividad
cálculo del consumo de potencia como la suma del consumo de cada elemento.
A B C
Ci Cw Ci
A B C
consumo estático (Pfuga)
consumo dinámico por comutación (Pconm)
B i w DD
conm C C ft
P =V2 ⋅( +
∑
)⋅2
consumo dinámico interno (Pcorto)
B i w A
corto fTr C C ft
P = ( , +
∑
)⋅ )( B
fuga f pv
P =