Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
B , i ) B a 0 ( ) a , a ,..., a , a ( a
i ) B 0 1 1 n n
.
Un nmero se puede representar como un polinomio de potencias de la base
multiplicadas por un smbolo perteneciente al sistema.
Por ejemplo, supongamos un nmero cualquiera del sistema genrico anterior en base
once (B=11) y llamemos a sus smbolos con las 11 primeras letras del abecedario
) K a ,..., B a , A a (
10 1 0
. Supongamos el nmero DIGA. Tal nmero se podra
expresar de la forma:
0 1 2 3
11 A 11 G 11 I 11 D DIGA + + +
Los exponentes a los que est elevada la base B en cada trmino del polinomio
representan el peso que tiene cada smbolo (dgito) dentro del nmero DIGA.
Y si queremos cuantificarlo (tener una idea de lo grande que es), bastar considerar el
valor que tiene cada smbolo (el lugar que ocupa en el sistema, o lo que es lo mismo,
el subndice i con el que lo hemos nombrado). As, para los mortales, fuertemente
arraigados a la base diez, el valor del nmero sera:
{{ {{
5027 0 66 968 3993 11 0 11 6 11 8 11 3 A G I D
0 1 2 3
0 6 8 3
+ + + + + +
Esa misma secuencia de smbolos, en base 9, ) I a ,..., B a , A a (
9 1 0
:
{{ {{
2709 0 54 648 2187 9 0 9 6 9 8 9 3 A G I D
0 1 2 3
0 6 8 3
+ + + + + +
Y, ni que decir tiene, que en base 10 el nmero es 3860.
{{ {{
3860 0 60 800 3000 10 0 10 6 10 8 10 3 A G I D
0 1 2 3
0 6 8 3
+ + + + + +
Resumiendo:
- El peso de un dgito en un nmero es el lugar que ocupa en el nmero.
Ej. peso(G,DIGA) =1
- El valor de un dgito en un sistema es el lugar que ocupa en el sistema.
Ej. valor(G,{A,B,C,D,E,F,G,H,I,J,K}) = 6
SITEMAS DECIMAL Y BINARIO. CONVERSION.-
Como se ha dicho antes, los humanos estamos tan arraigados al sistema de numeracin
en base diez llamado sistema decimal, con los smbolos {0,1,2,3,4,5,6,7,8,9} que es el
nico que nos da una idea cuantitativa de la cantidad de una magnitud simplemente con
ver el nmero que la representa en esta base. Y tambin estamos tan acostumbrados a
usar las operaciones suma y producto, con sus propiedades que le configura a los
nmeros reales la estructura algebraica de cuerpo, que incoscientemente, las utilizamos
al hacer operaciones mas complejas.
Pero las mquinas, en electrnica digital, trabajan con un sistema de numeracin en
base dos llamado sistema binario (con solo dos smbolos {0,1}), con tres operaciones
bsicas - dos binarias (unin, interseccin) que las representamos como suma lgica + y
producto lgico , y una unaria (complementacin) que aplicada a un smbolo, devuelve
el otro de los dos que tiene el sistema- y ese sistema con ese conjunto de operaciones
posee la estructura algebraica de Algebra de Boole Bivaluada.
Por tanto deberemos ser capaces de trasladar nuestro sistema de numeracin al binario y
viceversa con el fin de trasmitir e interpretar la informacin. Para ello tambin
utilizamos otros sitemas de numeracin en base potencia de dos (base 4, base 8 u octal,
base 16 o hexadecimal, etc) que nos permite una fcil conversion con el sistema binario
natural.
Paso de sistema binario a decimal:
Sin decimales:
Se resuelve planteando el polinomio, teniendo en cuenta que el valor del smbolo en
decimal coincide con la representacin del smbolo, lo cual lo hace mas fcil.
6 5 4 3 2 1 0
2) 10)
1011011 12 02 12 12 02 12 12 64 0 16 8 0 2 1 91 + + + + + + + + + + + +
Observese que los exponentes (el grado del monomio) indican el peso del dgito binario.
Con decimales:
{ { { { { { { { { { {
6 5 4 3 2 1 0 1 2 3 4
2)
64 16 8 2 1 1 1 1 0 0 0
2 8 16
1011011,1011 12 02 12 12 02 12 12 12 02 12 12
8 0 2 1 11
64 0 16 8 0 2 1 91 91 0,6875=91,6875
16 16
+ + + + + + + + + +
+ + +
+ + + + + + + + +
Paso de sistema decimal a binario:
Sin decimales:
Se va dividiendo el nmero sucesivamente entre 2 y extrayendo los restos que van
conformando el nmero, teniendo en cuenta que el primer resto es el dgito binario de
menor peso.
Con decimales:
La parte entera, se hace como se acaba de ver, y la parte decimal, se va multiplicando
por 2 y extrayendo la parte entera de los resultados.
Puede ser que un nmero en un sistema sea decimal peridico y en otro no, como acaba
de ocurrir aqu.
Dependiendo del nmero de bits con el que estemos trabajando, se podr dar una
precisin u otra, por ejemplo si disponemos de una anchura de 5 bits, el mayor nmero
que podremos representar en sistema binario natural es el 31 ( } 31 ... 0 { , 32 2
5
).
SISTEMA HEXADECIMAL (Sistema en base 16).-
El conjunto de smbolos que posee son } F , E , D , C , B , A , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 { S
16
, es
decir, se utilizan los mismos diez smbolos que en el sistema decimal, mas las seis
primeras letras del abecedario.
Como es un sistema que es potencia de 2 (
4
2 16 ), la conversin de nmeros entre el
sistema binario y l es inmediata, es decir, cada dgito hexadecimal ocupa 4 dgitos
binarios (4 bits).
Si nos aprendemos la forma binaria de cada dgito hexadecimal, la conversin de
binario a hexadecimal y viceversa es directa:
Pero tambin podemos hacerla utilizando la forma del polinomio:
E 14 0 2 4 8 2 2 2 2 1110
0 1 2 3
) 2
+ + + + + + 0 1 1 1
OTROS SISTEMAS DE NUMERACION.-
Otros sistemas de numeracin de potencia de dos y por tanto de conversin directa son:
Sistema en base 4: Para la conversin se cogen paquetes de 2 bits.
Sistema en base 8: Para la conversin se cogen paquetes de 3 bits.
EJERCICIO.-
Disear un sistema combinacional que detecte los mltiplos de 3 menores de 14.
Solucin:
Primero consideraremos si el cero es multiplo de 3. Tomaremos arbitrariamente
que no.
Si el circuito tiene que permitir a la entrada nmeros entre 0 y 13, necesitaremos 4
lneas de entrada que nos permiten 16 estados distintos ( 16 2
4
), de los que vamos a
utilizar 14 {0...13}. Los dos restantes sern estados no importa o trminos
redundantes es decir, que ser indiferente si contienen un 0 o un 1, por lo que
consideraremos que contienen 0 1 segn nos convenga para hacer el diseo del
circuito lo mas simple posible.
Construyamos ahora la tabla de verdad del circuito:
Tabla de verdad de 4 variables
Esta funcin puede expresarse de dos formas:
- Como suma lgica de minterms cannicos:
D C AB D C B A D BC A CD B A ) 12 , 9 , 6 , 3 ( F
) D , C , B , A (
+ + +
- Como producto lgico de maxterms cannicos:
) 13 , 11 , 10 , 8 , 7 , 5 , 4 , 2 , 1 , 0 ( F
) D , C , B , A (
N A B C D F
(A,B,C,D)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 0
X 1 1 1 0 x
X 1 1 1 1 x
LECCION 4.- ARITMETICA BINARIA. -
OPERACIONES ARITMETICAS EN BINARIO.-
Podemos servirnos de las propiedades que posee el lgebra de Boole para disear
circuitos combinacionales que nos permitan realizar las operaciones matemticas
comunes que nosotros entendemos en base diez, simplemente trasladando tales
operaciones al sistema binario. Para ello, nuestro sitema dispondr de una serie de
entradas, donde le pondrenos la informacin en sistema binario y nos proporcionar una
serie de salidas con la informacin resultado, utilizando una serie de tcicas que
veremos a continuacin.
SUMA ARITMETICA. - Para comenzar, como mnima expresin de la suma
aritmtica, vamos a implementar un sistema que sea capaz de sumar dos nmeros
binarios de un solo dgito. Y lo vamos a hacer tal como nos ensearon a sumar en la
escuela: Cuando la suma de los sumandos es mayor que el dgito de mayor valor,
decamos nos llevamos uno que lo trasladabamos como sumando al dgito siguiente.
A ese nmero que nos llevamos le vamos a llamar acarreo (carry en ingls).
Nuestro sitema tendr dos entradas binarias A y B y dos salidas: una S para el resultado
y otra C indicando el acarreo.
La tabla de verdad indica los valores de S y C para las posibles entradas de A y B y las
puertas lgicas que cumplen la tabla son las expuestas en el grfico.
Nuestro circuito se llama semisumador porque no est preparado para procesar el
acarreo proveniente de otro semisumador, por tanto sabe llevarse una pero no sabe
agregarla si se la aporta otro dgito. El siguiente circuito se llama celda sumadora total
o sumador total ST y est preparado para procesar el acarreo:
Este circuito combinacional es capaz de hacer la suma aritmtica de dos nmeros
binarios de un dgito con acarreo. Si tenemos que procesar nmeros de ms dgitos,
bastar poner tantas celdas sumadoras totales como dgitos binarios precisemos,
dispuestas como indica el esquema siguiente:
El contenido de la entrada de acarreo inicial debe ser nula, puesto que en el primer
dgito nunca nos llevamos una por tanto se ha llevado al cero lgico (masa si el uno
significa Vcc o Vcc si el 1 significa masa) y el contenido de la salida del acarreo final se
llevar a un dgito adicional o bien a una salida que indique fuera de lmites.
Al igual que se ha elaborado una celda sumadora total, tambin se puede implementar
una celda restadora total. Su estructura sera:
Tiene como entradas el minuendo (M) el sustraendo (S) y el acarreo (C
-1
) y como
salidas el resultado (R) y el acarreo (C).
El resultado es el mismo que para el sumador total, pero el acarreo no lo es como se
aprecia en la funcin de salida y en el circuito.
El resultado y el acarreo se obtienen en la tabla de verdad con el setido comn, por
ejemplo, si
{
'
+ +
'
1 C
0 R
) 1 1 ( 0 ) C S ( M
1 C
1 S
0 M
1
1
uno
llevo me
y cero
, es decir, en bbinario,
1+1=10 y si a cero le restamos 10, como no se puede, tenemos que hacer 10-10=0 y me
llevo 1 (que la ponemos en el acarreo para sumarsela al sustraendo del dgito siguiente).
Las funciones y el circuito que confirman el resultado y el acarreo, se consiguen
expresando las salidas de la tabla como suma de minterms o producto de maxterms y
simplificando la funcin, ya sea con las propiedades del lgebra de Boole o con ayuda
de las tablas de Karnaugh-Veitech.
NOTACION Y OPERACIONES EN COMPLEMENTO A DOS. NUMEROS
BINARIOS CON SIGNO.
Hasta ahora tenemos dos circuitos combinacionales que nos permiten sumar y restar
naturales expresados en binario. Pero an no tenemos un mtodo para expresar en
binario nmeros enteros.
La primera forma que se nos ocurre para solucionar el problema, es aadir un dgito
binario que represente el signo de forma que si contiene un 1 se trate de nmeros
negativos y si contiene un cero de positivos (o al revs). Pero adems de eso vamos a
tomar un convenio que nos permitir efectuar restas sumando nmeros, de tal forma que
usando celdas sumadoras solamente podamos efectuar las dos operaciones:
Notacin de nmeros en complemento a dos.- El complemento a dos de un nmero se
obtiene segn la ecuacin:
a 2 a
n
2 c
donde a es el nmero que queremos representar y n es el nmero de bits que utilizamos
para hacer la representacin. Por tanto, no se puede hablar de la representacin en
complemento a dos de un nmero dado, si no sabemos de cuantos dgitos binarios
disponemos para representarlo.
Por ejemplo si disponemos de 4 bits, la representacin en complemento a dos del n 10
sera el nmero 6 ( 6 10 16 10 2 10
4
2 c
). En binario, sera 0110 1010
2 c
.
Convenio.- Se ha convenido representar los nmeros de la siguiente forma:
1 Quedando bien definida la longitud en bits utilizada para la representacin del
nmero.
2 Si el nmero es positivo, el bit de mayor peso ser 0 y el resto se utulizarn
para la representacin del nmero en sistema binario natural rellenando de
ceros a la izquierda los dgitos que no ocupe el nmero.
3 Si el nmero es negativo, el bit de mayor peso ser 1 y el resto se utilizarn
para la representacin en complemento a dos, del valor absoluto del nmero.
Esto, hecho as, tiene la ventaja de que al sumar un nmero y otro del mismo valor
absoluto y signo contrario, el resultado sea nulo. Por ejemplo si lo hacemos con el
nmero diez representado con 4 bits tenemos:
0 0 0 0 0
0 1 1 0 1
0 1 0 1 0
+
pues el sexto bit se pierde. En cambio, si no hubiesemos representado el diez negativo
como el complemento a dos del diez, es decir el seis, aunque el bit de mayor peso est
puesto a 1 no se lograra el resultado deseado:
0 0 1 0 0
0 1 0 1 1
0 1 0 1 0
+
De esta forma resultara que 4 ) 10 ( 10 + cosa totalmemnte falsa.
Hay dos reglillas muy tiles para obtener el complemento a dos de un nmero binario:
1.- Cambiamos los ceros por unos y los unos por ceros, y al resultado, le sumamos 1.
Ejemplo: El complemento a 2 del nmero 12 expresado con 8 bits sera:
{ 43 42 1 43 42 1
244
2 c
12
11110100 00000001 11110011 00001100 +
Esta regla se utiliza para poner a restar un sumador total de n bits, simplemente
invirtiendo los bits del segundo sumando (sustraendo) y poniendo el acarreo del
sumador de menor peso a Vcc.
2.- Conservamos los ceros de la derecha hasta el primer uno que encontremos, inclusive,
y a partir de ah cambiamos los ceros por unos y los unos por ceros restantes.
{
}
43 42 1 43 42 1
244
Intacto
2 c
12
100 11110 00001100
Hay otras notaciones para nmeros ( complemento a 1, a 6, a 9, signo y magnitud, etc)
pero no las veremos en este curso.
REPRESENTACION DE NUMEROS REALES.- Para la representacin de nmeros
reales se utilizan dos standards internacionales: uno de simple precisin con longitud de
32 bits y otro de doble precisin de 64 bits.
Estos estndares hacen una representacin del nmero en coma flotante en la forma:
Estndar IEEE 754 (Simple precisin). Utiliza 1 bit para el signo, 8 bits para el
exponente y 23 bits para la mantisa (parte fraccionaria) Ejemplo:
}
Exponente(E) Mantisa o parte fraccionaria (F)
Signo(S)
8bits 23bits
1 1001011011000100011010011101101
647486444447444448
142431444442444443
El nmero almacenado de esta forma se calcula segn la ecuacin:
S E 127
Nmero ( 1) (1 F)(2 )
+
Ejemplo:
Si tenemos el nmero
(16
N 93,231 y queremos representarlo en el estndar IEEE754
haramos lo siguiente:
Su representacin binaria es inmediata:
{{{{{
9 3 2 3 1
10010011,001000110001 pero para ponerlo
en forma de coma flotante hay que desplazar la coma 7 lugares a la izquierda para que
se quede la mantisa en la parte decimal, es decir, hay que multiplicar por
7
( 2
2 con lo que
nos queda:
{
{{{{
3 2 3 1
9
1,0010011001000110001 corriendo la coma al bit mas significativo. El
exponente a almacenar es: E 127 7 134 + y de esta forma el nmero queda como:
}
E M
S
01000011000100110010001100010000
647486444447444448
. Este es su formato de almacenamiento.
Se podra hacer una mquina que sumara en este formato? . Estudiarlo.
Veamos el problema inverso. Tenemos el nmero hexadecimal
16 (
9357041 A
almacenado en el estndar IEEE754 y queremos saber qu nmero es.
- Primero lo traducimos a binario :
(preguntar...)
Ejercicio: Cul es el nmero mas grande que se puede almacenar en IEE754? Y en
Hex?
Estndar IEEE 754 (Doble precisin). Utiliza 1 bit para el signo, 10 bits para el
exponente y 53 bits para la mantisa (parte fraccionaria) Ejemplo:
}
Exponente(E) Mantisa o parte fraccionaria(F)
Signo(S)
10bits 53bits
1 100101101011000100011010011101101100110100101101110101101101011
64748644444444444474444444444448
14243144444444444424444444444443
LECCION 5.- CODIGOS BINARIOS.-
CODIGO.- Es una correspondencia biunvoca entre dos conjuntos.
Desde el punto de vista del conjunto origen los podemos clasificar en :
- Cdigos numricos
- Cdigos Alfanunricos { Cd. ASCII
- Codigos simblicos
Desde el punto de vista del conjunto destino, nosotros codificaremos con ceros y unos.
Entre otros, estn:
- BCD Natural
- Aiken
- (5-4-2-1)
- (2-4-2-1)
- Exceso en tres XS3
- etc.
Propiedades de los cdigos:
Atendiendo a sus catactersticas de representacin, los cdigos los podemos clasificar en
ambiguos e instantneos:
- Cdigo ambiguo.- Un cdigo es ambiguo cuando, an siendo una correspondencia
biunvoca entre dos conjuntos, su lectura puede tener varias
interpretaciones. Por ejemplo, si tenemos la correspondencia
biunvoca expuesta y queremos decodificar (descifrar) la
secuencia 101110, no podemos saber si el primer color enviado
se trata del verde (1) o del azul (10), pues los paquetes de
informacin no tienen una longitud fija.
Estos cdigos no tienen utilidad.
- Cdigo Instantneo.- En contraposicin con los cdigos ambiguos, los instantneos
no poseen ambigedad en la lectura de sus datos, por ejemplo,
en el siguiente cdigo podemos enviar cualquier informacin
sin que exista ambigedad en su lectura.
En la secuencia 101110 ya si sabemos que nos envan la
informacin (azul,verde,azul). Si nos envan al principio un 0
sabemos que se trata del rojo, y si es un 1 sabemos que tenemos
que esperar otro dgito para conocer el color.
En electrnica digital siempre se trabaja con cdigos instantneos.
Los cdigos instantneos se pueden clasificar a su vez en ponderados y cclicos:
- Cdigo instantneo ponderado.- Son los cdigos en los que la posicin de los bits
tiene un peso especfico, es decir, forman un sistema de numeracin. Entre otros
tenemos: BCD Natural, BCD exceso 3, Aiken 2421, Aiken 5421, etc.
- Cdigo instantneo contnuo.- Son cdigos no ponderados en los que los trminos
consecutivos son adyacentes (difieren solo en un bit).
Los cdigos contnuos pueden ser cclicos y no cclicos. Ser cclico si adems de ser
sus trminos consecutovos adyacentes, el ltimo trmino es adyacente con el
primero.Por ejemplo el cdigo Gray.
En el siguiente esquema se presenta un resumen de los tipos de cdigos con lagunos
ejemplos:
'
'
'
'
'
cclicos No
Johnson
Gray
Cclicos
Contnuos
2421 Aiken BCD
5421 Aiken BCD
3 exceso BCD
natural BCD
Ponderados
os Instantne
Ambiguos
Cdigos
primero
el con adyacente
es trmino ultimo El
adyacentes son
os consecutiv trminos Los
peso tiene bits
los de posicin La
cin interpreta su en
ambiguedad existe NO
cin interpreta su en
ambiguedad Existe
43 42 1
43 42 1
43 42 1
4 43 4 42 1
43 42 1
CODIGO BCD (Decimal codificado en binario).- Esta familia de cdigos representa los
diez smbolos del sistema decimal como paquetes de 4 bits. Normalmente todos son
ponderados pero puede haberlos tambin que no lo sean.
BCD Natural o BCD 8421.- Es el mas normal de los cdigos BCD. Es un cdigo
ponderado en el que se representa la magnitud como
suma de polinomios de la base. Por ejemplo el
nmero (1011) equivale al nmero decimal
{ { { {
11 2 1 2 1 2 0 2 1
1
0
2
1
4
2
8
3
+ + + , pero el nmero 11 no es
un smbolo del sistema decimal, por lo tanto este
paquete de 4 bits no se encuentra en el BCD natural.
Los paquetes que representan del 0 al 9 se exponen
en la tabla adjunta.
BCD Natural o BCD 8421
Dig.decimal A
3
A
2
A
1
A
0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
BCD Aiken 5421.- Es un cdigo ponderado en el que los 5 primeros smbolos tienen un
0 como bit de mayor peso y los 5 ltimos un 1. El
resto de los bits se representan como en SBN
(Sistema binario natural)
Para leer un nmero en este cdigo se hace:
1 A 2 A 4 A 5 A D
0 1 2 3
+ + +
BCD Aiken 2421.- Este cdigo tiene la propiedad de que es un cdigo
autocomplementario (el complemento a 9 de un
nmero es su complementario bit a bit). Tambin se
le llama cdigo espejo o cdigo reflejado.
Para leer un nmero en este cdigo se hace:
1 A 2 A 4 A 2 A D
0 1 2 3
+ + +
BCD XC3 (exceso 3).- Tiene la propiedad de que nunca se envan todo ceros o todo
unos. Es un cdigo espejo o cdigo reflejado. Su
representacin es la misma que en SBN sumando
tres (un 5 en BCD XC3 es un 8 en BCD natural).
Tambin es un cdigo autocomplementario (el
complemento a 9 de un nmero es su
complementario bit a bit).
Ejemplo de cdigos BCD.- Codifica el 493
(10
en los distintos cdigos BCD.
Decimal 4 9 3
BCD natural 0100 1001 0011
BCD Aiken 5421 0100 1100 0011
BCD Aiken 5421
Dig.decimal A
3
A
2
A
1
A
0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
BCD Aiken 2421
Dig.decimal A
3
A
2
A
1
A
0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1
BCD XC3
Dig.decimal A
3
A
2
A
1
A
0
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
BCD Aiken 2421 0100 1111 0011
BCD XC3 0111 1100 0110
CODIGO GRAY.- Es contnuo, cclico y no ponderado. Al ser no ponderado hay que
considerar el nmero de bits que contiene el paquete que representa el nmero.
- Utiliza todas las combinaciones posibles de los bits.
- Se construye a partir del reflejo de la informacin.
- Un nmero y su consecutivo siempre son adyacentes y tambin lo son el primero y el
ltimo.
Se forma de la siguiente manera:
- Si el paquete tiene 1 bit, igual que en SBN. {0,1}
- Si el paquete tiene 2 bits, se hace el reflejo del paquete de 1 bits, y se le
ponen ceros a la izquierda al paquete original y unos a la izquierda al
paquete reflejado:
- Si el paquete tiene 3 bits, se hace el reflejo del paquete de 2 bits, y se le
ponen ceros a la izquierda al paquete original y unos a la izquierda al
paquete reflejado:
Si el paquete es de 4 bits, se hace el reflejo del paquete de 3 bits, y
se le ponen ceros a la izquierda al paquete original y unos a la
izquierda al paquete reflejado:
Y as sucesivamente.
Ejercicio.- Cuanto vale el 101101 en Gray? (En el libro Gil Padilla est)
0 0 0
1 0 1
2 1 1
3 1 0
0 0 0 0
1 0 0 1
2 0 1 1
3 0 1 0
4 1 1 0
5 1 1 1
6 1 0 1
7 1 0 0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
PASO DE NUMEROS DE UN CODIGO A OTRO.-
- De SBN a Gray.- Se suman los dgitos dos a dos sin tener en cuenta los acarreos.
Gray 10 (
0 1 1
1 1 0
1 0 1
1 1 0
1 0 1
1 1
SBN
111110 43 101011
+
+
+
+
+
43 42 1
- De Gray a SBN.- Se coge el primer dgito como resultado, y se van sumando los
resultados al dgito siguiente sin acarreo.
Gray 10 (
1 0 1
1 0 1
1 0 1
1 1
SBN
1111 15 1000
+
+
+
43 42 1
CODIGO Johnson.- Puede representar 2*n nmeros distintos siendo n el nmero de
bits. Es contnuo y cclico. Tiene la ventaja de que se pueden
construir contadores a partir de biestables sin necesidad de aadir
puertas lgicas.
Un ejemplo de construccin para 5 bits es el siguiente:
CODIGOS ALFANUMERICOS.- Codifican nmeros, letras y caracteres ortogrficos.
Algunos son:
ASCII .- Codifica nmeros del 0 al 9, letras mayusculas y minsculas y caracteres
ortogrficos. Est compuesto por paquetes de 7 bits (128 smbolos).
EBCDIC.- Norma exclusiva de Francia. Utiliza 8 bits (256 smbolos). Lo llevan los
ordenadores Amiga y la programacin en Foltran
DETECCION Y CORRECCION DE ERRORES
Para empezar, en la transimisin de informacin existen tres elementos bsicos: un
emisor, un receptor, y un canal de transmisin. Por ejemplo, cuando se establece una
conversacin hablada, el emisor es el hablante, el receptor es el escuchante, la
informacin es la palabra, y el canal de transmisin es el aire que transporta las ondas
sonoras.
En el canal de transmisin, debido a parturbaciones en el medio, puede a veces
deformarse la informacin de tal manera que al receptor no le llega en su estado
original, sino con algunas variantes (errores) que impiden su correcta interpretacin.
En electrnica digital, se han ideado mtodos que permiten detectar y en algunos casos
corregir la informacin recibida, de forma que se pueda procesar adecuadamente.
0 0 0 0 0 0
1 0 0 0 0 1
2 0 0 0 1 1
3 0 0 1 1 1
4 0 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 0
7 1 1 1 0 0
8 1 1 0 0 0
9 1 0 0 0 0
La deteccin y correcin de errores en la transmisin de informacin se basa en el
concepto de bit de paridad.
SIMPLE PARIDAD.-
Se trata, simplemente de enviar junto con cada paquete de informacin un bit que nos
diga si el nmero de unos enviado en el paquete es par o impar. Previamente,
deberemos ponernos de acuerdo en si, al enviar un nmero par de unos, nuestro bit de
paridad ser cero o uno. Las dos formas pueden usarse:
Paridad PAR.- Si la cantidad de unos enviados mas el bit de paridad, forman un
nmero par de unos.
Paridad IMPAR.- Si la cantidad de unos enviados mas el bit de paridad, forman un
nmero impar de unos.
Por ejemplo, supongamos que tenemos un emisor que enva paquetes de 4 bits en
paralelo a un receptor. Si en el canal no hay perturbaciones se recibir la misma
informacin, pero si hay ruido (perturbaciones en la lnea) y se producen errores,
deberemos verificar que la informacin recibida no es correcta. Para ello deberemos
implementar un generador de paridad y un receptor de paridad.
Supongamos que la trasmisin la hacemos con paridad PAR y enviamos el n 3 en SBN
(0011). Como hay un nmero par de 1s en la lnea, el bit de paridad generado vale 0
(ver puerta XOR) por tanto el detector dar como resultado un 0 si la informacin es
correcta y un 1 si ha habido un cambio en un bit del canal (incluida la lnea P). Si se
producen 2 errores el sistema no los detecta, ni es capaz de informar de la lnea en la
que se ha producido.
Un canal se considera fiable cuando la probabilidad de que se produzca un error es
inferior al 7% de la informacin enviada.
CONCEPTO DE DOBLE PARIDAD.- El siguiente sistema permite detectar hasta 2
errores y corregir 1 si se produce.
Se trata de aadir a la informacin 1 bit de paridad y una palabra de paridad.
Supongamos que enviamos la informacin 1258 en SBN con doble paridad PAR.
Tenemos que ponernos de acuerdo si enviamos los bits de paridad al principio o al final.
En este caso lo hemos hecho al final. Los bits de paridad estarn de acuerdo con los
datos de cada fila y los bits de la palabra de paridad de acuerdo con los datos de cada
columna. Se tiene que cumplir que tienen que tener un nmero par de 1s (para paridad
PAR) tanto las filas como las columnas (de ah lo de doble paridad).
Supongamos que, debido a una mala trasmisin, el receptor recibe la secuencia
hexadecimal 125A:
La nica fila y columna que no verifica la paridad,
en su interseccin, sealan el bit erroneo con lo cual
podemos corregirlo (cambiar el 1 por un 0).
Si en lugar de uno, se
producen dos errores, por
ejemplo si se recibe la
secuencia 1252, entonces el
sistema es capaz de detectar que hay error en 2 columnas, o en 2
columnas y 2 filas pero existe ambigedad sobre que bits son los
errneos y por tanto no podemos corregirlos.
SISTEMA DE CODIGO HAMMING PARA LA DETECCION DE ERRORES.-
Este sistema de enviar informacin tiene la ventaja de que que el nmero de lneas
disponibles para enviar datos crece exponencialmente respecto al nmero de lneas
utilizadas para enviar la paridad. Tambin es capaz de detectar dos errores y corregir
uno si solo se produce ste.
Si llamamos:
N = nmero total de lneas del sistema.
n = nmero de lneas de datos.
i = nmero de lneas de paridad.
Tendremos que n i N +
En este sistema se verifica que i 1 2 i N n 1 2 N
i i
. Por tanto:
{ {
paridad
de lineas
i
datos de
lineas
i 2 ) 1 n ( +
Es decir, si necesitamos enviar nmeros decimales de 3 cifras en BCD por ejemplo,
como necesitamos 4 bits para cada dgito, harn falta
{ { {
lneas digitos
dgito
lineas
12 3 * 4 lneas de datos.
Y como tenemos que i 2 ) 1 n (
i
+ , probamos valores de i hasta que igualemos o
superemos 13 ( ) 27 5 2 ; 12 4 2
5 4
. Por tanto necesitaremos 5 lneas de paridad.
Aunque las 5 lneas de paridad nos permiten utilizar hasta 26 lneas de datos, son
necesarias porque con 4 no nos llega.
Utilizacin de las lneas.-
De las 17 lneas de trasmisin que tendr nuestro canal, 12 se utilizarn para enviar
datos y 5 para enviar bits de paridad. Pero las lneas de paridad debern tener una
posicin especfica dentro del canal, que sern todas las posiciones potencias de 2; Es
decir, las lneas ,... L , L , L , L , L , L , L , L , L , L
512 256 128 64 32 16 8 4 2 1
son utilizadas para enviar
bits de paridad. En el resto de las lneas, los datos podemos codificarlos como
queramos. Para nuestro caso, utilizaremos las lneas de la siguiente forma:
11 10 9 8 7 6 5 4 3 2 1 0
D
17
P
16
D
15
D
14
D
13
D
12
D
11
D
10
D
9
P
8
D
7
D
6
D
5
P
4
D
3
P
2
P
1
L , L , L , L , L , L , L , L , L , L , L , L , L , L , L , L , L
donde los subndices indican el nmero de lnea y los superndices el dato o bit de
paridad que se enva por ella.
Calculo de los bits de paridad.-
El bit de paridad de cada lnea (
16 8 4 2 1
L , L , L , L , L ) se obtiene comprobando si el
cmputo total de unos de las lneas que controla es par o impar. Pero veamos que lneas
controla cada lnea de paridad:
Si escribimos el subndice de cada lnea de paridad en forma binaria, observaremos que
tal nmero binario est compuesto por todo ceros excepto un 1 que est en una
determinada posicin dentro del nmero:
,
`
.
|
01000 8
00100 4
00010 2
00001 1
. Pues bien; cada lnea de paridad
controla todos los nmeros de lnea cuya forma binaria tenga un 1 en la posicin donde
lo tiene el nmero de lnea de paridad controladora, incluyendose ella misma.
Para saber qu lneas controla una determinada lnea de paridad se puede lograr
haciendo una operacin AND con el nmero de lnea de paridad y el nmero de cada
una de las lneas. Tal operacin devolver un 1 si la lnea en cuestin debe ser
controlada.
Supongamos que queremos enviar el nmero 483 con paridad PAR. El esquema ser el
siguiente:
Para la paridad PAR los generadores de paridad GP son puertas XOR con tantas
entradas como lneas controle, excluyendo la suya propia (si detecta un nmero impar
de unos a la entrada, devolver un 1, completandose la paridad par); y los
comprobadores de paridad CP son puertas XOR con tantas entradas como su
correspondiente generador mas una (la salida de aquel). Por tanto, si no hay error, el
comprobador detectar un nmero par de unos en sus entradas y devolver cero. Pero si
ocurre un error en una lnea, todos los comprobadores de paridad que la controlen
detectarn un nmero impar de unos en su entrada y generarn un 1 a su salida
configurando entre todos ellos el nmero binario que identifica la lnea donde est el
error.
En este sistema, si se produce el error en la lnea de paridad, solo afectar a un
comprobador de paridad y el nmero resusultante es el nmero de lnea en la que est el
error.
Si se producen 2 errores, informar de que existen pero el nmero resultante indicar
una lnea que no se corresponde con el error.
El envo de datos con paridad IMPAR utilizando el sistema de cdigo Hamming, no lo
hemos estudiado.
LECCION 6.- DISEO DE SISTEMAS DIGITALES COMBINACIONALES.-
PROCESO DE DISEO DE SISTEMAS DIGITALES COMBINACIONALES.-
Para disear un sistema combinacional que realice una tarea especfica, como mtodo
general, se realizarn los siguientes pasos:
1.- Definir las Entradas/Salidas del sistema.- En este punto se considerar con qu
variables vamos a trabajar definiendo para que condiciones cada una de ellas valdr 0
1 y el significado real que tendr cada situacin a la salida de nuestro sistema.
2.- Obtencin de la tabla de verdad del sistema.- Nos aseguraremos que las salidas de la
tabla de verdad cumplen con las exigencias del problema planteado para cada una de las
combinaciones de las variables de entrada.
3.- Simplificacin.- Obtendremos la funcin de salida de nuestra tabla y la
simplificaremos para utilizar el menor nmero de puertas lgicas posible con el fin de
optimizar el rendimiento del sistema.
4.- Sntesis con lgica NAND o NOR.- Adecuaremos nuestra funcin simplificada al
tipo de puertas lgicas disponibles o bien, si disponemos de ambas lgicas, al diseo
que nos proporcione una implementacin ms simplificada.
TEMA 2 SISTEMAS DIGITALES SECUENCIALES
DISEO DE MAQUINAS DE ESTADOS
LECCIN 7. INTRODUCCION.-
Como ya se ha visto, en los circuitos combinacionales, la salida en cualquier
instante del tiempo era exclusivamente funcin de las variables de entrada.
7. 1.- CIRCUITOS SIN HISTORIA FRENTE A CIRCUITOS CON HISTORIA.
Un circuito sin historia, analiza las seales de ent rada en un momento concreto, las
procesa, y devuelve unas salidas en funcin exclusivamente de las entradas procesadas.
Por ejemplo, un pulsador simplemente, enciende la luz cuando se pulsa. Se trata de un
circuito combinacional.
Un circuito con historia, analiza como han sido las entradas o las salidas en un tiempo
anterior y, en funcin de stas y de las entradas actuales, proporciona las salidas. Por
ejemplo, un interruptor, encender la luz si en tiempo anterior estaba abierto, o bin la
apagar si en tiempo anterior estaba cerrado. Se trata de un circuito secuencial.
Analicemos la tabla de verdad del interruptor en la que definimos las siguietes
variables:
A = 0 si no tocamos el interruptor
A = 1 si lo tocamos.
Y = 0 si esta la luz apagada
Y = 1 si la luz esta encendida.
Pero Y no puede tener dos valores para una misma combinacin de datos a la entrada.
Lo que ocurre es que la segunda columna Y es un futurable; es decir, representa lo que
ocurrir en un tiempo posterior a la accin de tocar el interruptor. Por tanto a la ltima
columna la llamaremos Y
*
o bien Y
t+1
.
En el ejemplo anterior se producen dos tipos de situaciones:
- Situacin estable.- Cuando la salida no se modifica con el transcurrir del tiempo (en
nuestro caso, las situaciones (0,0,0) y (0,1,1) ).
- Situacin metaestable.- Cuando la salida se modifica con el trascurrir del tiempo (las
situaciones (1,0,1) y (1,1,0) porque como A=1 quiere decir que se est interveniendo
sobre el interruptor y por tanto la luz va cambiando contnuamente de situacin).
7.2.- CIRCUITO COMBINACIONAL REALIMENTADO. CARACTERSTICAS
FUNDAMENTALES.
Las puertas lgicas, como elementos fsicos reales que son, no ideales, necesitan que
trascurra un tiempo determinado (del orden de l os nanosegundos) desde que se les
proporciona una seal a la entrada hasta que se refleja su resultado en la salida.
A Y Y
0 0 0
0 1 1
1 0 1
1 1 0
Ahora se va a estudiar una disposicin de las puertas lgicas tal, que se va a producir
una realimentacin de la salida en la entrada, de forma que el estado que observemos en
la salida al introducir unos determinados valores a la entrada, va a depender tanto de los
valores introducidos, como del estado que tena la salida en el instante anterior a
producir el cambio. A esta disposicin se le llama Circuito Secuencial.
CIRCUITO SECUENCIAL.- Es un circuito en el que la salida depende de:
- Los valores de la entrada
- Los valores de la salida
- El tiempo
-
) Salida , Entrada ( F Salida
) t ( ) 5 . 0 t ( ) 1 t ( + +
Es decir, partimos de que el circuito
tiene un estado a la salida en un
instante t, e inmediatamente despus, producimos un cambio a la entrada. Entonces el
circuito considera como entradas, tanto el estado que tena en el instante t a la salida,
como el cambio recientemente introducido a la entrada; los opera, y nos devuelve una
nueva salida.
Esta situacin puede producirse porque en las puertas lgicas existe un tiempo
transcurrido (del orden de los nanosegundos) desde que se le aplica una tensin a la
entrada hasta que aparece el resultado en la salida. A ese tiempo de respuesta de la
puerta se le llama tiempo de propagacin.
7.3.- DEFINICIN DE BIESTABLE. TIPOS. TABLAS DE ESTADO.
UNIDADES BASICAS DE MEMORIA. BIESTABLES.-
En una mquina secuencial o mquina de estados hay que mantener un estado
determinado. Para ello se utilizan los circuitos integrados llamados biestables (dos
estados) que es la unidad bsica de almacenamiento de informacin (1 bit) y que es
capaz de proporcionar a la salida el estado en el que se encuentre Q y el estado
complementario a ste /Q.
Tericamente, un biestable podra representarse
con dos inversores conectados como indica la
figura, de forma que el estado inicial de Q y Q
depender del inversor que tenga menor tiempo de
propagacin al suministrale la alimentacin, por
tanto, no podemos controlarlo porque no posee
variables de entrada.
EL BIESTABLE S-R (Set-Reset).-
Prcticamente, el circuito biestable S-R tambin llamado bscula S-R est
implementado con puertas NOR o puertas NAND de forma que tenemos dos entradas y
dos salidas:
- Entrada S de activacin de la salida (set).
- Entrada R de desactivacin de la salida (reset)
- Salida Q
- Inversin de la salida Q
Como el estado de la salida depende tanto del estado anterior de la misma, como de los
valores de S y R, en el momento de suministrarle alimentacin, es impredecible el valor
del estado inicial de Q.
BASCULA S-R CON PUERTAS NOR.-
Su circuito y tabla de verdad se representan en la figura y su funcionamiento es el
siguiente:
- Si ( S=0, R=0 ) entonces Q permanece constante con el valor que tuviera.
- Si ( S=0, R=1 ) entonces Q se desactivar (si estaba activada).
- Si ( S=1, R=0 ) entonces Q se activar (si estaba desactivada).
- Si ( S=1, R=1 ) es un estado no deseseado que nunca debera de producirse.
La bscula no funciona correctamente ya que se le est diciendo que active y
desactive la salida simultneamente (celdas sombreadas de la tabla de
verdad).
t ) 1 t (
t t ) 1 t (
Q S Q
Q S R Q R Q
+
+ + +
+
+
por tanto, en esta bscula, si queremos almacenar un 0 activaremos R, si queremos
almacenar un 1 activaremos S y si no queremos que se modifique no activaremos
ninguna. Y nunca deberamos activar R y S a la vez.
BASCULA S-R CON PUERTAS NAND.-
El funcionamiento es similar al anterior excepto en que en este caso las entradas set y
reset son activas a nivel bajo.
S R Q
(t)
Q
(t+1)
Situacin
0 0 0 0
0 0 1 1
No cambia
la salida
0 1 0 0
0 1 1 0
Reset
R = 1
1 0 0 1
1 0 1 1
Set
S = 1
1 1 0 ?
1 1 1 ?
Indeseable
Para controlar entradas no deseadas en estos circuitos, hay que discriminar el tiempo; es
decir, aadir una seal de control que determine cuando se puede actuar sobre S y R.
Para ello se aade una modificacin al circuito sacando un terminal de control a la
entrada.
BIESTABLE S-R CON ENTRADA DE CONTROL.-
Tambin llamado biestable activo por nivel, este circuito es similar a los anteriores,
pero se le ha aadido otras dos puertas a la entrada de forma que la informacin solo le
llegar a la celdilla S-R cuando la patilla de control C est activada, es decir:
) Q , S , R ( 1) (t
) t ( 1) (t
) t (
f Q 1 C Si
Q Q 0 C Si
+
+
Para las situaciones en las que
C =1 el comportamiento es el
mismo que una bscula S-R con
puertas NAND a la que se le
han colocado sendos inversores
en las entradas S y R.
Es activo por nivel, porque la
celda S-R solo recibe
informacin de entrada cuando la variable C adquiere un deremiando nivel (alto en este
caso).
El anlisis del funcionamiento de este circuito nos lleva a la elaboracin de una tabla de
verdad llamada Tabla de transicin del biestable.
TABLA DE TRANSICION DEL BIESTABLE.-
Es una tabla que refleja el valor de la salida en funcin de las variables de entrada y
de la situacin de la salida en el instante inmediatamente anterior a producirse el
cambio. Permite analizar el biestable como un circuito combinacional realimentado.
S R Q
(t)
Q
(t+1)
Situacin
0 0 0 ?
0 0 1 ?
Indeseable
0 1 0 1
0 1 1 1
Set
S = 0
1 0 0 0
1 0 1 0
Reset
R = 0
1 1 0 0
1 1 1 1
No cambia
la salida
C Seal de control o seal de reloj.
S,R Entrada de datos
Q
(t)
Estado o situacin actual
Q
(t+1)
Estado o situacin siguiente (despus
de producirse el evento).
En estos circuitos hay que distinguir entre dos
situaciones que pueden producirse:
Situacin estable.- Es el perodo de tiempo
en el que Q
(t)
= Q
(t+1)
Situacin inestable.- Es el perodo de tiempo
en el que Q
(t)
Q
(t+1)
SEAL DE CONTROL.-
Como hemos visto, los biestables S-R con seal de control reflejan en la salida los
cambios producidos en la entrada cuando C = 1.
Para controlar cuando debe activarse C se le suminestra una seal peridica
(normalmente cuadrada) de perodo T, como la de la figura siguiente:
Las seales en las que
OFF ON
T T se les llama seales astables.
BIESTABLE TIPO D (Delay-Retardo) CON ENTRADA DE CONTROL.-
Este circuito es similar al anterior pero asegurndonos que las patillas S y R no puedan
tener ambas el mismo estado simultneamente. Para ello se coloca un inversor entre las
mismas.
En esta configuracin
desaparecen las dos primeras y
las dos ltimas situaciones de la
tabla anterior con lo que nos
queda:
Tabla de transicin de un biestable
SR con seal de control
Control
Datos
Estado
Actual
Estado
Siguiente
C S R Q
(t)
Q
(t+1)
0 X X 0 0
0 X X 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 ?
1 1 1 1 ?
Tabla Tansic. Biestable D
C D Q
(t)
Q
(t+1)
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
0 X X Q
(t)
Es decir, si la seal de control no est activada, los cambios a la entrada no se traducen a
la salida; y si lo est, entonces a la salida tenemos la informacin de la entrada. De ah
lo de retardo.
Estos circuitos an pueden presentar problemas en el control de la informacin, si el
tiempo en el que est activado C coincide con una situacin inestable del circuito, es
decir, si se producen cambios a la entrada cuando C est en T
ON
.
Para solucionarlo se recurre al siguiente montaje que permite que se procese la
informacin exclusivamente en el momento del flanco o cambio de estado de la seal
de control, tambin llamada seal de reloj.
ESTRUCTURA MASTER-SLAVE O SISTEMA DE BIESTABLES ACTIVOS
POR FLANCO.-
En este sistema, se montan dos biestables S-R en serie con las salidas de datos del
primero (master- maestro-) conectadas a las entradas de datos del segundo (slave-
esclavo-), y los dos terminales de control unidos por un inversor, de forma que no
puedan estar activos los dos
simultneamente. De esta forma
obligamos a que, de los distintos
cambios que se produzcan a la
entrada mientras el C del master
est activado, solo se transferir
al slave el estado de salida del
master que hubiera en el preciso
instante del flanco descendente,
pues los restantes, aunque queden
reflejados a la salida del master,
como el slave tiene C desactivado, no pasan a su salida hasta que se produce el flanco
descendente que es cuando el slave se activa, permaneciendo as la salida hasta que se
produzca otro flanco descendente.
Este sistema tambin se puede montar con biestables tipo D de forma que solo tenga
una entrada de datos, con lo que quedara:
Se pueden montar dos
configuraciones del sistema
master-slave:
Activo por flanco
descendente.- Si los cambios se
producen en los flancos de
bajada de la seal de reloj.
Activo por flanco ascendente.- Si los cambios se producen en los flancos de subida de
la seal de reloj.
En los dos dibujos anteriores se ha representado el sistema S-R activo al flanco
descendente y el sistema D activo al flanco ascendente, pero ambos sistemas pueden
presentarse activos a cualesquiera de los dos flancos, simplemente cambiando la
disposicin del inversor de la seal de control.
Un sistema biestables es:
Activo al flanco descendente.- Cuando el biestable master est activo en T
ON
Activo al flanco ascendente.- Cuando el biestable master est activo en T
OFF
.
Cuando los sistemas son activos por flanco, la seal de control suele representarse con
las letras Ck (Clock- o seal de reloj).
CRONOGRAMA.-
Es un diagrama en el que se representa en el eje de abcisas el tiempo transcurrido y en el
eje de ordenadas los distintos estados que presenta una seal en un punto determinado
de un circuito digital.
En el siguiente ejemplo se presenta un cronograma de un sistema de biestables tipo D
activo al flanco descendente de la seal de reloj. Se ha resaltado la seal de entrada D y
la seal de salida Q. Puede observarse el efecto del inversor en la seal de control del
segundo biestable (/Ck) invirtiendo la seal Ck.
Tambin puede apreciarse que la seal de salida presenta el estado de la de entrada en la
bajada del flanco y permanece as independientemente de los cambios a la entrada, hasta
que se produce el siguiente flanco de bajada en la senal Ck.
Por ltimo se observa la evolucin de la seal a la salida del primer biestable y la
entrada del segundo (Q
M
= D
S
). Como se ve, los cambios en la seal de entrada, solo se
reflejan en la etapa intermedia, cuando Ck est activo.
Los sistemas secuenciales controlados por una seal peridica de control de perodo T ,
con tiempos T
ON
y T
OFF
determinados (no tienen porqu ser iguales) se les llama
Sistemas Secuenciales Scronos, pues verdaderamente, sus cambios de estado estn
sincronizados con dicha seal (supeditados a los cambios peridicos de la seal).
Pero tambin el sistema puede controlarse de forma asncrona (independientemente de
los cambios de la seal de reloj), con lo cual sera un sistema secuencial asncrono. O
poner controles asncronos en un sistema secuencial sncrono.
SITUACIONES LOGICAS EN EL ALMACENAMIENTO DE UN DATO.-
La respuesta de un circuito secuencial ofrece cuatro situaciones posibles:
SITUACION ENTRADA SALIDA
Poner un 0 a la salida independientemente de la entrada X 0
Poner un 1 a la salida independientemente de la entrada X 1
Dejar la salida almacenada Q(t) Q(t)
Invertir la salida almacenada Q(t) /Q(t)
Importante: A partir de ahora, cuando hablemos de un biestable, en realidad nos
estaremos refiriendo a una estructura master-slave o sistema de biestables activos por
flanco con una seal de reloj peridica que ir cambiando y produciendo las
transformaciones pertinentes en el sistema en el momento del flanco.
La seal de reloj no ser considerada porque la suponemos absolutamente necesaria.
Siempre supondremos que en el biestable se producen cambios en la seal de reloj.
En las tablas no se pondr la seal de control (reloj) C porque ya sabemos que las
transformaciones de la entrada solo se traducen a la salida en el momento del flanco y el
resto del tiempo se sobreentiende que, al no producirse cambios en la salida, Q(t+1) =
Q(t) .
EL BIESTABLE J-K.-
Es una modificacin del biestable R-S de forma que se puedan cumplir las cuatro
situaciones lgicas posibles anteriores actuando sobre las
entradas J y K.
El comportamiento del biestable es el siguiente:
- Si J y K tienen distinto valor, la salida tendr el valor
de J.
- Si J y K tienen igual valor, la salida se invertir si el
valor en ambas es 1.
) t ( ) 1 t (
) 1 t (
) 1 t (
) t ( ) 1 t (
Q Q 1 K , 1 J
1 Q 0 K , 1 J
0 Q 1 K , 0 J
Q Q 0 K , 0 J
+
+
+
+
Su funcin de transicin, deducida de la tabla es :
t t 1 t
Q K Q J Q +
+
El nombre comercial del circuito integrado que lleva este tipo de biestable activo por
flanco descendente de la seal de reloj es 7473.
Tabla transic. J-K
J K Q(t) Q(t+1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
TABLA DE EXCITACIN DEL SISTEMA.-
En ella se presenta el valor a dar a las variables de
entrada en funcin de la situacin existente en la
salida y la situacin a la que queremos llegar en la
misma. La idea es Qu tengo que poner a la entrada
si a la salida quiero tener una situacin determinada.
Aqu se muestra la tabla de excitacin del biestable J-
K donde la X significa no importa qu valga y en el apartado siguiente se presenta la
de un biestable tipo D.
Las tablas de excitacin del sistema pueden obtenerse fcilmente de sus tablas de
transicin, observando los valores impuestos a las entradas para obtener cada una de sus
salidas. Por ejemplo, para el J-K observamos que el valor de la salida lo determina J si
tenemos en el instante anterior un 0 y /K si lo que haba era un 1, para cualesquiera
valores X (no importa) de la otra variable.
TRANSFORMACION DE UN BIESTABLE TIPO D A UN BIESTABLE J-K.-
Si obtenemos las tablas de excitacin de ambos biestables a partir de sus respectivas
tablas de transicin, tenemos:
Para obtener el biestable J-K deseado a partir del biestable
tipo D, bastar realizar un circuito combinacional que
partiendo de las entradas J y K que figuran como salidas en la
tabla de excitacin anterior, proporcione la salida D que figura
en la tabla de excitacin del tipo D.
El circuito combinacional sera: Q K Q J D +
Aqu se representa el esquema combinacional correspondiente a esa funcin:
TRANSFORMACION DE UN BIESTABLE J-K A UN BIESTABLE TIPO D.-
Bastar con poner un inversor a la entrada entre las patillas J
y K para hacer K = /J con lo cual se eliminan las dos
situaciones de la tabla de transicin del JK en las que las
variables tienen valores idnticos.
Tabla excitacin J-K
Q(t) Q(t+1) J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Tabla excitacin D
Q(t) Q(t+1) D
0 0 0
0 1 1
1 0 0
1 1 1
BIESTABLE TIPO T (Toggled-intercambio).-
Se obtiene a partir del biestable JK uniendo sus dos terminales. Su funcionamiento es
como sigue:
Si T est inactiva, conserva el dato que tuviera y si est activa, lo invierte.
ENTRADA ASNCRONA DE UN BIESTABLE.-
Podemos necesitar poner la salida de un biestable en un estado determinado en un
momento concreto independientemente de la seal de reloj. Para ello se habilitan
entradas asncronas. Existen dos tipos de entradas asncronas:
- Entrada PRESET.- Almacena un 1 en Q independientemente de Ck
- Entrada CLEAR.- Almacena un 0 en Q independientemente de Ck.
En la figura se muestra el esquema de un biestable tipo D con entradas preset y clear..
Este sistema ya aparece integrado en una pastilla de silicio con nombre comercial 7474.
Los terminales preset y clear se obtienen de la tercera patilla de las puertas lgicas de
tres entradas de la celdilla S-R del sistema esclavo.
Si no deseamos utilizar las entradas asncronas, llevaremos ambas a Vcc.
Tabla Transic. TIPO T
T Q(t) Q(t+1)
0 0 0
0 1 1
1 0 1
1 1 0
Tabla Excit. TIPO T
Q(t) Q(t+1) T
0 0 0
0 1 1
1 0 1
1 1 0
REPRESENTACION SIMBOLICA DE BIESTABLES.-
Los sistemas biestables suelen representarse esquemticamente como en la siguiente
figura en la que se puede adivinar si el sitema es activo por flanco por el tringulo que
aparece en la entrada Ck o bin activo por nivel si no tiene tringulo.
Si tiene tringulo, un circulito pegado a l significa activo al flanco descendente y la
carencia del mismo, activo al flanco ascendente; y si no tiene trinagulo, el circulito
significa activo por nivel bajo, y la carencia de l, activo por nivel alto.
El circulito tambin puede aparecer en las entradas del biestable. En ese caso, significa
que la activacin de la entrada es con un 0 lgico. Hay autores que adems del circulo,
ponen un superrayado sobre el nombre de la variable de entrada indicando que es activa
por nivel bajo, aunque a mi no me parece correcto porque sera complementar dos veces
la misma variable y por tanto dejarla como estaba.
Lo dicho para las variables de entrada tambin es vlido para las de salida aunque en
stas, en la mayora de los casos, se prescinde del circulo y solo se superraya la variable.
En todos los biestables activos por flanco, si no hay cambio en la seal de reloj, no se
reflejan a la salida los cambios producidos a la entrada.
LECCIN 8.- MAQUINAS DE ESTADOS.
8. 1.- DEFINICIN Y CONCEPTO DE MQUINA DE ESTADOS.
Una mquina de estados es una estructura compuesta por circuitos combinacionales y
circuitos secuenciales que realiza una tarea especfica. Para relizar su tarea, ir pasando
por una serie de situaciones internas (estados) basadas en la informacin externa y en la
informacin previamente almacenada y proporcionar a su salida una serie de resultados
que sern aprovechados para realizar la tarea en cuestin.
Desde la mas simple hasta la mas compleja, toda mquina de estados est compuesta
por tres bloque perfectamente definidos: BLES, ME y BLS.
BLOQUE LOGICO DEL ESTADO SIGUIENTE (BLES).-
Se trata de un bloque con un circuito combinacional que recibe la informacin de
entrada y la prepara para el estado siguiente t+1 (por ejemplo incrementandola en una
unidad).
MEMORIA DE ESTADOS (ME).- Es un bloque secuencial compuesto por biestables
de los vistos anteriormente que se encarga de almacenar el estado actual de las variables
en proceso.
BLOQUE LOGICO DE SALIDA (BLS).- Es un bloque combinacional que procesa la
informacin de salida de la memoria de estados haciendola apta para ser utilizada por el
sistema de salida (display, actuador, rel, etc.).
Existen mquinas de estados asncronas que no se vern en este curso, cuya memoria de
estados tiene habilitadas para su utilizacin las entradas preset y clear. Nosotros
trabajaremos exclusivamente con mquinas de estados sncronas cuyos biestables son
activos por flanco.
8.2.- TIPOS DE MQUINAS DE ESTADOS (MEALY Y MOORE).
Bsicamente, existen dos tipos de mquinas de estados, dependiendo de la informacin
que reciba el BLS.
Mquina de Moore.- El BLS recibe informacin exclusivamente de la memoria de
estados.
Mquina de Mealy.- El BLS recibe informacin de la memoria de estados y puede
llegarle tambin informacin externa al la ME.
LECCIN 9.- DISEO DE SISTEMAS SECUENCALES.
9. 1.- INTRODUCCIN.
En el estudio de sistemas secuenciales (como en cualquier sistema) se nos puede
presentar la realizacin de un trabajo de sntesis (diseo de la mquina de estados
conociendo previamente el comportamiento que debe tener) o de anlisis (anlisis del
comportamiento de la mquina si conocemos la configuracin de la misma).
A la hora de disear (sntesis) un sistema secuencial o mquina de estados que realice
una funcin especfica, deberemos considerar los siguientes puntos:
1.- Obtencin del diagrama de estados y la tabla de estados primaria.
- Identificar el funcionamiento del sistema
- Saber cada estado actual, el siguiente a cada uno de ellos, y el nmero de estados
totales.
- Definir el CSS (Circuito secuencial sncrono).
2.- Realizar una asignacin de estados.
- Cada nemnico de la tabla de estados primaria tiene una correspondencia con un valor
de la memoria de estados.
3.- Implementar el BLS.
4.- Definir el tipo de biestable a utilizar y en base a l realizar el diseo del BLES.
- Cuantas salidas tiene el BLES
- Tabla de transicin del conjunto
- Tabla de excitacin a partir de la de transicin.
- Ecuaciones de excitacin a partir de la tabla de excitacin.
A la hora de analizar (anlisis) un sistema secuencial, deberemos considerar:
1.- Si se trata de una mquina de Moore o una mquina de Mealy.
2.- Realizar el diagrama de bloques nombrando las entradas y las salidas de cada uno de
los bloques.
3.- Realizar la tabla de transicin analizando los componentes del circuito.
4.- Realizar la tabla de excitacin partiendo de la de transicin.
5.- Con las tablas, obtener la tabla de estados primaria.
6.- Obtencin de la tabla de verdad del BLS siguiendo el circuito.
9.2.- ANLISIS Y DISEO DE UNA MAQUINA DE ESTADOS SNCRONA.
9.2.1.- DISEO (SINTESIS).-
Supongamos que queremos implementar un contador cclico de
mdulo 4 ascendente o descendente dependiendo del valor de una
entrada externa C, que cuente los nmeros pares del 0 al 6
iluminando un display de 7 segmentos.
1.- DIAGRAMA DE ESTADOS.-
Un diagrama de estados de un circuito secuencial, es un diagrama
en el que se representan los distintos estados que puede almacenar
la ME y como se modifican dichos estados con el tiempo. Los
estados se nombran como
n 1 0
S ,..., S , S encerrados en un crculo y el paso de un estado al
siguiente se representa con una flecha que parte de un estado y apunta al estado
siguiente.
Su realizacin es importante y debe obedecer al sentido comn. Partiendo de un estado
inicial, pensar en qu tiene que hacer la mquina en cada cambio en la seal de reloj e ir
definiendo nuevos estados, regreso a estados anteriores, o permanencia en el mismo
estado para cada combinacin de las variables de entrada.
Para nuestro ejemplo, tenemos 4 estados (
3 2 1 0
S , S , S , S ) pues el mdulo del contador es
4. Tales estados y la transicin entre los mismos obedece a un grafo que representamos
en el diagrama siguiente:
Como no se especifica nada al respecto, decidimos que si C=0 el contador es ascendente
y si C=1 es descendente.
TABLA DE ESTADOS PRIMARIA.-
Es una tabla en la que se definen cada estado actual y cada estado siguiente del sistema
en funcin de las variables de entrada.
Se realiza partiendo del diagrama de estados y es una representacin tabular de ste.
Adems se analiza el valor de las salidas para cada una de las combinaciones de entrada.
La columna Salida muestra el
significado de cada estado
actual. El BLS tendr que
servirse de las salidas que
proporcione la ME para cada
uno de los estados definidos, y
hacer las transformaciones
pertinentes para encender los
diodos necesarios de los 7
que posee el display.
Las salidas que tenga cada
biestable de la ME, se
definirn en la asignacin de estados.
DEFINICION DEL CSS.-
Como tenemos 4 estados, necesitaremos 2 variables binarias (A
0
,A
1
); es decir, 2
biestables.
2.- ASIGNACION DE ESTADOS.-
Le asignamos a cada estado, la combinacin que queremos tener a la salida de cada
biestable. La asignacin es arbitraria, con tal de que no se repita la misma asignacin a
dos estados distintos.
Es tarea del BLS el transformar las salidas de la ME en la combinacin real que necesito
para iluminar los diodos del display.
Por hacerlo mas intuitivo hemos asignado a cada estado su
subndice en SBN, pero podramos haberlo hecho de cualquier otra
forma con tal de no repetir la misma asignacin en dos estados.
As, el biestable A
0
tendr su salida Q a cero para los dos primeros
estados y a uno para los dos ltimos, y el biestable A
1
tendr su
salida Q a cero para los estados pares y a uno para los impares.
3.- IMPLEMENTACION DEL BLS.-
Como ya sabemos los valores que tendrn las variables de la ME para cada estado y
sabemos la codificacin del display, lo siguiente es hacer una correspondencia entre la
salida de la ME y la salida real.
Con esta tabla, elaboramos la funcin combinacional del BLS como se haca en el tema
primero con cualquier tabla de verdad:
Estado
Siguiente
Salida Display Estado
Actual
C=0 C=1 S
a b c d e f g
S
0
S
1
S
3
1 1 1 1 1 1 0
S
1
S
2
S
0
1 0 1 1 0 1 1
S
2
S
3
S
1
0 1 0 0 1 1 1
S
3
S
0
S
2
1 1 1 1 1 0 1
Estado Q
0
Q
1
S
0
0 0
S
1
0 1
S
2
1 0
S
3
1 1
Estado Q
0
Q
1
a b c d e f g
S
0
0 0 1 1 1 1 1 1 0
S
1
0 1 1 0 1 1 0 1 1
S
2
1 0 0 1 0 0 1 1 1
S
3
1 1 1 1 1 1 1 0 1
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
Q Q Q Q Q Q g
Q Q Q Q Q Q f
Q Q Q Q Q Q e b
Q Q Q Q Q Q d c a
+ +
+ +
+ +
+ +
y simplificando:
1 0 1 0
1 0 1 0
1 0 1 0
1 0 1 0
Q Q Q Q g
Q Q Q Q f
Q Q Q Q e b
Q Q Q Q d c a
+
+
+
+
por tanto, el circuito del BLS ser:
DEFINICION DE LOS BIESTABLES A UTILIZAR Y DISEO DEL BLES.-
Supongamos que para este diseo disponemos de biestables tipo D, por ejemplo los dos
que se encuentran en el CI DM7474.
TABLA DE TRANSICION DEL SISTEMA.-
Se trata de elaborar una tabla de transicin como la de un biestable, pero refiriendonos a
todo el sistema. Es decir, una tabla en la que, partiendo de una situacin a la salida en el
estado actual, y unas variables de entrada, especifiquemos el estado siguiente
basandonos en la asignacin de estados previamente hecha.
Estado actual Estado Siguiente C
Nemnico Q
0
t
Q
1
t
Nemnico Q
0
t+1
Q
1
t+1
0 S
0
0 0 S
1
0 1
0 S
1
0 1 S
2
1 0
0 S
2
1 0 S
3
1 1
0 S
3
1 1 S
0
0 0
1 S
0
0 0 S
3
1 1
1 S
1
0 1 S
0
0 0
1 S
2
1 0 S
1
0 1
1 S
3
1 1 S
2
1 0
TABLA DE EXCITACIN DEL SISTEMA.-
Al igual que la tabla de transicin, se elabora como la tabla de excitacin de un solo
biestable, pero para todo el conjunto, definiendo qu deben haber valido las variables de
entrada en el estado anterior en funcin de los valores del estado actual. Es una
ampliacin de la tabla anterior.
Estado actual Estado Siguiente Entradas en
Estado
Actual
C
Nemnico Q
0
t
Q
1
t
Nemnico Q
0
t+1
Q
1
t+1
D
0
D
1
0 S
0
0 0 S
1
0 1 0 1
0 S
1
0 1 S
2
1 0 1 0
0 S
2
1 0 S
3
1 1 1 1
0 S
3
1 1 S
0
0 0 0 0
1 S
0
0 0 S
3
1 1 1 1
1 S
1
0 1 S
0
0 0 0 0
1 S
2
1 0 S
1
0 1 0 1
1 S
3
1 1 S
2
1 0 1 0
El planteamiento es: Si en el estado anterior estado actual la salida del biestable tena
tal valor, y en el estado actual estado siguiente tiene tal otro, Qu valor tena la
entrada para que se haya producido ese cambio?.
En nuestro caso, como se trata de biestables tipo D, las entradas tenan el mismo valor
que se manifiesta en t+1 ya que el biestable D solo produce un retardo de la seal de
entrada cuando recibe el flanco. Pero si hubisemos implementado con otro biestable, el
resultado sera distinto.
Con esta tabla queda perfectamente definido el BLES. Veamos porqu:
Las salidas siguientes son funcin de la entrada externa y las salidas actuales:
) Q , Q , C ( f Q
) Q , Q , C ( f Q
t
1
t
0 1
1 t
1
t
1
t
0 0
1 t
0
+
+
Las funciones f
0
y f
1
son:
t
1
t
0
t
1
t
0
t
1
t
0
t
1
t
0
1 t
1
t
1
t
0
t
1
t
0
t
1
t
0
t
1
t
0
1 t
0
Q Q C Q Q C Q Q C Q Q C Q
Q Q C Q Q C Q Q C Q Q C Q
+ + +
+ + +
+
+
y simplificando:
t
1
1 t
1
t
1
t
0
t
1
t
0
t
1
t
0
t
1
t
0
1 t
0
Q Q
Q Q C Q Q C Q Q C Q Q C Q
+ + +
+
+
Y de la tabla tambin obtenemos las entradas en funcin de las salidas siguientes
verificandose que:
t
1
1 t
1 1
t
1
t
0
t
1
t
0
t
1
t
0
t
1
t
0
1 t
0 0
Q Q D
Q Q C Q Q C Q Q C Q Q C Q D
+ + +
+
+
Si disponenos de puertas NAND para realizarlo:
t
1 1
t
1
t
0
t
1
t
0
t
1
t
0
t
1
t
0 0
Q D
Q Q C Q Q C Q Q C Q Q C D
Por tanto, ya tenemos el circuito combinacional que identifica el BLES.
Con esto, el contador queda perfectamente definido para mltiples usos simplemente
haciendo la implementacin correcta del BLS para cada uso. Por ejemplo, en lugar de
contar nmeros pares, podra contar nmeros consecutivos entre el 100 y el 103, o
encender luces con cualesquiera 4 combinaciones distintas, etc.
El esquema completo se muestra en la figura siguiente:
9.2.2.- ANALISIS.-
1.- Si se trata de una mquina de Moore o una mquina de Mealy.
2.- Realizar el diagrama de bloques nombrando las entradas y las salidas de cada uno de
los bloques.
3.- Realizar la tabla de transicin analizando los componentes del circuito.
4.- Realizar la tabla de excitacin partiendo de la de transicin.
5.- Con las tablas, obtener la tabla de estados primaria.
6.- Obtencin de la tabla de verdad del BLS siguiendo el circuito.
GLOSARIO.-
Estado.- Situacin que se produce o est almacenada.
Circuito combinacional.- Circuito en el que la salida en cualquier instante t es
exclusivamente funcin de los valores de entrada.
Circuito Secuencial.- Circuito en el que la seal de salida en cualquier instante depende
de :
- Los valores de entrada.
- Los valores de la salida.
- El tiempo.
Seal de Control o seal de reloj.- Seal elctrica que marca la situacin en la que se
puede o no cambiar de estado.
Circuito Secuencial Sncrono.- Circuito secuencial en el que se interacta solo cuando
lo permite la seal de control.
Circuito Secuencial Asncrono.- Circuito secuencial en el que se puede interactuar
independientemente de la seal de control.
Entrada Sncrona de un circuito secuencial Asncrono.- Terminal de entrada controlado
por la seal de control.
Entrada Asncrona de un circuito secuencial Asncrono.- Terminal de entrada en el que
se puede actuar independientemente de la seal de control.
Biestable o unidad bsica de memoria.- Circuito que puede almacenar dos estados
posibles (1 bit).
Circuito Triestado.- Circuito que puede presentar tres estados: 1 lgico, 0 lgico y Alta
impedancia.
Tiempo de propagacin o de proceso.- Tiempo transcurrido entre la aplicacin de una
seal de entrada a un circuito, y la obtencin de la seal resultado que produce.
Seal Astable.- Seal perdica en la que el nivel alto y el nivel bajo valen un
semiperodo. Es decir, cuando
OFF ON
T T
TEMA 3 CIRCUITOS COMBINACIONALES TIPO O ESTANDAR MSI (Media
Escala de Integracin)
INTRODUCCION.-
Los fabricantes, ante la evidencia de ciertos tipos muy comunes de
implementaciones de diseos lgicos concretos, han optado por integrar los mismos en
pastillas de silicio de forma que ofrezcan soluciones a determinados problemas digitales
abaratando as el producto final. Tanto es as, que la cantidad de puertas lgicas por
centmetro cuadrado, se ha convertido en una medida del grado de capacidad de trabajo
de un circuito integrado.
As aparecen los componentes integrados clasificados en categoras segn el grado de
integracin (LSI, MSI, HSI, VHSI) (Baja escala de integracin, Media escala de
integracin, Alta escala de integracin, Muy Alta escala de integracin).
LECCIN 10.- CIRCUITOS COMBNACIONALES TIPO.
En funcin de su aplicacin, los circuitos combinacionales, pueden clasificarse en:
Aritmticos
Sumadores de Acarreo Anticipado
Comparadores
ALUs
Selectores de Datos
Multiplexores y Demultiplexores
Cambiadores de Cdigo
Codificadores y Decodificadores
10. 1.- C.C. ARITMETICOS:EL SEMISUMADOR Y EL SUMADOR.
El circuito combinacional semisumador y el sumador total se vieron en la leccin 4
Aritmtica Binaria. El primero tena el inconveniente de que aunque generaba un
acarreo, no era capaz de aceptar el acarreo proveniente de otro semisumador.
El sumador total s est preparado
para ello, pero tiene algunos
inconvenientes cuando se coloca
en cascada:
Por un lado, el tiempo de
propagacin de las puertas de
cada sumador no es nulo y como
cada sumador necesita los datos
correctos del anterior, resulta que
el tiempo de operacin total es n
veces el tiempo de operacin de
una celdilla sumadora total, siendo n el n de celdillas:
i
n
1 i
i op
Tp n Tp T
de forma que puede ser considerable si el nmero de celdillas es elevado.
Por otro lado y ms importante es que durante la operacin, al estar alimentadas
simultneamente, las celdillas sumadoras van pasando por una serie de estados
intermedios que producen resultados incorrectos a la salida hasta que se completa la
suma, con el consiguiente riesgo si se lee antes de que la opracin est completada.
Supongamos la suma binaria S=(A+B)=(1011+0101).
Al comienzo de la operacin, todos los acarreos C
-1
estn a 0. En le primer ciclo de
operacin, el resultado de la suma es (1110) ya que los acarreos son todos nulos; la
celdilla menos significativa genera un 1 en el acarreo C, y las dems un 0.
4 4 4 4 3 4 4 4 4 2 1 4 4 4 4 3 4 4 4 4 2 1 4 4 4 4 3 4 4 4 4 2 1 4 4 4 4 3 4 4 4 4 2 1
REALIZADA SUMA
1 1 1
1 1 1 0 1
3 CICLO
1 1 1 0
1 1 0 0 1
2 CICLO
1 1 0 0
1 0 0 0 1
1 CICLO
1 0 0 0
0 0 0 0 1
1 C
0 0 0 0 S
1 0 1 0 B
1 1 0 1 A
C
C
0 0 0 1 S
1 0 1 0 B
1 1 0 1 A
C
C
0 0 1 1 S
1 0 1 0 B
1 1 0 1 A
C
C
0 1 1 1 S
1 0 1 0 B
1 1 0 1 A
C
En el siguiente ciclo, los acarreos generados pasan a ser sumandos C
-1
, y por tanto la
suma es (1100) y as sucesivamente, hasta que en el 4 ciclo se completa la suma.
Para evitar este inconveniente se ide un circuito combinacional que proporcionara a las
celdillas sumadoras totales los acarreos antes de realizar la operacon, de forma que en
un nico ciclo se completa la suma. El tiempo de operacin no difiere mucho del
empleado en el montaje en cascada, pues el ahorrado en los ciclos de operacin se
emplea en el clculo de los acarreos, pero el riesgo de un resultado erroneo se elimina.
Este tipo de montaje se expone en el apartado siguiente.
SUMADOR DE ACARREO ANTICIPADO.- Se trata de n celdillas sumadoras totales
puestas en paralelo las cuales reciben el acarreo no de la celdilla previa, sino de un
circuito combinacional que, sirviendose de los sumandos, es capaz de proporcionarselo
a todas a la vez como se muestra en el grfico.
Efectivamente, los acarreos de una suma binaria pueden ser calculados conociendo los
sumandos sin necesidad de conocer el resultado de la suma.
Si nos fijamos en la tabla de verdad del sumador total, y consideramos n
) S , S ,..., S ,..., S , S (
0 1 i i n n
sumadores totales puestos en cascada, el acarreo generado por
un sumador cualquiera ser:
{
i 1 i i i
P
i i 1 i
G
i i i
i i 1 i
i
i 1 i i i i
1 i i i 1 i i i 1 i
i
i 1 i i
i
i
P C G C
B A C ) B A ( C
B A C B A C B A C
C B A C B A C B A C B A C
i i
+
'
+
+ +
+ + +
43 42 1
Por tanto, tenemos que:
n 1 n n n
2 1 0 1 0 1 2 2 1 2 2
1 0 1 0 1 1 0 1 1
0 1 0 0
P C G C
....
P ) P ) P C G ( G ( G P C G C
P ) P C G ( G P C G C
P C G C
+
+ + + +
+ + +
+
Y consecuentemente, la celda de procesamiento puede generar los acarreos antes de que
se realice la suma.
Curiosidad:
4 4 3 4 4 2 1 4 4 3 4 4 2 1
2 Expresin 1 Expresin
) B A ( C AB ) B A ( C AB + + +
Demostracin:
Expresin 1:
+ + + + CB CA AB ) B A ( C AB
BC AC AB ) B A ( C AB + + + +
+ + + + + + + +
+ + + + + + + + +
+ +
+ +
CA CB AB ) A B ( C AB ) A B B ( C AB B CA BC BA
B CA ) C A ( B B CA ) C A A ( B B CA B A C AB ) B A B A ( C AB ) B A ( C AB
A B ) A B B ( C
C A ) C A A ( B
3 2 1 43 42 1
3 2 1 43 42 1
BC AC AB ) B A ( C AB + + +
por tanto las dos expresiones son equivalentes. Y si esto es as, entonces, en el
generador de acarreos del sumador con acarreo anticipado, el elemento Gi da igual que
sea una puerta XOR que una puerta OR.
RESTA CON COMPLEMENTO
(Desarrolar)
COMPARADORES
Son dispositivos que comparan dos cifras de n bits y determinan cual de ellas es mayor
o si son iguales.
Estos dispositivos suelen tener salidas a nivel bajo.
Por ejemplo, si A y B son dos variables de 2 bits la tabla de verdad es la siguiente:
10.2.- SELECTORES DE DATOS: MULTIPLEXORES Y DEMULTIPLEXORES
Los selectores de datos se comportan como un conmutador, con la diferencia de que
estn controlados digitalmente.
MULTIPLEXORES
Son dispositivos que constan de varias entradas de datos, varias entradas de control y
una nica salida. Las entradas de control determinan cul de las entradas de datos se
conecta a la salida.
Si un multiplexor tiene n entradas de control, tendr 2
n
entradas de datos. En cada
momento se conectar a la salida la entrada cuyo ndice sea el nmero binario
introducido por las entradas de control.
Est compuesto por tantas puertas AND como entradas de datos tenga, conectadas todas
a una puerta OR que proporciona la salida.
A
1
A
0
B
1
B
0
A>B A=B A<B
0 0 0 0 1 0 1
0 0 0 1 1 1 0
0 0 1 0 1 1 0
0 0 1 1 1 1 0
0 1 0 0 0 1 1
0 1 0 1 1 0 1
0 1 1 0 1 1 0
0 1 1 1 1 1 0
1 0 0 0 0 1 1
1 0 0 1 0 1 1
1 0 1 0 1 0 1
1 0 1 1 1 1 0
1 1 0 0 0 1 1
1 1 0 1 0 1 1
1 1 1 0 0 1 1
1 1 1 1 1 0 1
Las puertas AND son de tantas entradas como entradas de control tenga el multiplexor
mas una. Las entradas de cada puerta AND estn conectadas cada una a una entrada de
control o a su negada de forma que las conexiones configuran el nmero binario que
identifica la puerta. La entrada sobrante de cada puerta es la correspondiente entrada de
datos como se muestra en la figura.
Tambin suelen tener los multiplexores una entrada de inhibicin que cuando se activa,
proporciona a la salida un 0 independientemente de qu entrada de datos est
seleccionada. Si existe, esta entrada est conectada a una entrada adicional de cada
puerta AND.
Como se adivina observando el equema, la funcin de salida del multiplexor de 4
entradas es:
1 0 3 1 0 2 1 0 1 1 0 0
S S I S S I S S I S S I S + + +
Es decir, cada sumando de la suma de minterms est compuesto por una entrada de
datos y todas las entradas de contol, negadas o no, de forma que configuren el nmero
binario que representa el subndice de la entrada de datos. As:
{{
{
{{
{
{{
{
{{
{
3 2 1 0
I 3
1
1
1
0 3
I 2
0
1
1
0 2
I 1
1
1
0
0 1
I 0
0
1
0
0 0
S S I S S I S S I S S I S
+ + +
La tabla de verdad del multiplexor de 4 entradas tiene 64 2
) 2 4 (
+
filas pero queda muy
reducida (a 8 filas), si tenemos en cuenta que los
datos de las entradas de datos no seleccionadas no
importan en la salida.
Existen gran variedad de multiplexores en el
mercado. No obstante, combinando multiplexores
podemos obtener un multiplexor de cualquier
nmero de entradas. Por ejemplo, en el esquema se
muestra como se consigue un multiplexor de 32
entradas de datos, con dos multiplexores de 16
entradas y uno de 2 entradas
I3 i2 i1 i0 S1 S0 S
x x x 0 0 0 0
x x x 1 0 0 1
x x 0 x 0 1 0
x x 1 x 0 1 1
x 0 x x 1 0 0
x 1 x x 1 0 1
0 x x x 1 1 0
1 x x x 1 1 1
IMPORTANTE:
Cualquier sistema de n variables puede implementarse con:
- Un multiplexor de n entradas de control.
- Un multiplexor de (n-1) entradas de control y un inversor.
Por ejemplo: Implementar la siguiente funcin usando un multiplexor con dos entradas
de control (7488).
C B A BC A C B A C B A F + + +
Como tenemos 3 variables y solo tenemos 2 entradas de contol, asignaremos 2 de las
variables a las entradas de control y la otra la pondremos en dos entradas de datos
(ahora veremos cuales), intercalando un inversor.
Primero, hagamos la tabla de verdad del multiplexor, asignandole 2 de las variables a
sus entradas de control:
Para cada una de las combinaciones A y B, la variable C solo puede
tomar uno de sus 2 valores posibles (0,1) y sabemos qu entrada de
datos se conecta a la salida para cada combinacin de A y B. Ahora se
trata de poner la variable C en las entradas de datos correspondientes de
forma que la salida S cumpla la funcin. Si ampliamos esta tabla de
forma que aparezca la variable C , y hacemos la salida igual a la
funcin, tenemos :
Comparando el valor de C on el de la
funcin de salida, observamos que para las
dos primeras filas est seleccionada la
entradad de datos I
0
y tanto C como la
salida tienen el mismo valor, por tanto
C I
0
. Para las dos siguientes
1 I
1
porque la funcin vale 1
independientemente del valor de C.
En las filas 5 y 6, C I
2
porque la funcin
toma valores complementarios a la
variable C y por ltimo 0 I
3
porque la funcin vale 0 independientemente del valor de
A B
S
1
S
0
S
0 0 I
0
0 1 I
1
1 0 I
2
1 1 I
3
A B C F
S
1
S
0
I
Sel. S
Valor de las
entradas de datos
0 0 0 0
0 0
I
0
I
0
1 1
I
0
= C
0 1 0 1
0 1
I
1
I
1
1 1
I
1
= 1
1 0 0 1
1 0
I
2
I
2
1 0
I
2
= /C
1 1 0 0
1 1
I
3
I
3
1 0
I
3
= 0
C. As pues, colocando la variable C en I
0
, un inversor entre I
0
e I
2
, y conectando I
1
a
Vcc e I
3
a masa, el multiplexor hace exactamente la misma funcin que el circuito
combinacional que la identifica.
Si el multiplexor tiene las mismas entradas de control que variables tiene nuestra
funcin, entonces obtendremos de la misma forma, que todas las entradas de datos
estarn puestas a masa o Vcc de forma que se cumpla la funcin (no tenemos que
asignar ninguna variable a las entradas de datos).
DEMULTIPLEXORES.
Son dispositivos que constan de una entrada de datos, varias entradas de control y varias
salidas. Su funcionamiento es similar al de un commutador:
Las entradas de control determinan a qu salida se conecta la entrada de datos en cada
momento.
10.3.- CAMBIADORES DE CODIGO: CODIFICADORES Y
DECODIFICADORES.
En el tratamiento de la informacin digital, tenemos que traducir una informacin de
entrada proveniente de una interfaz a un cdigo binario que podamos procesar. A ese
proceso se le denomina codificacin. Y una vez procesada la informacin tenemos que
traducirla nuevamente para que pueda interpretarla la interfaz de salida y mostrarnos el
resultado. A ese proceso se le denomina decodificacin.
CODIFICADORES.-
Son circuitos combinacionales con hasta
n
2 entradas y n salidas relizados de forma que
cuando una sola entrada adopta un estado lgico (0,1), a la salida aparece la
combinacin binaria correspondiente al nmero decimal asignado a dicha entrada.
Por ejemplo, un codificador de teclado decimal a SBN tendr 10 entradas (0 ... 9) y 4
salidas (4 bits para representar el nmero).
Normalmente todos los codificadores, cuando no se pulsa una tecla, tienen todas las
salidas puestas a 1.
Hay dos tipos de codificadores respecto a la pulsacin de varias teclas a la vez
(activacin de varias entradas):
- Codificadores con prioridad: Siempre dan a la salida el valor de la entrada mas alta
cuando se activan varias a la vez.
- Codificadores sin prioridad: El resto de las entradas son estados no importa ( Ver el
libro Floid).
Todos los codificadores tienen una entrada Enable y una entrada Strobe. Si aplicamos
un 0 a Enable o a Strobe, el circuito no funciona, es decir siempre proporciona la misma
salida (L,H Z; donde L=0,H=1,Z=Alta impedancia) independientemente de la entrada
que activemos.
DECODIFICADORES.-
Realizan el proceso inverso a los codificadores, es decir tienen n entradas y hasta
n
2
salidas de forma que dependiendo de las entradas que se activen, habilita las salidas
correspondientes que activan el interfaz de salida para el que est diseado.
Algunos tipos de decodificadores son:
- Base 4
- Base 8
- 7 Seggmentos
- Decimal
- Hexadecimal
Decodificador con 2 entradas y 4 salidas (Base 4).-
Su tabla de verdad sera:
Decodificador de 7 segmentos.-
La configuracin de un display de y segmentos puede ser en nodo comn o en ctodo
comn. En la de nodo comn, hace falta un decodificador con salidas activas a nivel
bajo (7448) y para la de ctodo comn un decodificador con salidas activas a nivel alto
(7447).
Tambin hay decodificadores en hexadecimal para 7 segmentos, ya que las letras
A,B,C,D,E,F tambin se pueden representar con este display.
Adems de las entradas de datos, tambin tienen las siguientes entradas de control,
activas a nivel bajo:
- LT (Lamp Test Chequeo de lmparas).- Cuando se activa, activa todas las salidas
simultneamente.
- RBI (-------B Input) .- Esta entrada de control determina si el pin BI/RBO funciona
como entrada (BI) o como salida (RBO).
'
'
'
'