1
Diseño Automático de SistemasDiseño Automático de Sistemas
tema 2. Especificación de nivel lógico de sistemas tema 2. Especificación de nivel lógico de sistemas HWHW
José Manuel José Manuel MendíasMendías CuadrosCuadrosDpto. Arquitectura de Computadores y AutomáticaDpto. Arquitectura de Computadores y Automática
Universidad Complutense de MadridUniversidad Complutense de Madrid
2
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de diseñomodelo de diseño⌦ Modelo de sistema de nivel lógico:
� Está formado por una red de subsistemas puramente combinacionales de cualquier complejidad o secuenciales síncronos elementales (biestables), con un número pequeño de entradas, salidas y estados.
� No tiene realimentaciones combinacionales� No existen caminos cerrados que únicamente atraviese elementos combinacionales.
� La funcionalidad de cada subsistema combinacional queda descrita mediante funciones o expresiones de conmutación.
� La funcionalidad del sistema queda descrita mediante tablas o diagramas de estado.� Nos centraremos en sistemas de nivel lógico implementados en un único dominio de reloj,
con temporización síncrona por flanco.� Existe un único reloj de periodo fijo común a todos los biestables en cuyas transiciones
cambia el estado el sistema.� El sistema alcanza su estado inicial mediante un reset global.� El sistema se implementa con una única tecnología y estilo de diseño, que determinan:
� Características del interfaz: sistema lógico, sistema eléctrico, márgenes de ruido, etc...� Características de las componentes elementales: funcionalidad, rendimiento, factor de
carga de entrada, conectividad de salida.� Rango de variación de parámetros.
� Supondremos entornos de funcionamiento síncronos, o asíncronos “suficientemente lentos”.� Se diseñará usando técnicas de optimización combinacional y de minimización y codificación
de estados.
3
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (i)caracterización temporal (i)
⌦ El tiempo de transición de una señal se mide desde que la señal ha completado el 10% de la transición hasta que ha completado el 90%� tiempo de subida (tr) y tiempo de bajada (tf).
⌦ El tiempo de retardo entre dos transiciones se mide desde que se ha efectuado el 50% de la primera transición hasta el 50% de la segunda� tiempo de retardo (td), anchura de pulso alta (twh) , anchura de pulso en baja (twl)
tiempos de transición y retardo
trA
90%50%
10%A
50%
tfA
tdAB
twA
B
4
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (ii)caracterización temporal (ii)
⌦ El tiempo de ciclo o periodo de una señal periódica (de grado 1) es el retardo entre dos transiciones consecutivas del mismo tipo.� La fracción de tiempo de ciclo en que una señal está en alta se llama factor de trabajo.
⌦ En una señal periódica aparecen desviaciones aleatorias entre un periodo particular y el periodo medio, el retardo entre una transición esperada y una efectuada se denomina jitter
⌦ Dos señales con el mismo periodo se dicen que están sincronizadas, el retardo medio entre dos señales sincronizadas se denomina skew o desfase.
tjitter
A
tcyA
twhAtwhA
tcyA
B
tiempo de ciclo, skew y jitter
tskew
5
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (iii)caracterización temporal (iii)
⌦ Lógica combinacional es aquella tal que la función que calcula depende solamente de los valores actuales de sus entradas.� una vez alcanzado su estado estacionario, no conserva memoria de los valores previos de
las entradas.⌦ Caracterización temporal de un sistema combinacional debe tener en cuenta:
� Las salidas hacen transiciones en respuesta a transiciones de las entradas.� Podemos considerar que nunca dos entradas hacen una transición simultánea.� La transición de una única entrada puede provocar múltiples transiciones en una o varias
salidas.� El retardo y tipo de las transiciones de salida depende del valor de todas las entradas y no
sólo de la entrada que hace la transición. � El retardo de una transición de salida depende de su polaridad
⌦ En todo sistema combinacional se distinguen dos regímenes de funcionamiento tras el cambio de valor de una entrada.� Transitorio, durante el cual las salidas pueden cambiar de valor. Durante este periodo
(también llamado periodo de incertidumbre) las salidas pueden no tener un valor funcionalmente correcto y efectuar varias transiciones llamadas glitches.
� Permanente, durante el cual las salidas tiene un valor estable funcionalmente correcto.� Dado que la duración de ambos regímenes depende del valor de las entradas y de las
condiciones del entorno, a nivel lógico sólo nos interesa la duración máxima del transitorio.
lógica combinacional
6
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (iv)caracterización temporal (iv)⌦ El retardo de propagación mide el tiempo que tarda una salida j en hacer la última transición
en respuesta a una transición de la entrada i.� tdij(s) - retardo de propagación desde una entrada a una salida para el patrón de entradas s.� tdij - retardo de propagación máximo desde una entrada a una salida
� máximo para cualquier patrón de entrada.� máximo de todos los caminos de propagación, luego provoca la última transición.� máximo sobre variaciones de temperatura, voltaje y proceso.
� tdhij - retardo de propagación máximo desde una entrada a una salida provocando una transición positiva.� tdlij - retardo de propagación máximo desde una entrada a una salida provocando una transición negativa.� td – retardo de propagación del sistema (retardo de propagación máximo desde cualquier entrada a
cualquier salida).⌦ El retardo de contaminación mide el tiempo que tarda una salida j en hacer la primera
transición en respuesta a una transición de la entrada i.� tcij(s) - retardo de contaminación desde una entrada a una salida para el patrón de entradas s.� tcij - retardo de contaminación mínimo desde una entrada a una salida
� mínimo para cualquier patrón de entrada.� mínimo de todos los caminos de propagación, luego provoca la primera transición.� mínimo sobre variaciones de temperatura, voltaje y proceso.
� tchij - retardo de contaminación mínimo desde una entrada a una salida provocando una transición positiva.� tclij - retardo de contaminación mínimo desde una entrada a una salida provocando una transición negativa.� tc – retardo de contaminación del sistema (retardo de contaminación mínimo desde cualquier entrada a
cualquier salida)
7
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (v)caracterización temporal (v)⌦ Dado que caracterización temporal de un sistema combinacinonal puede ser:
� Estática: solamente tiene en cuenta la topología del sistema y los retardos máximos y mínimos de las componentes.� Requiere análisis de caminos y cálculos aritméticos.� ej: el retardo estático de contaminación/propagación del sistema compuesto es la suma
de los correspondientes retardos de contaminación/propagación de los componentes� Dinámica: tiene en cuenta la topología del sistema, los valores que toman las señales, la
funcionalidad de las componentes, los retardos de subida/bajada de las salidas.� Requiere simulación para detectar patrones imposibles, caminos falsos, etc.
tcAB
tdAB
tdBCtcBC
tcAC
tdAC
A
B
C
LC LCA B C
la composición serie de sistemas combinacionalesaumenta la incertidumbre
periodo de incertidumbre, dependiendo de los valores concretos de la entrada, la estabilización de la salida puede hacerse efectiva en este rango
8
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (v)caracterización temporal (v)
tlA = 0.287 nstlB = 0.286 nsthA = 0.328 nsthB = 0.335 ns
AB Z ( tdh, tdl ) = ( 0.335 ns, 0.287 ns )
( tch, tcl ) = ( 0.328 ns, 0.286 ns )td = 0.335tc = 0.286
( tdh, tdl ) = ( 0.991 ns, 0.861 ns )( tch, tcl ) = ( 0.335 ns, 0.286 ns )
td = 0.991tc = 0.286
0.286 ns
0.991 nsAB
ZCD
thA = 3 • 0.328 ns = 0.984 nstlA = 3 • 0.287 ns = 0.861 nsthB = 0.335 + 2 • 0.328 ns = 0.991 nstlB = 0.286 + 2 • 0.287 ns = 0.86 nsthC = 0.335 + 0.328 ns = 0.663 nstlC = 0.286 + 0.287 ns = 0.573 nsthD = 0.335 ns = 0.335 nstlD = 0.286 ns = 0.286 ns
Obsérvese cómo td = 0.991 ≠ 3 • td(AND) = 1.005 esto se debe a que hemos hecho una caracterización dinámica
9
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (vi)caracterización temporal (vi)
⌦ Los tiempos de propagación de las señales a través de elementos combinacionales:� No son nulos.� No tienen valores completamente precisos debido a variaciones del proceso de fabricación, envejecimiento
de dispositivos, temperatura, etc.⌦ Consecuencias funcionales:
� En respuesta a una transición de entrada, una salida puede hacer varias transiciones funcionalmente imprevistas (glitches) en cualquier momento de su intervalo de incertidumbre.
� Nunca se puede asegurar la simultaneidad en las transiciones de un conjunto de salidas, aunque sean provocadas por una misma transición de entrada (es decir, las líneas de una salida vectorial no conmutan simultáneamente).
⌦ Si las salidas sólo se muestrean cuando han alcanzado el régimen permanente (diseño síncrono), el efecto de los glitches casi siempre puede ignorarse, no obstante:� Si son muy frecuentes aumenta considerablemente el consumo del circuito.� Deben tenerse en cuenta cuando se comunica con sistemas asíncronos (lógicas de reset, memorias, etc.)
⌦ Los glitches aparecen cuando un circuito tiene riesgos.⌦ Se dice que un diseño tiene riesgos cuando las diferencias de retardo entre los caminos que una
señal puede seguir conducen a una inconsistencia en la interpretación de su valor.� Riesgos estáticos provocan glitches en una señal que debiera ser constante.
� típicamente se originan porque dos señales complementarias se hacen iguales durante un intervalo de tiempo corto.
� Riesgos dinámicos provocan glitches en una señal que debiera hacer una única transición.� típicamente se originan porque dos señales que debieran ser equivalentes se hacen diferentes
durante un intervalo de tiempo corto.
glitches
10
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (vii)caracterización temporal (vii)
⌦ Los glitches pueden eliminarse:� Mediante la inserción de retardos en lugares específicos (ecualización).� Mediante la inserción de lógica redundante.� Mediante la intercalación de biestables.
glitch debido a un riesgo estático glitch debido a un riesgo dinámico
x
y
z
w
0 0
1 1
yz0100
x0
1
1 0
1 0
1011
zyyxy ⋅+⋅=
11
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (viii)caracterización temporal (viii)
x
y
z
w
0 0
1 1
yz0100
x0
1
1 0
1 0
1011
zxzyyxy ⋅+⋅+⋅=
12
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (ix)caracterización temporal (ix)
⌦ Lógica secuencial es aquella tal que la función que calcula depende de los valores tanto actuales como pasados de sus entradas.
⌦ Para simplificar su tratamiento, se considerará descompuesta en un conjunto de bloques de lógica combinacional y una colección de biestables.� Aunque existen varios tipos de biestables, en diseño VLSI se suelen usar tipo D.� El valor de todos los biestables en un momento dado se denomina estado del sistema.
⌦ Biestable tipo D disparado por flanco (flip-flop)� puertos: entrada de datos D, salida de datos Q, entrada de reloj CLK, y set/reset
asíncrono.� comportamiento: la salida realiza transiciones en función del valor de la entrada, pero en
respuesta a transiciones (positivas o negativas) del reloj.� Aunque la salida puede tener diferentes retardos de transición, no genera gitches.
⌦ Biestable tipo D disparado por nivel (latch)� puertos: entrada de datos D, salida de datos Q, entrada de habilitación G, y set/reset
asíncrono.� comportamiento: la salida realiza transiciones en función de transiciones de la entrada
siempre y cuando la señal de habilitación tenga un cierto valor (alto o bajo).� La salida puede tener diferentes retardos de transición, y puede propagar los gitches
presentes a su entrada si el biestable está habilitado.
lógica secuencial
13
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (x)caracterización temporal (x)
D Q
clk
⌦ Las transiciones de salida vienen caracterizadas por 2 tiempos� tcCQ - retardo de contaminación - tiempo mínimo que tarda la salida en hacer una
transición en respuesta a una transición del reloj.� tdCQ - retardo de propagación - tiempo máximo que tarda la salida en hacer una transición
en respuesta a una transición del reloj.⌦ Para que un flip-flop tenga un comportamiento predecible, la transición del reloj debe producirse
durante su periodo de apertura:� ts - tiempo de setup - tiempo mínimo que debe permanecer la entrada estable antes del
flanco de reloj (puede ser diferente en función del valor de la entrada).� th - tiempo de hold - tiempo mínimo que debe permanecer la entrada estable después del
flanco de reloj (puede ser diferente en función del valor de la entrada).� ta - tiempo de apertura - tiempo mínimo que debe permanecer la entrada estable cuando
se dispara el biestable (hold + setup).
ts th
ta
D
Q
clk
x
x
tdCQ
tcCQ
Biestable tipo D disparado por flanco
14
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
⌦ Las transiciones de salida vienen caracterizadas por 2 tiempos� tcDQ, tcGQ - retardos de contaminación - tiempo mínimo que tarda la salida en hacer una
transición en respuesta a una transición de la entrada o de la habilitación respectivamente.� tdDQ, tdGQ - retardos de propagación - tiempo máximo que tarda la salida en hacer una
transición en respuesta a una transición de la entrada o de la habilitación respectivamente. ⌦ Para que un latch tenga un comportamiento predecible, los datos deben estar estables cuando
se deshabilite:� ts - tiempo de setup - tiempo mínimo que debe permanecer la entrada estable antes de la
desabilitación del dispositivo.� th - tiempo de hold - tiempo mínimo que debe permanecer la entrada estable después de
la desabilitación del dispositivo.
caracterización temporal (xi)caracterización temporal (xi)Biestable tipo D disparado por nivel
D QG
ts th
D
Q
G
x
y
zy
tcGQ tcDQ
x z
tdGQ tdDQ
15
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
caracterización temporal (xii)caracterización temporal (xii)
⌦ Cuando se viola el tiempo de hold o el de setup, el biestable entra en un estado de metaestabilidad caracterizado por:� el retardo de propagación no está acotado.� el valor de salida del biestable es impredecible.
⌦ Cuando existe una transición en la entrada D muy cercana al flanco del reloj:� Durante el intervalo entre transiciones, la salida hace un cambio de voltaje proporcional a la
la anchura de dicho intervalo.� Al finalizar ambas transiciones, el voltaje inicial alcanzado se amplifica exponencialmente
Metaestabilidad
tdCQ
D
Q
clk
ta
∆t
16
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (i)(i)⌦ Los modelos de temporización definen cuando hay valores válidos en las señales
de un sistema.� ¿con cuantos 1 se corresponde un pulso en alta?, ¿cuándo comienza un 1 y termina otro?
⌦ El método más común para marcan los límites de los valores válidos es mediante transiciones:� Codificadas en la propia señal (codificaciones aperiódicas, ej. lógicas ternarias).� Relativas a una señal de reloj común (codificación periódica).
⌦ En un sistema digital no es el valor absoluto de los retardos lo que limita la velocidad de funcionamiento, sino la incertidumbre en la ubicación de los límites entre valores válidos.
⌦ Existen diferentes modelos de temporización:� Síncrona por flanco (edge-triggered timing)� Síncrona por nivel (level-sensitive timing)� Síncrona por nivel monofase (level-sensitive single-phase clocking)� Sincrona por nivel bifase (level-sensitive two-phase clocking)� Síncrona segmentada (pipeline clocking, wave-pipelining clocking)� Asíncrona con señalización de cuatro fases (four-phase asynchronous signaling)� Asíncrona con señalización de dos fases (dos-phase asynchronous signaling)
17
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (ii)(ii)
⌦ Características:� Como elemento secuencial primitivo solo se permite el uso de biestables disparados por flanco de la
misma polaridad (o positiva o negativa)� No puede existir un lazo que atraviese únicamente elementos combinacionales.� Todos los biestables del sistema se conectan a un único reloj global, periódico y monofase.
⌦ Modelo de cálculo:� Los cálculos que realiza un sistema se realizan ciclo a ciclo� Las fronteras del ciclo están marcadas por las transiciones de igual polaridad en el reloj común.� Al comienzo del ciclo, el sistema hace un cambio de estado mediante la actualización simultánea de todos
los biestables.� El nuevo estado provoca transiciones en las entradas de los módulos combinacionales que a su vez
provocarán transiciones en sus salidas.� El ciclo finaliza cuando todos los sistemas combinacionales han alcanzado su régimen permanente.� Los valores permanentes a la salida de los módulos combinacionales serán utilizados para actualizar los
biestables en el ciclo siguiente.
⌦ Intuitivamente, un sistema tendrá un comportamiento correcto si:� El tiempo de ciclo del reloj es lo suficientemente largo para que todos los sistemas combinacionales
alcancen su régimen permanente. De este modo, los biestables almacenan siempre valores funcionalmente correctos.
� Las entradas de todos los biestables permanecen estables durante su periodo de apertura. De este modo se evitan problemas de metaestabilidad.
Temporización síncrona por flanco
18
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (iii)(iii)
⌦ Formalmente, todo camino del sistema deberá satisfacer 2 reglas de diseño:� Ligaduras de retardo máximo: determina la máxima frecuencia de reloj a la que el sistema puede
funcionar correctamente (determina el grado de calidad del diseño).� Ligaduras de retardo mínimo: determina una condición adicional necesaria para que el sistema funcione
corectamente (asegura la fiabilidad del diseño).
⌦ Estudiaremos ambas ligaduras en 3 escenarios� Sistema sin skew en el reloj (sin retardos relativos de llegada del reloj)� Sistema con skew positivo: el reloj y los datos se propagan y retrasan el mismo sentido.� Sistema con skew negativo: el reloj y los datos se propagan y retrasan en sentido contrario.
Temporización síncrona por flanco
LCLC LC
LC
de registro a puertode puerto a registro de registro a registro
de puerto a puerto
tipos de caminos enun sistema de nivel-lógico
19
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (iv)(iv)
lcc
ffcCQ tt +1
lcd
ffdCQ tt +1
2ffst 2ff
ht
��
1ffclk
2ffclk
x
ligadura de retardo máximo:
)()()( 2121 ffs
ffdCQ
lcdCLK
ffs
lcd
ffdCQCLK tttttttt +≥−⇒++≥
ligadura de retardo mínimo:)()( 1221 ff
cCQffh
lcc
ffh
lcc
ffcCQ tttttt −≥⇒≥+ ajustables por diseño
tiempo de ciclo mínimofijado por la tecnología
(ts y tdCQ suelen ser inversas)
retardo mínimofijado por la tecnología
(si tcCQ > th no hay problema)
escenario I (sin skew)
LC
ff1 ff2lc
x
20
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (v)(v)
LCLC LC LCLC
lógica externa queestimula las entradas
lógica externa quees estimulada por las salidas
Aff1 ff2 ff3 ff4B C D E
)()(
)()(
)(
)()(
65
43
32
21
ffs
Hd
Gd
Fd
ffdCQCLK
ffs
Ed
Dd
ffdCQCLK
ffs
Cd
ffdCQCLK
ffs
Bd
Ad
ffdCQCLK
ttttttttttt
ttttttttt
++++≥
+++≥
++≥
+++≥
65
43
32
21
ffh
Gc
Hc
Fc
ffcCQ
ffh
Ec
Dc
ffcCQ
ffh
Cc
ffcCQ
ffh
Bc
Ac
ffcCQ
ttttttttt
ttttttt
≥+++
≥++
≥+
≥++
)()()(
)()(
)(
)()(ligaduras de retardo máximo: ligaduras de retardo mínimo:
LCLCFff5
LCff6G H
21
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (vi)(vi)
tclk
tinput tiempo disponible
toutput
LCLCAff1 ff2B
tclk
tinput tiempo disponible
LC LCff3 ff4D E
tclk
toutputtiempo disponible
LCff2 ff3C
tclk
tiempo disponible
Aff1 ff2B C
LCLC LC
22
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (vii)(vii)
escenario II (con skew positivo)
LC
ff1 ff3lc2
tskew
x
ligadura de retardo máximo:
ligadura de retardo mínimo:
)()()( skewffs
ffdCQ
lcdCLKskew
ffs
lcd
ffdCQCLK tttttttttt −+≥−⇒−++≥ 2121
)()( skewffcCQ
ffh
lccskew
ffh
lcc
ffcCQ tttttttt +−≥⇒+≥+ 1221
disminuye el tiempode ciclo mínimo
)( 21 ffs
lcd
ffdCQskew tttt ++>aparecen problemas, además
si el sistema se desincroniza
� �
2ffstskewt
lcc
ffcCQ tt +1
lcd
ffdCQ tt +1
2ffht
1ffclk
2ffclk
x
23
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (viii)(viii)
escenario III (con skew negativo)
LC
ff1 ff2lc
tskew
2ffstskewt
lcc
ffcCQ tt +1
lcd
ffdCQ tt +1
2ffht
��
1ffclk
2ffclk
x
ligadura de retardo máximo:
ligadura de retardo mínimo:
)()()( skewffs
ffdCQ
lcdCLKskew
ffs
lcd
ffdCQCLK tttttttttt ++≥−⇒+++≥ 2121
aumenta el tiempode ciclo mínimo
)()( skewffcCQ
ffh
lccskew
ffh
lcc
ffcCQ tttttttt −−≥⇒−≥+ 1221
no aparecen problemas, sin embargo si el skew esmuy grande, el sistema también se desincroniza
24
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
⌦ Cuando el skew es positivo:� puede aprovecharse para aumentar la frecuencia de funcionamiento.� el circuito puede funcionar mal independientemente a la frecuencia de funcionamiento, y en
función de las condiciones del entorno (temperatura).⌦ Cuando el skew es negativo:
� el circuito podrá funcionar correctamente pero a una frecuencia de reloj menor.⌦ En un circuito general conviven zonas con skew negativo y zonas con skew positivo,
por lo que se debe diseñar según las reglas más restrictivas de cada caso.⌦ Soluciones del skew:
� Utilizarlo en propio provecho (sólo aplicable durante la síntesis física).� Diseñar redes especiales de distribución con skew acotado (árbol en H, árbol jerárquico)� Usar circuitos no lineales de compensación (temporización de lazo cerrado)
modelo de modelo de temporizacióntemporización (ix)(ix)
LCtskew
LC
skew positivo
skew negativo
árbol en H árbol jerárquico
25
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (x)(x)⌦ Existen algunas prácticas muy comunes cuando se diseña con chips MSI
funcionando a bajas frecuencias de reloj, que no son compatibles con el modelo de temporización presentado.
⌦ La inhibición de reloj es una técnica de simplificación funcional de circuitos secuenciales basada en la mezcla de la señal de reloj con señales de datos.� Se hace que la señal de reloj atraviese un circuito combinacional cuya salida se conecta a
las entradas de reloj algunos biestables.� El objeto del sistema combinacional es que filtrar selectivamente las transisciones del reloj� Problemas:
� La red combinacional introduce un skew adicional.� Las red combinacional puede producir gitches que provoquen cambios de estado no
previstos.� La incertidumbre de la red combinacional reduce el factor de trabajo del reloj
� Un caso extremo de lo anterior que puede conducir a la desincronización del sistema, es el remplazamiento de la señal de reloj por una señal de datos (ej. Contadores de arrastre).
1 0cargar
clk
correcto
cargarclk
incorrecto
26
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
modelo de modelo de temporizacióntemporización (xi)(xi)
φ1
φ2
LCG G
φ1 φ2
LC
LCG G LCclk
LCG G LCclk
tlc
clk
tlc
temporización síncrona por nivel
temporización síncrona por nivel monofase
temporización síncrona por nivel bifase
temporización síncrona segmentada
clk
clk
clk
27
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (i)interacción con el entorno (i)⌦ Los modelos de temporización resuelven el problema de comunicación interna.⌦ Sin embargo todo sistema debe poder comunicar datos con su entorno apareciendo:
� Problemas de sincronización: el receptor debe muestrear los datos transmitidos cuando estén estables, si no es así puede entrar en estado metaestable.� Se resuelven mediante metodologías de diseño y/o insertando sincronizadores.
� Problemas de tasa de transferencia: cuando el emisor y el receptor tienen tasas de transferencia distintas:� Overrun: pérdidas de datos debidas a que el emisor es mas rápido que receptor.� Underrun: duplicaciones de datos debidas a que el emisor es mas lento que el
receptor.� Ambos casos se resuelven mediante la implantación de un protocolo.
⌦ Tipos de comunicación: según la relación temporal entre las transiciones producidas por el emisor en las señales de datos y las transiciones del reloj del receptor (que determinan cuando se muestrean dichas señales):� Síncrona: no existe desfase entre las señales de datos y el reloj (reloj y datos nunca hacen
transiciones simultáneamente).� Mesosíncrona: existe un desfase constante entre las señales de datos y reloj (reloj y datos
pueden hacer transiciones simultáneamente).� Plesiosíncrona: existe un desfase ligeramente cambiante entre las señales de datos y reloj.� Periódica: las señales de datos hacen transiciones periódicas no relacionadas con el reloj.� Asíncrona: las transiciones en las señales de datos pueden ocurrir en cualquier momento.
28
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (ii)interacción con el entorno (ii)
⌦ No existe desfase entre las señales de datos y la del reloj� Reloj y datos nunca hacen transiciones simultáneamente:
� el reloj siempre hace transiciones cuando los datos están estables.� los datos siempre cambian cuando el reloj está estable.
⌦ Escenario: emisor y receptor pertenecen al mismo dominio de reloj y el skew entre ellos es despreciable.
⌦ Debe tenerse cuidado con la incertidumbre (siempre inferior al tiempo de ciclo) en la recepción/emisión de datos provocada por las etapas de entrada/salida.� Puede provocar metaestabilidad e inconsistencia.
⌦ Soluciones:� si la incertidumbre es conocida, se puede tener en cuenta durante la fase de diseño.� si es desconocida se registran los puertos (a costa de retrasar el tiempo de respuesta).
⌦ Modo de comunicación: el receptor muestrea directamente los datos.
Comunicación síncrona
LCff1A
LCff2B
InPort
escenariode posible inconsistencia
29
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (iii)interacción con el entorno (iii)
InPort
1
LC LC
syncasync
sync’async’ clk
inPortasync
sync
async’
sync’
incertidumbre en lallegada de datos
tiempo de cálculo
tiempo de cálculo
tiempo de apertura de los biestables LC
sync async
OutPortOutPort
1
clk
sync
async
tiempo de cálculo
reducción dela incertidumbre
30
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (iv)interacción con el entorno (iv)
⌦ Existe un desfase constante entre las señales de datos y el reloj.� Permanentemente, reloj y datos pueden hacer transiciones simultáneamente.
⌦ Escenario: emisor y receptor pertenecen al mismo dominio de reloj y el skew entre ellos no es despreciable.
⌦ Soluciones:� Si el desfase es conocido, se puede compensar durante la fase de diseño.� Si el desfase es desconocido (el receptor se diseña antes que el emisor, o el entorno es
variable), el receptor debe disponer de un circuito de compensación.� esta compensación se realiza una única vez porque el skew es fijo y se realiza
durante el reset del sistema.⌦ Modo de comunicación: el receptor muestrea los datos retrasados un tiempo fijo o
los muestrea directamente retrasando el reloj un tiempo fijo.
Comunicación mesosíncrona
31
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (v)interacción con el entorno (v)
⌦ Existe un desfase ligeramente cambiante entre las señales de datos y el reloj.� Ocasionalmente, reloj y datos pueden hacer transiciones simultáneamente.
⌦ Escenario: emisor y receptor pertenecen a dominios de reloj diferentes con iguales frecuencias nominales de funcionamiento (que difieren levemente).
⌦ Soluciones:� Como el desfase es desconocido y variable no se puede compensar por diseño y el
receptor debe disponer de un circuito de compensación.� El método de compensación es similar al de la comunicación mesosíncrona, con la
diferencia que debe realizarse periódicamente.� Como emisor y receptor tienen diferentes tasas de transferencia, durante la sincronización
puede aparecer over/underun, por lo que deben diseñarse “conscientes” de estos periodos de sincronización para que intercalen datos nulos.
⌦ Modo de comunicación: el receptor muestrea los datos retrasados un tiempo variable o los muestrea directamente retrasando el reloj un tiempo variable.
Comunicación plesiosíncrona
32
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (vi)interacción con el entorno (vi)
⌦ Las señales de datos hacen transiciones periódicas no relacionadas con el reloj.⌦ Escenario: emisor y receptor pertenecen a dominios de reloj diferentes con
frecuencias de funcionamiento diferentes y no relacionadas.⌦ Solución
� El emisor dispone de un circuito que en base a la regularidad en la producción de datos puede predecir cuando transmisión no es segura.
� No obstante estos sistemas con complejos y bajo ciertas consideraciones es preferible tratarla como una comunicación asíncrona.
⌦ Modo de comunicación: el receptor muestrea los datos siempre y cuando la transmisión sea segura.
⌦ Observaciones:� La comunicación entre sistemas pertenecientes a diferentes dominios de reloj con
frecuencias relacionadas o derivadas de un reloj común se tratan como casos particulares de comunicación síncrona, mesosíncronas o plesiosíncrona.
Comunicación periódica
33
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (vii)interacción con el entorno (vii)
⌦ Las transiciones en las señales de datos pueden ocurrir en cualquier momento.⌦ Escenario: emisor y receptor pertenecen a dominios de reloj diferentes y el emisor
no produce datos con un periodo constante, o el emisor es asíncrono.⌦ Solución
� El receptor dispone de un sincronizador que retrasa algunos ciclos de reloj las señales de datos y convierte en síncronas las transiciones asíncronas.
� Nunca existe probabilidad nula de que dicho sincronizador falle y entre en estado metaestable.
� Dicho sincronizador puede utilizarse como solución general (aunque costosa) a todos los anteriores problemas de comunicación.
⌦ Modo de comunicación: el receptor muestrea directamente los datos a la salida del sincronizador.
Comunicación asíncrona
34
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (viii)interacción con el entorno (viii)
⌦ Un sincronizador puede construirse encadenando un número suficiente de flip-flops. � El número necesario depende de las condiciones de funcionamiento del sistema.
⌦ Analicemos el caso de 2 biestables encadenados:� ff1 entra en estado metaestable si su entrada (señal x) cambia durante su tiempo de apertura� ff2 igualmente entrará en estado metaestable si su entrada (salida de ff1) cambia durante su
tiempo de apertura� pero esto solo ocurre si ff1 continúa estando estado metaestable tras un ciclo de reloj.
� Si hay más biestables en serie, este mismo argumento se repite
Sincronizador básico
clk
x
x’
xSync
x D Q QxSync
D
rst
clk
x’
fallo de sincronizaciónacierto de sincronizaciónsincronizador de 2 etapas
ff1 ff2
35
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (ix)interacción con el entorno (ix)
⌦ Un estudio analítico del problema permite determinar las siguientes ecuaciones:� La probabilidad de que exista una transición en la entrada del sincronizador durante el
tiempo de apertura del primer biestable es:
� La probabilidad que una transición en la entrada del sincronizador ocurrida durante el tiempo de apertura del primer biestable mantenga a este en estado metaestable durante un cierto tiempo de espera es:
� Dado que en toda transición de la entrada puede producirse un fallo, la frecuencia de fallos del sincronizador (probabilidad de que el segundo biestable entre en estado metaestable debido a que el primer biestable no ha salido de él) es:
Análisis del sincronizador básico
CLKaCLK
aa ft
ttp ⋅==
ta : tiempo de apertura del biestabletCLK : periodo del reloj de muestreofCLK : frecuencia del reloj de muestreo
s
wt
CLKafallo eftp τ−
⋅⋅=τs : tiempo de regeneracióntw : tiempo de espera
s
wt
CLKaxfallo eftff τ−
⋅⋅⋅= fx : frecuencia de conmutación de la entrada
fCLK = 100 MHz = 108 s-1⇒ tw (un ciclo) = 10-8 s
fx = 1 MHz = 106 s-1
ta = 0.2 ns = 2·10-10 sτs = 0.2 ns = 2·10-10 s
pfallo= 3.85·10-24 ffallo = 3.85·10-18 Hztiempo medio entre fallos = 8,212,836,124 añosedad del homínidos = 10,000,000 años edad de la tierra = 4,500,000,000 años
36
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (x)interacción con el entorno (x)
⌦ Los modelos de temporización establecen implícitamente canales de comunicación continuos y no selectivos entre las componentes de un sistema.� En todos los ciclos, todos los subsistemas se comunican con todos sus vecinos
transmitiendo nuevos valores a través de todas las señales.⌦ Los modos de comunicación establecen mecanismos para que existan canales
análogos entre diferentes sistemas.� En todos los ciclos, el emisor transmite nuevos valores a todos los receptores conectados.
⌦ Los protocolos deben definirse cuando los modelos de temporización y los modos de comunicación no son suficientes, es decir, cuando:� Se desea implantar un canal de comunicación no continuo.� Se desea implantar un canal de comunicación bidireccional.� Se desea implantar un canal de comunicación selectivo.� Se desea implantar un canal de comunicación multiplexado.� Se desea comunicar sistemas con las tasas de transferencia diferentes.
⌦ Los protocolos resuelven:� Problemas de direccionamiento (identificación).� Problemas de arbitraje.� Problemas de sincronización de transferencias.
Protocolos
37
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xi)interacción con el entorno (xi)
⌦ Elementos implicados en una transferencia:� Emisor (envía los datos) y receptor (recibe los datos).� Master (inicia la transferencia) y slave (obedece al master).
⌦ Tipos básicos de transferencia:� Escritura: � Lectura:
⌦ Métodos de sincronización de transferencia:� Con señalización por flanco (tipo síncrono): las transiciones de una señal de control (no
necesariamente periódica) indican la validez de los datos.� Polaridad de la transición.� Tiempos de establecimiento, de mantenimiento y de acceso de datos.� Variaciones: con o sin reloj explícito.
� Con señalización por nivel (tipo strobe): una señal de control indica por nivel la validez de los datos.� Polaridad y anchura del pulso de control.� Tiempos de establecimiento, de mantenimiento y de acceso de datos.� Variaciones: con o sin espera, simple o ráfaga.
� Tipo handshake: emisor y receptor acuerdan mediante transiciones en dos señales de control el inicio y el final de la transferencia.� Variaciones: simple o doble, con o sin timeout
SlaveMaster DATOSlave MasterDATO
Protocolos
38
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xii)interacción con el entorno (xii)
emisor -m
aster
receptor –slave
rdy
data rdy
clk
data
rdy*
procesadata
esperardyld
slave
escriberdy, dump
generadata
master
receptormuestrea data
pin
pin
lddump
data
Protocolo de escritura tipo strobe
39
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xiii)interacción con el entorno (xiii)
tc
escriberdy, dump, ce
generadata
tc*
rdy
clk
data
clk
emisor -m
aster
receptor –slave
rdy
data
rdy*
generadata
esperasubida
esperabajada
rdyld
rdy*
rdy
slavemaster
Protocolo de escritura tipo strobe
40
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xiv)interacción con el entorno (xiv)
dclk
clk
data
clk
emisor -m
aster
receptor –slave
(con sincronizador)
dclk
data
tc*
solicitadump, ce
escribedump, ce
procesadata
pulsodump, dclk
tc*
tc
tc
dclk*
procesadata
esperadclkld
slavemaster
Protocolo de escritura tipo síncrono
41
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xv)interacción con el entorno (xv)
receptor -master
emisor -slave
rqt
data rqt
clk
data
receptormuestrea data
leerqt, ld
procesadata
rqt*
generadata
esperarqt
dump
Protocolo de lectura tipo strobe
slave (tipo Mealy)master
42
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xvi)interacción con el entorno (xvi)
solicitarqt
esperarqt, ce
procesadata
tc*
tcld
rdy*
generadata
esperasubida
esperabajadadump
rdy*
rdy
rqt
clk
data
clk
receptor -master
emisor –
slave(con sincronizador)
rqt
data
Protocolo de lectura tipo strobe
rdyslavemaster
43
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xvii)interacción con el entorno (xvii)
receptor -master
emisor -slave
rqt
data rqt
clk
data
solicitarqt
leerqt, ld
procesadata
rqt*
generadata
espera
escribedump
slave (tipo Moore)master
Protocolo de lectura tipo strobe
44
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xviii)interacción con el entorno (xviii)
emisor -m
aster
receptor -slave
rdy
data
wait
rdy
clk
wait
data
escriberdy, dump
generadata
master
wait
wait*
rdy*
procesadata
esperardy · disp
ld
slave
rdy · disp*wait
Protocolo de escritura tipo strobe con espera
45
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xix)interacción con el entorno (xix)
receptor -master
emisor -slave
rqt
data
wait
rqt
clk
wait
data
leerqt
procesadata
wait
wait*ld
rqt*
generadata
espera
rqt · disp*wait
rqt · dispdump
Protocolo de lectura tipo strobe con espera
master slave
46
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xx)interacción con el entorno (xx)
emisor -m
aster
receptor -slave
rqt
data
ack
rqt
clk
ack
data
procesadata
esperasubida
esperabajada
ack
rqt*
rqt
rqtld
rqt*
slave
Protocolo de escritura tipo handshake doble
esperabajada
escriberqt, dump
generadata
master
ack*ack
ack
ack*
47
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xxi)interacción con el entorno (xxi)Protocolo de lectura tipo handshake doble
receptor -master
emisor -slave
rqt
ack
data
rqt
clk
ack
data
generadata
esperasubida
esperabajada
ack, dump
rqt*
rqt
rqt
esperabajada
solicitarqt
procesadata
master
ack*
ack
ack*
ackld
rqt*
slave
48
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
interacción con el entorno (xxii)interacción con el entorno (xxii)
pin
LC
pin
LC
D
pin
LC
LC
pin
LC
D
LC
pin
LC
LC
LC
pin
LC
LC
pin
LC
pin
LC
D
pin
LC
LC
de salida
de entrada
de entrada/salida
Puertos
49
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
máquinas de estado (i)máquinas de estado (i)
⌦ Según el modelo de Huffman, cualquier sistema secuencial puede modelarse como una máquina de estados formada por 2 únicos elementos:� Un único registro de estado (que agrupa todos los elementos de memoria primitivos).� Una red combinacional que realiza los cálculos de las salidas y del siguiente estado.
⌦ Existen diferentes variaciones de dicho modelo que permiten simplificar la tarea de especificación de sistemas secuenciales. Estas variaciones se clasifican:� Según la dependencia de las salidas respecto de las entradas:
� Modelo de Moore: las salidas del sistema son función únicamente del estado.� Modelo de Mealy: las salidas del sistema son función del estado y de las entradas.� Modelo Mixto: algunas salidas son función únicamente del estado (salidas tipo Moore),
y otras lo son del estado y de las entradas (salidas tipo Mealy).� Según el método de almacenamiento del estado:
� Modelo de estado único: el estado del sistema se almacena en un único registro.� Modelo de estado y flags: el estado “principal” del sistema se almacena en el registro
de estado, pero existe un registro de flags (activados o desactivados según el estado principal) que “matizan” el comportamiento del sistema.
� Según el tratamiento de los puertos:� Modelo de puertos directos: los puertos están conectados directamente a la lógica del
sistema.� Modelo con puertos registrados: los puertos están aislados de la lógica del sistema a
través de biestables.
50
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
máquinas de estado (ii)máquinas de estado (ii)
⌦ Las salidas del sistema son función únicamente del estado.� Las salidas nunca cambian en el mismo ciclo que las entradas, sino en el siguiente.� Dependencia síncrona de las salidas respecto de las entradas.
⌦ Estructuralmente está formado por los siguientes elementos:� Un único registro de estado formado por una serie de biestables en paralelo.� Dos redes combinacionales para:
� calcular el estado siguiente en función del estado actual y de las entradas.� calcular las salidas en función del estado actual.
Modelo de Moore
⌦ Las salidas del sistema son función del estado y de las entradas� Las salidas pueden cambiar en el mismo ciclo que las entradas (siempre y cuando el
retardo sea corto).� Dependencia asíncrona de las salidas respecto de las entradas.
⌦ Estructuralmente está formado por los siguientes elementos:� Un único registro de estado formado por una serie de biestables en paralelo.� Dos redes combinacionales para:
� calcular el estado siguiente en función del estado actual y de las entradas.� calcular las salidas en función del estado actual y de las entradas.
Modelo de Mealy
51
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
máquinas de estado (iii)máquinas de estado (iii)
⌦ Algunas salidas son función únicamente del estado (salidas tipo Moore), y otras lo son del estado y de las entradas (salidas tipo Mealy).
⌦ Estructuralmente está formado por los siguientes elementos:� Un único registro de estado formado por una serie de biestables en paralelo.� Tres redes combinacinales:
� para calcular el estado siguiente en función del estado actual y de las entradas.� para calcular las salidas tipo Moore en función del estado actual.� para calcular las salidas tipo Mealy en función del estado actual y de las entradas.
Modelo mixto
LCLC
LClógica de generacióndel estado siguiente
lógica de generacióndel salidas tipo Moore
lógica de generacióndel salidas tipo Mealy
registro de estado
52
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
máquinas de estado (iv)máquinas de estado (iv)
⌦ El estado “principal” del sistema se almacena en el registro de estado, pero existe un registro de flags (activados o desactivados según el estado principal) que “matiza” el comportamiento del sistema.� Los flags guardan información de estado del sistema que de otra manera sería necesaria
guardar explicitamente mediante diferentes ramas del diagrama de estados.� Reducen el número de estados principales� Facilitan la tarea del diseñador
� Desde el punto de vista de la máquina principal los flags se tratan como entradas y salidas.
Modelo de estado y flags
LC
LCLCLC
53
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
máquinas de estado (v)máquinas de estado (v)
⌦ Los puertos están aislados de la lógica del sistema a través de biestables.� Dependiendo de que se registren solamente entradas, solamente salidas o ambas,
retrasarán 1 ó 2 ciclos la respuesta del sistema. ⌦ Cuando se registran puertos de entrada:
� Permiten que la lógica de entrada aproveche el ciclo completo.� Evita inconsistencias en la lectura de entradas con alta incertidumbre.
⌦ Cuando se registran puertos de entrada:� Permiten que la lógica de salida aproveche el ciclo completo.� Genera salidas simultáneas, de baja incertidumbre y libres de gitches.
Modelo con puertos registrados
LCLC
LC
54
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
⌦ Para especificar un sistema secuencial complejo puede ser útil descomponerlo en varias máquinas de estado.
⌦ Cuando se componen varias máquinas de estado:� Asegurar que en todo lazo existe al menos una máquina de Moore.� Para comunicarse deben utilizar un protocolo.� Pueden sincronizarse:
� mediante inicialización� mediante handshake
máquinas de estado (vi)máquinas de estado (vi)Composición de máquinas de estado
FSM
-1
FSM
-2
rdy1
rdy2
procesa
esperardy2
rdy1*
sync
procesa
esperardy1
rdy2*
sync
55
diseño automático de sistemasdiseño automático de sistemas
©J.
M. M
endí
as, 2
001
inicialización de sistemas secuencialesinicialización de sistemas secuenciales⌦ El estado inicial de un sistema secuencial es desconocido.
� el estado inicial de los biestables es desconocido.� es necesario inicializar simultáneamente todos los biestables para poder llevar al sistema a
un estado a partir del cual pueda tener un comportamiento predecible.⌦ Existen dos tipos de inicializaciones:
� Síncrona: el estado inicial se alcanza como se alcanza a cualquier otro estado:� se usa un mecanismo síncrono que se hace explícito en la especificación.� la señal de inicialización se considera como una señal de control de carga.� el valor inicial se propaga como se propagan los datos, por lo que una vez elegido debe
diseñarse el canal de distribución.� puede ser usada para inicializaciones parciales.� no resuelve el problema de inicialización de sistemas secuenciales.
� Asíncrona: el estado inicial se alcanza usando un mecanismo específico.� el mecanismo es ajeno al modelo de temporización y transparente a la especificación.� el valor inicial está “prefabicado” en los propios elementos secuenciales, por lo que una
vez elegido se seleccionan los biestables adecuados.� la señal de inicialización es una señal especial (como lo es la de reloj).� debe ser usada para inicialización global� resuelve el problema de inicialización de sistemas secuenciales.
⌦ Errores comunes:� Confundir ambos tipos de inicializaciones.� Mezclar señal de inicialización asíncrona con señales de datos.
Top Related