Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Sistemas Digitales
Contenidos:
Sistemas Combinacionales.
Sistemas Secuenciales:
Asincrnicos.
Sincrnicos.
Lenguajes de Diseo Digital. Diseo de Mquinas.
Dispositivos Lgicos Programables.
Referencias
05-03-2004
SISTEMAS COMBINACIONALES
1.
ALGEBRA DE BOOLE
1.1.
Postulados
P.1
Definicin:
El lgebra de Boole es un sistema algebraico cerrado que contiene un conjunto B de dos
elementos, {0, 1}; y dos operadores { , +}. Los operadores tambin suelen representarse
segn: {AND, OR}.
La clausura implica que si a y b pertenecen a B, entonces: ab y a+b tambin pertenecen a B.
P.2
Igualdad.
Dos expresiones son iguales si una puede ser substituida por la otra.
P.3
Elementos nicos.
Existen elementos nicos (0 y 1) en B tal que para cada a en B se tienen:
a+0=a
a1 =a
P.4
Conmutatividad.
Si a y b pertenecen a B:
a+b=b+a
ab =ba
P.5
Asociatividad.
Si a, b y c pertenecen a B:
a + (b + c) = (a + b) + c
a (b c) = (a b) c
05-03-2004
P.6
Distributividad.
Si a, b y c pertenecen a B:
a + (b c) = (a + b) (a + c)
a (b + c) = (a b) + (a c)
Complementariedad.
Si a pertenece a B:
1=0
0 =1
a=a
Es decir, las igualdades anteriores no son postulados.
Sobre las demostraciones de Teoremas.
Cada paso en las demostraciones consiste en la aplicacin de P.2, regla de sustitucin, en conjuncin
con otros postulados o teoremas ya demostrados. Se agrega a cada lnea, como comentario, el
postulado usado.
Ejemplo 1.1
Teorema. Complemento de 1.
Se desea demostrar que : 1 = 0
05-03-2004
Se tienen:
a1=a
01=0
(i)
10=0
; P3 Elemento nico 1.
; P2 Sustitucin de a por 0.
; P4 Conmutacin del producto.
Y tambin:
a+0=a
(ii)
1+0=1
; P3 Elemento nico 0.
; P2 Sustitucin de a por 1.
Ejemplo 1.2.
Teorema de involucin.
a =a
Demostracin:
Si el complemento nico de a es (a). Por P7, debera cumplirse:
a + (a) = 1
a (a) = 0 (i)
Por P.7 se tienen:
a + a = 1
a a = 0
Aplicando P4, a las dos ltimas proposiciones, se tienen:
a + a = 1
a a = 0
(ii)
Comparando (i) y (ii), y empleando P2, se demuestra que puede substituirse (a) por a.
05-03-2004
Observaciones.
1)
Ejemplo : AB + AB + A C = AB + AB + BC
No pueden cancelarse AB y AB.
Notar que el operador and no suele escribirse entre las letras de las variables.
2)
3)
Ejemplo : AB + A B + AC = AB + A B + BC
4)
A'B' (AB)'
1.2.
Diagramas de Venn
AB
A+B
(A+B)
Unin
AB
Interseccin
05-03-2004
a+0
a1
a
1.3. Dualidad
Dada una ecuacin lgica, la dual se obtiene reemplazando los operadores:
+ por
por +,
y las constantes:
1 por 0
0 por 1.
Observaciones:
Los postulados 3 al 7 se muestran en parejas de ecuaciones duales.
Los teoremas tambin se plantean en parejas de ecuaciones duales.
Ntese que una variable no se complementa para formar la expresin dual.
Este es un teorema acerca de teoremas. Plantea que cualquier teorema que pueda ser
demostrado, tambin podr ser demostrado para la proposicin dual.
Antes de obtener el dual de una expresin, conviene asociar los operandos con los operadores que les
corrresponden, mediante el uso de parntesis:
AB + C debe interpretarse, segn convenios algebraicos tradicionales, como: (AB) + C; en este caso,
la expresin dual es: (A + B) C
Si se determina directamente la expresin dual, mediante el procedimiento de cambiar el or por and y
viceversa, se obtendra errneamente: A + BC.
En el lgebra de Boole los operadores ( , + ) tienen igual jerarqua. Y es necesario emplear parntesis
para asociar correctamente los operandos con el operador.
En el lenguaje C, el operador !, la negacin lgica, es un operador unario que tiene la ms alta
precedencia; luego viene el &, el and; despus el ^, el or exclusivo; despus el | , el or. La precedencia
indica que un operador de mayor precedencia toma sus operandos antes que uno de menor precedencia;
de esta forma pueden escribirse, generalmente, operaciones lgicas sin emplear parntesis.
05-03-2004
1.4.
Teoremas
T.8
Idempotencia.
a+a=a
a a=a
Demostracin de la primera proposicin.
a
= a
;P2
= a+0
;P3
= a + ( a a )
;P7
= ( a + a )( a + a )
;P6
= (a+a)1
;P7
= a+a
;P3
T.9
T.10
Absorcin.
a + ab = a
a(a + b) = a
Demostracin de la primera proposicin:
a + ab = a + ab
; P.2
= a1 + ab
; P.3
= a(1 + b)
; P.6
= a(b + 1)
; P.4
= a1
; T.9
= a
; P.3
Se absorbe b.
T.11
a + ab = a + b
a ( a + b ) = ab
Demostracin de la primera proposicin:
05-03-2004
a + ab = a + ab
= ( a + a ) ( a + b )
= 1 ( a +b )
= ( a +b )
T.12
;P2
;P6
;P7
;P3
De Morgan.
a + b = ab
ab = a + b
Demostracin de la segunda proposicin:
Por P7 se tiene que si (ab) es el complemento nico de ab, entonces:
(ab) + (ab) = 1
T12.a
(ab) (ab) = 0
Por otro lado tenemos:
(ab)(a +b)
= ( ab )( a+b )
;P2
= aba + abb
;P6
= 0b + a0
;P4, P7 y P5
= 0+0
;T9
= 0
;P3
T12.b
Tambin tenemos que:
(ab) + (a +b) = (ab) + (a + b)
;P2
= (a' + b') + (ab)
; P4
= ((a +b) + a)((a +b) + b) ;P6
= ((a +a') + b')( a' + (b + b')) ;P4 y P5
= ( 1 +b)(a +1)
;P7
= (1)(1)
;T9
= 1
;P3 T12.c
Entonces de T12.a, T12.b y T12.c, y empleando P2, se logra:
(ab) = (a + b)
Generalizacin de De Morgan:
f (x1, x2, ..., xn, 0, 1, +, ) = f(x1, x2, ..., xn, 1, 0, , +)
Ver Teorema 16.
T.13
Consenso.
ab + a c + bc = ab + a c
(a + b)(a + c)(b + c) = (a + b)(a + c)
bc es el trmino de consenso entre ab y a'c.
05-03-2004
T.14
Fusin.
ab + ab = a
(a + b)(a + b)= a
T.15
Factorizacin
ab + ac = ( a + c )( a + b )
( a + b )( a + c ) = ac + a b
Un caso ms general del T.15b es el siguiente.
Ejemplo 1.3.
Visualizacin del teorema del consenso.
ab + a c + bc = ab + a c
T.13:
b
ab
b
ac
05-03-2004
a
bc
b
c
ab+ac
b
c
05-03-2004
10
2.
Funciones Booleanas
2.1.
Definiciones
i)
Una variable es un smbolo, el cual puede ser sustituido por un elemento del conjunto {0,1}.
ii) El elemento que es sustituido por el smbolo de la variable se llama el valor de la variable.
iii) Una funcin de n variables f(x1,x2, .. ,xn), es un mapeo o correspondencia que asocia un valor a f,
con cada una de las posibles combinaciones de valores que pueden tomar las variables.
iv) Una expresin queda definida, recursivamente, por las reglas:
a)
b)
v) Una funcin booleana es cualquier funcin f(x1,x2, .. ,xn), para la cual existe una expresin
X(x1,x2, .. ,xn), tal que:
f(x1,x2, .. ,xn) = X(x1,x2, .. ,xn)
vi) Un literal es el smbolo empleado para una variable o su complemento.
Entonces:
Si x1,x2, ,xn son variables que pueden tomar los valores 1 y 0 entonces:
f(x1,x2, .. ,xn), es una funcin booleana de x1,x2, .. ,xn.
La funcin f puede tomar valores 1 0 dependiendo de los valores de las variables.
Resumen:
La siguiente sintaxis, muestra la formacin recursiva de expresiones como suma de trminos.
Una expresin es un OR de sus trminos.
Un trmino es el AND de sus factores.
Un factor es: una constante, o una variable, o un NOT de un factor, o una expresin entre
parntesis.
Ejemplo:
0 + a + bc + d + (c+d) e
a(1)(c+d)(e + f)
05-03-2004
11
2.2.
Cada salida de un sistema digital combinacional puede describirse por una funcin booleana de sus
variables de entrada. Es decir, las salidas de una red combinacional dependen solamente de sus
entradas. Lo anterior se considera la definicin de un sistema digital combinacional.
a) Expresiones.
Una funcin puede ser descrita por una expresin.
Ejemplo:
f( A, B, C) = AB + AC + AC
La funcin puede evaluarse para las diferentes combinaciones de valores que tomen las variables.
Se ilustra la evaluacin de la funcin para A = 1, B = 0 y C = 0.
= 1 0 + 1 0 + 1 0
= 0 +00+11
= 1
f( 1, 0, 0)
b) Tabla de verdad
Una funcin puede ser descrita por una tabla de verdad.
Una tabla de verdad despliega todas las posibles combinaciones de valores de las variables y el valor
asociado de la funcin. Por ejemplo, para la expresin del punto a):
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
f
0
1
0
1
1
0
1
1
c) Esquema Lgico.
Un diagrama empleando smbolos estandarizados para las funciones lgicas.
La figura 2.1. representa mediante smbolos normalizados a la tabla del punto b).
05-03-2004
12
A
B
A
C
A
C
c
b
a
f
10
20
30
40
50
60
70
80
90
100
05-03-2004
13
e) Diagramas de Venn.
Similares al visto en el Teorema 13 de consenso.
f) Mapas de Karnaugh.
Es la principal representacin de funciones booleanas, que se desarrollar ms adelante.
g) N-cubos.
Diagrama en un espacio discreto multidimensional, que se ver ms adelante, como fundamento de los
mapas de Karnaugh.
h) Lenguajes
El empleo de lenguajes para descripcin de sistemas bolanos, se utilizar en el laboratorio.
05-03-2004
14
22
0
1
2
1
2
4
2
4
16
3
8
256
4
16
65536
...
...
Figura 2.3. Nmero de funciones
El caso n = 0 se interpreta como una funcin descrita por 0 variables; es decir por una constante. En
esta situacin existe slo un valor posible (N=1) y como la constante puede ser 0 1 el nmero de
funciones de cero variables es 2.
2.3.2 Funciones de dos variables.
Para n = 2 las tablas de verdad tienen cuatro renglones. Los cuatro casilleros de una funcin pueden
llenarse de 16 formas, las que se muestran en la siguiente tabla.
A
0
0
1
1
B
0
1
0
1
f0
0
0
0
0
f1
1
0
0
0
f2
0
1
0
0
f3
1
1
0
0
f4
0
0
1
0
f5
1
0
1
0
f6
0
1
1
0
f7
1
1
1
0
f8
0
0
0
1
f9
1
0
0
1
f10
0
1
0
1
f11
1
1
0
1
f12
0
0
1
1
f13
1
0
1
1
f14
0
1
1
1
f15
1
1
1
1
05-03-2004
15
f0 = 0
f1 = A'B' = (A + B)'
f2 = A'B
f3 = A'B' + A'B = A'
f4 = AB'
f5 = A'B' + AB' = B'
f6 = A'B + AB'
f7 = A'B' + A'B + AB' = A' + B' = (AB)'
f8 = AB
f9 = A'B' + AB
f10 = A'B + AB = B
f11 = A'B' + A'B + AB = A' + B
f12 = AB' + AB = A
f13 = A'B' + AB' + AB = A + B'
f14 = A'B + AB' + AB = A + B
f15 = A'B' + A'B + AB' + AB = 1
05-03-2004
16
B
0
1
0
1
OR
0
1
1
1
XOR
0
1
1
0
p
1
0
0
1
q
1
0
1
0
pq
1
1
1
0
La implicacin es falsa si el consecuente es falso cuando el antecedente es verdadero. Debe notarse que
cuando el antecedente es falso el condicional es verdadero. Si el antecedente y consecuente son
verdaderos, entonces el condicional es verdadero.
Se destaca que la implicacin condicional es una expresin que puede ser falsa.
p q equivale lgicamente con (p'+q).
Si se considera que 1 es mayor que 0, tambin puede tratarse como p q.
Tambin es equivalente con la expresin q' p', que se denomina implicacin conjugada.
Condiciones suficientes y necesarias.
Cuando p q es verdadero, para que q sea verdad es condicin suficiente que p sea verdad. Pero no es
condicin necesaria, ya que q puede ser verdad, an siendo p falso.
Cuando p q es verdadero, para que p sea verdad es necesario que q sea verdad.
La siguiente expresin se denomina silogismo: (p (p q) ) q
Razonamiento Deductivo.
La expresin p q tambin puede leerse: q se deduce lgicamente de p. O tambin: La conclusin q
se infiere de la hiptesis p.
Para que el razonamiento sea vlido la expresin p q, debe ser una tautologa.
05-03-2004
17
Se denomina tautologa a una expresin que es verdadera bajo cualquier interpretacin. Y se denomina
contradiccin a una expresin que es falsa bajo cualquiera interpretacin.
Formas de razonamiento:
Modus ponens:
En esta forma de razonar debe demostrarse que (p (p q) ) q es una tautologa.
Modus tolens:
En esta forma de razonar debe demostrarse que (q' (p q) ) p' es una tautologa.
Transitividad.
En esta forma de razonar debe demostrarse que (p q) (q r) (p r) es una tautologa.
Formulacin de expresiones booleanas.
A partir de la descripcin de un problema, generalmente expresada en forma de texto, se desea obtener
frmulas lgicas mediante expresiones que emplean variables booleanas.
Ejemplo 2.1.
(Taub): En un estante hay 5 libros(v, w, x, y, z) que se pueden tomar cumpliendo las siguientes reglas:
a) Se seleccionan v o w o ambos
b) Se seleccionan x o z pero no ambos
c) se selecciona v y z juntos, o bien una seleccin que no incluya a ninguno de ellos
d) si se selecciona y, tambin debe seleccionarse z
e) si se selecciona a w, tambin debe seleccionarse a v e y.
Expresar cmo seleccionar un grupo de libros cumpliendo las reglas anteriores.
Solucin.
Sean:
u la proposicin lgica que indica que la seleccin de libros cumple las reglas
el nombre del libro es la proposicin lgica que indica que se tom dicho libro para formar la
seleccin.
Como las reglas de seleccin deben cumplirse simultneamente, debe entenderse que debe cumplirse la
primera regla y la segunda, y as sucesivamente.
Por lo tanto: u es igual al and de las reglas individuales.
La regla a), establece el or ( incluye a ambos) de v con w. Es decir: v + w.
La regla b), establece el xor (no incluye a ambos) de x con z. Es decir: x z.
regla c)
05-03-2004
18
0
0
1
1
0
1
0
1
1
0
0
1
Es decir: (v z)'
La regla d) traducida es: y z
La regla e) traducida es: w vy
Entonces: u = (v + w)( x z) (v z)' (y z)( w vy )
Reemplazando los operadores por or, and y not, se obtiene:
u = (v + w)(xz' + x'z)(vz + v'z')(y' + z)( w' + vy)
Efectuando los productos:
(v+w) (vz +v'z') = vvz + vv'z + vwz + v'wz' que se simplifica a: vz + v'wz'
(xz' +x'z)(y' +z) = xy'z' + x'y'z + xzz' + x'zz que se simplifica a : xy'z' + x'z
entonces queda: u = (vz + v'wz' )( xy'z' + x'z )( w' + vy)
El producto (vz + v'wz' )( w' + vy) puede simplificarse a: (vw'z + vyz)
Y el producto ( xy'z' + x'z ) (vw'z + vyz) = x'vw'z + x'vyz
Finalmente: u = vx'z(w' +y)
Que puede leerse:
Se debe seleccionar v y z, y rechazar x; y si se selecciona w tambin debe seleccionarse y.
Una frase alternativa para (w' +y) es: si no se selecciona w, la seleccin de y es opcional.
05-03-2004
19
Ejemplo 2.2.
(Dietmeyer). Tres interruptores(a, b, c) controlan dos ampolletas(una roja R, y otra verde V) del modo
siguiente:
a) Cuando los tres interruptores estn cerrados, se enciende la luz roja.
b) Cuando el interruptor A est abierto y B o C estn cerrados se enciende la luz verde.
c) No deben encenderse ambas ampolletas a la vez.
d) En el resto de los casos la roja debe encenderse, excepto cuando los tres interruptores estn
abiertos, en este caso no debe encenderse ninguna ampolleta.
Solucin:
Se emplea la siguiente asignacin de valores lgicos:
a interruptor cerrado se asigna 1 lgico,
a ampolleta encendida se le asigna 1 lgico.
La especificacin b) se interpreta como o incluyente.
De la condicin d), se extrae la especificacin e)
e) cuando los tres interruptores estn abiertos no debe encenderse ninguna ampolleta.
Si se puede completar la tabla de verdad, el problema est completamente especificado:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
por condicin d
R
0
0
0
0
1
1
1
1
V
0
1
1
1
0
0
0
0
por condicin a.
por condicin e
por condicin b.
por condicin c
por condicin c
05-03-2004
20
05-03-2004
21
2.4.
Ejemplo 2.3.
f(x, y, z) = xy(z+yx) +yz
J Q
C _
KR Q
D Q
_
C Q
A'
A
05-03-2004
22
Ejemplo 2.4.
Como se ha dicho: Existen diversas expresiones para una misma funcin.
Sea la funcin f(A, B, C) = A' B' (C +D)
Si consideramos la seal interna: S1 = C + D, se puede expresar: f = A' B' S1
Que puede implementarse con compuertas segn:
A
B
C
D
S1
Figura 2.7. Diseo en dos niveles.
La representacin es en dos niveles. Definiendo el nivel por el nmero de compuertas a travs de las
cuales se propagan las seales de entrada hasta llegar a la seal de salida.
La implementacin, de la figura 2.7., tiene 7 entradas. Y emplea una compuerta que tiene ms de dos
entradas(3 en el and del ejemplo).
Si expresamos ahora la misma funcin f por la expresin: f = (A' (B' (C + D))
Y si consideramos las siguientes seales internas: S1 = C + D; S2 = S1 B'.
Puede expresarse a f segn: f = A' S2. De este modo todas las compuertas empleadas no tienen ms de
dos entradas, segn puede verse en el esquema siguiente, de la figura 2.6:
B
C
D
S2
S1
Figura 2.8. Diseo en tres niveles.
La implementacin de la figura 2.8. tiene 8 entradas. Esto es sumando las entradas a todas las
compuertas.
Notando que un cambio en la seal C o D o B, debe propagarse por tres compuertas, se dice que el
circuito est implementado en tres niveles. La seal A se propaga en dos niveles hasta la salida f.
c) Si lo que se desea es aumentar la velocidad de respuesta, se requiere disminuir el nmero de
niveles.
05-03-2004
23
Para lograr esto, en general se requerirn compuertas con mayor nmero de entradas lo cual aumenta el
costo en tamao.
Obviamente existir un compromiso entre velocidad y costo; el que se suele denominar compromiso:
tiempo-espacio.
Los circuitos lgicos que tienen igual tabla de verdad son equivalentes, pero pueden tener diferente
costo, en tiempo o en espacio.
Existen diversas herramientas para explorar el compromiso entre retardos y tamao, que permiten
generar automticamente diferentes soluciones, empleando minimizacin lgica para reducir la
complejidad espacial y optimizacin de los retardos para aumentar la velocidad de respuesta.
Algunos teoremas tiles con funciones de varias variables son los siguientes.
Funcin Dual
T.17
Reduccin.
05-03-2004
24
ndice de figuras
Figura 1.1. Unin e Interseccin............................................................................................................. 5
Figura 1.2. Conjunto Universal y Vaco ................................................................................................. 6
Figura 1.3. Teorema del Consenso.......................................................................................................... 9
Figura 1.4. Trmino de consenso .......................................................................................................... 10
Figura 2.1. Esquemtico de AB + AC + AC ..................................................................................... 13
Figura 2.2. Diagrama temporal ............................................................................................................ 13
Figura 2.3. Nmero de funciones......................................................................................................... 15
Figura 2.4. Funciones de dos variables ................................................................................................ 15
Figura 2.5. Salidas complementadas en Flip-flops ............................................................................... 22
Figura 2.6. Entradas complementadas .................................................................................................. 22
Figura 2.7. Diseo en dos niveles. ....................................................................................................... 23
Figura 2.8. Diseo en tres niveles. ........................................................................................................ 23
05-03-2004
25