SISTEMAS SECUENCIALES v1.05 PDF
SISTEMAS SECUENCIALES v1.05 PDF
SISTEMAS SECUENCIALES v1.05 PDF
SISTEMAS SECUENCIALES
Un Sistema Secuencial es un Sistema Digital cuyos vectores de salida dependen no slo
del vector de entrada actual sino tambin del anterior o los anteriores. En otras palabras un
Sistema Secuencial debe ser capaz de memorizar la evolucin de los vectores de entrada y
determinar el vector de salida en funcin de la misma.
Es posible interpretar el mismo concepto indicando las relaciones de vectores de
entrada y salida de la siguiente manera:
Vectores de entrada
Vectores de salida
Figura 1
Este tipo de relacin en donde al menos a un vector de entrada le corresponde dos o
ms vectores de salida nos permite deducir que las salidas no pueden obtenerse como
funciones lgicas de las entradas como en el caso de los Sistemas Combinacionales y
representa una herramienta para determinar la caracterstica Combinacional o Secuencial de
un problema en particular.
El realizacin de Sistemas Secuenciales se basa en realimentar un Sistema
Combinacional es decir: conectar sus salidas como entradas. Para comprender porqu esta
realimentacin permite lograr comportamiento secuencial, planteemos un ejemplo:
Ejemplo: Construir un Sistema Digital cuya salida comande un LED que indique la situacin de
una puerta, si la puerta se ha abierto alguna vez el LED debe encenderse (an si la puerta se ha
cerrado).
X1
X0
01
No Definido (ND)
Figura 2
En la primera fila se ve que la salida ser 0 1 dependiendo de cul ha sido el vector
anterior a 00.
Si el vector de entrada anterior fue 01, la salida para 00 ser 1.
Si el vector de entrada anterior fue 00, la salida para 00 ser 0.
Se aprecia la correspondencia entre entradas y salidas de naturaleza secuencial,
tambin se ve que este tipo de correspondencia incluye la relacin de las salidas con las
entradas mencionada al principio (las salidas no slo dependen del la entrada actual sino
tambin de de las anteriores).
Una forma de tener en cuenta el estado anterior de las entradas es considerar la salida
como entrada adicional, por ej.: si la salida anterior era 0 y la entrada es 00, entonces la salida
deber seguir en 0.
Se propone la siguiente tabla de verdad:
INSTANTE POSTERIOR T+1
INSTANTE ANTERIOR T
Zt
X1
X0
Zt+1
ND
ND
3
Esta tabla la llamamos TABLA DE VERDAD TEMPORAL (TVT) ya que el concepto de
tiempo est incluido en la misma: a la izquierda el instante anterior (el Sistema tiene los
valores indicados en el instante T), a la derecha el posterior (los valores anteriores de Sistema
implica el nuevo valor de la salida)
Si esta TVT ser usada para implementar Sistemas Secuenciales, se deber reconsiderar
el concepto de funcin lgica y ampliarlo. Una funcin lgica es una variable binaria que
depende de otras variables binarias relacionadas por las operaciones lgicas. Ahora una
funcin podr adems depender de s misma:
P = f(a,b,c,..,p,..)
Se ve que si no se agrega el concepto de tiempo se caer en el absurdo de que una variable
binaria puede adoptar dos valores a la vez. Esta inclusin del tiempo nos lleva a esta notacin
pt = f(a,b,c,,pt+1,..)
As, en la lnea sombreada de la TVT se acepta que z tenga dos valores distintos, uno para t y
otro para t+1.
Como lo Sistemas combinacionales implementan funciones lgicas, es entonces posible
implementar un Sistema Secuencial realimentando un Sistema Combinacional pero teniendo
en cuenta el tiempo. El esquema propuesto es:
X0
X1
Z
SC
Z
RETARDO
RELOJ
Figura 4
El RETARDO implementa el concepto de tiempo, es un circuito que retarda la
realimentacin de la salida z, evitando el absurdo de que z adopte dos valores a la vez.
Dependiendo de cmo se implementa el RETARDO resultar un Sistema Secuencial
Asncrono (SSA) si es un circuito que simplemente retarda un cierto tiempo Td a la seal en
cuestin, o un Sistema Secuencial Sncrono (SSS) si es un circuito que permite que la seal de
entrada pase a la salida en el momento de un flanco de una seal externa de sincronismo
llamada reloj.
4
En el caso de nuestro ejemplo de la puerta, se tiene:
Zt+1=f(xo,x1,zt)=
X1X0
00
Z
01
11
0
1
10
Figura 5
Si no se consideran los minterms 3 y 7:
X0
X1
SC
z
RETARDO
Figura 6
Teniendo en cuenta que el RETARDO puede ser tan pequeo como se quiera, podra
implementarse con el tiempo de propagacin propio de las compuertas lgicas reales. De esta
manera no sera necesario dibujar el RETARDO ya que estar automticamente considerado.
5
El circuito obtenido se llama Memoria de un bit o tambin Biestable Set-Reset (SR)
asncrono y se simboliza as:
Q
Figura 7
Donde:
S = x0, R = x1 y Q = z
Generalizando el planteo de Sistemas Secuenciales podramos suponer que las salidas
son funciones lgicas de las variables que se realimentan y no necesariamente estas.
Surge de lo expuesto distinguir tres tipos de vectores en un Secuencial:
-
Vectores de entrada
Vectores internos
Vectores de salida
Variables
de entrada
SC I
Variables
de salida
Variables
internas
SC II
AUTOMATA DE MOORE
RETARDO
Sincronismo
Variables
de entrada
SC II
SC I
Variables
de salida
Variables
internas
RETARDO
AUTOMATA DE MEALY
Sincronismo
Figura 8
7
Las salidas del autmata de Moore son funciones lgicas de las variables internas (o
ellas mismas), en un Autmata de Mealy las salidas son funciones lgicas de las variables
internas y las de entrada. Se ver que siempre es posible obtener los dos Autmatas. La
palabra autmata se aplica porque se puede ver a un secuencial como una mquina que
evoluciona automticamente entre una cantidad finita de estados internos.
Se considera que el retardo puede estar implementado con el tiempo de propagacin
del SCI, o bien puede consistir en circuitos que dejan pasar el valor lgico de sus entradas ante
la presencia de un flanco en una seal de sincronismo externa (indicada con lnea de puntos).
Lo mencionado permite clasificar a los Secuenciales en.
ASNCRONOS
SISTEMAS SECUENCIALES
SNCRONOS
Cada valor del Vector Interno representa un ESTADO INTERNO del secuencial, que
llamaremos simplemente ESTADO. Ante la aparicin de un nuevo vector de entrada, el
secuencial evolucionar entre estados pudiendo llegar a un estado estable, en el cual
permanecer hasta la aparicin de un nuevo vector de entrada. Entonces:
ESTADO: distintos valores de las variables internas.
ESTADO ESTABLE: Un estado es estable, para un vector de entrada (que suponemos
permanece estable durante un tiempo) cuando el prximo estado hacia el cual evoluciona el
secuencial es el mismo.
Observando el diagrama en bloques se puede aclarar el concepto: Supongamos que el
Secuencial est quieto, es decir que para una entrada estable se encuentra en un estado
interno y este no cambia (es decir: es estable). Ahora la entrada adopta un nuevo valor (que
permanece durante un tiempo), cambiarn las variables internas (salidas del SCI), se
realimentarn y provocarn otro valor de las variables internas, estos cambios continuarn
hasta que el vector interno anterior y posterior coincidan, se ha llegado a un estado estable.
El diseo del secuencial implica que existirn estados estables, justamente este mtodo
de realimentacin apunta a poder memorizar la evolucin de los vectores de entrada
mediante estados internos estables.
8
CONSIDERACIONES:
-
Se concluye por lo expuesto que el diseo de un secuencial puede realizarse planteando la TVT
particularizada segn se trate de un SSA o de un SSS. La TVT involucra el tiempo anterior T y el
tiempo posterior T+1, como se ve en el ejemplo de la puerta, y tambin conviene encolumnar
las salidas. Una TVT tendr entonces el siguiente aspecto:
TIEMPO ANTERIOR T
TIEMPO POSTERIOR T+1
Variables de entrada
Variables internas
Variables internas
Variables de salida
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Figura 9 - TVT
Las Variables de salida pueden ser funciones de las variables internas en T+1 (autmata
de MOORE) o bien de las variables internas en T+1 y las de entrada (autmata de
MEALY).
La evolucin desde el tiempo T al T+1 ocurrir espontneamente (SSA) o en
sincronismo con el flanco de una seal de reloj externa (SSS).
- Para que este esquema funcione los vectores de entrada debern permanecer estables
mientras el sistema evoluciona en pos de un estado estable. Si el secuencial es un SSA
este tiempo de permanencia del vector de entrada deber ser mayor que el que tardan
todas las evoluciones intermedias (estados inestables) de las variables internas. Es
objeto del diseo lograr que estas evoluciones intermedias se reduzcan a slo una, de
esta forma, la permanencia del vector de entrada, deber ser mayor al tiempo de
propagacin del SCI. Si el secuencial es un SSS, evoluciona en sincronismo a los flancos
del reloj externo y la entrada no debera cambiar durante un tiempo mayor al del
periodo del reloj.
- Si el secuencial es un SSA puede ocurrir que las variables internas tengan que cambiar a
un valor no adyacente al actual (transiciones no adyacentes de las variables internas
TNA), en este caso las variables internas pasarn por estados intermedios que se
realimentan antes de alcanzar el estado final, esta realimentacin no prevista podra
llevar al secuencial a estados no deseados (transiciones no adyacentes crticas TNAC).
Estas TNAC deben evitarse. Si el secuencial es SSS, esto no ocurre siempre que el
tiempo entre flancos se mayor que el tiempo de propagacin de SCI.
- En un secuencial SSA un cambio no adyacente de las variables de entrada puede
provocar un malfuncionamiento por razones similares al punto anterior. Estas
transiciones deben ser consideradas en el diseo. En los secuenciales SSS, estas no
adyacencias no implican un problema ya que suponemos que el transitorio habr
desaparecido a la salida del SCI cuando llegue el prximo flanco del reloj.
- Las salidas de un MOORE presentan menos fluctuaciones indeseadas que un MEALY ya
que slo dependen de las variables internas, como contrapartida un MOORE tiene ms
estados internos que un MEALY lo que hace ms complejo al circuito SCI.
-
En algunos casos debemos disear un SSA que responda a los flancos de las variables de
entrada, en realidad en los casos prcticos se presentan los problemas que implican tratar
9
variables de entrada que actan por nivel y otras por flancos. Para resolver este problema
veremos un mtodo de diseo que permite caracterizar al SSA para algunas variables de
entrada que actan por flancos y otras por nivel, o slo por flanco.
El concepto de caracterizar un SSA por los flancos de las variables de entrada representa una
abstraccin que resulta til ya que permite un planteo ms sencillo para muchos problemas
prcticos, adems hay casos en los que slo pueden resolverse aplicndola. Considrense los
siguientes ejemplos:
Ej1: Se desea realizar un secuencial cuya nica salida cambie de estado cuando su nica
entrada experimenta un flanco de subida
Diagrama de tiempo:
SSA
t
Figura 10
Se ve que la caracterizacin es por flancos ya que son los que generan cambios en la salida, en
este ejemplo no es posible caracterizar al secuencial aplicando el concepto de nivel.
Ej2: Ejemplo de la puerta dado anteriormente:
Diagrama de tiempo:
X0
t
X1
x
Z
x
t
t
Figura 11
Este es un ejemplo de caracterizacin por niveles. Si quisiramos caracterizar por flancos este
ejemplo, deberamos especificar los requerimientos del secuencial de la siguiente manera:
Especificaciones: Realizar un secuencial que tenga dos variables de entrada (x0 y x1) y una de
salida (z):
o cuando se produce un flanco de subida en x0, la salida debe ser z=1.
o Cuando se produce un flanco de subida en x1, la salida debe ser z=0.
Diagrama de tiempo:
X0
t
X1
x
Z
x
Figura 12
10
Se puede suponer que el secuencial resultante ser ms complejo y seguramente tendr ms
de dos estados internos.
Para disear SSA caracterizados por nivel veremos que puede usarse el planteo por TF, pero
frecuentemente resultan TF complicadas en las cuales no es difcil equivocarse. Por lo tanto si
el secuencial es simple (como el Ej.1) es recomendable la utilizacin de TF, si el secuencial es
ms complejo se recomienda la utilizacin de GF caracterizado por flancos.
Aplicacin de conceptos
Aplicaremos los conceptos vistos al problema de la puerta:
- El secuencial obtenido es un SSA
- Posee 2 estados internos ya que tiene 1 variable interna. Por esto lo llamamos
biestable.
- Se trata de un autmata de MOORE en el cual el SCII no est, la variable de salida
coincide con la interna.
- No hay problemas de TNAC de variables internas ya que slo tiene una.
- El caso de no adyacencia de los vectores de entrada puede verse en la TVT que se
repite abajo
Supongamos que el vector de entrada es X1X0 = 01 (FILA6) y cambia a 10 , lo que
ocurrir es que pasar por algunos de los estados intermedios 00 11.
INSTANTE ANTERIOR
T
INSTANTE
POSTERIOR
T+1
Zt
X1
X0
Zt+1
FILA 1
FILA 2
FILA 3
FILA 4
FILA 5
FILA 6
FILA 7
FILA 8
Figura 13
11
Flechas de la izquierda de la figura 13
o Supongamos que pase por 00, la salida vale 1 (FILA 5)
o Luego pasa a 10 , la salida vale 0 (FILA 7)
o Finalmente queda con salida 0 (FILA3)
Conclusin: La TNA de entrada no es crtica
Flechas de la derecha de la figura 9
o Supongamos que pasa por 11, si NO hemos considerado presente el Minterms
correspondiente, la salida vale 0 (FILA 8)
o Luego pasa a 10, la salida vale 0 (FILA 7)
o Finalmente queda con salida 0 (FILA3)
Conclusin: La TNA de entrada no es crtica.
La diferencia entre los dos caminos intermedios posibles es que la salida llega antes a 0 en
el segundo caso, pero en ninguno es crtica.
Este razonamiento puede realizarse en Diagramas de tiempo:
X0
SC
Zt
X0
X1
X1
t
Zt+1
t
Zt+1
Zt
D
t
X0
t
X1
t
Zt+1
t
Zt
D
t
Figura 14
En el caso de los SSS, esta TNA de entrada no afectara el funcionamiento del secuencial
ya que entre los flancos de la seal de sincronismo las TNA se resolveran. En estos SSS, si el
problema a resolver implica TNA que deben considerarse, podra ser una solucin sincronizar
UTN FRM - TCNICAS DIGITALES - SISTEMAS SECUENCIALES Ing. Daniel Argello
12
las variables de entrada en el flanco opuesto al de evolucin del secuencial, as tosas las
variaciones del vector de entrada que sucedan dentro del periodo de la seal de sincronismo
no afectaran el funcionamiento. Si fuera necesario considerarlas habra que aumentar la
frecuencia de la seal de sincronismo y paralelamente utilizar una tecnologa ms rpida.
Lo mencionado nos lleva a completar el cuadro de clasificacin de los Sistemas Secuenciales:
CARACTERIZADOS POR NIVEL
ASNCRONOS
CARACTERIZADOS POR FLANCOS
SISTEMAS SECUENCIALES
SNCRONOS
13
DISEO
Como se mencion anteriormente el diseo de secuenciales se basa en la obtencin de
la TVT cuya interpretacin se particulizar para cada tipo de Secuencial. Seguidamente se
presenta una metodologa de diseo para SSA y SSS resolviendo un ejemplo para todos los
casos.
A fin de tener presente que existen alternativas de diseo, se presenta un diseo para
SSA hbrido que representa una solucin diferente para las TNAC.
Los pasos a seguir son los siguientes:
I)
II)
ESPECIFICACIONES LITERALES
ELECCIN DEL MTODO DE SNTESIS PARA OBTENER EL DIAGRAMA
DE FLUJO (MEALY, MOORE)
Utilizando Tabla de Fases (TF)
Utilizando Grafo Reducido (GR)
Caracterizacin por niveles
Caracterizacin por flancos (slo Asncronos)
III)
IV)
V)
VI)
VII)
SNTESIS
Problema:
Se desea implementar un Sistema Digital que permita seleccionar 3 tamaos diferentes
de cajas que viajan en fila sobre una cinta transportadora y derivarlo a 3 cintas transportadoras
para su posterior procesamiento. El Sistema Digital, para detectar el tamao, consta de 3
sensores pticos ubicados longitudinalmente y separados una distancia adecuada a los
tamaos a determinar. Los productos que viajan por la cinta lo hacen con una separacin tal
que ingresan a la zona de deteccin cuando el anterior ya ha pasado por la misma.
14
Z1
PRODUCTO
X2
X1
Z0
X0
Figura 15
X0
X1
Sistema
De Control
Z0
Z1
X2
15
SNTESIS
I. ESPECIFICACIONES LITERALES
El problema a resolver en general est especificado literalmente. Aqu es necesario
definir los vectores de entrada, los de salida y sus correspondencias bsicas, determinada la
naturaleza del Sistema Digital, es decir si se trata de un Sistema Digital Combinacional o un
Sistema Digital Secuencial.
En nuestro problema vemos tres posibles secuencias de vectores de entrada:
Pequeo
Mediano
Grande
Entrada
Salida
Entrada
Salida
Entrada
Salida
000
00
000
00
000
00
100
00
100
00
100
00
000
10
110
00
110
00
010
10
010
01
111
00
000
10
011
01
011
00
001
10
001
01
001
00
000
10
000
01
000
00
Observando las correspondencias entrada-salida vemos que se trata de un Secuencial
ya que un mismo vector de entrada se corresponde con ms de uno de salida.
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
000
1
11
001
010
011
100
2
2
5
5
6
6
7
10
10
11
13
13
15
15
9
9
101
110
3
3
111
4
4
8
8
2
12
12
14
14
2
Figura 17
Z1Z0
00
XX
XX
XX
XX
XX
XX
XX
XX
01
XX
XX
XX
XX
1X
16
- Se ha indicado con flechas la evolucin las fases del secuencial para el caso que un producto
grande es detectado.
- A fin de lograr un secuencial lo ms simple posible, se han marcado con X los casos para los
cuales no interesan los valores de salida (ya que suponemos que el producto est transitando
por los detectores pticos). Esto nos permitir asignar los valores que resulten convenientes
ms adelante.
- Los cuadros sombreados indican una Fase Estable, los no sombreados una Fase inestable y los
vacos una situacin imposible. Por ejemplo: la F1 es estable para el vector de entrada 000 ya
que mientras permanezca en ese valor, el sistema no cambiar de fase. Si el vector de entrada
cambia a 100, la fase F1 es inestable, el sistema cambia a la F2. El 2 no sombreado en la
columna 100 est indicando dos cosas, que la F1 es inestable para ese vector de entrada y que
el sistema evolucionar hacia la F2 (que es estable para ese vector de entrada).
- En este tipo de descripcin tabular es muy posible definir fases redundantes. Para eliminarlas
se utilizan dos herramientas:
1) Determinacin de fases estables equivalentes
Dos o ms fases son equivalentes si:
- Tienen el mismo vector de entrada
- Generan la misma salida
- Si a partir de las mismas se evoluciona, para los mismos vectores de entrada,
hacia las mismas fases destino originarias.
2) Determinacin de fases estables fusionables
Dos o ms fases son fusionables si:
- No son estables para el mismo vector de entrada.
- Evolucionan hacia las fases estables destino para todos los vectores de
entrada posibles.
Reduccin de la Tabla de Fases
Consiste en determinar las fases equivalente y luego las fusionables
Equivalencias
En la Tabla se observa que las fases F11, F13 y F15 son equivalentes esto es porque tienen el
mismo vector de entrada, generan las mismas salidas y es posible a partir de una sola fase
evolucionar hacia las mismas fases destino. Tambin las fases F12 y F7
F15,F13
F11
donde aparezca un 15 o un 13 colocamos un 11
F12
X2X1X0
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F14
000
1
11
F7
001
010
011
100
2
2
1
11
10
10
11
11
5
5
6
6
7
9
9
14
14
8
8
2
2
101
110
3
3
111
4
4
Z1Z0
00
XX
XX
XX
XX
XX
XX
XX
XX
01
1X
XX
Figura 18
UTN FRM - TCNICAS DIGITALES - SISTEMAS SECUENCIALES Ing. Daniel Argello
17
Fusiones
Dos o ms fases son fusionables si al juntarlas en una misma fila implican las mismas
fases estables e inestables, No es requisito que las salidas coincidan para la misma fila ya que
pueden asignarse a la fase correspondiente y al vector de entrada. Si como consecuencia de la
fusin, resulta necesario asignar distintos vectores de salida a una misma fila, resultar un
Autmata de Mealy. Por lo mencionado, si es nuestra intencin obtener un Autmata de
Moore, es necesario evitar fusionar las fases que provoquen lo mencionado.
-
X2X1X0
F1
F2
F8
000
1
11
10
001
6
14
9
010
7
7
011
100
5
2
8
2
8
2
Figura 19
101
110
3
3
111
4
Z1Z0
00
1X
01
X2X1X0
E0
E1
E2
000
1
11
10
001
6
14
9
010
7
7
011
100
5
2
8
2
8
2
Figura 20
101
110
3
3
111
4
Z1Z0
00
1X
01
18
E0
G
010/100
000/001/010/100
110
000/001/011
E1
P
E2
011
M
100
Figura 21
19
Vamos a nuestro ejemplo. Podemos definir un estado inicial E0 el cual ser receptivo a
algn vector de entrada. Para obtener la receptividad veamos la siguiente tabla que indica la
evolucin de los vectores de entrada para los 3 casos: producto pequeo (P), mediano (M) y
grande (G).
P
M
G
100 100 100
000 110 110
010 010 111
000 011 011
001 001 001
000 000 000
Figura 22
Se observa que el estado inicial E0 tendra que ser receptivo a los vectores de entrada
111 (que implica la deteccin de un producto grande) y a 011 (producto mediano). El vector
que aparezca primero definir el prximo estado. Si no se detecta ninguno de los vectores
mencionados se concluye que se trata de un producto pequeo y el secuencial no cambia de
estado. Lo mencionado da lugar al siguiente diagrama de flujo:
100
E0
100
111
E1
011
E2
Figura 23
Notemos que el diagrama de flujo resultante de aplicar GR, no posee flechas que
retornan al mismo estado (como ocurre con el obtenido a partir de la TF). Esto implica que no
est definido el comportamiento del secuencial para todos los vectores de entrada y
probablemente resulte un circuito ms sencillo que con el planteo de TF ya que habr mas
cruces en la TVT permitiendo una mayor minimizacin de las funciones internas.
GR - Caracterizacin por flancos
Cuando el Secuencial a construir es asncrono, es posible considerar que la receptividad
de un estado es uno cuando se produce un flanco (cambio de nivel) en alguna (slo una)
variable de entrada y las dems (o parte de ellas) se mantienen en niveles determinados. Un
caso particular sera la situacin en la cual no importa el estado de las dems variables de
entrada, basta que cambie de nivel (flanco) una de ellas para que el secuencial deba cambiar
de estado. Otro caso particular sera aquel en el cual el secuencial deba cambiar de estado
ante la ocurrencia de algn vector de entrada determinado sin importar como se lleg a l.
20
Esto ltimo se parece a la caracterizacin con niveles, efectivamente la caracterizacin por
flancos permite una caracterizacin por niveles cuando no hay flancos a considerar.
Implementar un secuencial asncrono utilizando GR y caracterizacin por flancos, puede
resultar menos complejo que las dems alternativas. Esto es para aquellos casos en los que la
receptividad dependa mayoritariamente de los cambios de nivel (flancos) de las variables de
entrada.
Se describen a continuacin los pasos a seguir para implementar un secuencial
asncrono mediante GR caracterizado por flancos.
La receptividad (Rc) de un estado puede hacerse 1 en los siguientes casos:
1) Cambio de nivel de una nica variable: Rc = xi
2) Cambio de nivel de una variable y nivel de otras: Rc = xi
3) Nivel de variables: Rc = Xi (similar al planteo GR caracterizado por niveles)
Usando estas definiciones se puede caracterizar el diagrama de flujo del ejercicio ejemplo, de
la siguiente manera:
Consideramos un Estado inicial que puede ser cuando an ningn producto ha ingresado, lo
llamamos E0 y lo asignamos a un producto mediano.
- Si lo primero que ocurre es que X2 baja y x1 en ese momento est en cero (este es el caso
de receptividad que depende de un flanco y la presencia de un vector), entonces lo que
est pasando es un producto pequeo (E1), el sistema permanecer en E1 hasta que se
detecte un nuevo producto en la barrera X2, es decir cuando suba X2.
- Si chequeamos si X0 sube, entonces lo que est pasando es un producto grande (E2), el
sistema permanecer en E2 hasta que se detecte un nuevo producto en la barrera X2, es
decir cuando suba X2.
- El paso de un producto mediano (E0) no provocar ningn cambio de estado en el
secuencial.
X2
X2
E0
X2X1
X0
E1
E2
Figura 24
21
Para evitar las TNAC lo primero que debe hacerse es, en el momento de la codificacin
de los estados internos, evitar las no adyacencias. Por ejemplo, sea el diagrama de flujo
obtenido con GR caracterizado por niveles siguiente:
E0
X=1
X=0
E3
E1
X=1
X=0
E2
Figura 25
Elegimos la codificacin 2n = m, por lo tanto necesitamos 2 variables internas (y0 e y1).
Para evitar las TNAC es til usar la siguiente tabla:
22
Y0 0
Y1
0
E0
E2
E3
E1
Figura 26
Se ve que para este caso es posible elegir una codificacin que evite las no adyacencias.
Supongamos ahora el siguiente diagrama de flujo con su TVT:
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Y1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
Y0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
E0
E1
E2
E3
Y1 Y0
0 0
0 1
1 1
1 0
E0
11
00
10
E3
E1
01
00
E2
Figura 27
23
intermedio 01 o 10. En la siguiente tabla el tiempo transcurre de arriba hacia abajo, como Tcs >
Ta, supongamos que a Tsc le corresponden 4 renglones y a Ta 1 rengln. Asumimos que el
secuencial est en el estado E2 (11) y el vector de entrada toma el valor 10.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
X1
1
X0
0
Y1
1
Y0
1
X0
SC
X1
y0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
0
0
0
Y1
0
Figura 28
24
2) Agregar variables internas y nuevos estados de forma tal que la transicin de E2 a E0 se
realice por estados adyacentes. Por ejemplo, si agregamos una variable interna sera
posible realizar una codificacin como la siguiente:
Se ve que la transicin TNAC de E2 a E0 se realiza a travs de los estados E2, E2 y E2
que son adyacentes entre s, resultando el siguiente diagrama de flujo modificado:
10
E0
11
E2```
00
E3
10
01
11
10
E0
E1
E2
E3
E2
E2
E2
E2``
01
E2
0 0
y2
E1
00
y1y0
10
E2`
10
Figura 29
Se ha salvado la TNAC pero se han agregado estados: el secuencial es ms complejo.
Otra forma de encontrar la codificacin adecuada agregando estados es utilizar los
cubos N. Supongamos el siguiente diagrama de fluyo de cuatro estados y que son
posibles las transiciones entre todos ellos, como se indica en la siguiente figura;
E0
X30
X01
X10
X03
E3
X23
X32
X20 X02
X31
X13
E1
X21
E2
E0/E2
E1/E3
E2/E0
E3/E1
Y2y1y0
000
001
011
010
Y2y1y0
100
101
111
110
X12
Figura 30
25
cara superior. Es rojo se indica cmo se resuelven las transiciones E0 a E2 (en realidad
pasa a E2, de E2 a E3 (en realidad de E2a E3) y de E3 a E1 ( en realidad de E3a E1).
E0 000
E1 001
E2 011
E3 010
E3 101
E2 100
E0 111
E1110
Figura 31
En la figura de abajo se indica el diagrama de flujo resultante, y las transiciones puestas
en juego (indicadas en naranja) cuando el secuencial debe cambiar de E0 a E2 y
viceversa
X20
X02
E0
X10
X01
X13
E1
X21
X31
X12
E2
X23
X02
X20
X13
X32
E3
X31
E2
X23
X32
E3
X30
X03
E0
X01
X10
E1
Figura 32
26
A) Codificacin para el SSA resultante del diagrama de flujo obtenido por TF
Codificacin asignando m variables internas 2m >= n estados
n=3m=2
Y1
Y0
E0
0
0
E1
0
1
E2
1
1
Figura 33
Esta codificacin no presenta transiciones no adyacentes
Codificacin asignando una variable interna a cada estado
Y2 Y1 Y0
E0 0 0 1
E1 0 1 0
E2 1 0 0
Figura 34
Las transiciones no adyacentes no son crticas para nuestro ejemplo, supongamos una
transicin entre E0 y E1, el vector interno pasara de 001 a 010 por el valor intermedio 011
000. Si pasa por 011 el sistema quedara momentneamente en dos estados a la vez (E0 y E1),
en esta situacin si el vector de entrada pasa a 000, el secuencial permanecer en los dos
estados mencionados. Que el vector de entrada pase a 000 en la situacin mencionada, antes
de que el sistema se acomode en el estado E1 no es posible debido a la velocidad de la cinta
transportadora. Por lo tanto, si bien el secuencial se encontrar en dos estados
simultneamente, ser por un tiempo no significativo y llegar correctamente al estado E1. Las
mismas consideraciones pueden hacerse para todos los casos.
B) Para el diagrama de flujo obtenido por GR (caracterizacin por niveles)
Codificacin asignando m variables internas (2m >= n) para n estados
n=3m=2
Y1
Y0
E0
0
0
E1
0
1
E2
1
0
Figura 35
Codificacin asignando 1 variable interna a cada estado
Y2 Y1
E0 0 0
E1 0 1
E2 1 0
Figura 36
Y0
1
0
0
27
Secuencial Asncrono caracterizado por flancos
La codificacin de los Estados del secuencial consiste en asignar a cada estado una CELDA
ACTIVADA POR FLANCOS (CAF), esta celda estar en 1 si el secuencial est en el estado
correspondiente, por lo tanto las dems debern estar en cero. Cuando el secuencial cambia de
estado, se activar la celda que le corresponda y se desactivar la celda anterior. Los cambios de
estado se producen cuando se presenta una receptividad distinta de cero.
El diagrama en bloques de una CAF es el siguiente:
CAF
CAF
B
A
S
Figura 37
Donde:
A: un flanco de subida en A activa la CAF siempre que E est en 1
B: un flanco de subida en B borra la CAF
E: un 1 permite que un flanco en A active la celda
La codificacin consistir ser entonces:
E0
E1
E2
CAF2
0
0
1
CAF1
0
1
0
CAF0
1
0
0
Figura 38
Las entradas de puesta a cero y puesta a uno de las CAFs (no conectadas en la figura) se
utilizan para asegurar que al iniciar el sistema, slo la CAF0 este en 1.
28
Y0
1
0
0
29
30
TVT desde TF
T
X2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Figura 41
T+1
Y1
0
0
X
1
0
0
X
1
0
0
X
X
0
1
X
1
0
0
X
0
X
X
X
X
0
0
X
X
0
X
X
X
Y0
0
1
X
1
0
1
X
1
1
1
X
X
0
1
X
1
1
1
X
1
X
X
X
X
0
1
X
X
0
X
X
X
31
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Figura 42
T+1
Y1
0
0
1
X
0
0
1
X
0
0
1
X
1
0
0
X
0
0
0
X
0
0
1
X
0
0
1
X
0
1
1
X
Y0
0
1
0
X
0
1
0
X
0
1
0
X
0
1
1
X
0
0
0
X
0
1
0
X
0
1
0
X
1
1
0
X
32
T
X1
0
CAF2
0
T+1
CAF1
1
X0
x
CAF2
0
CAF1
0
CAF0
1
CAF0
0
Figura 43
33
Y0
SC
Y1
Figura 44
Utilizando SR asncronos
Consiste en asignar un biestable SR a cada variable interna. La programacin de las
entradas del biestable se realiza combinado la tabla de verdad del biestable con la TVT. As, las
distintas programaciones de Ri y Si, sern:
Condicin
Mantener un
cero
Poner un cero
Mantener un
uno
Poner un uno
R
X
S
0
1
0
0
X
1
Figura 45
34
En la fig. 18 aparece la programacin correspondiente a la TVT a partir de la TF, a la que
se agregan las columnas correspondientes a R0, S0, R1 y S1.
Las funciones lgicas son:
R0 =Q5 (0,3,4,6,10,11,12,14,18,20,21,22,23,24,26,27,28,29,30,31)
R1 = S5 (19) + Q5 (0,1,2,4,5,6,8,9,10,11,12,14,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31)
S0 = S5 (8,16) + Q5 (1,2,3,5,6,7,9,10,11,13,14,15,17,18,19,20,21,22,23,25,26,27,29,30,31)
S1 = S5 (14) + Q5 (2,3,6,7,10,11,14,15,18,20,21,22,23,26,27,29,30,31)
Estas funciones pueden implementarse minimizando con el mtodo de multifunciones (SSI), o
bien usando decodificadores o multiplexores (MSI).
T
X2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
T+1
Y1
0
0
X
1
0
0
X
1
0
0
X
X
0
1
X
1
0
0
X
0
X
X
X
X
0
0
X
X
0
X
X
X
Y0
R1
S1
R0
S0
0
X
0
X
0
1
X
0
0
X
X
X
X
X
X
1
0
X
0
X
0
X
0
X
0
1
X
0
0
X
X
X
X
X
X
1
0
X
0
X
1
X
0
0
1
1
X
0
0
X
X
X
X
X
X
X
X
X
X
X
0
X
0
X
0
1
0
1
0
X
X
X
X
X
X
1
0
X
0
X
1
X
0
0
1
1
X
0
0
X
X
X
X
X
X
1
1
0
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0
X
0
X
0
1
X
0
0
X
X
X
X
X
X
X
X
X
X
X
0
X
0
X
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Figura 46
Obsrvese que el combinacional resultar de menor complejidad que en el caso anterior.
35
El circuito es el siguiente:
S0
X0
X1
X2
Y0
SC
R0
S1
Y1
R1
Figura 47
Consideracin: Cuando se alimenta el circuito, los biestables pueden adoptar cualquier
valor. Es necesario entonces verificar si el secuencial evoluciona correctamente sea cual sea el
estado inicial de los biestables. Si la evolucin no es correcta habr que replantear el
secuencial, o bien agregar entradas de puesta a uno y puesta a cero a cada biestable.
Verifiquemos para nuestro caso:
- Si al alimentar, los biestables adoptan el valor 00, 01 o 11, no hay problema
puesto que son estados posibles y el secuencial evolucionar de acuerdo al
diagrama de flujo de la fig.7.
- Si al alimentar, los biestables adoptan el valor 10, debemos verificar qu
Minterms marcados como X en la TVT han sido considerados como
existentes en la implementacin de la funcin. Si en todos los casos el
secuencial evoluciona como es deseado, el problema est resuelto, sino
debe asignarse un 1 0 a la X para evitar evoluciones no deseadas.
X2
T
X1
0
CAF2
0
T+1
CAF1
1
X0
x
CAF2
0
CAF1
0
CAF0
1
CAF0
0
Figura 48
36
X1
E
X2
S
CAF
B
0
A
X0
S
CAF
B
1
A
S
CAF
B 2
A
R
Figura 49
37
El procedimiento es similar para los distintos casos. Elegimos un bietable SR, cuya tabla de
verdad es:
R
0
0
1
1
S
0
1
0
1
Qt+1
Qt
1
0
X
Figura 50
Para obtener las funciones lgicas que programan las entradas S0, R0, S1 y R1, se procede
de las misma forma que lo hicimos en los SSA y los biestables SR.
Aplicando estos conceptos, resulta la tabla de la fig. 51, que es igual a la de la fig. 50.
38
T
X2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
T+1
Y1
0
0
X
1
0
0
X
1
0
0
X
X
0
1
X
1
0
0
X
0
X
X
X
X
0
0
X
X
0
X
X
X
Y0
0
1
X
1
0
1
X
1
1
1
X
X
0
1
X
1
1
1
X
1
X
X
X
X
0
1
X
X
0
X
X
X
Figura 51
R1
X
X
X
0
X
X
X
0
X
X
X
X
X
0
X
0
X
X
X
1
X
X
X
X
X
X
X
X
X
X
X
X
S1
0
0
X
X
0
0
X
X
0
0
X
X
0
1
X
X
0
0
X
0
X
X
X
X
0
0
X
X
0
X
X
X
R0
X
0
X
0
X
0
X
0
0
0
X
X
X
0
X
0
0
0
X
0
X
X
X
X
X
0
X
X
X
X
X
X
K0
0
X
X
X
0
X
X
X
1
X
X
X
0
X
X
X
1
X
X
X
X
X
X
X
0
X
X
X
0
X
X
X
El circuito es el de la figura 52. Para obtener el combinacional se puede usar SSI para lo cual
minimizamos las funciones por el mtodo de multifunciones, o bien MSI. Observemos que el
circuito posee una entrada de inicializacin I que permite ubicar al secuencial en el estado
inicial, para este caso E0. Aprovechamos para ello la entrada de puesta a cero asncronas de
los biestables.
39
S0
X0
X1
X2
SC
Y0
R0
R
S1
Y1
R1
R
Ck
Figura 52
Y0
0
1
0
1
Z1
1
0
X
0
Z0
X
0
X
1
Z1 = S2 (0) + Q2 (2)
Z0 = S2 (3) + Q2 (2)
Obtenemos el siguiente diagrama:
Z0
Y0
Y1
SC
Z1
Figura 54
40
X0
SC
t0
T0 Q
t1
0
T1 Q
y0
X1
y1
0
Figura 55
Los biestables son T asncronos caracterizados por flancos (ntese que un T asncrono por
flancos puede implementarse con un JK haciendo J = K = 1 y el Ck = T).
X1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Y1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Y0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Y1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
1
Y0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
0
1
T1
NC
NC
NC
NC
NC
C
NC
NC
NC
NC
NC
C
NC
NC
C
NC
41
A fin de visualizar el comportamiento de este circuito para una TNA, analicemos la fila
marcada en rojo en la TVT que implica un cambio no adyacente de las variables internas. Ahora
podemos considerar que existen tres tiempos en juego, el tiempo de propagacin del SC (Tsc),
el tiempo de propagacin de cada biestable (Tb) y el tiempo adicional que requiere el SC para
que sus salidas T0 y T1 alcancen 11 (esto es porque t0 y t1 deben pasar de 11 a 00
necesariamente por el valor intermedio 01 o 10). En la siguiente tabla consideramos que el
tiempo transcurre hacia abajo y asignamos a Tsc y Tb cuatro filas. A Ta le asignamos una fila.
Veamos entonces qu pasa en el secuencial para la TNA mencionada.
Fila 1: E2 con entrada 11: Estable t1t0 = 00
Fila 2: E2 con entrada 10: Inestable t1t0 deben cambiar a 11, supongamos que primero cambia
t0
X1 X0 Y1 Y0 T1 T0 Fila 6: Transcurrido Tsc cambia t0
Fila 7: Transcurrido Tsc y Ta cambia t1
1
1
1
1
1
0
0
Fila 10: Transcurrido Tb cambia y0
2
1
0
1
1
0
0
Fila 11: Transcurrido Tb y Ta cambia y1
3
Fila 14: Transcurrido Tsc t1 y t0 deben cambiar en
4
funcin de las entradas al SC en el momento de la fila
5
10, segn la TVT deberan pasar a 00, nuevamente
6
1
0
1
1
0
1
suponemos que cambia primero t0.
7
1
0
1
1
1
1
Fila 15: Transcurrido Tsc t1 y t0 deben cambiar en
8
funcin de las entradas al en el momento de la fila
9
11, segn la TVT deberan pasar a 00. Adems t1 debe
10
1
0
1
0
1
1
pasar a 0 ya que el SC viene de la no adyacencia
11
1
0
0
0
1
1
provocada en la fila 10.
12
Fila 18: Transcurrido Tsc t1 y t0 deben cambiar en
13
funcin de las entradas al SC en el momento de la fila
14
1
0
0
0
1
0
14, segn la TVT deberan pasar a 00.
15
1
0
0
0
0
0
Fila 19: Transcurrido Tsc t1 y t0 deben cambiar en
16
funcin de las entradas al SC en el momento de la fila
17
15, segn la TVT deberan pasar a 00.
18
1
0
0
0
0
0
Segn se puede ver, el secuencial super
19
1
0
0
0
0
0
correctamente la TNA.
20
En la fila 15 es vlido afirmar que t0 nunca
21
deber tener un valor distinto de 0 ya que el estado
E0 es estable para el vector de entrada 10, si as no fuera implica un error en la TVT, es decir en
el planteo del ejercicio.
Si la distancia entre las TNA es mayor a 2 puede resultar que las salidas del SC flucten
entre 0 y 1 antes de volver a cero una vez pasado el transitorio. Estos flancos no deseados
pueden llevar al secuencial a un estado no deseado o a inestabilidades. Si la distancia en 2,
nunca puede aparecer un flanco no deseado a las salidas del SC ya que no hay posibilidad que,
una salida del SC que pas a 1 y luego a 0, vuelva a uno. Recordemos que un estado en un SSA
siempre es estable para el vector de entrada que provoc la transicin hacia l.
42
REG.
SISTEMA
COMBINACIONA
L
PROGRAMABLE
COMPLETO
Vectores
de
Entrada (p)
Vectores
de
Salida (m)
Figura 58
El Sistema Combinacional tiene n+p variables de entrada y n+m variables de salida. Esto
implica que deberamos implementar n+m funciones lgicas abarcando 2n+p minterms posibles,
se concluye entonces que podramos usar una memoria RAM con n+p lneas de
direccionamiento y con longitud de palabra de n+m bits, cada una de las 2n+p posiciones seran
los minterms y cada bit en la palabra seran las funciones lgicas. Una memoria RAM (de slo
lectura programable) se llama Sistema Combinacional Programable Completo.
El Registro se trata de un Registro de Desplazamiento Paralelo-Paralelo implementado
con biestables D sncronos por flancos.
Un SSS implementado como se indica se llama SSS de Control, al contenido de la
memoria se lo llama microprograma y al contenido de una posicin de lo llama
microinstruccin. Se observa que cada microinstruccin puede considerarse dividida en dos
campos: variables de salida (m) y variables de estado (n).
Variables de salida
Variables de estado
(m)
(n)
microinstruccin
43
Consideraciones:
1. En el diagrama en bloques se observa que se ha indicado en un solo bloque el
Sistema Combinacional que, en el diagrama que vimos al presentar Sistemas
Secuenciales, apareca en dos bloques: SCI (en el cual realimentbamos las variables
interna) y SCII (con el cual obtenamos las variables de salida), esto nos permita
clasificar los autmatas en Mealy o Moore. Para el caso actual ambos autmatas
tienen el mismo diagrama, lo que implica que si el secuencial a implementar es un
Moore las posiciones de memoria correspondientes a un mismo valor de las
variables internas y distintos valores de las variables de entrada, tendrn el mismo
contenido (es decir la misma microinstruccin). Lo mismo ocurrir para un Mealy
para aquellos estados en los cuales las variables de salida no dependen de las
variables de entrada. Lo comentado supone un deterioro en la eficiencia del diseo
ya que repetir microinstrucciones implica una RAM de mayor tamao. Tambin a
este respecto es vlido comentar que, dependiendo de la memoria usada, pueden
aparecer fluctuaciones en las salidas cuando se direccionan posiciones de memoria
que tienen el mismo contenido.
2. En la mayora de los casos prcticos no es necesario considerar todos los minterms
posibles, existen minterms que nunca se producen o si se producen no interesa
considerarlos. Esto supone un deterioro en la eficiencia ya que tendramos
posiciones de memoria que nunca se direccionaran.
3. En la mayora de los casos prcticos ocurre que para cambiar de un estado a otro
solo interesa el estado de una variable y no el vector completo. Mirando el
diagrama en bloques se observa nuevamente un deterioro en la eficiencia ya que si
el sistema tiene que cambiar de un estado a otro en funcin de una nica variable
de entrada, todas las posiciones de memoria correspondientes a ese estado (n) y las
2n+p-1 , tendrn la misma microinstruccin. El mismo razonamiento puede hacerse
para casos intermedios, es decir cuando el cambio de estado depende de ms de
una variable de entrada pero no de todo el vector. Lo comentado supone una RAM
de mayor tamao que el necesario.
Ms adelante veremos cmo mejorar la eficiencia, no obstante es de considerar que
este tipo de implementacin presenta la ventaja de su simplicidad y permite modificar el
secuencial solamente cambiando el microprograma.
Es oportuno clasificar los SSS en cableados y microprogramados.
Los cableados responden al diseo visto con anterioridad, es decir aquellos en los cuales los
Combinacionales se implementan con puertas discretas o bloques funcionales. Para modificar
el secuencial es necesario cambiar el cableado (de ah su nombre).
Los microprogramados responden a la utilizacin de un combinacional programable.
44
DISEO
El diseo de estos SSS de Control (microprogramados) esencialmente es el mismo que
ya hemos visto. Para estos casos debemos utilizar el mtodo de la Tabla de Fases (TF) o los
Grafos Reducidos (GR) por niveles para la obtencin del Diagrama de Flujo.
Slo vale comentar que la TVT es la que define el contenido de la RAM, as:
Lneas de direccionamiento (n+p)
Contenido (m+n) Microinstruccin
Antes del flanco (instante t)
Despus del flanco (instante t+1)
Variables de estado (n) y de entrada (p)
Ej
2p minterms
salidas para Ej
45
REG.
SISTEMA
COMBINACIONAL
PROGRAMABLE
INCOMPLETO
Vectores de
Salida (m)
Vectores de
Entrada (p)
Figura 60
46
Vectores de MX
Entrada (p) Entr.
Vectores de
Salida (m)
Figura 61
Donde:
-
47
La direccin de la prxima microinstruccin est contenida en la microinstruccin
actual y depende del resultado del test de variables de entrada realizado por el multiplexor de
entrada. Por ejemplo, si la variable de entrada testeada es 0, la salida del multiplexor de
entrada es 0 y seleccionar (en el otro multiplexor) las variables de estado (n) que sern
cargados en el Registro cuando llegue el prximo flanco, as la prxima microinstruccin
direccionada ser aquella cuya direccin est en el campo variables de estado (n) de la
microinstruccin actual.
Se observa una disminucin importante de la cantidad de posiciones de la RAM a costa de un
aumento de la cantidad de bits de la palabra.
CONSIDERACIONES:
Esta variacin planteada resuelve la siguiente situacin:
Ej
A=0
A=1
Ej+2
Ej+1
Figura 63
Donde, si el secuencial est en el estado Ej, pasa al Ej+1 si a=1 o al Ej+2 si A=0, que es
un caso particular porque el cambio slo depende de la variable de entrada A.
Si consideramos que el diagrama de flujo a resolver tiene casos ms generales, como
por ejemplo:
Ej
A=0, B=1
A=1
Ej+2
Ej+1
Figura 64
48
Vectores
de
Entrada
(p-2)
MX
Entr
SISTEMA
COMBINACIONA
L
PROGRAMABLE
A
Vectores
de
Salida (m)
Figura 65
En todos los caso es posible reemplazar la RAM con PAL o PLA como se coment
anteriormente.
49
III)DISMINUCIN DE LA LONGITUD DE PALABRA
Siempre es posible, al momento de realizar la codificacin de estados internos, asignar al
estado siguiente al actual (o al menos a uno de los siguientes) una codificacin que represente
la combinacin siguiente en binario natural. Por ejemplo:
E0
E1
A=1
A=0
E2
E5
B=0
E3
E6
B=1
E7
E4
Figura 66
Se observa que si codificamos los estados del secuencial coincidentemente con los subndices
indicados en el diagrama de flujo, en muchos caso el prximo estado ser el que tenga la
combinacin binaria siguiente (binario natural). As podramos usar un contador binario
programable y hacer que el mismo cuente (para el caso del cambio E0 a E1 por ejemplo) o le
cargamos el estado siguiente a travs de sus lneas de carga paralela. De esta manera nos
ahorramos el campo de Variables de Estado (n) disminuyendo la longitud de palabra.
El diagrama en bloques resultante es, para el caso de usar multiplexor de entrada, el
siguiente:
50
Vectores de seleccin (n)
Vectores Internos (n)
CDOR
PGMBLE
Vectores de MX
Entrada (p) Entr.
SISTEMA
COMBINACIONAL
PROGRAMABLE
C/P
Vectores de
Salida (m)
Figura 67
El diagrama en bloques si no usamos multiplexor de entrada, es el siguiente:
Vectores Internos (n)
C/P
CDOR
PGMBLE
SISTEMA
COMBINACIONAL
PROGRAMABLE
Vectores de
Salida (m)
Vectores de
Entrada (p)
Variables de salida (m)
C/P (1)
Figura 68
UTN FRM - TCNICAS DIGITALES - SISTEMAS SECUENCIALES Ing. Daniel Argello
51