Sei sulla pagina 1di 74

Víctor M.

Zumaeta Diseño Lógico I - Teoría

Evaluativo 1 de teoría

01. Sistemas de numeración.


02. Conversiones entre sistemas de numeración.
03. Aritmética binaria.
04. Representación de números binarios negativos.
05. Códigos: BCD, Gray.
06. Operadores de Boole. Propiedades.
07. Funciones especiales de Boole.
08. Representación de las funciones de Boole: Tabla de verdad. Imágen.
09. Representación de las funciones de Boole: Formas Canónicas. Forma S.
10. Representación de las funciones de Boole: Mapa de Karnaugh. Con Contactos.
11. Representación de las funciones de Boole: Formas Canónicas. Con compuertas
lógicas.

1. Sistemas de numeración

Binario: Este sistema utiliza únicamente 2 dígitos (0 y 1), donde su dígito menor es 0 y su
dígito mayor es 1. Se dice que tiene una raíz 2 y comúnmente se denomina Sistema de
Numeración en base 2.
Cada dígito se denomina Bit. El bit menos significativo es el de la posición extremo derecha y
el más significativo es el del extremo derecho.
A cada posición se le asigna una potencia de 2 (peso). La menor es realmente 20. Luego hacia
la izquierda el valor de este exponente aumenta hasta llegar al bit más significativo, donde el
peso es 2n-1.

Ejemplo: (101)2 = 1 x 22 + 0 x 21 + 1 x 20 = (5)10

Cuando se trabaja con números binarios, en general se está restringido a utilizar un número
restringido de bits. Esta restricción se basa en la circuitería que se usa para representar estos
números binarios.
Es los sistemas digitales, la información que se está procesando por lo general se presenta en
forma binaria debido a que estas cantidades pueden representarse por medio de cualquier
dispositivo que sólo tenga dos estados de operación. Las PC trabajan internamente con dos
niveles de voltaje (encendido – apagado) por lo que su sistema de numeración natural es el
binario.

Octal: Este sistema es muy importante en el trabajo que se realiza en una computadora digital.
Su base es 8, lo cual significa que tiene 8 posibles dígitos (0, 1, 2, 3, 4, 5, 6 y 7). De esta manera,
cada dígito de un número octal puede tener cualquier valor de 0 a 7. Las posiciones de los dígitos
en este sistema tienen los siguientes valores:

…84 83 82 81 80 . 8-1 8-2 8-3…

A cada posición se le asigna una potencia de 8 (peso).

Hexadecimal: Este sistema tiene raíz 16 y por esta razón se denomina Sistema de numeración
en base 16. Utiliza los siguientes símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F debido a
que necesita 16 símbolos.

1
Víctor M. Zumaeta Diseño Lógico I - Teoría

La ventaja de este sistema es que es útil para convertir directamente números binarios de 4
bits. Cada uno de estos números de 4 bits pueden ser representados por un único dígito
hexadecimal. En este sistema, dos dígitos representan un byte y 2n dígitos representan una
palabra de n bytes.

2. Conversiones entre sistemas de numeración

Existen las siguientes formas de conversión entre sistemas:

a). De cualquier base a base decimal y viceversa.


b). De base 2 a base 8 y viceversa.
c). De base 2 a base 16 y viceversa.
d). De base 8 a base 16 y viceversa.

a). De cualquier base a base decimal y viceversa: Para realizar esta conversión, utilizo la
siguiente fórmula: (An An-1… A0)B = A0 x B0 + A1 x B1 + … + An-1 x Bn-1 + An x Bn
Ejemplo: Binario a Decimal
Se inicia por el lado derecho del número en binario y a cada dígito debo multiplicarlo por 2 (es
decir su base) elevado a la potencia consecutiva (comenzando por la potencia cero). Después de
realizar todas las multiplicaciones, las sumo a todas y el número resultante será el equivalente en
decimal. Ej. (110)2 = 0 x 20 + 1 x 21 + 1 x 22 = (6)10

Ejemplos de otras bases: (82A)16= 10 x 160 + 2 x 161 + 8 x 162 = (2090)10


(532)8 = 2 x 80 + 3 x 81 + 5 x 82 = (346)10

Para pasar de decimal a cualquier base realizamos divisiones sucesivas en la base a la que
deseamos transformar. Una vez llegado al final, se cuenta el último cociente seguido de los
restos de las divisiones anteriores, desde el más reciente hasta el primero que resultó. El número
formado por dichos dígitos será el equivalente buscado. Ej. (46)10 = (101110)2

b). De base 2 a base 8 y viceversa: La conversión de enteros binarios a octal se realiza


agrupando los bits del número binario en conjuntos de tres dígitos, empezando por el de menor
peso, es decir, el del extremo derecho. Cada grupo de tres bits es reemplazado por su equivalente
decimal. Ejemplo: (100 011 110)2 = (4 3 6)8
Para pasar de base 8 a base 2, debo representar cada dígito octal por su equivalente en binario
tomando tres bits para ello. Ej. (2 0 5)8 = (010 000 101)2

c). De base 2 a base 16 y viceversa: La conversión de enteros binarios a hexadecimal se


realiza agrupando los bits del número binario en conjuntos de cuatro, empezando por el de
menor peso, es decir, el del extremo derecho. Cuando sea necesario se añaden ceros a la
izquierda para completar un grupo de cuatro bits. Luego, cada uno de estos grupos es
reemplazado por su equivalente hexadecimal. Ejemplo: (0001 0100 1010)2 = (1 4 A)16
Para realizar el proceso inverso, es decir pasar de hexadecimal a binario, se debe representar
cada dígito hexadecimal por su equivalente en binario tomando cuatro bits para ello.
Ej. (1 4 8)16 = (0001 0100 1000)2

d). Para convertir de base 8 a base 16 y viceversa, debemos realizar la conversión a decimal
como paso intermedio.

2
Víctor M. Zumaeta Diseño Lógico I - Teoría

3. Aritmética binaria

Suma:
+ 0 1 1001 9
0 0 1 + 101 ≡ +5
1 1 0 ↑ 1110 14

Resta:
- 0 1 1000 8
0 0 1 ↓ - 101 ≡ - 5
1 1 0 011 3

Multiplicación:
x 0 1 1000
0 0 0 x 101
1 0 1 1000
+1000-
101000

División: Esta operación se realiza de idéntica forma que si se tratara de decimales, el único
cuidado que hay que tener es que la resta en la división es una resta binaria. (Hacer un ejemplo)

4. Representación de números binarios negativos

Existen dos formas de representar un número binario negativo:

 Con Magnitud y Signo: se hace uso de una posición de bit extra para representar el signo
(bit de signo). El bit más significativo es empleado como bit de signo y los bits de menor orden
contienen la magnitud. Este sistema tiene dos desventajas: doble representación del cero y no se
puede operar aritméticamente. Ejemplo para un número de 4 bits:

b3 b2 b1 b0

b3: bit de signo. Si b3 = 0, entonces el número es positivo. Si b3 = 1, el número es negativo.


b2-b0: representan la magnitud del número.

+5: 0101
+4: 0100
+3: 0011
+2: 0010
+1: 0001
0: 0000
0: 0001
-1: 1001
-2: 1010
-3: 1011
-4: 1100
-5: 1101
3
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Complemento a 2: El complemento a 2 es lo que le falta al número binario para rebalsar el


máximo número que se puede escribir con esa cantidad de bits. Usando la representación del
complemento a 2, pueden determinarse el signo y la magnitud de un número. Suponiendo un
registro de 8 bits, el bit más significativo es el bit de signo. Si éste es cero, entonces el número es
positivo y si es uno, el número es negativo, los 7 bits restantes del registro representan la
magnitud del número.
La representación en complemento a 2 para todos los valores positivos es igual al equivalente
binario de ese número.
Por otro lado, el complemento a 1 es lo que le falta a un número binario para alcanzar el
máximo número que puede ser representado con esa cantidad de bits. Sacar el complemento a 1
es equivalente a cambiar todos los unos (1) del número binario por ceros (0) y todos los ceros
por unos (1). Se usa como herramienta para calcular el complemento a 2, pues éste último
equivale a sumarle 1 al complemento a 1 del número.
El intervalo de los números representables abarca desde (-2n-1) a (+2n-1-1). Por ejemplo, si
tengo 4 bits, puedo representar desde el -8 al +7.
Con esta representación se puede operar algebraicamente y hay una única representación para
el cero.

5. Códigos: BCD, Gray

Un conjunto de cadenas de n bits en el cual diferentes cadenas de bits representan diferentes


números u otras cosas, se llama código.
 Código BCD (Binary Code Decimal): código Decimal Codificado en Binario. Consiste en
codificar los dígitos del 0 al 9 mediante sus representaciones binarias, sin signo, de 4 bits (desde
0000 a 1001).
Para la conversión de BCD a Decimal, se utiliza la sustitución directa de 4 bits por cada dígito
decimal. Ejemplo: (49)10 = (0100 1001)BCD
(0110 1000)BCD = (6 8)10

 Código Gray: es un código sin peso donde cada incremento en la cuenta está acompañado
solamente por el cambio de estado de un bit.
Ejemplo:

0 000 Reflejo y cambio la última columna por 1


1 001 Reflejo ambas líneas y cambio la 2da columna por 1’s
2 011
3 010 Reflejo las 4 filas y cambio la 3er columna por 1’s
4 110
5 111
6 101
7 100

 Código ASCII: código estándar americano para intercambio de información. Representa


cada caracter alfa-numérico con una cadena de 7 bits y produce un total de 128 caracteres
diferentes.
El código contiene el alfabeto en mayúsculas y minúsculas, los números, signos de puntuación
y diversos caracteres de control no imprimibles.
Es utilizado en los pequeños sistemas computadores para traducir los caracteres del teclado al
lenguaje de las computadoras.

4
Víctor M. Zumaeta Diseño Lógico I - Teoría

Actualmente se utiliza el código ASCII Extendido, que utiliza 8 bits y general 256 caracteres
diferentes, incluidos los caracteres especiales de cada país.

6. Operadores de Boole. Propiedades

El álgebra clásica de Boole expresa el pensamiento lógico en forma matemática. Tiene una
cantidad finita de elementos. En el caso del álgebra clásica de Boole, estos elementos son dos:
C = {0, 1}
Los operadores de Boole son: OR, AND y NOT

Propiedades:
Sea a, b, c Є C, entonces:
 Idempotencia: a = a a + a = a a.a=a
 Transitiva: a = b y b = c ⇒ a = c
 Conmutativa de la suma: a + b = b + a
 Conmutativa del producto: a . b = b . a
 Asociativa: a + (b + c) = (a + b) + c = a + b + c
a . (b . c) = (a . b) . c = a . b . c
 Distributiva del Producto respecto de la suma: a . (b + c) = a.b + a.c
 Distributiva de la Suma respecto del producto: a + (b . c) = (a+b) . (a+c)
 Elementos neutros: a + 0 = a
a.1=a

a = 0 ⇒ a =1
 Negación: a + a =1
a .a = 0

OR (+): AND ( . ):

a 0 1 a 0 1
b b
0 0 1 0 0 0
1 1 1 1 0 1

NOT:
a a
0 1
1 0

El operador AND se comporta como un circuito eléctrico con llaves conectadas en serie.
El operador OR se comporta como un circuito eléctrico con llaves conectadas en paralelo.

Teorema de De Morgan:
• (a + b + ... + n ) = a . b . ... n
• (a . b . .......n) = a + b + ... + n

5
Víctor M. Zumaeta Diseño Lógico I - Teoría

7. Funciones especiales de Boole

La función OR-Exclusiva o EXOR está definida para dos variables. Esta función es muy
usada, por lo que tiene su propio símbolo: ⊕ .
Esta función se define de la siguiente forma: a ⊕ b = a.b + b.a y se la conoce con el nombre de
función anti-coincidencia o suma lógica.

b a a⊕b
0 0 0
0 1 1
1 0 1
1 1 0

La forma de representar gráficamente esta función es mediante el símbolo:

a
a⊕ b
b

Por la forma de la función, se cumplen las siguientes propiedades:


Conmutativa: a ⊕ (b ⊕ c) = a ⊕ b ⊕ c
Asociativa: a ⊕ b = b ⊕ a
a ⊕ 0=a
a ⊕1 = a

La función OR-Exclusiva vale 1 sólo cuando aparece un número impar de unos. Gracias a esta
propiedad, se cumple que en general, negar un número impar de variables es equivalente a negar
la expresión. Y en forma análoga, si se niega un número para de variables, la expresión
permanece inalterada.

• a ⊕ b ⊕ ... ⊕ n = a ⊕ b ⊕ ... ⊕ n
• a ⊕ b ⊕ ... ⊕ n = a ⊕ b ⊕ ... ⊕ n

La función No OR-Exclusiva también conocida como Función Coincidencia, está definida


para dos variables y se define de la siguiente forma: a ☼ b = ab + ab

b a a☼b
0 0 1
0 1 0
1 0 0
1 1 1

Gráficamente se representa:

a
a b
b

Posee las mismas propiedades que la función OR-Exclusiva.

6
Víctor M. Zumaeta Diseño Lógico I - Teoría

Las funciones NAND y NOR son consideradas funciones Universales pues, con cualquiera de
ellas se puede expresar las funciones básicas de Boole.
La función NAND es una conjunción combinada con negación:

a a.b.c . . . n

Las demás implementaciones utilizando esta función son:

NOT:
a a a a.a = a

OR:
a a a
a+b
b a.b

b b
a+b = a+b = a.b

AND:

a a
a.b a.b a.b = a.b
b b

La función NOR es una disyunción combinada con negación:

a a+b+c . . . +n

Las demás implementaciones utilizando esta función son:

NOT:
a a a a+a = a

OR:
a a
a+b a+b a+b = a+b
b b

7
Víctor M. Zumaeta Diseño Lógico I - Teoría

AND:
a a
a
a.b
b a+b = a.b

b b
a.b = a.b = a+b

8. Representación de las funciones de Boole: Tabla de verdad. Imágen

Tabla de Verdad: es una forma de representar las funciones de Boole. Dada una tabla de
verdad de una cierta función, esta función queda unívocamente definida.
Consiste en escribir cada uno de los valores posibles que puede tomar la función de acuerdo a
todas las combinaciones posibles de sus variables. Si la función es de n variables, existen 2n
combinaciones posibles de ceros y unos para sus variables.
La forma de escribir una tabla de verdad es la siguiente: se considera a la variable que se
encuentra primero en el abecedario como la menos significativa y se la ubica a la derecha. Luego
se escriben las combinaciones en orden binario.
Ejemplo: dada f (a , b, c) = ab + abc + b c
2n = 23 = 8 Dec c b a f(a,b,c)
0 0 0 0 1
1 0 0 1 1
2 0 1 0 1
3 0 1 1 0
4 1 0 0 0
5 1 0 1 0
6 1 1 0 1
7 1 1 1 1

Forma Imagen: esta forma de representar una función lógica, consiste en escribir
horizontalmente la última columna de la tabla de verdad.
:
El ejemplo quedaría: f(a,b,c) = 11100011

9. Representación de las funciones de Boole: Formas Canónicas. Forma S

Forma Canónica: es la forma algebraica de representar una función de Boole, pero para que
esté bien escrita debe tener la forma de sumas de productos, donde cada producto representa un 1
que toma la función según su tabla de verdad. Es decir que habrá tantos términos producto como
1’s haya en la tabla. Además en cada término deben estar presentes todas las variables de la
función.
La variable aparecerá negada si su valor de entrada es un 0 (cero) y aparecerá sin negar si su
valor es 1 (uno).
Siguiendo el mismo ejemplo, la función queda representada de la siguiente forma:
f (a , b, c) = ab c + ab c + abc + abc + abc

8
Víctor M. Zumaeta Diseño Lógico I - Teoría

Forma S (Sumatoria o Σ): esta forma consiste en escribir en números decimales y entre
paréntesis y precedidas del símbolo Σ, las combinaciones donde la función vale 1.
Se debe tener en cuenta la convención que se utiliza para determinar el orden de las variables.
Ejemplo: f(a,b,c) = Σ(0,1,2,6,7)

10. Representación de las funciones de Boole: Mapa de Karnaugh. Con


Contactos

Mapa de Karnaugh: es un método gráfico de representación de funciones de Boole. El mapa


para una función de n entradas da un arreglo de 2n celdas, una por cada posible combinación de
entrada.
Los renglones y columnas de una mapa de Karnaugh se etiquetan de tal modo que la
combinación de entrada para cualquier celda se determina fácilmente por los encabezados de
renglón y columna para esa celda. Los pequeños números dentro de cada celda son el
equivalente decimal a la combinación de entrada correspondiente a esa celda.
Las columnas y filas se etiquetan siguiendo el código de Gray.
Cada celda contiene un cero si la función es cero para esa combinación de entrada, o un 1 de
otro modo.
Ejemplo:
ba
dc 00 01 11 10
0 1 3 2
00
4 5 7 6
01
12 13 15 14
11
8 9 11 10
10

Con contactos: otra forma de representar una función de Boole de manera circuital es
empleando pulsadores.
Se definen dos tipos de pulsadores:

Pulsador Normal Abierto (se cierra al accionar)

Pulsador Normal Cerrado (Se abre al accionar)

Se simbolizan de la siguiente forma:


a
N.A.

a = 0, abierto a = 1, cerrado
a
N.C.

a = 0, cerrado a = 1, abierto

Los contactos o pulsadores representan una variable de Boole. Para representar una
conjunción se ubican los contactos en serie. Una disyunción se representa con un paralelo.

9
Víctor M. Zumaeta Diseño Lógico I - Teoría

Ejemplo:
f ( a , b, c ) = c b a + c b a + c b a
c b a

c b a

c b a

11. Representación de las funciones de Boole: Formas Canónicas. Con


compuertas lógicas

Forma Canónica: es la forma algebraica de representar una función de Boole, pero para que
esté bien escrita debe tener la forma de sumas de productos, donde cada producto representa un 1
que toma la función según su tabla de verdad. Es decir que habrá tantos términos producto como
1’s haya en la tabla. Además en cada término deben estar presentes todas las variables de la
función.
La variable aparecerá negada si su valor de entrada es un 0 (cero) y aparecerá sin negar si su
valor es 1 (uno).
Siguiendo el mismo ejemplo, la función queda representada de la siguiente forma:
f (a , b, c) = ab c + ab c + abc + abc + abc

Con Compuertas Lógicas: la compuerta lógica es un bloque de construcción básica de los


sistemas digitales, operan con números binarios, por lo que se denominan Compuertas Lógicas
Binarias.
Las entradas utilizadas con las compuertas lógicas son en realidad tensiones altas (1 binario) o
bajas (o binario).
Todos los sistemas digitales se construyen utilizando tres compuertas lógicas básicas que
representan los tres operadores de Boole: OR, AND y NOT.

OR AND NOT

a a+b+c . . . +n a a.b.c . . . n a a

n n

(Hacer un ejemplo cualquiera)

10
Víctor M. Zumaeta Diseño Lógico I - Teoría

Evaluativo 2 de teoría

01. Minimización de las Funciones de Boole con Mapas de Karnaugh.


02. Minimización de las Funciones de Boole con Algoritmo de Quine y Mc Cluskey.
03. Tabla de Cubrimiento.
04. Condiciones de Indiferencia.
05. Síntesis de sistemas combinatorios con compuertas NOR y NAND.
06. Síntesis de sistemas combinatorios con compuertas XOR.
07. Formas comerciales de compuertas con SSI. Costo de una Síntesis.
08. Carreras de sistemas combinatorios. Retardos. Solución.
09. Análisis de sistemas combinatorios.

1. Minimización de las Funciones de Boole con Mapas de Karnaugh

Minimizar una función de Boole consiste en reducir al máximo el número y el tamaño de las
compuertas necesarias para construirla. Esto significa que dada una función de Boole (ya sea en
su forma canónica, tabla de verdad, función sigma, etc.) se busca reducir el costo del circuito a 2
niveles mediante:
 Reducción del número de compuertas del primer nivel.
 Reducción del número de entradas de cada compuerta del primer nivel.
 Minimizando el número de entradas en la compuerta del segundo nivel (es equivalente al
primer punto).
Método de Karnaugh
Para minimizar una función con el método de karnaugh en primer lugar se debe construir el
mapa de Karnaugh de la función. Este método es grafico, y sólo es recomendable para funciones
de hasta 5 variables pues en otro caso se torna muy complicado.
Nótese que en un mapa de Karnaugh cada celda corresponde a una combinación de entrada
que difiere de sus vecinas adyacentes en sólo una variable. Por esta razón, se considera
adyacentes las celdas en los bordes izquierdo y derecho, superior e inferior y las 4 esquinas. En
el caso de una mapa de 5 variables, las celdas reflejadas entre la mitad izquierda y derecha
también se consideran adyacentes.
La minimización consiste en agrupar conjuntos rectangulares de 2i cantidad de 1 (unos)
llamados lazos, lo más grande posible para formar un término producto con (n – i) variables (n es
el número de variables).
Para formar este producto se hace:
Si el lazo sólo cubre las áreas del mapa donde la variable es 0, la variable aparece
complementada en el producto.
Si el lazo cubre tanto áreas del mapa donde la variable es 0 como áreas donde vale 1, entonces
la variable no aparece en el producto.
Si el lazo cubre áreas donde la variable es 1, la misma aparece en el producto sin
complementar.
La cantidad de lazos debe ser la menos posible que abarque todos los 1 del mapa.

2. Minimización de las Funciones de Boole con Algoritmo de Quine y Mc


Cluskey

Es un método de minimización tabular factible para cualquier número de variables y


fácilmente programable. Generalmente se parte de la función dada en forma sigma (Σ).

11
Víctor M. Zumaeta Diseño Lógico I - Teoría

La primer subtabla tiene 2 columnas, el peso y el número decimal. Se denomina peso a la


cantidad de 1 (unos) que tiene el número decimal en su equivalente binario. En esta tabla se
agrupan los números que aparecen en la forma sigma según su peso, dividiéndolos por una línea
horizontal.
En la siguiente subtabla existen 2 columnas, una correspondiente a los lazos de 2 números
decimales y la otra de su diferencia (∆, delta). Los lazos de 2 números decimales se eligen
tomando los números de la tabla anterior cuyo peso difiera en uno y cuya diferencia sea una
potencia de 2. Se tildan de la tabla anterior todos los números que se vayan ubicando en la
presente tabla. La diferencia (∆) se toma entre el número de mayor peso y el de menor peso (no
puede ser negativa).
Cuando se termina de comparar, por ejemplo, los números de peso 0 y los de peso 1 se traza
una línea horizontal en la tabla y se continúa comparando los de peso 1 y los de peso 2.
En la tercer subtabla se comparan los lazos de un grupo con los del grupo inmediatamente
inferior y se agrupan en lazos de 4 si su diferencia (∆) coincide y, si además, la diferencia entre
el primer número de un lazo y el primer número del otro lazo también es una potencia de 2. Se
tildan los lazos que vayan apareciendo en esta tabla.
Los lazos que componen la función minimizada son todos aquellos que no hayan sido tildados.
Las variables cuyo peso aparezca en la diferencia (∆) no aparecen en el producto que representa
al lazo. Las variables aparecen complementadas o no según tomen el valor 0 o 1 en la
representación binaria de cualquier número que componga el lazo.
Por último se suman todos los lazos.

3. Tabla de cubrimiento

En el algoritmo de Quine y Mc Cluskey muchas veces surgen lazos que cubren las mismas
variables, o en caso de existir indiferencias (Ǿ), lazos que cubran sólo indiferencias y entonces
no resultarían necesarios. Para salvar estos problemas se hace una tabla de cubrimiento. Esta
tabla se construye de la siguiente manera:
 Se identifican los lazos no tildados obtenidos con el algoritmo de Quine y Mc Cluskey con
una letra mayúscula.
 Se construye una columna por número decimal de la notación sigma Σ (no se incluyen
condiciones de indiferencias).
 Se construye una fila por cada lazo identificado.
 Se marca con una cruz las celdas de la tabla si el lazo de ese renglón contiene el número de
esa columna.
 Se barre por columna hasta encontrar aquellas con una sola marca. Entonces se tilda el lazo
correspondiente, pues debe ir forzosamente en la solución. Se tildan todos los números que
abarcan este lazo.
 Los lazos que abarquen los números (columnas) que no hayan sido tildados también deben
ir en la solución. Generalmente cada número no tildado está cubierto por 2 o más lazos. En este
caso se toma el lazo más conveniente según los costos o la disponibilidad.
 Una vez elegidos los lazos que conforman la selección, se representa cada lazo con un
producto donde las variables cuyo peso aparezca en la diferencia (∆) no aparecen en el producto
que representa al lazo. Las variables aparecen complementadas o no según tomen el valor 0 o 1
en la representación binaria de cualquier número que componga el lazo.

12
Víctor M. Zumaeta Diseño Lógico I - Teoría

4. Condiciones de indiferencia

En ocasiones la especificación de un circuito combinacional es de tal modo que su salida no


importa para ciertas combinaciones de entrada o porque estas combinaciones de entrada nunca se
presentan durante el funcionamiento normal. Estas combinaciones de entrada se denominan
condiciones de indiferencia o “don´t care” Ej.: BCD.
En la forma sigma las indiferencias se representan con una segunda suma y el símbolo
(sumatoria sub conjunto vacío).
En el mapa de Karnaugh las indiferencias se marcan con el símbolo (conjuntos vacío).
Para minimizar una función con condiciones de indiferencias con el método de karnaugh se
siguen los siguientes pasos:

 Permitir que las indiferencias estén incluidas cuando se forman lazos de unos lo mas
grandes posibles. Esto reduce el número de variables presentes en el producto.
 No formar lazos compuertas solo por indiferencias ya que incluir el término de producto
correspondiente en la función incrementaría en forma innecesaria su costo.
Si el método utilizado es el algoritmo de Quine y Mc Cluskey entonces se toman todas las
indiferencias como unos. Luego los lazos innecesarios son eliminados de la tabla de cubrimiento,
donde las condiciones de indiferencia no se incluyen.

Ej.: f (d, c, b, a) = ∑ (1, 3, 11, 15) + ∑ (0, 2, 5)


00 01 11 10 00 01 11 10
00 X 1 1 X 00 X 1 1 X
01 0 X 1 0 01 0 X 1 0
11 0 0 1 0 11 0 0 1 0
10 0 0 1 0 10 0 0 1 0

f (d, c, b, a ) = c d + ab f (d, c, b, a ) = ab + d a

5. Síntesis de sistemas combinatorios con compuertas NOR y NAND

Un circuito combinatorio consta de compuertas lógicas cuyas salidas se determinan a partir de


los valores de entrada presentes.
Un circuito combinatorio realiza una operación de procesamiento de información determinada
que se puede especificar lógicamente por medio de un conjunto de expresiones booleanas.
Consta de variables de entrada, compuertas lógicas y variables de salida. Cada variable de salida
es una función booleana de las variables de entrada.
Con los métodos de minimización vistos hasta el momento se puede expresar cada variable de
salida como una suma de productos (en la mayoría de los casos) o como un producto de sumas.
Esto resulta en un circuito combinatorio a 2 variables, generalmente con varias compuertas
AND que convergen en una OR y los negadores necesarios.
Un circuito combinacional puede ser sustituido fácilmente por un circuito formado
exclusivamente por compuertas NAND que funcionan como operadores universales. Este efecto
puede resultar deseable si sólo se quiere usar un tipo de compuertas. Por otro lado, las
compuertas NAND son las más comerciales de la familia lógica TTL.
Las compuertas lógicas básicas OR, AND y NOT se reemplazan por compuertas NAND de la
siguiente manera:

13
Víctor M. Zumaeta Diseño Lógico I - Teoría

NOT:
a a a a.a = a

OR:
a a a
a+b
b a.b

b b
a+b = a+b = a.b

AND:
a a
a.b a.b a.b = a.b
b b

Cuando la función que se desea sintetizar con compuertas NAND es una suma de productos,
se niega 2 veces toda la función y aplicando el teorema de De Morgan se obtiene la síntesis
deseada.
Un circuito secuencial también puede ser reemplazado fácilmente por otro circuito formado
exclusivamente por compuertas NOR (el operador NOR es también un operador universal). Las
compuertas lógicas básicas AND, NOT y OR se reemplazan por compuertas NOR de la siguiente
manera:

NOT:
a a a a+a = a

OR:
a a
a+b a+b a+b = a+b
b b

AND:
a a
a
a.b
b a+b = a.b

b b
a.b = a.b = a+b

14
Víctor M. Zumaeta Diseño Lógico I - Teoría

Si la función que se desea sintetizar con compuertas NOR es una suma de productos, se debe
negar 2 veces cada término de la función y aplicar teorema de De Morgan para expresar cada
producto con operadores NOR. Luego se niega 2 veces la función completa.

6. Síntesis de sistemas combinatorios con compuertas XOR

Este método consiste en descomponer la funciones de Boole dadas, en 3 funciones: G, H1 y H2


de la siguiente manera: F = G * H1 + H2 donde F y G funciones de n entradas

El objetivo de este método es abaratar costos y aprovechar los circuitos integrados existentes.
Por lo tanto, la función G suele ser dato, generalmente una tira de compuertas XOR.
H1 se diseña de manera que hace 0 los 1´s de G que no coinciden con la función original F.
H2, en cambio, se diseña para agregar los 1´s que no se encuentran en G pero que deben existir
en F.
Si bien el método reduce los costos, el resultado final es un circuito con más de dos niveles, lo
cual resulta más lento ya que no se pueden solucionar los problemas de retardo.
Nótese que mientras más se parezcan F y G, H1 y H2 tienen más condiciones de indiferencia y
por lo tanto, resultan más baratos. H1 y H2 se construyen celda por celda.
Ej.:

00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10
00 0 1 0 1 00 0 1 0 1 00 Ø 1 Ø 1 00 0 Ø 0 Ø
01 1 1 0 0 = 01 1 0 1 0 * 01 1 Ø 0 Ø + 01 Ø 1 0 0
11 0 1 0 1 11 0 1 0 1 11 Ø 1 Ø 1 11 0 Ø 0 Ø
10 1 0 0 1 10 1 0 1 0 10 1 Ø 0 Ø 10 Ø 0 0 1

En el ejemplo puede verse que cuando F y G coinciden en un 1, corresponde un 1 en H1 y una


indiferencia (Ø) en H2. Cuando F y G coinciden en 0, corresponde una indiferencia en H1 y un 0
en H2. Cuando es necesario anular un 1 de G, se escribe un 0 tanto en H1 como en H2. Por
último, si es necesario agregar un 1, se escribe una indiferencia en H1 y un 1 en H2.

7. Formas comerciales de compuertas con SSI. Costo de una Síntesis

Las compuertas lógicas básicas NOT, AND, OR, Or-exclusivo, Nor-exclusivo, NAND y NOR
conforman la llamada SSI (Small Scale Integration) o integración a pequeña escala. Estas
compuertas pueden ser de dos tipos según su tecnología.
TTL (Transistor Transistor Logic): son rápidos pero de alto consumo (mayor tamaño).
CMOS (Complementary Metal Oxide Semiconductor): son mas lentos pero de bajo consumo
(menor tamaño).
El tamaño físico de una compuerta depende del consumo de la misma. Por esta razón, con
CMOS se pueden poner más elementos dentro de un circuito integrado.
En general, la forma comercial de las compuertas SSI es un circuito integrado en el cual se
pueden encontrar:

4 compuertas de 2 entradas cada una.


3 compuertas de 3 entradas cada una.
2 compuertas de 4 entradas cada una.
1 compuerta de 8 entradas cada una.
6 negadores.

15
Víctor M. Zumaeta Diseño Lógico I - Teoría

Para calcular el costo de una síntesis se cuentan los circuitos integrados necesarios para la
misma. Esto se debe a que el costo real se basa en el tamaño físico del circuito final y no en el
costo de cada elemento electrónico, por lo tanto si una síntesis requiere una mayor cantidad de
circuitos integrados que otra, el costo es mayor.
Para realizar este conteo se toman los siguientes valores:

1 negador = 1/6
1 compuerta de 2 entradas = ¼
1 compuerta de 3 entradas = ⅓
1 compuerta de 4 entradas = ½
1 compuerta de 8 entradas = 1

8. Carreras de sistemas combinatorios. Retardos. Solución

El retardo de una trayectoria de señal es la cantidad de tiempo que requiere la señal de entrada
para producir un cambio en la señal de salida. Esto se debe a que los circuitos que conforman las
compuertas lógicas no pueden cambiar sus valores instantáneamente sino que requieren cierto
tiempo de transición.
Se dice que existe una condición de carrera (race) en un sistema combinatorio cuando 2 o más
variables de estado binarias cambian de valor en respuesta a un cambio en una variable de
entrada.
Viendo el mapa de Karnaugh de la función, un error a la salida se produce cuando se pasa de
un lazo a otro.
La forma de solucionar este problema se basa en incluir un termino de producto extra
(compuerta AND) que cubra el par de entradas riesgosas (conecta los lazos vecinos). El término
de producto extra es el consenso de los 2 términos originales.

9. Análisis de sistemas combinatorios

El análisis de un circuito combinacional requiere deducir la función que realiza el circuito.


Este proceso parte de un diagrama lógico dado y culmina en un conjunto de funciones booleanas,
una tabla de verdad o una posible explicación del funcionamiento del circuito. Si el diagrama
lógico a analizar va acompañado de un nombre de función o de una explicación de lo que se
supone que hace, el problema de análisis se reducirá a una verificación de la función planteada.
El análisis se efectúa manualmente encontrando las funciones booleanas o la tabla de verdad, o
bien, utilizando un programa de simulación en computadora.
El primer paso del análisis consiste en asegurarse de que el circuito dado sea combinacional y
no secuencial. El diagrama de un circuito combinacional tiene compuertas lógicas sin
trayectorias de retroalimentación ni elementos de memoria.
Una vez que se verifica que el diagrama lógico representa un circuito combinacional, se
procede a obtener las funciones booleanas de salida o la tabla de verdad.
Para obtener las funciones booleanas de salida a partir de un diagrama lógico, el
procedimiento es el siguiente:
 Rotule con símbolos arbitrarios todas las salidas de compuerta que son función de variables
de entrada. Determine las funciones booleanas para cada salida de compuerta.
 Rotule con otros símbolos arbitrarios las compuertas que con función de variables de
entrada y de compuertas previamente rotuladas. Obtenga las funciones booleanas de estas
compuertas.
 Repita el proceso bosquejado en el paso anterior hasta obtener las salidas del circuito.

16
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Por sustitución repetida de funciones previamente definidas, obtenga las funciones


booleanas de salida en términos de variables de entrada.

Una vez obtenidas las funciones booleanas de salida, se procede a efectuar la tabla de verdad
del circuito analizado, a fin de determinar su funcionamiento.

17
Víctor M. Zumaeta Diseño Lógico I - Teoría

Evaluativo 3 de teoría

01. Compuertas de tres estados. Definición. Aplicaciones.


02. Sumadores series y sumadores paralelos. Sumadores con anticipo del llevo.
03. Multiplexores. Descripción. Método de síntesis de funciones.
04. Decodificadores. Descripción. Método de síntesis de funciones.
05. Codificadores. Descripción. Comparadores binarios (de magnitud). Descripción.
Formas comerciales.
06. Unidad aritmética lógica (ALU). Descripción.
07. Detectores de error. Circuitos de paridad.
08. Circuitos integrados de gran escala (LSI). Dispositivos de Lógica Programable (PLD).
Definiciones.
09. ROM - Descripción esquema interno y externo.
10. ROM - Distintos tipos de tecnología.
11. PLA. Descripción. Esquema interno.
12. PAL. Descripción. Esquema interno.
13. Conexión de ROMs para aumentar su capacidad de Memoria.
14. Conexión de ROMs para aumentar la longitud de palabra.
15. Aplicaciones de ROM.

1. Compuertas de tres estados. Definición. Aplicaciones

Los símbolos básicos de una compuerta o controlador de 3 estados son los siguientes:

a a a a a a a a

E E E E
(a) (b) (c) (d)

(a) y (b) son separadores no inversores o buffers, (c) y (d) son inversores. La señal extra E en
la parte inferior del símbolo es una entrada de habilitación de 3 estados, la cual puede ser alta-
activa (a y c) o baja-activa (b y d).
Cuando la entrada de habilitación se encuentra afirmada, el dispositivo se comporta como un
buffer o como un inversor. Cuando la entrada de habilitación está negada, la salida del
dispositivo “flota”, es decir, se va a un estado desconectado de alta impedancia (z → ∞) y
funcionalmente se comporta como si no estuviera allí (se asemeja a un circuito abierto).
Los dispositivos de 3 estados permiten que múltiples fuentes compartan una sola línea de
reunión (bus de datos) mientras que solamente un dispositivo “dialoga” en la línea a la vez.
Los dispositivos típicos de 3 estados están diseñados de modo tal que entren al estado de alta
impedancia mas rápido de lo que salen del mismo. Esto significa que si las salidas de 2
dispositivos de 3 estados están conectadas a la misma línea de reunión y simultáneamente
deshabilitamos una y habilitamos la otra, el primer dispositivo se saldrá de la línea de reunión
antes de que la segunda se ponga en contacto. Esto es importante porque, si ambos dispositivos
fueran a controlar la línea de reunión, y si estuvieran intentando mantener valores de salida
opuestos (0 y 1), entonces fluiría corriente excesiva y crearía ruido en el sistema. Esto se conoce
a menudo como confrontación.

18
Víctor M. Zumaeta Diseño Lógico I - Teoría

2. Sumadores series y sumadores paralelos. Sumadores con anticipo del


llevo

El sumador más simple o medio sumador suma 2 operadores de 1 bit (A0, B0) y produce una
suma de 2 bits que puede abarcar desde el 0 hasta el 2. El bit de menor orden de la suma se
nombre como S0 y el de mayor orden C0, pues puede representar un acarreo.

A0
S0
B0

A0 S0

½ C0
Sumador
B0 C0

A0 B0 S0 = A0 ⊕ B0 C0 = A0 . B0
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Para sumar operando con mas de 1 bit, debemos preveer acarreos entre posiciones de bits. El
bloque de construcción para esta operación se denomina sumador completo. Además de las
entradas A y B de bit de sumandos, un sumador tiene una entrada de acarreo (Carry In). La suma
se sigue expresando con 2 bit de salida: S y Carry Out.

Ai Ci
Ci
Ai Si ½
Sumador
Ci-1
Ci-1 Sumador
Ci
Ci
Bi ½
Bi Sumador
Si

Para sumar números de varios bits utilizando el modulo del sumador completo existen 2
métodos: Serie y Paralelo.
La forma de Sumar en Serie 2 números de n bits se realiza con un sólo bloque sumador
completo donde las entradas A y B van tomando los valores de los bits sumandos desde el menos
significativo al más significativo y el acarreo se realimenta a la entrada a través de un basculador
(que retarda el acarreo para que el acarreo de la primera suma se sume en la segunda).
Es decir, primero se suma la columna del bit menos significativo, luego la segunda columna
más el acarreo anterior, y así sucesivamente.

19
Víctor M. Zumaeta Diseño Lógico I - Teoría

A S

B Sumador

Ci Co

Es un circuito muy sencillo y económico pero muy lento a la hora de sumar números con gran
cantidad de bits.
En el Sumador Paralelo, todos los bits de los sumandos están presentes y alimentan a los
circuitos sumadores simultáneamente. Esto significa que las adiciones en cada posición se llevan
a cabo al mismo tiempo. La entrada de acarreo para el bit menos significativo (C0) se establece
normalmente a 0 y la salida de acarreo de cada sumador completo se conecta a la entrada de
acarreo del siguiente sumador completo más significativo.

An Bn C n-1 A1 B1 C0 A0 B0 C-1

Sumador Sumador Sumador

C n+1
...
Sn C1 S1 C0 S0

Este sumador tiene la ventaja de ser modular pero puede llegar a ser lento, pues en el peor de
los casos, un acarreo debe propagarse desde el bloque menos significativo hasta el más
significativo.
Un sumador rápido podría construirse con sólo 2 niveles de lógica AND-OR u OR-AND, pero
el circuito no sería general sino para un número de n bits y requeriría el uso de demasiadas
compuertas de 1º nivel.
La solución, entonces, a los problemas de retardo es un sumador hibrido llamado Sumador
con anticipo de llevo que implementa el acarreo a 2 niveles mientras que los bits sumandos se
implementan modularmente.

3. Multiplexores. Descripción. Método de síntesis de funciones

Un Multiplexor (Mx) puede ser visto como una llave selectora que conecta una de varias
entradas (Ii) con la salida (O). Estas entradas se denominan entradas de datos.
El dispositivo posee además otras entradas denominadas “entradas de control” que permiten
determinar cuál de las entradas de datos quedara conectada a la salida.
Ambos tipos de entrada toman valores binarios y se determina la siguiente relación:

Número de entradas de Datos: M = 2n, donde n es la cantidad de entradas de control

A cada entrada de datos se la denomina según el decimal equivalente en código binario que
deben tomar las variables de control para que se conecte a la salida.
Suponiendo un Mx con 3 entradas de control, su esquema seria el siguiente:
20
Víctor M. Zumaeta Diseño Lógico I - Teoría

I0
I1
. O Nótese que un Mx convierte
.
.
información en paralelo en
I7 información en serie.

C2 C 1 C 0 (Entradas de control)

La tabla de verdad asociada a este Mx sería:

C2 C1 C0 O
0 0 0 I0
0 0 1 I1 De modo que algebraicamente puede ser expresada:
. . . .
. . . . O = C0 C1 C 2 I 0 + C 0 C1 C 2 I1 + ... + C 0 C1C 2 I 7
. . . .
1 1 1 I7

Si las entradas de datos Ii son, a su vez, función de 1 variable, por ejemplo, de D y redefinimos
C0=A, C1=B y C2=C, entonces el mapa de karnaugh para cualquier función de 4 variables
f(A, B, C, D) quedaría dividido en submapas de la siguiente manera:

B
A 00 01 11 10
D
C
I0 I1 I3 I2
00

00 I4 I5 I7 I6

00
00

Y el problema se reduce a sintetizar 8 funciones de 1 variable. En general, se puede


descomponer cualquier función de nv variables usando un Mx con nc entradas de control en 2nc
funciones de (nv – nc) variables, una para cada entrada de control, de manera que se pueden usar
un número de compuertas SSI mucho menor.
Cabe destacar que la elección de las variables que correspondan a las entradas de control
pueden simplificar o no, aún más la síntesis.
Otra forma de sintetizar funciones de Boole es de manera modular, es decir, utilizando sólo
Mx idénticos como módulos.
El resultado del diseño es una estructura modular tipo árbol, donde cada nivel comparte las
mismas entradas de control y se denomina 1º nivel al que da la salida.

21
Víctor M. Zumaeta Diseño Lógico I - Teoría

.
.
. Mx

.
.
. Mx
O

Mx
.
.
. Mx C 1 C0

.
.
. Mx

C3 C2

4. Decodificadores. Descripción. Método de síntesis de funciones

Un decodificador es un circuito lógico que recibe un conjunto de entradas cuya combinación


representa números binarios y que activan la salida correspondiente a dicho número. Esto
significa que para n variables de entrada existen 2n salidas. Si la información codificada en n bits
tiene combinaciones que no se usan, el decodificador podría tener menos de 2n salidas.
Los decodificadores generan los 2n (o menos) mini términos o productos de n variables de
entrada.
Consideramos un decodificador de 3 a 8 líneas:

I2 I1 I0 O7 O6 … O1 O0
I0 O0 0 0 0 0 0 … 0 1
. 0 0 1 0 0 … 1 0
I1 Decodificardor . . . . . . . . .
:
3 8 .
. . . . . . . .
I2 O7 . . . . . . . .
1 1 1 1 0 0 0 0
Se puede ver que cada salida es en realidad un mini término de la forma:

O 0 = I 2 I1 I 0
O1 = I 2 I1 I 0
...
O 7 = I 2 I1 I 0

22
Víctor M. Zumaeta Diseño Lógico I - Teoría

Este hecho nos permite utilizar cualquier función lógica sin necesidad de minimizarla,
simplemente conectando una compuerta OR a las salidas de los mini términos que sean
necesarios para esta función, ya que el decodificador es en realidad una tira de 2n compuertas
AND.
Ejemplo: f(I0, I1, I2) = Σ (3, 5, 7)

O0
I0

I1 Decodificardor
:
3 8
I2

O7

5. Codificadores. Descripción. Comparadores binarios (de magnitud).


Descripción. Formas comerciales

Un codificador es un circuito digital que efectúa la operación inversa de lo que efectúa un


decodificador. El codificador tiene 2n (o menos) líneas de entrada y n líneas de salida. Estas
ultimas generan el “código binario” correspondiente al valor de entrada. Tienen la limitación de
que sólo una entrada puede estar activa en un momento dado. Si 2 entradas están activas
simultáneamente, la salida producirá una combinación no definida.
El codificador más común es el Decimal/BCD que posee 10 entradas y 4 salidas.

I0 O0
. O1
. Codif.
O2
. :
Dec/BCD
I9 O3

Existen codificadores con prioridad cuyo funcionamiento es tal que si 2 o más entradas se
activan al mismo tiempo, la salida será equivalente a la entrada de mayor valor.
Un comparador de magnitudes es un circuito combinacional que compara 2 números A y B y
determina sus magnitudes relativas. El resultado de la comparación se especifica con 3 variables
binarias que indican si A>B, A=B o A<B.

A0-3 B0-3

“1”
1 si A=B A=B
Compara 2 números
1 si A>B de 4 bits A>B
1 si A<B A<B

“0”

23
Víctor M. Zumaeta Diseño Lógico I - Teoría

Entrada de datos: este MSI compara dos números binarios sin signo de 4 bits cada uno. Uno
de ellos es A3A2A1A0 denominado palabra A, y el otro es B3B2B1B0 llamado palabra B.
Salidas: el comparador tiene 3 salidas activas en nivel alto. OA>B toma valor “1” si A>B y cero
en otro caso. OA=B es “1” si A=B y cero en otro caso. OA<B tiene valor “1” si A<B y cero en otro
caso.
Existen 3 entradas adicionales que permiten conectar varios comparadores en cascada para
compara números de más de 4 bits. Nótese que las salidas del comparador de menor orden se
conectan a las entradas correspondientes del comparador de mayor orden, el cual devuelve la
salida final.

A0-3 B0-3 A4-7 B4-7

“1”
1 si A=B A=B A=B
Compara A>B Compara
1 si A>B de 4 bits de 4 bits A>B
1 si A<B A<B A<B

“0”

Compara 8 bits

6. Unidad aritmética lógica (ALU). Descripción

Una Unidad Aritmética Lógica (ALU) es un circuito combinacional que puede efectuar
cualquiera de diversas operaciones lógicas y aritméticas diferentes, en un par de operandos de n
bits. La operación por realizarse se especifica mediante un conjunto de entradas de selección de
función. Las ALU MSI típicas tienen operandos de 4 bits y de 3 a 5 entradas de selección de
función, permitiendo que se realicen hasta 32 diferentes funciones.
Ejemplo: ALU de 3 bits.

A0-2 B0-2

.. Entradas
. de control
ALU
C out
Cin

S0-5

Existe una entrada adicional Cin y una salida adicional Cout a modo de permitir la conexión en
cascada de varias ALU para poder operar con números de mayor cantidad de bits. En este caso,
la salida Cout de la etapa menor significativa se conecta a la entrada Cin de la siguiente etapa más
significativa. Las mismas señales de selección de función se aplican a todas las ALU en cascada.
Nótese que cuando la ALU realiza operaciones lógicas, cada salida Si es una función sólo de
las correspondientes entradas de datos Ai y Bi y la entrada Cin es ignorada.

24
Víctor M. Zumaeta Diseño Lógico I - Teoría

7. Detectores de error. Circuitos de paridad

Un circuito de paridad impar tiene salida “0” cuando el número total de bits “1” en la
combinación de entrada es impar. Por el contrario, un circuito de paridad par tiene salida “0”
sólo cuando el número total de “1” en la combinación de entrada es par.
Los códigos de detección de errores que hacen uso de un bit extra denominado bit de paridad
para detectar errores en la transmisión y almacenamiento de los datos hacen uso de los circuitos
de paridad. Estos circuitos se utilizan tanto para generar el valor correcto del bit de paridad,
cuando una palabra de código es almacenada o transferida, como para verificar el bit de paridad
cuando una palabra de código es recuperada o recibida.
Un circuito de paridad es, en realidad, una cascada de compuertas OR-Exclusiva (paridad
impar). Si se quiere obtener un circuito de paridad par, se ubica un negador a la salida de la
cascada de EXOR.
Generador de Paridad:

D0 D0 D0
D1
D1 D1
D3
D2
D2 D2

D3
Paridad

Generador
de Paridad Bit de paridad

Detector de Paridad:

D0 D0
D1 D1
Detector
D2 de Paridad OK = 0 D2
D3 No OK = 1
D3

8. Circuitos integrados de gran escala (LSI). Dispositivos de Lógica


Programable (PLD). Definiciones

Los dispositivos de integración a gran escala (LSI) contienen niveles de compuertas en un solo
paquete. Incluyen sistemas digitales con procesadores, dispositivos de memoria y dispositivos de
lógica programable (PLD).
Un dispositivo lógico programable es un circuito integrado con compuertas lógicas internas
que se conectan mediante trayectorias electrónicas que se comportan como una especie de
fusibles. En el estado original del dispositivo, todos los fusibles están intactos. Programar el
dispositivo requiere “quemar” los fusibles que están en las trayectorias, que es preciso eliminar
para obtener la configuración de la función lógica deseada.
En realidad en un PLD todas las entradas están conectadas a una tira de compuertas AND a
través de fusibles y a su vez, todas las compuertas AND se conectan a través de fusibles a una

25
Víctor M. Zumaeta Diseño Lógico I - Teoría

tira de compuertas OR que dan todas las salidas. Por lo tanto se distinguen 2 zonas programables
diferentes.

Entradas Salidas
1 AND 2 OR

Según sea la zona programable (1 o 2), los PLD se dividen en:

 ROM (Read Only Memory): posee las entradas fijas conectadas a las compuertas AND y su
conexión con las compuertas OR es programable.
 PAL (Arreglo Lógico Programable): al contrario de la ROM, tiene sus entradas
programables pero las conexiones AND-OR se encuentran fijas.
 PLA: tiene ambos sectores programables.

9. ROM: Descripción esquema interno y externo

Una ROM (memoria de solo lectura) es, en esencia, un dispositivo de memoria en el que se
almacena información binaria permanentemente. El diseñador debe especificar la información
que entonces se incorpora a la unidad para formar el patrón de conexión requerida. Una vez
establecido el mismo, permanece en la unidad aunque se apague y se encienda nuevamente.
Esquema Externo:
k entradas . ROM . n salidas
(dirección) (datos)
. de .
k
. 2 xn .

La ROM tiene k entradas y n salidas. Las entradas proporcionan la dirección de memoria y las
salidas suministran los bits de los datos de la palabra almacenada seleccionada por la dirección.
El número de palabras está determinado por el hecho de que k líneas de dirección pueden
especificar 2k palabras. No existen entradas de datos, pues no se efectúa la escritura. Puede
existir una entrad de habilitación (chip selector).
Supongamos una ROM de 32 x 8, que consiste en 32 palabras de 8 bits cada una. Las 5
entradas se decodifican a 32 salidas distintas con un decodificador de 5 x 32. Cada salida del
decodificador representa una dirección de memoria. Cada una de estas salidas se conecta a cada
una de las 8 compuertas OR de 32 entradas, por lo tanto la ROM contiene 32 x 8 = 256
conexiones internas. En general, una ROM de 2k x n tiene un decodificador interno de k x 2k y
tiene además n compuertas OR.
Esquema Interno:

A0 S0
D S1
A1 e .
c
. o .
.
.
d .
e
r
Ak-1 S2 -1k

...
CS CS
O0 O1 On-1

26
Víctor M. Zumaeta Diseño Lógico I - Teoría

El almacenamiento binario interno de una ROM se especifica con una tabla de verdad que
indica el contenido de palabra de cada dirección.
El procedimiento de Hardware que programa la ROM hace que se quemen fusibles según la
tabla de verdad requerida.

10. ROM - Distintos tipos de tecnología

Las trayectorias que se requirieren en una ROM se pueden programar de cuatros maneras. Las
primeras (MROM) se denominan Programación por Máscara y la efectúa el fabricante de
semiconductores durante el último proceso de fabricación de la unidad. El procedimiento de
manufactura de una ROM requiere que el cliente llene una tabla de verdad que la ROM debe
satisfacer. La tabla se presenta en una forma especial proporcionada por el fabricante, con un
formato dado en un medio de salida de computador. El fabricante crea la máscara
correspondiente a las trayectorias que producen los unos y ceros indicados en la tabla de verdad
del cliente. Este procedimiento es costoso porque el proveedor cobra al cliente un cargo especial
por hacer un máscara a la medida para la ROM en cuestión. Por ello, la programación por
máscara sólo resulta económica si el pedido es por grandes cantidad de ROM con la misma
configuración.
Para cantidades pequeñas, es más económico utilizar otro tipo de ROM llamada Memoria
Programable de Sólo Lectura (PROM). Recién compradas las unidades PROM tienen todos
sus fusibles intactos, lo que equivale a uno (1) en todos los bits de las palabras almacenadas. Los
fusibles de la PROM se queman aplicando un pulso de alto voltaje al dispositivo a través de una
terminal especial. Un fusible quemado define un estado binario cero (0) y un fusible intacto
define un estado igual a uno (1). Esto permite al usuario programar la PROM en el laboratorio
para obtener la relación deseada entre direcciones de entradas y palabras almacenadas. Se
venden instrumentos especiales llamados programadores de PROM que facilitan este
procedimiento. En cualquier caso, todos los procedimientos para programar las ROM son
procedimientos en hardware, aunque se use la palabra programación.
El procedimiento para programar las ROM y PROM por hardware es irreversible y, una vez
efectuada, el patrón es permanente y no puede alterarse. Una vez que se ha establecido el patrón
de bit, la unidad tendrá que desecharse si es necesario modificar dicho patrón de bit.
Un tercer tipo de ROM es la PROM Borrable (EPROM). La EPROM se puede restaurar al
estado inicial aunque se la haya programado previamente. Cuando la EPROM se coloca bajo una
lámpara de ultravioleta especial durante un cierto tiempo, la radiación de onda corta descarga las
compuertas flotantes internas que actúan como conexiones programadas. Una vez borrada la
EPROM, vuelve a su estado inicial y es posible reprogramarse con otros conjuntos de valores.
El cuarto tipo de ROM es la PROM Borrable Eléctricamente (EEPROM). Es como la
EPROM, sólo que las conexiones previamente programadas se borran con una señal eléctrica en
vez de luz ultravioleta. La ventaja es que el dispositivo puede borrarse sin desmontarlo de su
base y es posible realizar un borrado selectivo.

11. PLA. Descripción. Esquema interno

Un PLA (Arreglo Lógico Programable) es un dispositivo AND-OR combinacional de 2


niveles, el cual se puede programar para que realice cualquier expresión lógica de suma de
productos, sujeta a las limitaciones de tamaño del dispositivo. Las limitaciones son:
 el número de entradas (n)
 el número de salidas (m)
 el número de términos de producto (p)

27
Víctor M. Zumaeta Diseño Lógico I - Teoría

Podemos describir un dispositivo de este tipo como un PLA de nxm con p términos de
producto. En general, p es bastante menor que el número de mini términos de n variables (2n).
De este modo, un PLA no puede realizar funciones lógicas arbitrarias de n entradas y m salidas,
su utilidad está limitada a funciones que puedan expresarse en forma de suma de productos
empleando p o menos términos de producto.
Un PLA de nxm con p términos de producto contiene p compuertas AND de 2n entradas y m
compuertas OR de p entradas.
Como un PLA tiene un número limitado de compuertas AND se debe efectuar la
simplificación de cada función booleana al número mínimo de términos. A su vez, se debe
minimizar también el complemento de la función para ver cual se puede expresar con menos
términos producto, y cual genera términos productos comunes a otras funciones.
En un PLA cada entrada pasa por un buffer y un inversor indicado en el diagrama con un
símbolo grafico compuesto que posee ambas salidas verdadero y complemento. Cada entrada y
su complemento se conectan a las entradas de cada compuerta AND como indican las
intersecciones entre líneas verticales y horizontales, a través de fusibles que permiten la
selección de las conexiones (programación). Del mismo modo, las salidas de las compuertas
AND se conectan a las entradas de las compuertas OR. Las salidas de cada compuerta OR se
conecta a una compuerta EXOR cuya otra entrada se puede programar de modo que reciba una
señal de 1 o 0 lógico. Cuando en la entrada de la EXOR se ponga un 1, la salida se invierte.
Cuando se conecta a 0, la salida no cambia.
Ejemplo:

C
AB
1

2 AC

3 BC

4 ABC
0
1

F1
CC BB AA
F2

Nótese que el dispositivo PLA es el más flexible de los dispositivos PLD ya que tanto las
entradas a las compuertas AND como sus salidas son programables.

12. PAL. Descripción. Esquema interno

El arreglo lógico programable PAL es un dispositivo lógico programable con una tira de
compuertas OR fijas y una tira AND programable. Dado que sólo las compuertas AND son
programables, el PAL es más fácil de programar, pero no es tan flexible como el PLA.

28
Víctor M. Zumaeta Diseño Lógico I - Teoría

En el esquema se representa un PAL de 4 entradas y 4 salidas. Cada entrada tiene una


compuerta buffer inversor y cada salida se genera con una compuerta OR fija. La unidad tiene 4
secciones, cada una de las cuales se compone de un arreglo AND-OR de anchura 3. Esta
caracterización indica que hay 3 compuertas AND programables en cada sección y una
compuerta OR fija. Cada compuerta AND tiene 8 conexiones de entrada.
Las salidas de cada compuerta OR se conecta a una compuerta EXOR cuya otra entrada se
puede programar de modo que reciba una señal de 1 o 0 lógico. Cuando en la entrada de la
EXOR se ponga un 1, la salida se invierte. Cuando se conecta a 0, la salida no cambia.

I0 I1 I2 I3
0
1

F1

0
1

F2

0
1

F3

0
1

F4

Los dispositivos PAL comerciales contienen por lo general más compuertas. Un típico caso
podría tener 8 entradas, 8 salidas y 8 secciones de anchura 8.
Al diseñar con un PAL, las funciones booleanas deben minimizarse a modo que encajen en
cada sección. A diferencia de los PLA, no es posible compartir términos producto entre 2 o más
compuertas OR, por lo que se minimiza cada funciones por separado. El número de términos
producto en cada sección es fijo, y si el número de términos en la función es demasiado grande,
podría ser necesario usar 2 secciones para implementar una función.

13. Conexión de ROMs para aumentar su capacidad de Memoria

Varias ROMs pueden ser conectadas de manera tal que forman el equivalente a una ROM de
mayor memoria (más líneas de dirección). Si se desea utilizar ROMs con m líneas de dirección
para implementar una ROM de n líneas de dirección, será necesario hacer uso de un
decodificador (n – m) / 2( n – m) y de 2(n – m) ROMs con las mismas características.

29
Víctor M. Zumaeta Diseño Lógico I - Teoría

Todas las ROMs se conectan a las mismas m líneas de dirección. Las (n – m) líneas de
entradas restantes se conectan al decodificador y cada una de sus salidas se conectan al CS (chip
selector) o entrada habilitadora de cada ROM. Esto significa que cada ROM guarda 2m palabras
especificadas por las primeras m líneas de dirección, y a través de las (n – m) restantes se elige la
ROM a usar.
Supongamos que se quiere usar ROMs de 1k x 8 bit para implementar una ROM de 4k x 8 bit.
Las ROMs de 1k x 8 bit reciben 10 líneas de dirección, mientras que la de 4k x 8 bit debe recibir
12 líneas de dirección. Esto implica que se deberá utilizar un decodificador 2x4 y 4 ROMs de 1k
x 8 bit.
La conexión se realiza de la siguiente manera:

A11 A 10 A9 A 8 . . . A 0 O7 O 6 O 5 . . . O 0

ROM 0
. .
. .
. 1Kx8 bit .

csO

ROM 1
. .
. .
. 1Kx8 bit .

DECO cs1
2X4
ROM 2
. .
. .
. 1Kx8 bit .

cs2

ROM 3
. .
. .
. 1Kx8 bit .

cs3

Cada bloque o ROM se considera un banco de memoria denominado página de memoria.

14. Conexión de ROMs para aumentar la longitud de palabra

Varias ROMs pueden ser conectadas de manera tal que forman el equivalente a una ROM con
mayor longitud de palabra almacenada.
Si se dispone de n ROMs iguales de 2k x m, entonces se puede implementar de manera
sencilla una ROM de 2k x (nxm), es decir, con una longitud de palabra igual a (mxn).
Se conecta cada ROM a grupos de m bits (desde el menos significativo al más significativo)
de la palabra total de nxm bits y se conecta a las mismas líneas de dirección. Todas las ROM
comparten el mismo valor de entrada para CS o variables de habilitación, lo que significa que
todas las ROMs deben estar habilitadas simultáneamente.
Supongamos que se quieren usar 2 ROMs de 1k x 4 bit para implementar una ROM de 1k x 8
bit. La manera de realizar las conexiones es la siguiente:

30
Víctor M. Zumaeta Diseño Lógico I - Teoría

A 9 A 8. . . A 0 CS O0 O 1 O 2 O 3 O4 O 5 O 6 O 7

ROM
.
.
. 1Kx4 bit

cs

ROM
.
.
. 1Kx4 bit

cs

15. Aplicaciones de ROM

La memoria ROM se usa para almacenar información vital para el funcionamiento del
sistema: en la gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema
operativo y diversas rutinas de control de dispositivos de entrada/salida suelen ser las tareas
encargadas a los programas grabados en ROM. Estos programas forman la llamada BIOS (Basic
Input Output System). Junto a la BIOS se encuentra el chip de CMOS donde se almacenan los
valores que determinan la configuración hardware del sistema, como tipos de unidades,
parámetros de los discos duros, fecha y hora del sistema... esta información no se pierde al
apagar la computadora. Estos valores se pueden modificar por medio del SETUP.
La memoria ROM constituye lo que se ha venido llamando Firmware, es decir, el software
metido físicamente en hardware. De cara a los fines del usuario es una memoria que no sirve
para la operación de su programa, sólo le aporta mayores funcionalidades (información) del
equipo.
Los PCs vienen con una cantidad de ROM, donde se encuentran los programas de BIOS, que
contienen los programas y los datos necesarios para activar y hacer funcionar el computador y
sus periféricos.
La ventaja de tener los programas fundamentales del computador almacenados en la ROM es
que están allí implementados en el interior del computador y no hay necesidad de cargarlos en la
memoria desde el disco de la misma forma en que se carga el Sistema Operativo. Debido a que
están siempre residentes, los programas en ROM son muy a menudo los cimientos sobre los que
se construye el resto de los programas.
Estas memorias, cuyo nombre procede de las iniciales de Read Only Memory son sólo de
lectura. Dentro de un proceso de elaboración de datos de una computadora, no es posible grabar
ningún dato en las memorias ROM. Son memorias perfectas para guardar microprogramas,
sistemas operativos, tablas de conversión, generación de caracteres, etc.

31
Víctor M. Zumaeta Diseño Lógico I - Teoría

Evaluativo 4 de Teoría
01. Sistemas secuenciales. Descripción. Tipos.
02. Maquina de Estado Finito. Modelo de Mealy.
03. Máquina de Estado Finito. Modelo de Moore.
04. Máquina de Estado Finito. Modelo Grafcet.
05. Diagramas de Transición. Propiedades.
06. Tabla de Transición. Propiedades.
07. Transformación de Mealy a Moore.
08. Transformación de Moore a Mealy.
09. Clasificación de estados y Clasificación de submáquinas.
10. Estados k-equivalentes. Definición. Propiedades.
11. Estados equivalentes. Definición. Propiedades.
12. Tablas Pk. Uso para la minimización.
13. Tablas de Pares. Uso para la minimización.
14. Forma mínima de una MEF. Propiedades.

1. Sistemas secuenciales. Descripción. Tipos.

Los circuitos digitales estudiados hasta el momento han sido combinacionales, es decir, que
sus salidas dependen exclusivamente de las entradas actuales. Un sistema secuencial, en cambio,
es un sistema con memoria. Sus salidas dependen no sólo de las entradas actuales, sino también
de las entradas que ocurrieron en momentos anteriores, las cuales definen el estado del circuito
secuencial en ese momento determinado. Por lo tanto es como si respondiera a secuencias de
hechos en el orden en que se dieron, de ahí su nombre.
Un sistema secuencial consiste en un circuito combinacional al que se conectan elementos de
almacenamiento para formar una trayectoria de retroalimentación.

Entradas Salidas
Circuito
Combinacional
Elementos
de Memoria

Un circuito secuencial se especifica con una sucesión temporal de entradas, salidas y estados
internos.
Hay dos tipos principales de circuitos secuenciales, y su clasificación depende de los tiempos
de sus señales. Un circuito secuencial sincrónico es un sistema cuyo comportamiento se define
conociendo sus señales en instantes discretos. En los sistemas sincrónicos los cambios en la
salida se producen cuando los cambios de entrada llegan acompañados por un pulso de
sincronismo. Esta sincronización se logra por un dispositivo de temporización llamado reloj o
“clock”, que produce un tren periódico de pulsos de reloj. Los sistemas secuenciales más
comunes son sincrónicos.
El comportamiento de un circuito o sistema asincrónico depende de las señales de entrada en
cualquier instante dado y del orden en que cambian las entradas. En los sistemas asincrónicos
suelen usarse los dispositivos de retardos de tiempos para la retroalimentación, aunque en la
práctica el retardo interno de propagación de las compuertas lógicas es suficiente como para
producir el retardo requerido.

32
Víctor M. Zumaeta Diseño Lógico I - Teoría

X1 Z1 X1 Z1
. . . .
. Sincrónico . . Asincrónico .
. . . .
Xm Zn Xm Zn

Clock

2. Maquina de Estado Finito. Modelo de Mealy

Una máquina de estado finito es un modelo matemático utilizado para representar los sistemas
Digitales Secuenciales.
La máquina de Mealy se define como una quíntupla, es decir, que puede ser caracterizada por
cinco parámetros:

 {X} = Alfabeto de entrada. Conjunto finito de valores que pueden tomar las variables de
entrada.
 {Z} = Alfabeto de salida. Conjunto finito de valores que pueden tomar las variables de
salida.
 {S} = Conjunto de estados. Conjunto finito de estados internos en que puede hallarse el
sistema.
 Zu = fZ (Xu,Su), esta función caracteriza la salida en el u-ésimo pulso de sincronismo,
cuando el sistema se halla en el estado Su y la entrada es Xu.
 Su+1 = fS (Xu,Su), (estado siguiente del sistema), función que caracteriza las transiciones
entre los estados de la máquina. Su+1 es el estado interno al que transiciona el sistema o máquina
cuando estando en Su recibe la entrada Xu. El subíndice u indica el orden temporal del pulso de
sincronismo.

Nótese que al ser discretas las variables en juego, también lo son las funciones fS y fZ, de modo
que se representan mediante diagramas y tablas de transición.

Diagrama de Transición: para una máquina de Mealy, el diagrama de transición se asemeja a


un diagrama de flujo donde se representan todos los estados posibles de la máquina mediante
círculos y todas las transiciones entre los mismos se representan con lazos indicando bajo qué
entrada se producen y la salida asociada.

s/0

{X} = {c, s} Ei
c/st
{Z} = {0, 1, st}
{S} = {Ei, 1ºC, 2ºC} c/0 + s/1
s/0
1ºC
2ºC
c/st

Tabla de Transición: está formada en realidad por dos tablas de doble entrada, una
correspondiente a Zu y la otra correspondiente a Su+1.Cada fila corresponde a un estado Su y cada
columna corresponde a una entrada Xu.
Ejemplo:

33
Víctor M. Zumaeta Diseño Lógico I - Teoría

Zu Su+1
Su Xu C S C S
Ei st 0 1ºC Ei
1ºC st 0 2ºC Ei
2ºC 0 1 Ei Ei

3. Máquina de Estado Finito. Modelo de Moore.

Al igual que en el modelo de Mealy, ésta se define como una quíntupla, es decir, que puede
ser caracterizada por cinco parámetros:

 {X} = Alfabeto de entrada. Conjunto finito de valores que pueden tomar las variables de
entrada.
 {Z} = Alfabeto de salida. Conjunto finito de valores que pueden tomar las variables de
salida.
 {S} = Conjunto de estados. Conjunto finito de estados internos en que puede hallarse el
sistema.
 Zu = fZ (Su), esta función caracteriza la salida en el u-ésimo pulso de sincronismo, cuando el
sistema se halla en el estado Su. La salida es función únicamente del estado actual.
 Su+1 = fS (Xu,Su), (estado siguiente del sistema), función que caracteriza las transiciones
entre los estados de la máquina. Su+1 es el estado interno al que transiciona el sistema o máquina
cuando estando en Su recibe la entrada Xu. El subíndice u indica el orden temporal del pulso de
sincronismo.

A diferencia del modelo de Mealy, en el modelo de Moore se asocia una salida a cada estado.

Diagrama de Transición: para una máquina de Moore el diagrama de transición se asemeja a


un diagrama de flujo donde se representan todos los estados posibles de la máquina mediante
círculos y a cada estado se asocia una salida. Las transiciones entre los estados se representan
con lazos indicando bajo qué entrada se produce.
Una máquina de Moore podría ser la siguiente:
α
A/0
{X} = {α, β}
B/0
{Z} = {0, 1} β
{S} = {A, B, C} β α
α
C/1
β

Tabla de Transición: A diferencia del modelo de Mealy, al estar asociada una salida a cada
estado, la tabla ya no está formada por dos tablas, sino por una columna para Zu donde cada
celda depende de un estado Su, y una tabla correspondiente a Su+1 donde cada fila corresponde a
un estado Su y cada columna a una entrada Xu.
Ejemplo:

34
Víctor M. Zumaeta Diseño Lógico I - Teoría

Su+1
Xu Zu
Su α β
A 0 B C
B 0 C A
C 1 A C

4. Máquina de Estado Finito. Modelo Grafcet.

A diferencia del modelo de Mealy, en el modelo de Grafcet, al igual que en el modelo de


Moore, se asocia una salida a cada estado, pero en el diagrama de transición sólo se representan
los lazos de transición de estados, es decir, se omiten los autolazos. Es un modelo simplificado y
técnico del modelo de Moore.

5. Diagramas de Transición. Propiedades.

El comportamiento de una MEF se puede representar gráficamente mediante un diagrama de


transición.
En este tipo de diagrama, que se asemeja a un diagrama de flujo, cada estado posible de la
máquina se representa con un círculo y las transiciones entre estados se indican con flechas que
conectan los círculos en la dirección de la transición. Se debe tener en cuenta que un estado
puede transicionar hacia sí mismo, lo cual se representa en el diagrama mediante un autolazo.
Sobre cada flecha se especifica la combinación de entrada en el estado actual, separada por
una barra de los correspondientes valores que para la misma presenta la salida. Nótese que de
cada estado deben salir tantas flechas como elementos existan en el alfabeto de entrada.
El diagrama de estados puede sufrir leves modificaciones si se trabaja con el modelo de Moore
o Grafcet. En ambos casos, al estar asignada una salida a cada estado, en cada círculo se escribe
el estado separado por una barra del correspondiente valor de salida. Las flechas sólo se
etiquetan con el valor correspondiente de combinación de entradas para la transición. Para el
caso del modelo Grafcet, los autolazos se omiten de modo que el número de flechas que salen de
cada círculo puede ser menor que la cantidad de elementos del alfabeto de entrada.
Es importante resaltar que el diagrama de transición es la forma más apropiada para interpretar
el funcionamiento de la MEF, si quien la interpreta es un ser humano, pues es fácil seguir paso a
paso la evolución de MEF cuando se le aplica cualquier secuencia de combinaciones en sus
entradas, a partir de un estado elegido como inicial.

s/0

Ei
c/st

c/0 + s/1
s/0
1ºC
2ºC
c/st

35
Víctor M. Zumaeta Diseño Lógico I - Teoría

6. Tabla de Transición. Propiedades.

Una manera tabular de representar el comportamiento de una MEF es mediante una tabla de
transición.
La tabla de transición está formada por dos subtablas. Una correspondiente a la salida actual
(Zu) y otra correspondiente al estado próximo o futuro (Su+1).
Cada subtabla tiene nxm celdas, donde n es la cantidad de elementos del conjunto de estados
internos del sistema y m es la cantidad de elementos del alfabeto de entrada.
Los renglones de la tabla se etiquetan para cada estado actual posible (Su) y cada columna
corresponde a una combinación posible de entrada (Xu). De esta manera se puede determinar
fácilmente la salida actual y el estado siguiente a partir de la entrada y el estado actual. Es decir,
que la tabla de transición representa fZ(Xu,Su) y fS(Xu,Su) y es determinística.
Nótese que la tabla no tiene celdas vacías. Cuando una combinación de entrada no produce
transición hacia un nuevo estado, la celda correspondiente a esa entrada y a ese estado recibe el
mismo valor de estado.
El renglón correspondiente a cada estado debe tener tantas celdas como elementos tenga el
alfabeto de entrada.
Cuando la tabla representa a una Máquina de Moore, la subtabla correspondiente a la salida Zu
se reduce a una columna ya que la misma es función únicamente del estado actual y no de la
combinación de entradas.

Zu Su+1
Su Xu X1 ..Xj.. Xp X1 ..Xj.. Xp
S1
.
Si fz(Xju,Siu) fs(Xju,Siu)
.
Sn

7. Transformación de Mealy a Moore.

Para realizar la transformación de una MEF en el modelo de Mealy al modelo de Moore, se


parte del diagrama de transición de la máquina de Mealy.
Debido a que en el modelo de Mealy la salida actual (Zu) es función tanto de la entrada actual
(Xu) como del estado actual (Su), mientras que en el modelo de Moore la salida depende
exclusivamente del estado actual (Su), la máquina de Moore resultante de la transformación debe
tener igual o mayor cantidad de estados que la máquina de Mealy original. Cabe destacar que en
peor de los casos puede llegar a ser mxn, siendo n la cantidad de estados de la MEF original y m
la cantidad de elementos del alfabeto de salida.
Nótese que los alfabetos de entrada y de salida permanecen invariables en la transformación
de un modelo a otro.
La transformación consiste en ir asignando estados a la nueva MEF correspondientes a los
estados de la máquina original.
Se observa que los estados de transición no tienen una salida asociada. Por otro lado, por cada
estado original de la máquina de Mealy se deben asignar la cantidad de estados necesaria
correspondiente a la cantidad de salidas diferentes asociadas a este estado mediante los lazos
entrantes. Se debe comprobar que todas las trayectorias y autolazos (que en la nueva máquina
pueden resultar en transiciones) de la máquina original estén presentes en la nueva máquina.
El método se ilustra en el siguiente ejemplo:

36
Víctor M. Zumaeta Diseño Lógico I - Teoría

Mealy Moore

α
α
α/0 *
A1 /0
*
A2 /1
A + α
β /0 β/1
β β *
β α B2 /1
α/0
α/1 D α
B
α/0 B1* /0
*
D1 /0 α
*
D2 /1
β/1 β
β /0 C β β
α β
C*/0

8. Transformación de Moore a Mealy.

Para realizar la transformación de una MEF en el modelo de Moore al modelo de Mealy, se


debe partir del diagrama de transición de la máquina de Moore.
Debido a que en el modelo de Moore la salida actual (Zu) es función exclusiva del estado
actual (Su), la transformación al modelo de Mealy se realiza de forma directa, manteniéndose
invariables los alfabetos de entrada y de salida.
Partiendo de la máquina de Moore, se va creando un estado de la máquina de Mealy por cada
estado de la máquina original, y la salida asociada a cada estado original está presente en todos
los lazos entrantes del estado correspondiente de la nueva máquina. Nótese que, debido a este
hecho, en el momento inicial de la nueva máquina, así como en sus estados transitorios, no
existirá una salida, a diferencia de lo que ocurría en la máquina de Moore original.
Ejemplo: Sea la siguiente máquina de Moore:

α
{X} = {α, β}
{Z} = {0, 1} A/0
{S} = {A, B, C} B/0
β
β α
α
C/1
β

Se crea la nueva máquina de Mealy con: {X} = {α, β}


{Z} = {0, 1}

Se crea el estado A* correspondiente a A, el estado B* correspondiente a B y el estado C*


correspondiente a C. Debido a que el estado B tiene salida 0, la transición de A* a B* con entrada
α debe tener salida 0. Equivalentemente, como el estado C tiene salida 1, la transición de A* a C*

37
Víctor M. Zumaeta Diseño Lógico I - Teoría

con la entrada β debe tener salida 1. De esta manera se van realizando las transiciones entre los
nuevos estados y la máquina de Mealy correspondiente es la siguiente:

α/0
A*
B*
β/0
β/1
α/0
α/1
C*
β/1

Se puede ver que el comportamiento de ambas máquinas es idéntico excepto en el momento


de encendido, pues la nueva máquina no presenta salida hasta que no sale de su estado inicial,
mientras que la máquina original sí lo hacía.

9. Clasificación de estados y Clasificación de submáquinas.

Los estados de una MEF se pueden clasificar de la siguiente manera:

 Estado Aislado: Un estado se dice aislado cuando únicamente posee autolazos, es decir,
cuando no hay flechas que entren o salgan de ese estado en un diagrama de transición. Una MEF
puede caer en este tipo de estados sólo en el momento de su encendido y no puede salir de él.

Si

 Estado Transitorio: en un diagrama de transición, los estados transitorios son aquellos que
no poseen flechas entrantes, sólo autolazos y flechas salientes. Una MEF puede caer en este tipo
de estados al ser encendida, pero una vez que abandona el autolazo no puede volver a ese estado.

Si

 Estado Permanente: un estado permanente es aquel que en un diagrama de transición


presenta flechas entrantes y autolazos, pero no tienen flechas salientes. Cuando una MEF alcanza
un estado de este tipo, no puede salir de él.

Si

38
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Estado Común: en un diagrama de transición, los estados comunes son aquellos que
poseen autolazos, flechas salientes y entrantes. Son los estados normales de la MEF.

Si

Los estados pueden extrapolarse a Submáquinas. Una submáquina es un subconjunto de


estados contenido en el conjunto de estados original de la máquina.
La clasificación de las submáquinas es equivalente a la clasificación de los estados.

Submáquina
aislada

Submáquina
transitoria
Submáquina
permanente

10. Estados k-equivalentes. Definición. Propiedades.

Se define como secuencia de entrada a la sucesión de posibles valores que puede tomar la
entrada de una MEF. Se define como secuencia de salida a la sucesión de posibles valores de la
salida. De define como longitud de la secuencia a la cantidad de símbolos de la sucesión.
Un estado Si de la máquina M1 y un estado Sj de la máquina M2 se dicen k-equivalentes si M1
en el estado Si y M2 en el estado Sj al ser excitados por una secuencia de entrada de longitud k
producen idénticas secuencias de salida.
Si Si y Sj no son k-equivalentes, se dice que son k-distinguibles. M1 y M2 pueden referirse a la
misma máquina.
Por lo tanto Si y Sj son k-equivalentes si y solo si no hay forma de distinguir la máquina M1 en
el estado Si de la máquina M2 en el estado Sj al observar sus terminales de salida cuando se les
excita con una secuencia de entradas de longitud k. Por otro lado, Si y Sj son k-distinguibles si y
solo si existe al menos una secuencia de entrada de longitud k que produce diferentes secuencias
de salida al ser aplicada a M1 en Si y a M2 en Sj.

Propiedades:

a) La k-equivalencia obedece a las mismas leyes de la equivalencia:


i) Ley Reflexiva: Si es k-equivalente a Si.

39
Víctor M. Zumaeta Diseño Lógico I - Teoría

ii) Ley Simétrica: Si Si es k-equivalente a Sj, entonces Sj es k-equivalente a Si.


iii) Ley Transitiva: Si Si es k-equivalente a Sj y Sj es k-equivalente a Sk, entonces Si es k-
equivalente a Sk.
Por lo tanto la k-equivalencia puede ser aplicada directamente a grupos de estados de
cualquier tamaño. La k-distinguibilidad, por el contrario, no obedece a estas leyes y sólo puede
ser aplicada a pares de estados.

b) Si dos estados son k-equivalentes, entonces son L-equivalentes ∀ L ≤ k. Si dos estados son
k-distinguibles, entonces son L-distinguibles, ∀ L ≥ k.
c) Si los estados Si y Sj son k-equivalentes y sus k-sucesores con respecto a cualquier
secuencia de entrada de longitud k son equivalentes, entonces Si = Sj. (donde k-sucesor es el
estado al que pasa el estado Si o Sj luego de ser aplicada una secuencia de entrada de longitud k).
d) Si los estados Si y Sj son k-equivalentes, entonces sus k-sucesores con respecto a cualquier
secuencia de entrada de longitud k, ∀ k, son equivalentes.

11. Estados equivalentes. Definición. Propiedades.

Se define como secuencia de entrada a la sucesión de posibles valores que puede tomar la
entrada de una MEF. Se define como secuencia de salida a la sucesión de posibles valores de la
salida. De define como longitud de la secuencia a la cantidad de símbolos de la sucesión.
Un estado Si de la máquina M1 y un estado Sj de la máquina M2 se dicen equivalentes si al
excitar M1 en el estado Si y M2 en le estado Sj con cualquier secuencia de entrada producen
idénticas secuencias de salida.
Si Si y Sj no son equivalentes, se dice que son distinguibles. M1 y M2 pueden referirse a la
misma máquina.
Por lo tanto Si y Sj son equivalentes si y solo si no hay forma de distinguir entre la máquina M1
en el estado Si de la máquina M2 en el estado Sj al observar sus terminales de salida. Por otro
lado, Si y Sj son distinguibles si y solo si existe al menos una secuencia de entrada que al ser
aplicada a M1 en Si y a M2 en Sj produce diferentes secuencias de salida.
La equivalencia entre Si y Sj se denota por Si = Sj y la distinguibilidad entre Si y Sj se denota
por Si ≠ Sj.

Propiedades:

a) La equivalencia obedece a las siguientes leyes:


i) Ley Reflexiva: Si = Si.
ii) Ley Simétrica: Si Si = Sj, entonces Sj = Si.
iii) Ley Transitiva: Si Si = Sj y Sj = Sk, entonces Si = Sk.
En consecuencia, la equivalencia entre estados puede ser tratada como una equivalencia
ordinaria y aplicada directamente a grupos de estados de cualquier tamaño. Por el contrario, la
distinguibilidad no obedece a estas leyes.

b) Sean Si y Sj estados de la máquina M. Si las filas Si y Sj de la tabla de transición de M son


idénticas, entonces Si = Sj.
c) Sean Si y Sj estados de la máquina M. Si las filas Si y Sj de la subtabla Zu de la tabla de
transición de M son distintas, entonces Si ≠ Sj.
d) Sean Si y Sj estados de la máquina M. Si las filas Si y Sj de la tabla de transición de M son
iguales cuando Si se reemplaza por Sj o viceversa, entonces Si = Sj.

40
Víctor M. Zumaeta Diseño Lógico I - Teoría

12. Tablas Pk. Uso para la minimización.

Minimizar una MEF significa reducirla al mínimo número de estados sin modificar su
funcionamiento.
El método de tablas Pk consiste en ir realizando tablas de estados k-equivalentes hasta
encontrar todos los estados equivalentes de la MEF. Una vez logrado esto se tiene que cada
grupo de estados equivalentes puede ser reemplazado por un solo estado equivalente.
En primer lugar se parte de la tabla de transición de la MEF original en la cual se identifican
todos los grupos de estados 1-equivalentes llamados clases. Esto se verifica si para cada estado
las filas correspondientes a Zu son iguales.
El paso siguiente es examinar todos los estados pertenecientes a una clase para determinar si
sus estados sucesores pertenecen todos a la misma clase. En caso afirmativo estos estados son 2-
equivalentes y se escribe {P2} que es el conjunto de clases 2-equivalentes.
De esta manera se realizan las siguientes tablas donde el conjunto {Pk} de estados k-
equivalentes quedan determinados según sus sucesores pertenezcan a clases (k-1)-equivalentes.
Cuando el conjunto {Pk} no presenta clases nuevas al compararlo con el conjunto {Pk-1}, se da
por terminada la minimización, siendo este conjunto el de las clases de estados equivalentes.
Esta solución es única.
Nótese que éste es un proceso finito, pues en el peor de los casos se llega a hacer n-1 tablas,
siendo n el número de estados de la MEF original.
Ejemplo:
Zu Su+1
Su Xu α β γ α β γ
 1 1 0 0 2 2 5
 2 0 1 1 1 4 4
 3 1 0 0 2 2 5
 4 0 1 1 3 2 2
 5 1 0 0 6 4 3
 6 0 1 1 8 9 6
 7 1 0 0 6 2 8
 8 1 0 0 4 4 7
 9 0 1 1 7 9 7

Me fijo en los Zu que coincidan los 3 bits:


P1= {(1, 3, 5, 7, 8) ; (2, 4, 6, 9)} son los 1-equivalentes.
Clase A Clase B
Tabla Pk

Su+1
Clase P1 Su Xu α β γ
1 2B 2B 5A
3 2B 2B 5A
A 5 6B 4B 3A
7 6B 2B 8A
8 4B 4B 7A
2 1A 4B 4B
4 3A 2B 2B
B 6 8A 9B 6B
9 7A 9B 7A

Me fijo que en la misma clase sean iguales los subíndices entre un renglón y el otro:
P2= {(1, 3, 5, 7, 8) ; (2, 4, 6) ; (9)} son los 2-equivalentes.

41
Víctor M. Zumaeta Diseño Lógico I - Teoría

Su+1
Clase P2 Su Xu α Β γ
1 2B 2B 5A
3 2B 2B 5A
A 5 6B 4B 3A
7 6B 2B 8A
8 4B 4B 7A
2 1A 4B 4B
B 4 3A 2B 2B
6 8A 9C 6B
C 9 7A 9C 7A

P3= {(1, 3, 5, 7, 8) ; (2, 4) ; (6) ; (9)} son los 3-equivalentes.

Su+1
Clase P3 Su Xu α β γ
1 2B 2B 5A
3 2B 2B 5A
A 5 6C 4B 3A
7 6C 2B 8A
8 4B 4B 7A
2 1A 4B 4B
B
4 3A 2B 2B
C 6 8 9 6
D 9 7 9 7

P4= {(1, 3, 8) ; (5, 7) ; (2, 4) ; (6) ; (9)} son los 4-equivalentes.

Su+1
Clase P4 Su Xu α β γ
1 2C 2C 5B
A 3 2C 2C 5B
8 4C 4C 7B
5 6D 4C 3A
B
7 6D 2C 8A
2 1A 4C 4C
C
4 3A 2C 2C
D 6 8 9 6
E 9 7 9 7

P5= {(1, 3, 8) ; (5, 7) ; (2, 4) ; (6) ; (9)} son los 5-equivalentes.

Como P4 = P5 ya no sigo porque de ahora en más no se separa ninguna otra clase, entonces:

P= {(1, 3, 8) ; (5, 7) ; (2, 4) ; (6) ; (9)}

42
Víctor M. Zumaeta Diseño Lógico I - Teoría

La máquina mínima sería:

Zu Su+1
Su Xu α β γ α β γ
A 1 0 0 C C B
B 1 0 0 D C A
C 0 1 1 A C C
D 0 1 1 A E D
E 0 1 1 B E B

13. Tablas de Pares. Uso para la minimización.

Minimizar una MEF significa reducirla al mínimo número de estados sin modificar su
funcionamiento.
En método de tabla de pares consiste en buscar pares de estados k-equivalentes, teniendo en
cuenta que sus sucesores deben ser (k-1)-equivalentes, hasta encontrar todos los estados
equivalentes de la MEF. Una vez logrado esto, se tiene que cada grupo de estados equivalentes
puede ser reemplazado por un solo estado equivalente.
En primer lugar se parte de la tabla de transición de la MEF original en la cual se identifican
todos los grupos de estados 1-equivalentes o clases. Esto se verifica si para cada estado, las filas
correspondientes a la tabla Zu son iguales. Se obtiene de esta manera el conjunto {P1} de grupos
de estado 1-equivalentes.
El paso siguiente consiste en realizar una tabla donde cada fila corresponde a cada par 1-
equivalente y cada columna corresponde al siguiente par de estados Su+1 según la entrada actual
Xu, es decir que se pretende evaluar los estados sucesores de acuerdo a la combinación de
entrada.
Una vez realizada esta tabla, el método consiste en la inspección visual de la misma, buscando
identificar aquellos pares en los cuales para al menos una salida su par de sucesores no coinciden
con ningún par 1-equivalente de la tabla. Estos pares se marcan con un círculo, en la siguiente
pasada se marcan los pares que posean algún par sucesor coincidente con algún par marcado
anteriormente. De esta manera se realizan sucesivas pasadas hasta que en dos pasadas sucesivas
no se haya marcado ningún par nuevo.
Una vez llegado a este punto, se puede concluir que todos los pares no marcados son
equivalentes, de modo que puede escribirse el conjunto {P} de grupos de estados equivalentes y
queda determinada unívocamente la máquina mínima.

14. Forma mínima de una MEF. Propiedades.

Sea M una máquina con n clases de estados equivalentes denotados por Σ1, Σ2, … , Σn y sea Si
cualquier estado perteneciente a Σi. La forma mínima de M, denotado por M , es una máquina
de n estados, con S = {S’1,S’2,…,S’n}, que se construye a partir de M de acuerdo al siguiente
criterio:
Si fz(Xu,Su) = Zu y fs(Xu,Su) = Sv entonces f z (X u , S' u ) = Z u y f s (X u , S u ) = S' v
Donde fz y fs son las funciones críticas de M y f z y f s son los funciones críticas de M .
Nótese que la entrada Xu aplicada a M en un estado actual perteneciente a Σu provoca la salida
Zu, lo que significa que aplicada a cualquier estado de Σu provoca la misma salida Zu, por lo

43
Víctor M. Zumaeta Diseño Lógico I - Teoría

tanto, al construir M a través de este criterio, no resulta ninguna ambigüedad del hecho que Su
es cualquier estado perteneciente a la clase Σu.
El proceso para hallar la forma mínima se llama minimización de la MEF. Entonces, la
minimización de una MEF M consiste en determinar todas las clases de estados equivalentes de
la máquina M y luego aplicar el criterio ya nombrado para construir M .
En conclusión, construir la máquina M puede ser interpretado como fundir todos los estados
equivalentes de la máquina M en un solo estado representativo.

Propiedades:

Si M es la forma mínima de la máquina M, entonces:


a). M es único, excepto para casos de isomorfismo.
b). M es equivalente a M (M = M )
c). No existen dos estados equivalentes en M .
d). No existe máquina equivalente a M que sea menor que M (se dice que una máquina es
menor o mayor que otra según su número de estados sea menor o mayor)

Si una máquina es la forma mínima de sí misma y, por lo tanto, no tiene una máquina
equivalente menor, se llama máquina mínima. Cualquier máquina de n estados con n clases
equivalentes y, por lo tanto, en la cual sólo hay pares de estados distinguibles es una máquina
mínima.
En conclusión, se puede encontrar una máquina M mínima para cualquier máquina M. este
resultado es muy importante ya que garantiza la existencia de una forma única de representar una
MEF, la cual es independiente de la manera en que la máquina fue especificada.

44
Víctor M. Zumaeta Diseño Lógico I - Teoría

Evaluativo 5 de teoría

01. Sistemas Secuenciales Sincrónicos. Diagrama en bloques.


02. Elementos de memoria binarios. Distintos tipos.
03. Síntesis de sistemas secuenciales sincrónicos usando Flip Flop.
04. Elementos de memoria n-arios. Registros de desplazamiento.
05. Elementos de memoria n-arios. Contadores.
06. Síntesis de SSS usando contadores.
07. Síntesis de SSS usando registros de desplazamiento.
08. Análisis de SSS.
09. Introducción a las FPGA. Descripción interna.
10. FPGA disponibles comercialmente.
11. Flujo de diseño de una FPGA.

1. Sistemas secuenciales sincrónicos. Diagrama en bloques

Un circuito secuencial es una interconexión de flip flops y compuertas. Las compuertas por si
mismas constituyen un circuito combinacional, pero cuando se incluyen junto con los flip flops,
el circuito completo se clasifica como un circuito secuencial. Los circuitos secuenciales
sincrónicos emplean señales que afectan los elementos de almacenamiento sólo en instantes
discretos de tiempo. La sincronización se logra con un dispositivo de tiempo llamado generador
de pulso de reloj, que produce un tren periódico de pulsos de reloj. Los pulsos de reloj se
distribuyen a través del sistema de manera tal que los elementos de almacenamiento se afectan
sólo con la llegada del pulso de sincronización.
El diagrama de bloque de un circuito secuencial sincrónico consiste en un circuito
combinatorio y un número de elementos de memoria.

Clock
Elementos
de Memoria

Su Su+1

Sistema
Combinatorio
Entradas Salidas
(X u) (Z u)

Como se muestra en el diagrama, el bloque del circuito combinatorio recibe señales binarias de
las entradas externas y de las salidas de los elementos de memoria. Las salidas del circuito
combinatorio van a las salidas externas y a las entradas de los elementos de memoria. Las
compuertas en el circuito combinatorio determinan el valor binario que va a almacenarse en los
elementos de memoria después de cada transición de reloj. Las salidas de estos elementos de
memoria, a su vez, se aplican a las entradas del circuito combinatorio y determinan el
comportamiento del circuito. Este proceso demuestra que las salidas externas de un circuito
secuencial son funciones tanto de las entradas externas como del estado presente de los
elementos de memoria. El estado siguiente de los elementos de memoria es también una función
del estado actual y de las entradas externas.

45
Víctor M. Zumaeta Diseño Lógico I - Teoría

2. Elementos de memoria binarios. Distintos tipos

Se define como elementos de memoria sincrónico a aquellos que recuerdan la información


presente en sus terminales de entrada en el momento de ocurrir el pulso de sincronismo y
mantienen esa información hasta que ocurre nuevamente el pulso de sincronismo. En ese
momento transicionarán o no a otro estado de acuerdo a la nueva información presente en su
entrada.
Los elementos de memoria binarios son aquellos que poseen sólo 2 estados internos diferentes,
denominados flip flops. Estos tienen 2 salidas, una para el valor normal y otra para su valor
complementario. La diferencia entre los diversos tipos de flip flops, esta en el número de
entradas que posean y la manera en la cual las entradas afectan el estado binario. Existen 4 tipos
de Flip Flops: SR, D, T y JK.

Flip Flop S-R: (set-reset)

Clk
Q
S FF
SR Q
R

El Flip Flop S-R tiene 3 entradas: S (Set), R (Reset), Clk (Clock). Si el pequeño triángulo
frente a la entrada Clk está relleno denota que el FF responde a una transición negativa o frente
negativo (de 1 a 0) de la señal de reloj, en cambio si el triángulo está sin rellenar, denota que el
FF responde a una transición positiva (de 0 a 1) de la señal de reloj.
La operación del FF S-R es la siguiente. Si no hay señal de reloj, la salida Q no cambia.
Cuando viene un pulso de reloj, la salida es afectada por los valores de S y R según la siguiente
tabla y diagrama:
0,0 + 0,1 0,0 + 1,0
S R Qu+1
0 0 Qu
1,0
0 1 0
1 0 1 0 1
1 1 Prohibida
0,1

El FF S-R no debe recibir pulsos de reloj cuando S=R=1 ya que produce un estado siguiente
impredecible dependiente de los retrasos internos.

Esquema Interno:

R Q

46
Víctor M. Zumaeta Diseño Lógico I - Teoría

Flip Flop D: (Delay)

D
Q
FF
Clk D Q

El FF D (Delay) es una ligera modificación del S-R que se obtiene insertando un inversor entre
S y R y asignando el símbolo D a la entrada única. Su comportamiento se describe en la
siguiente tabla y diagrama de transición:

0 1

D Qu+1
1
0 0
1 1 0 1

Flip Flop J-K:

Clk
Q
J FF
JK Q
K

El FF J-K es un refinamiento del FF S-R, pues la condición indeterminada del S-R se define
para el J-K. La entrada J es equivalente a la S y la entrada K a la R y el comportamiento es
idéntico excepto par la combinación de entradas 11. El comportamiento se ilustra en la siguiente
tabla y diagrama de transición:

J K Qu+1 0,0 + 0,1 0,0 + 1,0


0 0 Qu
0 1 0 1,0 + 1,1
1 0 1
0 1
1 1 Qu
0,1 + 1,1

Flip Flop T:

Clk
Q
FF
T T
Q

47
Víctor M. Zumaeta Diseño Lógico I - Teoría

Este FF se obtiene del JK cuando sus entradas se conectan para dar una única entrada
designada por T. el comportamiento es el siguiente:

0 0
T Qu+1
0 Qu 1
1 Qu 0 1

3. Síntesis de sistemas secuenciales sincrónicos usando FF

Para la síntesis de SSS a través de FF se parte de la descripción formal del SSS (Diagrama o
tabla de transición) con su conjunto de entrada {x}, de salida {z} y su conjunto de estados
internos {s}. Los pasos a seguir son los siguientes:

 Asignación de entradas y salidas: Se deben relacionar los conjuntos {x} y {z} con las
entradas y salidas físicas de la síntesis.
- Número de cables de entrada (NCE): para calcular NCE, se debe tener en cuenta que
2NCE ≥ P, donde P es la cantidad de elementos del alfabeto de entrada de la MEF.
La asignación se realiza de manera arbitraria y se especifica en una tabla. Para nuestro
ejemplo P = 3, de modo que NCE = 2 y la asignación es la siguiente:

X2 X1 {X}
0 0 α
0 1 β
1 0 γ
1 1 -

- Número de cables de salida (NCS): de manera equivalente a NCE, NCS se calcula bajo
la condición 2NCS ≥ Q, con Q igual a la cantidad de elementos del alfabeto de salida. La
asignación se realiza también de manera arbitraria mediante una tabla. Volviendo al
ejemplo, Q = 3, NCS = 2

Z2 Z1 {Z}
0 0 C
0 1 -
1 0 B
1 1 A

 Asignación de estados: Antes que nada se debe decidir el número de FF (NFF) que se
requieren para la síntesis. Teniendo en cuenta que por cada FF se tienen 2 estados, debe
emplearse que 2NFF ≥ R, donde R es la cantidad de estados de la MEF original.
La asignación de estados se realiza de manera que exista una correspondencia biunívoca entre
el conjunto {s} y parte (o todo) del conjunto de estados posibles de los FF. No existe una regla
exacta para realizar la asignación de estados, pero se pueden tener en cuenta las siguientes
recomendaciones:
- 2 estados que transicionan a un mismo estado, se les da asignaciones que difieren en un bit.
- 2 estados que provengan de un mismo estado reciben asignaciones que difieren en un bit.

48
Víctor M. Zumaeta Diseño Lógico I - Teoría

Volviendo al ejemplo, y llamando U al estado actual del 1º FF y V al estado actual del 2º FF,
la asignación es la siguiente:

U V {S}
0 0 -
0 1 1
1 0 2
1 1 3

 Elección de los FF: No hay una forma de elegir el tipo de FF, pero aún así su elección
puede simplificar o no el diseño. Una vez elegido el FF, es conveniente trabajar con su tabla de
excitación.
Para el ejemplo se eligen FF JK cuya tabla es:

Qu  Qu+1 J K
0  0 0 Ø
0  1 1 Ø
1  0 Ø 1
1  1 Ø 0

 Esquema de síntesis: en general es útil un esquema para poner en evidencia las variables y
funciones en juego de la síntesis, la que ayuda a clarificar el panorama. Para el ejemplo, el
esquema es el siguiente:

Qu
FF Ju
JK
Ku

Qv
FF Jv
JK
Kv
V
U
Comb.
X1 ? Z1
X2 Z2

Es evidente que lo que queda por realizar es la síntesis de 6 funciones combinaciones de 4


variables de entrada. En realidad Z1 y Z2 son funciones sólo de U y V, debido a que se partió de
una máquina de Moore.

 Síntesis del circuito combinacional: Para este caso es conveniente realizar los 6 mapas de
Karnaugh para las funciones Z1, Z2, Ju, Ku, Jv, Ju. Antes de realizar esto, conviene redibujar el
diagrama de transición de la MEF con las nuevas asignaciones de entrada, salida y de estados.

 Análisis de verificación: una vez terminada la síntesis, se realiza un análisis para eliminar
cualquier tipo de errores. La más importante es analizar lo que sucede cuando el SSS entre en
un estado tomado como imposible. En estos casos, pueden resultar estados transitorios o

49
Víctor M. Zumaeta Diseño Lógico I - Teoría

aislados. Para el segundo caso se debe volver atrás en la síntesis y desechar alguna indiferencia
para forzar que los estados aislados se transformen en transitorios.

4. Elementos de memoria n-arios. Registros de desplazamiento

Un registro es un grupo de FF. Cada FF puede almacenar 1 bit de información. Un registro de


n-bits consiste en un grupo de n FF capaces de almacenar n bits de información binaria. Un
registro de desplazamiento es un registro de n-bits con una disposición para desplazar sus datos
almacenados una posición de bit en cada pulso de reloj. Un registro de entrada y salida serie es
el siguiente:

Sin Sout
D D ... D

Clk Clk Clk

La entrada serie Sin especifica un nuevo bit que será desplazado en un extremo para cada pulso
de reloj. Este bit aparece en la salida serie Sout después de n pulsos de reloj y se pierde un pulso
mas tarde. De esta manera, un registro de n bits de entradas serie y salida serie, puede usarse para
retardar una señal n pulsos de reloj.
Un registro de desplazamiento de entrada serie y salida paralelo es el siguiente:

Clk

Sin D D ... D
Q Q Q

Q1 Q2 Qn

Para cada pulso del reloj, el registro carga nuevos datos de las entradas D de cada FF, los
cuales van apareciendo en las salidas Q1, Q2,…. hasta Qn, después de n pulsos de reloj.
Comercialmente, se denomina Registro de desplazamiento universal, al registro que posee las
siguientes características:

D3 D2 D1 D0

LI RI
Ck Shift Register C0
4 bits
Clear C1

Q3 Q2 Q1 Q0

50
Víctor M. Zumaeta Diseño Lógico I - Teoría

Las entradas del dispositivo son las siguientes:


 Control de despeje (Clear) para poner en ceros el registro
 Una entrada de reloj (Clock) para sincronizar las operaciones
 2 entradas de control C1 y C0 que permiten las siguientes operaciones:
- Desplazamiento a derecha (Shift + Right)
- Desplazamiento a izquierda (Shift + Left)
- Carga en paralelo que habilita las líneas de entrada asociada a la transferencia en
paralelo (D3, D2, D1, D0)
- Detención del desplazamiento, la información del registro permanece como esta en
presencia del reloj.

C1 C0 Función
0 0 detención ( )
0 1 despl. a der. ()
1 0 despl. a izq. ()
1 1 carga

 2 entradas LI y RI que pueden usarse para la conexión en cascada con otros registros para
aumentar su longitud.
Existen 4 salidas Q0, Q1, Q2, Q3.
El uso mas común de los registros de desplazamiento es la transformación de información en
serie a paralelo y viceversa.

5. Elementos de memoria n-arios. Contadores

Un contador es un dispositivo con memoria que cambia de estado cada vez que recibe un pulso
de reloj y con salida que permite determinar el estado alcanzado luego de cada pulso. De este
modo el número de estados que el contador haya avanzado a partir de un estado considerado
como inicial, será igual al número de pulsos recibidos, de modo que cuenta la cantidad de pulsos.
Un contador binario de n bits consiste en n FF, por lo que puede poseer hasta 2n estados
diferentes de manera que puede contar desde 0 a 2n-1.
Un contador sincrónico cuenta los pulsos de reloj, los cuales son recibidos por todas las
entradas Ck de los FF.
Nótese que el diagrama de transición para cualquier contador debe tener la siguiente forma:

m 1

...

Donde la salida asociada al estado inicial es 0 y se va incrementando en 1 bit para cada estado
consecutivo.
Existen diferentes tipos de contadores que se diferencian según las siguientes características:
 Capacidad: esta dada por el mayor número al que llega el contador. Para un contador de
4 bits puede llegar a 15 si se trata de un contador binario, o de 0 a 9 si es un contador decimal.

51
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Dirección de la cuenta: los contadores pueden contar en diferente orden:


- Up: contador ascendente
- Down: contador descendente
- Up-Down: contador reversible (puede contar hacia arriba o hacia abajo)
 Preset: los contadores pueden tener o no una entrada llamada preset para cargar datos
externos, es decir, para efectuar saltos entre estados no consecutivos. El preset puede ser
sincrónico o asincrónico.
 Según la salida:
- BCD
- Decimal
- Binario
Un contador universal de 4 bits es el siguiente:

D3 D2 D1 D0

Cout C0
Clock Contador C1
4 bits
Clear Cin

Q3 Q2 Q1 Q0

Las entradas del dispositivo son las siguientes:


 Clock: recibe los pulsos de reloj
 Clear: pone en cero todas las salidas (retorna al estado inicial). Es asincrónico
 Cin: sirve para la conexión en cascada de varios contadores para aumentar su capacidad.
Cuando vale 0 el contador no cuenta.
 2 entradas de control: C1, C0 que permiten realizar las siguientes operaciones:
- Detener la cuenta.
- Cuenta ascendente.
- Cuenta descendente.
- Carga de datos a través de las entradas D0, D1, D2, D3.

C1 C0 Función
0 0 detiene cuenta
0 1 ↑
1 0 ↓
1 1 carga

Los valores de la cuenta se obtienen a través de las salidas Q0, Q1, Q2 y Q3. Existe una salida
adicional Cout que en la conexión en cascada se conecta a la entrada Cin del próximo contador, la
cual se habilita cuando el contador alcanza la cuenta máxima.

6. Síntesis de SSS usando contadores

Para la síntesis de SSS a través de contadores se parte de la descripción formal del SSS o MEF,
preferentemente a través de un diagrama de transición con su conjunto de entrada {X}, de salida
{Z} y su conjunto de estados internos {S}. Supondremos que la capacidad del contador es lo

52
Víctor M. Zumaeta Diseño Lógico I - Teoría

suficientemente grande como para abarcar todos los estados de la MEF, pues en caso contrario,
el problema se resuelve conectando 2 o mas contadores en cascada. Para ilustrar el método
tomamos el siguiente ejemplo y un contador universal binario de 4 bits.

1/1
1/1

0/0
A B

0/1 0/1

1/0 1/1
D C
1/0

0/1 0/1

Los pasos a seguir son los siguientes:


 Asignación de entradas y salidas
 Asignación de estados: es conveniente, ya que las funciones de control resultaran más
simples, asignar los estados del SSS, tratando de que las transiciones coincidan con las naturales
del contador, es decir, con cuenta ascendente o descendente. Para que esto resulte fácil y visible
conviene trabajar con el diagrama de transición teniendo en cuenta que el diagrama de
transición de una contador posee la siguiente forma:

La asignación de estados elegida para el ejemplo es la siguiente:

Q2 Q1 Q0 S
0 0 0 E
0 0 1 D Nótese que Q3 no se usa pues sólo
0 1 0 A se necesitan 5 estados. D3 tampoco
0 1 1 - es necesaria, por lo que se conecta a
1 0 0 - “0” o “1”.
1 0 1 -
1 1 0 C
1 1 1 B

53
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Esquema de síntesis: en general, es útil hacer el esquema de síntesis para poner en


evidencia las variables en juego, lo que puede clarificar el panorama:

Q3 Clock
Q0
Q1 C1
Contador
Q2
C0
D3 D2 D1 D0

“0”

Comb.

X Z

 Representación y síntesis de las funciones: en el ejemplo es evidente que el circuito


combinacional consiste en 6 funciones D2, D1, D0, C0, C1 y Z de 4 entradas X, Q0, Q1 y Q2. La
forma mas adecuada para su representación es una tabla de verdad que se va llenando línea a
línea. Una columna adicional que indica la función que debe cumplir el contador para cada
transición se agrega a la tabla para facilitar el proceso.
Es conveniente ir marcando en el diagrama las transiciones que se van representando en la
tabla. La tabla resultante es la siguiente:

X QA QB QC C1 C0 DA DB DC Z Func
0 0 0 0 0 1 Ø Ø Ø 1 ↑
0 0 0 1 0 1 Ø Ø Ø 1 ↑
0 0 1 0 1 1 1 1 1 0 carga
0 0 1 1 Ø Ø Ø Ø Ø Ø
0 1 0 0 Ø Ø Ø Ø Ø Ø
0 1 0 1 Ø Ø Ø Ø Ø Ø
0 1 1 0 1 1 0 0 0 1 carga
0 1 1 1 1 0 Ø Ø Ø 1 ↓
1 0 0 0 0 0 Ø Ø Ø 1 no cta
1 0 0 1 1 1 1 1 0 0 Carga
1 0 1 0 0 0 Ø Ø Ø 1 no cta
1 0 1 1 Ø Ø Ø Ø Ø Ø
1 1 0 0 Ø Ø Ø Ø Ø Ø
1 1 0 1 Ø Ø Ø Ø Ø Ø
1 1 1 0 1 1 0 0 1 0 carga
1 1 1 1 0 0 Ø Ø Ø 1 no cta

54
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Análisis de verificación: es conveniente realizar el análisis del circuito obtenido para


evitar errores y para analizar lo que sucede cuando el SSS cae en algún estado tomado como
imposible. En estos casos existen 2 posibilidades: que el estado resulte transitorio o aislado. En
el segundo caso, será necesario hacer uso de la entrada clear o volver sobre la síntesis
modificando alguna condición de indiferencia.

7. Síntesis de SSS usando registros de desplazamiento

Para la síntesis de SSS a través de contadores se parte de la descripción formal del SSS o MEF,
preferentemente a través de un diagrama de transición con su conjunto de entrada {X}, de salida
{Z} y su conjunto de estados internos {S}. Los pasos a seguir son los siguientes:
 Asignación de entradas y salidas
 Asignación de estados: se debe tratar en lo posible, para disminuir las funciones que
resultarán, de asignar los estados de tal forma que las transiciones coincidan con los
funcionamientos naturales del registro.
 Esquema de síntesis: en general, es útil hacer el esquema de síntesis para poner en
evidencia las variables en juego, lo que puede clarificar el panorama:
 Representación y síntesis de las funciones
 Análisis de verificación: es conveniente realizar el análisis del circuito obtenido para
evitar errores y para analizar lo que sucede cuando el SSS cae en algún estado tomado como
imposible. En estos casos existen 2 posibilidades: que el estado resulte transitorio o aislado. En
el segundo caso, será necesario hacer uso de la entrada clear o volver sobre la síntesis
modificando alguna condición de indiferencia.

8. Análisis de SSS

El análisis de SSS tiene por objetivo hallar el diagrama de transición de la MEF partiendo del
circuito secuencial. Un circuito secuencial consta de un circuito combinacional retroalimentado a
través de elementos de memoria.

Clock
Elementos
de Memoria

Su Su+1

Sistema
Combinatorio
Entradas Salidas
(X u) (Z u)

En primer lugar se identifican los elementos de memoria y se reconocen todos los estados
posibles del sistema. Estos elementos pueden ser un conjunto de n Flip Flops, un contador de n
bits o un registro de n salidas. En todos estos casos el número de estados posibles de la MEF será
2n .
Será útil contar con las reglas de funcionamiento de estos elementos de memoria para poder
conocer las transiciones entre estados.
Por otro lado, se debe realizar un análisis del circuito combinacional. Puede ser útil trabajar
con las formas algebraicas de cada función del circuito como también con la tabla de verdad.

55
Víctor M. Zumaeta Diseño Lógico I - Teoría

Una vez realizados estos pasos, se procede a analizar todos los estados posibles de la MEF.
Para esto se analiza cada estado y las transiciones que realiza para cada combinación posible de
entrada. De esta manera se va completando el diagrama de transición.
El análisis SSS sirve para verificar el funcionamiento de cualquier SSS que hayamos
diseñado, y para saber qué es lo que sucede con los estados tomados como no posibles durante la
síntesis. El análisis también sirve para conocer el comportamiento de cualquier SSS dado.

9. Introducción a la FPGA. Descripción Interna

La integración a muy grande escala (VLSI) abrió las puertas a la implementación de circuitos
digitales poderosos a bajo costo. Es posible la realización de chips específicos donde todas sus
partes están cuidadosamente diseñadas para un requerimiento especial. Otro tipo de chips menos
específicos como las celdas estándar y las MPGA (Mark Programmed Gale Arrays) han
posibilitado una forma más fácil de diseñar y manufacturar circuitos integrados de aplicación
específico (ASICs). Estas técnicas, sin embargo, son muy costosas (desde $ 20.000 a $ 200.000)
y pueden tomar meses para su producción, lo que resulta viable sólo para la producción a gran
escala.
En la industria eléctrica es vital la llegada al mercado de nuevos productos en el menor tiempo
posible. Además es importante que el riesgo financiero del desarrollo de nuevos productos sea
limitado a modo de poder prototipear nuevas ideas.
Para estos propósitos surgieron las FPGAs (Field Programmed Gate Arrays) que proveen una
manufacturación instantánea y muy bajos costos de prototipo (cerca de $ 100). Un dispositivo
programable en campo es un dispositivo cuya estructura lógica final puede ser configurada por el
usuario final.
Una FPGA consiste en un arreglo de elementos aislados que pueden ser conectados entre sí de
manera general. Como en una PAL, las conexiones internas son programables por el usuario.
Para facilitar la implementación de una gran variedad de circuitos, la FPGA debe ser lo más
versátil posible.
Los elementos de la FPGA se denominan bloques lógicos (BL) y las conexiones internas se
llaman rutas de interconexión (RI).
Un esquema de una FPGA puede ser el siguiente:

BL

Celdas
RI entrada/salida

Bloques Lógicos:
La estructura y contenido de un bloque lógico se denomina arquitectura. La arquitectura de
los bloques lógicos puede ser diseñada de diferentes maneras. Algunos bloques lógicos pueden

56
Víctor M. Zumaeta Diseño Lógico I - Teoría

ser simples como una compuerta NAND de 2 entradas, mientras que otros pueden ser complejos
como Multiplexores, Registros e incluso estructuras parecidas a las PAL. La mayoría de los
bloques lógicos contienen algún tipo de Flip Flop para la implementación de circuitos
secuenciales.

Rutas de Interconexión:
La estructura y contenido de las conexiones internas de una FPGA se denominan arquitectura
de ruteo. La arquitectura de ruteo consiste tanto en conexiones simples (como cables) como en
interruptores programables. Estos interruptores pueden ser de distinto tipo: desde transistores de
paso, anti fusibles, transistores EPROM, transistores EEPROM, etc. Algunas FPGA ofrecen un
gran número de conexiones simples y otras ofrecen menos conexiones y más complejas.

10. FPGA disponibles comercialmente

En los últimos años varias compañías se han dedicado al diseño de FPGA’s aunque cada
producto tiene sus propias características, pueden ser clasificados en una de éstas cuatro
categorías según su estructura interna: arreglo simétrico, basado en filas, PLD jerárquico y mar
de compuertas.

BL BL

RI

RI

Arreglo Simétrico Basado en Filas

Bloque PLD
BL

RI superpuestos
con los BL

RI
Mar de Compuertas PLD Jerárquico

Se define como elementos programables a las llaves que permiten la conexión entre los
caminos y entre los bloques lógicos. Estos elementos deben cumplir con las siguientes
características:
 Debe ocupar la menor área posible dentro del chip.
 En ON debe tener baja resistencia y en OFF alta resistencia.
 Baja capacitancia parásita.
 Debe fabricarse en forma viable en gran número dentro de un mismo chip.

57
Víctor M. Zumaeta Diseño Lógico I - Teoría

Un FPGA típico posee 10000 elementos programables con tecnología CMOS estándar.
Algunos son reprogramables sin quitarlos de la placa de circuitos.
Las FPGA disponibles comercialmente se pueden clasificar según su tecnología de
programación o según su arquitectura de bloques.
Según la tecnología de programación se diferencian las siguientes categorías:

 Celdas SRAM
 Antifusibles
 Transistores EPROM
 Transistores EEPROM

Según su arquitectura de bloque lógico, se encuentran las siguientes clases:

 Look – up table
 Basado en Multi
 Bloques PLS
 Compuertas NAND
 Multiplexores y compuertas
 Transistores pares

Las diferentes FPGA’s combinan las 3 categorías nombradas. Por ejemplo, la compañía
ALTERA desarrolló FPGA’s con una estructura general de PLD jerárquica, con arquitectura de
bloques PLD y con tecnología EPROM.

11. Flujo de diseño de una FPGA

Un circuito lógico puede ser implementado como una FPGA siguiendo una serie de pasos que
se ilustran mediante un flujo de diseño:

Entrada de Diseño

Optimización

Mapeo

Ubicación

Ruteo

Programación
de la unidad

Los pasos básicos del flujo de diseño se describen a continuación, pero pueden variar de
empresa a empresa según el software destinado a la programación de las diferentes FPGA’s.

58
Víctor M. Zumaeta Diseño Lógico I - Teoría

1). Entrada de diseño: la descripción del circuito lógico puede ser ingresada en la mayoría
de los programas, de 3 maneras diferentes:

a. Editor gráfico: se ingresa el esquemático del circuito.


b. Editor de texto: se ingresa el diseño usando algún lenguaje de descripción de hardware
(HDL).
c. Editor de formas de onda.
Para el ingreso del diseño se dispone de diferentes librerías de donde se pueden obtener los
diferentes bloques de construcción.

2). Compilación del diseño: en la compilación del diseño, el circuito integrado es traducido
al lenguaje específico del software, el cual realiza la detección de errores. En esta etapa
del diseño se realiza el mapeo, que consiste en la conversión del circuito ingresado en
circuito de bloques lógicos, tratando de que le número de bloques sea mínimo.

3). Verificación del diseño: se verifica el diseño logrado mediante una simulación que
puede ser funcional (verifica el funcionamiento) o temporal (verifica los retardos).

4). Programación de la unidad: configuración final de la FPGA, lo que puede durar


minutos u horas.

59
Víctor M. Zumaeta Diseño Lógico I - Teoría

Evaluativo 6 de teoría

01. MAX+PLUS II. Librerías.


02. MAX+PLUS II. Editor de texto.
03. MAX+PLUS II. Editor Gráfico. Editor de formas de onda.
04. MAX+PLUS II. Editores auxiliares.
05. MAX+PLUS II. Procesamiento de un proyecto. Compilador. Simulador. Analizador
temporal.
06. UP Education Board. Descripción. Características.
07. UP Education Board. Configuración.
08. UP Education Board. Dispositivos de programación. Características.
09. UP Education Board. Entradas y salidas.
10. RAM. Descripción externa. Aplicaciones de RAM.
11. Microprocesadores. Definición. Esquema básico.
12. Canales (Buses) en los microprocesadores. Características.
13. Esquema básico de un lazo de control.
14. Controladores digitales. Distintos tipos.
15. Ventajas de la lógica programable vs la lógica cableada.
16. PLC. Descripción interna.
17. PLC. Compactos y modulares.
18. PLC. Tipos de entradas y salidas.
19. PLC. Lenguajes de programación.
20. PLC. Funcionamiento interno.
21. PLC. Memorias del usuario: Tipos, Características.

1. Sistemas MAX+PLUS II. Librerías

Para la síntesis de circuitos lógicos con FPGA a través del programa MAX+PLUSII existe una
variedad de librerías proporcionadas por el programa que contienen una gran variedad de
componentes lógicos, los cuales pueden ir desde los más simple a los más complejo. Existen dos
tipos de librerías: de recursos y de valor agregado:
Librerías de Recursos: Estas librerías contienen todos los dispositivos que pueden
implementarse en la FPGA. Según su complejidad encontramos las siguientes librerías:
 Prim (funciones primitivas): posee los bloques lógicos de construcción básicos, como
compuertas AND, NAND, negadores, etc.
 Mf (macro-funciones): incluye todos los dispositivos pertenecientes a la familia lógica
7400, los cuales pueden ser desde compuertas AND hasta multiplexores, contadores, etc.
 Mega_lpm (librería de módulos parametrizados): posee compuertas, componentes
aritméticos y componentes de almacenamiento, cuyos parámetros pueden ser asignados por el
usuario. Son las funciones mas versátiles y adaptables.
Librerías de valor Agregado: Altera proporciona librerías adicionales que el usuario puede
comprar para aumentar las capacidades del programa. Entre este tipo de librerías se encuentran:
 Modelos negadores IP que el usuario puede probar antes de comprar.
 AMPP (mega-funciones de programas asociados a altera): el usuario también puede crear
sus propias librerías a partir de proyectos creados con anterioridad.

60
Víctor M. Zumaeta Diseño Lógico I - Teoría

2. MAX+PLUS II. Editor de texto

El editor de texto permite el ingreso del diseño lógico al programa a través de algún lenguaje
de descripción de hardware llamado AHDL. Este lenguaje permite la descripción del hardware a
través de su comportamiento orientado para la definición de sistemas lógicos y maquinas de
estado de gran complejidad. Se asemeja a los lenguajes de programación de software de alto
nivel, pero con la diferencia de que las instrucciones se ejecutan en paralelo.
Un archivo AHDL incluye las siguientes secciones:
 Titulo (opcional): consta de una única línea y no genera hardware. Es importante sólo
para fines de documentación.
 Include (opcional): permite importar texto desde otros archivos en AHDL. Se puede usar
para incluir funciones de menor nivel.
 Constant (opcional): permite definir un nombre simbólico y asociarlo a un valor
constante.
 Define (opcional): permite definir una función evaluable que devuelve un valor en base a
sus argumentos. No genera hardware.
 Parameters (opcional): permite declarar parámetros que controlan la implementación de
una mega-función o macro-función parametrizada. Los parámetros pueden ser nombres
definidos por el usuario o por Altera. Un parámetro solo puede ser usado luego de ser
declarado. No se permite referencias cruzadas.
 Function Prototype (opcional): es la descripción de una función.
 Subdesing (opcional): declara tipo y nombre de las puertas de un diseño con formato .tdf.
 Variable (opcional): se declaran las variables usadas en la sección Logia para definir
lógica interna.
 Logic: define las operaciones lógicas del .tdf. se compone de ecuaciones, expresiones y
referencias.

3. MAX+PLUS II. Editor Gráfico. Editor de formas de onda

El editor gráfico es una aplicación de MAX+PLUSII que permite al usuario ingresar un diseño
lógico de manera gráfica, componente a componente. Cada componente se ingresa como un
símbolo y puede ser elegido de cualquiera de las librerías disponibles. En el caso de los
componentes parametrizables, se pueden modificar sus parámetros a través de una ventana de
diálogo en cualquiera momento del diseño.
Los elementos ingresados se pueden ubicar de cualquier manera en la hoja de diseño y se
pueden realizar todas las interconexiones necesarias a través de líneas que puede representar uno
o más cables según su grosor.
Las entradas y salidas deben ingresarse como símbolos y se les debe asignar los nombres
correspondientes.
El editor de formas de onda es una aplicación de MAX+PLUSII que puede cumplir 2
funciones: el ingreso de un diseño o la simulación de un proyecto.
Para el ingreso de un diseño a través del editor de formas de ondas, debe cuidarse que el
archivo sea guardado con extensión edf. En primer lugar se crean todas las entradas, salidas y
nodos internos necesarios para el diseño. A continuación, se asigna valores a las entradas a través
del tiempo y para cada instante se asigna la salida correspondiente a la combinación de entrada
en ese instante.
Se pueden agrupar las entradas o las salidas de modo que sus valores puedan ser ingresados en
otro sistema de numeración además del binario (decimal, hexadecimal, octal).

61
Víctor M. Zumaeta Diseño Lógico I - Teoría

4. MAX+PLUS II. Editores auxiliares

El MAX+PLUSII dispone de 2 editores auxiliares:


 Floorplan Editor.
 Symbol Editor (editor de símbolos).

Floorplan editor: es una interfaz gráfica para la vista y/o creación de diversas asignaciones
una vez cumplido el proyecto. Las asignaciones son:
 Asignación de pines.
 Asignación de celdas lógicas.
 Asignación de opciones lógicas.
 Asignación de bloques.

El floorplan editor proporciona una vista gráfica de las asignaciones actuales así como de los
resultados de la última compilación a través de 2 vistas diferentes:
 Lab view: permite ver la estructura interna del dispositivo programado.
 Device view: presenta la vista externa del dispositivo. Los pines asignados aparecen
coloreados y etiquetados, y los pines reservados aparecen en color negro.
Este editor puede usarse en modo sólo lectura, para conocer las asignaciones del dispositivo; o
en modo editable, para modificar dichas asignaciones.

El editor de Símbolos: permite modificar los símbolos creados a través del editor gráfico.
Permite modificar el nombre de las entradas, especifican cuales variables se usan y cuales no,
etc.

5. MAX+PLUS II. Procesamiento de un proyecto. Compilador. Simulador.


Analizador temporal

Una vez ingresado el diseño de un proyecto, el procesamiento del mismo consiste básicamente
de 3 pasos:
 Compilación.
 Simulación.
 Análisis Temporal.

El flujo de diseño es el siguiente:

62
Víctor M. Zumaeta Diseño Lógico I - Teoría

Compilación: durante la Compilación, el programa detecta errores de sintaxis, y algunos


errores comunes de diseño y traduce el diseño ingresado al lenguaje propio del software, creando
los archivos correspondientes. Existe 2 tipos de compilación: funcional y temporal.
Compilación Funcional: realiza el chequeo del diseño teniendo en cuenta su funcionamiento
de forma ideal, es decir, sin retardo. Durante el proceso se crea un archivo adicional para la
simulación funcional.
Compilación Temporal: es la compilación final del diseño, pues tiene en cuenta el
funcionamiento real del proyecto. Durante esta compilación se crean los siguientes archivos:
 Archivos para la simulación y análisis temporal.
 Archivos para la programación del dispositivo.
 Archivos para el mapeo y síntesis del dispositivo: durante esta compilación también se
realiza la minimización del diseño y se chequean violaciones de diseño. Ante la detección de
errores, el compilador detiene la compilación y se informa al usuario de los mismos a través del
procesador de mensajes.

Simulación: la simulación del proyecto se realiza a través del editor de formas de ondas. En
primer lugar, se incluyen todas las entradas y salidas e incluso los nodos internos necesarios del
diseño. A continuación se asignan diferentes valores a las entradas. En el caso de tratarse de un
circuito secuencial, se da los valores correspondientes al clock, pudiéndose elegir el período.
Una vez realizado esto se hace correr el simulador.
En el editor de formas de ondas aparecerán las salidas visibles sólo si la compilación realizada
fue temporal. De esta manera el usuario puede comprobar si su diseño cumple con los requisitos
del problema.

Análisis Temporal: el análisis temporal da la información acerca de los retardos del circuito.
El analizador temporal dispone de 3 formas de análisis.
 Registered Performance: calcula la máxima frecuencia que puede recibir el reloj interno.
 Delay Malrex: calcula los retardos combinatorios entre las entradas y las salidas.
 Setup/Hold Matrix: calcula el retardo entre las salidas y el clock para circuitos
secuenciales.

6. UP Education Board. Descripción. Características

La UP Education Board es una placa de experimentación autónoma basada en 2 funciones de


dispositivos de Altera: MAX7000 y FLEX10K.
El dispositivo EPM71285 de la familia MAX7000 se encuentra montado en un zócalo de 24
pines. El dispositivo EPF10K20 se encuentra soldado a la placa y posee 240 pines.
La placa contiene, además los siguientes componentes:
 Entrada DC-IN y RAW. La entrada DC-IN es la de 7 a 9V en 350mA como minimo. La
entrada RAW con dos orificios para una fuente de tensión sin regular.
 Regulador de voltaje: se trata de un regulador 7805 que regula la entrada a 5V positivo.
 Oscilador de cristal de 25175MHz: se encuentra conectado a la entrada global de reloj de
ambos dispositivos programables.
 Ficha JTAG-IN: sirve para la conexión del cable ByteBlaster para la programación de los
dispositivos
 Recursos para el dispositivo EPM71285:
o Conectores hembras para acceder a los pines con señal.
o 2 switches push-buttons.
o 2 octales DIP switches.
o 16 leds.

63
Víctor M. Zumaeta Diseño Lógico I - Teoría

o 2 displays de 7 segmentos.
o Punto de expansión en 42 pines I/O y pines dedicados.

 Recursos para el dispositivo EPF10K20:


o Zócalo para un dispositivo de configuración EPC1.
o 2 switches push-buttons.
o 1 octal DIP switch.
o 2 displays de 7 segmentos.
o Puerto VGA.
o Puerto Mouse.
o 3 puertos de expansión cada uno en 42 pines y pines dedicados.

7. UP Education Board. Configuración

La paca educacional puede ser configurada según se desee programar el dispositivo


EPM71285, el dispositivo EPF10K20, o ambos dispositivos a la vez. También existe la
posibilidad de conectar varias placas para la programación conjunta de los dispositivos para la
implementación de proyectos que superen las capacidades de una placa.
Para la configuración de la placa, se dispone de 4 jampers: TDI, TDO, DEVICE y BOARD.

TDI TDO DEVICE BOARD

C1 C1 C1 C1

C2 C2 C2 C2

C3 C3 C3 C3

Según la posición de estos jampers, la placa se configura según alguna de las opciones antes
nombradas.

ACCION TDI TDO DEVICE BOARD


Programación
C1&C2 C1&C2 C1&C2 C1&C2
de EPM71285
Programación
C2&C3 C2&C3 C1&C2 C1&C2
del EPF10K20
Programación
de ambos C2&C3 C1&C2 C2&C3 C1&C2
dispositivos
Conexión de
C1&C3 ABIERTO C2&C3 C2&C3
múltiples placas

Nótese que para la conexión de varias placas, la última placa debe configurarse como una placa
simple.

8. UP Education Board. Dispositivos de programación. Características

La placa educacional contiene 2 dispositivos programables, el EPM71285 perteneciente a la


familia MAX7000 y el EPF10K20 perteneciente a la familia FLEX10K. Ambos dispositivos se
programan in-system con el cable ByteBlaster que hace de interfase entre la placa y el puerto

64
Víctor M. Zumaeta Diseño Lógico I - Teoría

paralelo de la PC. El dispositivo EPF10K20 puede configurarse también a través de un


dispositivo de configuración EPCA.

Dispositivo EPM71285:
 Es un dispositivo de mediana densidad dentro de los de alta densidad de Altera.
 Su capacidad es de 2500 compuertas.
 Familia de alto rendimiento basado en elementos EEPROM.
 Montado en un zócalo de 84 pines con encapsulado tipo PLCC.
 Tiene 128 macro-celdas. Cada macro-celda contiene un arreglo programable AND con
OR fija en un registro configurable con clock, clear y preset.
 Es ideal para sistemas combinacionales y secuenciales.

Dispositivo EPF10K20:
 Es un dispositivo de alta densidad de Altera.
 Esta basado en elementos reconfigurables SRAM.
 Posee una capacidad de 20000 compuertas.
 Se encuentra soldado a la placa en un encapsulado tipo RQFP de 240 pines.
 Tiene 1152 elementos lógicos (E). Cada LE contiene 4 look-up tables, un flip flop
programable y señales dedicadas para funciones “carry” y “cascada”.
 Es importante recalcar que el dispositivo EPF10K20 se basa en memoria volátil de modo
que es necesario reprogramarlo cada vez que se descarga. Esto no sucede con el dispositivo
EPM71285 ya que éste basa su programación en tecnología EEPROM.

9. UP Education Board. Entradas y salidas

Entradas de alimentación:
 CD-IN y RAW: la entrada CD-IN es de 7 a 9V en 350mA como mínimo. La entrada
RAW son dos orificios para conectar una fuente de tensión sin regular. Ambas entradas se
dirigen a un regulador de voltaje 7805 que regula la entrada a 5V positiva.
Entradas y Salidas de los dispositivos:

 Conectores hembras para acceder a los pines con señal.


 Conexión al cable ByteBlaster.
 Zócalos DIP switches. Cada switch contiene 8 llaves del tipo ON-OFF activas en bajo
que se encienden a través de un resistor de 10K. sirven para simular entradas.
 La conexión se hace insertando un extremo del cable al conector hembra alineado con la
llave y el otro extremo al conector hembra del pin asignado del dispositivo deseado.
 2 display de 7 segmentos: se conectan directamente al dispositivo. Son activos en bajo.
Cada segmento de cada display esta conectado a un pin fijo de uno de los dispositivos.
 Puertos de expansión: cada uno tiene 42 pines I/O y pines dedicados.
 El dispositivo EPM71285 posee además 16 leds para simular salidas. Los leds son
activos en bajo y se encienden a través de un resistor de 330ohms. La conexión se realiza
insertando un extremo del cable al conector hembra alineado con el led y el otro extremo al
conector hembra del pin asignado del EPM71285.

El dispositivo EPF10K20 cuenta con 2 puertos adicionales:

 Puerto VGA: permite al EPF10K20 controlar un video monitor externo y general los
niveles de tensión para un VGA estándar.
 Puerto Mouse: permite al EPF10K20 recibir datos de un mouse o de un teclado.

65
Víctor M. Zumaeta Diseño Lógico I - Teoría

10. RAM. Descripción externa. Aplicaciones de RAM

La RAM consiste en un grupo de registros en los cuales se pueden almacenar palabras que
luego pueden ser leídas y modificadas. Por esta razón la RAM es una memoria de
lectura/escritura a diferencia de la ROM ya que no se necesitan hacer o deshacer conexiones para
escribir nuevas palabras.
La comunicación entre la RAM y su ambiente se logra mediante líneas de entradas y salidas de
datos, líneas de selección de dirección y líneas de control que habilitan el funcionamiento del
dispositivo (CS) y especifican la dirección de transferencia (R/W). Las n líneas de entrada o
salida de datos proporcionan la información que se va almacenar o que sale de la memoria (n se
llama longitud de la palabra) las k líneas de direccionamiento proporcionan un número binario de
k bits que especifica una palabra particular elegida entre las 2k palabras disponibles de la
memoria.
Para realizar la operación de escritura en una RAM se siguen los siguientes pasos:

1. Se aplica la dirección binaria de donde se desea almacenar la palabra.


2. Se aplican los bits de los datos que deben almacenarse en memoria a las líneas de
entrada/salida de datos.
3. Se activa el dispositivo (CS=0) y se activa la operación de escritura (R/W=0).

Los pasos que deben realizarse para leer una palabra almacenada es la RAM son:
1. Aplicar la dirección binaria de la palabra deseada a las líneas de direccionamiento.
2. Se activa el dispositivo (CS=0) y se habilita la operación de lectura (R/W=1)
3. La palabra deseada aparecerá en las líneas de entrada/salida de datos.

Esquema Externo:
Clock

A0 (I/O)0
Líneas de Líneas
Direccionamiento RAM entrada/salida
Ak-1 (I/O)n-1 de Datos

CS
R/W
Líneas de Control

La entrada clock permite la sincronización de las operaciones de la RAM, de modo que se


pueden escribir palabras en la RAM sólo con la llegada del pulso de reloj y cuando se desee leer
una palabra, ésta aparece a la salida.
Se pueden ampliar las capacidades de memoria de una RAM así como su longitud de palabra
mediante la conexión con otras RAM de la misma manera que con las ROM.
Las RAM se emplean como memoria primaria en las computadoras para almacenar programas
y datos de manera temporal.
Una desventaja de las RAM es que son volátiles, lo que significa que pierden toda la
información si se le corta el suministro de energía. Sin embargo superan a las ROM en el sentido
de que son memorias de lectura y escritura y son mucho más rápidas. Por esta razón, las RAM
reemplazan a las ROM en casi todas sus aplicaciones, conectando una batería a la RAM que la
mantenga energizada de manera que no pierda la información.

66
Víctor M. Zumaeta Diseño Lógico I - Teoría

11. Microprocesadores. Definición. Esquema básico

Se define como procesador a un dispositivo capaz de recibir, decodificar y ejecutar


instrucciones provenientes de un programa almacenado en memoria para el procesamiento de
datos de la entrada y de memoria.
Un microprocesador es un procesador integrado en un chip que contiene todos los circuitos
lógicos necesarios para llevar a cabo las tareas de procesamiento de la información.
El microprocesador esta compuesto básicamente por 3 secciones:

1. Unidad de Control: se encarga de recibir y decodificar instrucciones provenientes de


algún programa almacenado en memoria y de ejecutar las señales de control necesarias
para la ejecución de estas instrucciones. Estas señales de control con transmitidas al
acumulador y a la ALU, encargados de la ejecución. La unidad de control maneja tanto el
tráfico de las instrucciones como el tráfico de los datos que deben ser procesados. Estos
últimos pueden provenir de la memoria o de la unidad de entrada.
2. Acumulador: se trata de un registro o un sistema de registros. El acumulador guarda o
retiene información proveniente de memoria o de la unidad de entrada que será
modificada por la ALU al poco tiempo. También puede almacenar resultados de la ALU
que deben seguir siendo procesados o que deben guardarse en memoria o dirigirse a la
salida. El acumulador decide de donde recibir la información que debe almacenar y a
donde debe mandarla.
3. ALU: se trata de la unidad aritmética lógica, la verdadera ejecutora de los procesos y
modificaciones de los datos. Posee la capacidad de realizar un gran número de
operaciones lógicas y aritméticas. La ALU realiza operaciones según las instrucciones
que recibe de la unidad de control con operando que puede recibir directamente de la
memoria, de la unidad de entrada o del acumulador. Los resultados que obtiene son
mandados al acumulador. El lugar de donde obtiene la información que debe procesar
también es indicada por la unidad de control.

Acumulador

RAM ALU

Unidad de
Control

12. Canales (Buses) en los microprocesadores. Características

Los microprocesadores constituyen la parte más importante de una computadora. Sin embargo,
necesita una serie de elementos periféricos para funcionar, ya que debe recibir las instrucciones
de algún programa, debe recibir los datos que debe procesar y debe volcar estos resultados de
alguna manera.
La estructura básica de una computadora (CPU y elementos periféricos) es la siguiente:

67
Víctor M. Zumaeta Diseño Lógico I - Teoría

CPU

Memoria I/O

Subsistema I/O (Entrada – Salida): permite el intercambio de datos con el mundo externo.
Ejemplo impresora, monitor, etc.
Subsistema de Memoria: su objetivo es almacenar los datos a procesar y el programa con las
instrucciones que indican cómo procesar esos datos. Se trata generalmente de RAM y/o ROM.
CPU: es la unidad de control de procesamiento. Cuando se trata de un chip se habla de
microprocesador.
Estos tres elementos se encuentran interconectados a través de buses o canales. Según su
función se distingue en 3 tipos de buses:

 Buses de Datos: es un bus de datos bidireccional por donde se transmiten los datos hacia
la CPU desde la memoria o el sistema de entrada, o desde la CPU para escribirse en memoria o
ser mostrada a la salida. Su ancho determina la longitud de palabra.
 Bus de Direcciones: es el bus unidireccional del CPU a la memoria por el cual se indica
la dirección de memoria a leer o escribir.
 Bus de Control: entre las líneas del bus de control se encuentran por ejemplo R/W que
indica si los datos deben leerse o escribirse en memoria, CS que habilita el funcionamiento del
CPU, reset, que devuelve el CPU a un estado inicial, el clock, que sincroniza las actividades de
todos los elementos que conforman la computadora, etc. Es decir, que el bus de control indica
que tipos de operaciones se está realizando con los datos.

13. Esquema básico de un lazo de control

En toda acción por más simple que sea, se puede distinguir la idea de un bucle o lazo:

Sensores Controlador Actuadores

Proceso

Este lazo esta formado por sensores que miden el proceso. Un Controlador que toma nota de lo
que le informan los Sensores y decide que órdenes enviar a los Actuadores para que actúen
corrigiendo o no el Proceso.
Esta corrección sobre el Proceso será observada por los Sensores que a su vez informarán al
Controlador.
Por ejemplo, el siguiente bucle es común en nuestra vida diaria:
Estacionar el auto: Ojos (censan la distancia al cordón) – Cerebro (procesa y decide qué hacer
con los brazos) – Brazos (actúan sobre el volante).
En este ejemplo el hombre es prácticamente el bucle. Con sus sentidos censa el proceso, con su
cerebro controla y con sus músculos actúa.

68
Víctor M. Zumaeta Diseño Lógico I - Teoría

Cuando el hombre es reemplazado en la tarea que a veces es rutinaria o peligrosa, por algún
mecanismo, entonces se dice que existe un control automático o automatismo.
Clasificación:

Automatismo Analógico
Digital Electromecánicos
Neumáticos
Hidráulicos
Electrónicos

14. Controladores digitales. Distintos tipos

Se puede usar una primera clasificación entre los controladores, teniendo en cuenta la forma en
que trabajan. Así podemos distinguir entre controladores Analógicos y controladores Digitales.
Esta diferencia se basa en la forma en que reciben y envían las señales.
Debido al fuerte avance de la electrónica en la parte digital, se están haciendo cada vez más
comunes los equipos digitales.
Los controladores digitales se clasifican en dos grandes grupos: los que usan lógica cableada y
los que usan lógica programable.
En los diseños antiguos o en los actuales muy simples encontramos controladores lógicos
cableados a los cuales los podemos distinguir por sus grandes armados, cubiertos de relays,
interconectados por numerosos cables. Si se debía dar de baja al controlador por cambio de
planes, era despiezado y sus componentes principales quedaban como repuestos usados para
otros equipos similares.
Con la invención del transistor en la década de los 50 y de los circuitos integrados en la de los
80, la electrónica industrial tiene un gran avance y los controladores digitales fueron más
confiables. En los años 70 se inventó el microprocesador y produjo una revolución en nuestras
vidas.
Los controladores digitales que usan lógica programada se caracterizan por la sencillez de su
cableado. Por algún lado se introduce el programa de control y el sistema está listo para
funcionar. Si se desea que cumpla con otra función basta con cambiar el programa.

Autómata
Computadora Programable
(PLC)

Lógica Programable

Microcontrolado
Microprocesador r

69
Víctor M. Zumaeta Diseño Lógico I - Teoría

15. Ventajas de la lógica programable vs la lógica cableada

Se puede hablar de las siguientes ventajas del uso de los PLC frente a lógica cableada antigua:

 Menor tiempo empleado en la elaboración del proyecto.


 Posibilidad de introducir modificaciones sin cambiar el cableado ni añadir elementos.
 Reducido espacio de ocupación.
 Menor costo de mano de obra de instalación.
 Menor tiempo para la puesta en funcionamiento, al quedar reducido el de cableado.
 Posibilidad de controlar varias máquinas con el mismo autómata.
 Economía de mantenimiento.
 Si por una razón la máquina queda fuera de servicio, el PLC sigue siendo útil para otra
máquina o sistema de producción.

Como es una tecnología que sigue evolucionando, seguramente este listado se incrementará día
a día.

16. PLC. Descripción interna

Podemos distinguir cinco bloques en la estructura interna de los Autómatas Programables, que
pasaremos a describirlos:

A
S E Fuente de Alimentación
c
e n S t
n t a u
s r Unidad Central de l a
o a i d
Procesamiento (CPU) d
r d o
a a r
e s
s s Interfaces e
s

Periféricos
PLC, PC,
Impresora,
Programador Etc.

 Bloque de Entradas: En él se reciben las señales que proceden de los sensores. Estas son
adaptadas y codificadas de forma tal que sean comprendidas por la CPU. También tiene como
misión proteger los circuitos electrónicos internos del PLC, realizando una separación eléctrica
entre éstos y los sensores.

 Bloque de Salidas: Trabaja de forma inversa al anterior. Interpreta las órdenes de la


CPU, las descodifica y las amplifica para enviarlas a los actuadores. También tiene una
interface para aislar la salida de los circuitos internos.

 Unidad Central de Procesamiento (CPU): En ella reside la inteligencia del sistema. En


función de las instrucciones del usuario (programa) y los valores de las entradas, activa las
salidas.

 Fuente de Alimentación: Su misión es adaptar la tensión de red (220V/50Hz) a los


valores necesarios para los dispositivos electrónicos internos (generalmente 24Vcc y 5Vcc).

70
Víctor M. Zumaeta Diseño Lógico I - Teoría

 Interfaces: Son los canales de comunicación con el exterior. Por ejemplo con:
• los equipos de programación
• otros autómatas.
• computadoras.
• etc..

17. PLC. Compactos y modulares

La Estructura externa se refiere al aspecto físico exterior del PLC. Actualmente en el mercado
existen dos tendencias:

 Diseño compacto: En un solo bloque residen todos sus elementos (fuente, CPU,
entradas/salidas, interfaces, etc.). Tienen la ventaja de ser generalmente más baratos y su
principal desventaja es que no siempre es posible ampliarlos.

 Diseño modular: Los distintos elementos se presentan en módulos con grandes


posibilidades de configuración de acuerdo a las necesidades del usuario. Una estructura muy
popular es tener en un bloque la CPU, la memoria, las interfaces y la fuente. En bloques
separados las unidades de entrada/salida que pueden ser ampliadas según necesidades.

+
+ +
+

18. PLC. Tipos de entradas y salidas

Unidades de Entrada: Son los dispositivos básicos por donde llega la información de los
sensores. Vienen con distintas posibilidades:

 Analógicas. Se deben usar cuando la entrada corresponde a una medida de por ejemplo:
temperatura, presión, etc. En su interior tienen un dispositivo que convierte la señal analógica a
digital (conversor A/D). Vienen en distintos rangos de tensión e intensidad. (por ejemplo 0 a
10V, 0 a +- 10V, 4 a 20 mA, etc.). La resolución puede ser de 8 o 12 bits.
 Digitales. Son las más utilizadas y corresponde a señales todo/nada. O sea la presencia o
no de una tensión (por ejemplo de fines de carrera, termostatos, pulsadores, etc.). Esta tensión
puede ser alterna ( 0-220V, 0-110V) o continua (generalmente 0-24V).

Unidades de Salida: Son los bloques básicos que excitarán los actuadores. Al igual que las
entradas pueden ser analógicas o digitales:

 Analógicas. Se deben usar cuando el actuador que se debe activar es analógico (por
ejemplo una válvula modulante, un variador de velocidad, etc.). En este caso se dispone de un
71
Víctor M. Zumaeta Diseño Lógico I - Teoría

dispositivo interno que realiza el proceso inverso al de las entradas analógicas, un conversor
D/A.
 Digitales. Vienen de tres tipos. Con salida a triac, a relé o a transistor. En el primer caso
es exclusivamente para corriente alterna. En el segundo puede ser para continua o alterna. En el
caso de salida a transistor es exclusivamente para continua. Soportan en todos los casos
corrientes entre 0,5 y 2 A.

19. PLC. Lenguajes de programación

Son las reglas por las cuáles se le escribe el programa al PLC. Es más bien una característica
del dispositivo programador. Existen diferentes lenguajes que el usuario puede elegir de acuerdo
a su gusto o experiencia.
 Listado de instrucciones: Como su nombre lo indica se trata de introducir una lista de
instrucciones que debe cumplir el autómata.
 Con símbolos lógicos: La programación se realiza usando símbolos similares a los que
vimos para las compuertas lógicas.
 Con símbolos de contactos: Es el más popular y la programación se lleva a cabo usando
redes de contactos (ladder).

20. PLC. Funcionamiento interno

En la figura que se muestra a continuación, se describe esquemáticamente el funcionamiento


de un PLC. En ella podemos distinguir una secuencia que cumple a la puesta en marcha, dónde
realiza un autotest para verificar sus conexiones con el exterior (por ejemplo si tiene conectado
algún dispositivo de programación. Además dentro de este mismo proceso coloca todas las
salidas a 0. Luego entra en un ciclo que comienza leyendo y fijando (“fotografiando”) el valor de
las entradas (hasta que vuelva a pasar por esta etapa no detectará cualquier variación en ellas).
A continuación comienza a cumplir instrucción por instrucción del programa (ejecución). Con
los resultados que va obteniendo “arma”, internamente, “una imagen” de lo que va a ser la salida.
Una vez que llega al final del programa recién transfiere esa imagen a los bornes de la salida
(actualiza salidas). Cumplida esta tarea, realiza una nueva prueba interna, y vuelve a “cargar” las
entradas y así sucesivamente.

Arranque Autotest
Inicial

Lee Entradas

Autotest
Ejecuta Programa Ciclo

Actualiza Salidas

72
Víctor M. Zumaeta Diseño Lógico I - Teoría

El tiempo que demora en recorrer el ciclo de trabajo, depende del tamaño del programa
(cantidad de instrucciones) pero es muy pequeño, del orden de los milisegundos.

21. PLC. Memorias del usuario: Tipos, Características

Llamamos memoria a cualquier dispositivo que nos permita guardar las instrucciones escritas
por el programador. Su capacidad de almacenamiento se mide en Kbyte o en Mbyte y está
relacionada con el tamaño máximo del programa que podemos escribir.
En la mayoría de los casos están diseñadas con elementos electrónicos. Se distinguen varios
tipos:

 PROM (Programmable Read Only Memory). Memorias para ser leídas únicamente.
Permiten ser programadas una sola vez. Normalmente se usan para automatismos de equipos
fabricados en serie. Ante una falta de energía mantienen su contenido.
 EPROM: Son iguales a las anteriores, pero está permitido borrar su contenido para
reprogramarlas. El borrado se realiza por la aplicación de luz ultravioleta, a través de una
ventanilla de cuarzo en su encapsulado.

 EEPROM: Iguales a las anteriores pero el borrado se realiza por la aplicación de señales
eléctricas.

 RAM (Random Access Memory): O memorias de acceso aleatorio. Está permitido


escribirlas y borrarlas eléctricamente. Su lectura y escritura son muy veloces. Ante una falta de
energía su contenido se pierde, por lo que deben usarse alimentadas con pilas de Litio (duración
de la pila más o menos 5 años).

Estas dos últimas son las más usadas en la actualidad.

73
Víctor M. Zumaeta Diseño Lógico I - Teoría

Índice

Evaluativo 1 ...................................................................................................................................1

Evaluativo 2 .................................................................................................................................11

Evaluativo 3 .................................................................................................................................18

Evaluativo 4 .................................................................................................................................32

Evaluativo 5 .................................................................................................................................45

Evaluativo 6 .................................................................................................................................60

74

Potrebbero piacerti anche