Está en la página 1de 34

1

Introduccin

Sistemas Digitales
I.1 Definicin.
Denominamos sistema digital a aqul que realiza operaciones mediante dgitos, los cuales
usualmente se representan como nmeros binarios. Las principales operaciones son: ingreso,
procesamiento, transmisin, almacenamiento y despliegue de datos digitales.
Los sistemas anlogos representan las variables en forma continua, en el tiempo; los digitales
en forma discreta. Los sistemas simblicos emplean letras o iconos como smbolos no
numricos.
Los sistemas anlogos estn siendo reemplazados por sistemas digitales, para esto las
cantidades fsicas en forma anloga, por ejemplo: sonidos, imgenes, voltajes, distancias, deben
ser convertidas a representaciones digitales mediante tcnicas de aproximacin, empleando
dispositivos de conversin anlogo-digitales. Primero se toman muestras, luego se convierten
las muestras en nmeros.

I.2 Diseo clsico y actual.


El permanente cambio que tiene el estudio de sistemas digitales se debe principalmente a tres
factores: la continua evolucin de la tecnologa digital que en menor tamao coloca cada vez
mayor nmero de componentes ms rpidas; el desarrollo de herramientas de ayuda al diseo
digital (CAD) que permiten enfrentar tareas extremadamente complejas; y las nuevas
metodologas de desarrollo de software que facilitan el desarrollo de aplicaciones complejas con
interfases visuales, como las herramientas CAD y los lenguajes de descripcin de hardware
(HDL).
Las primeras metodologas de diseo digital, que podramos denominar clsicas, permiten
comprender los principios de funcionamiento de los sistemas digitales bsicos, y pueden ser
desarrolladas empleando papel y lpiz. Emplean los principios tericos del lgebra de Boole y
algoritmos de minimizacin. Sin embargo los algoritmos son de tipo no polinomial, y no pueden
ser aplicados a situaciones de mediana complejidad (redes con ms de 5 entradas), debido a su
costo exponencial.
Sin embargo, al ser posible enfrentar diseos digitales ms complejos, debido a la
tecnologa, debieron desarrollarse nuevas heursticas para representar sistemas digitales,
minimizarlos, y poder implementarlos en base a bloques lgicos determinados. En estos nuevos

Profesor Leopoldo Silva Bijit

19-01-2010

Sistemas Digitales

algoritmos, estn basadas las herramientas CAD. Su exposicin y estudio corresponde a


disciplinas de programacin, estructuras de datos y algoritmos.
Actualmente el diseo, la simulacin y la implementacin o sntesis de sistemas digitales se
realizan mediante complejos y numerosos algoritmos incrustados dentro de las herramientas
computacionales de apoyo al diseo.

I.3 Conceptos bsicos en sistemas digitales.


Comenzaremos nuestro estudio desarrollando un ejemplo, a travs del cul se irn
introduciendo diversos conceptos que se expondrn, con ms detalle, ms adelante.
Sea un sistema con una entrada E y una salida S, como se muestra en la Figura I.1.
E

Figura I.1
Las variables E y S slo pueden tomar los valores discretos: 0, 1, 2, 3. Es decir son variables
discretas multivaluadas.
La relacin entre E y S podemos describirla
mapeo, que se muestra en la Figura I.2.
E
0
1
2
3

mediante una funcin, empleando la tabla o


S
1
2
3
0

Figura I.2
Tambin podemos describirla mediante la grfica que se muestra en la Figura I.3. Puede
notarse que la grfica no es continua, slo estn definidos puntos en la cuadrcula o reticulado
(lattice). Esto debido a que la definicin de la funcin ya est digitalizada; es decir, representada
por nmeros o dgitos, en sistema decimal, en el ejemplo.
Los puntos podran ser el resultado de una discretizacin (tomando cuatro muestras en todo
el rango de variacin) y cuantizacin (asignado los valores numricos enteros 0, 1, 2 y 3, a los
diferentes niveles) de una seal anloga o continua.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

3
S
3
2
1
1 2 3

Figura I.3
Codificacin.
Se denomina codificacin binaria al proceso de asignar un vector booleano a un smbolo o
valor de la variable multivaluada. Un vector booleano puede tener varias componentes, pero
slo con valores 0 y 1 en sus componentes. Por ejemplo {0, 0} es un vector booleano en un
espacio bidimensional B2; y {0, 1, 0} es un vector en un espacio de tres dimensiones B3. En el
espacio B2, se tienen cuatro puntos; en uno tridimensional se tienen 8 vectores diferentes.
De este modo la variable E, podemos representarla por un vector booleano en dos
dimensiones {E1, E0}, ya que E toma 4 valores solamente. Procediendo de este modo podemos
transformar el problema original en un sistema con variables booleanas. La Figura I.4 representa
el nuevo sistema digital binario:
E1

S1

E0

S0

Figura I.4
La asociacin de los valores 0, 1, 2 y 3 con los vectores booleanos en B2, puede efectuarse de
diferentes maneras. Por ejemplo para el smbolo 0, podemos escoger una de las cuatro
siguientes: {0,0}, {0,1}, {1,0} y {1,1}. Luego para el 1, nos quedan tres posibles; para el 2 slo
tendremos 2 posibles; y una para el smbolo 0. Es decir, 24 asignaciones de cdigo diferentes.
La tabla de la Figura I.5 muestra seis elecciones de codificacin binaria, en las cuales el cdigo
para el smbolo 0 est formado por el vector {0,0}; existen 18 codificaciones adicionales que no
se muestran.
Valor
0
1
2
3

C1
00
01
10
11

C2
00
01
11
10

C3
00
10
01
11

C4
00
10
11
01

C5
00
11
01
10

C6
00
11
10
01

Figura I.5

Profesor Leopoldo Silva Bijit

19-01-2010

Sistemas Digitales

La eleccin del cdigo puede originar diferentes diseos del sistema, algunos con mayor
costo en componentes y posiblemente algn cdigo que origine un diseo de mnimo costo.
Existen elementos tericos para optimizar la lgica de un sistema multivaluado permitiendo
de este modo un nivel adicional de optimizacin; sin embargo en la mayora de los casos la
codificacin es realizada arbitrariamente, limitando la optimizacin a sistemas de lgica
bivaluada.
El cdigo C1, tiene una interpretacin numrica sencilla. Las secuencias de ceros y unos son
los equivalentes, en el sistema binario, del valor decimal.
Sistema numrico binario.
En el sistema numrico binario la base numrica es 2, y los dgitos slo pueden ser 0 y 1. El
equivalente decimal N de un nmero binario de n dgitos: d n 1d n 2 ...d 2 d1d 0 , se obtiene
empleando:

d n 1 2n

d n 2 2n

... d 2 22

d1 21 d 0 20

As por ejemplo, la secuencia binaria: 111 interpretada como nmero binario equivale al
nmero siete decimal: 7 1 22 1 21 1 20 4 2 1
Los nmeros con dos dgitos binarios permiten representar 4 cifras decimales. Conociendo
los tres dgitos binarios, de un nmero binario de tres dgitos, se puede identificar uno de 8
nmeros decimales representables.
Informacin. Bit, Byte.
Se denomina bit, que es un acrnimo de Binary Digit, a la cantidad de informacin requerida
para distinguir entre dos opciones igualmente probables. Un acrnimo es un vocablo formado
por la unin de elementos de dos o ms palabras. Bit est constituido por el principio de la
primera y el final de la ltima.
Por ejemplo, si tenemos dos objetos, uno blanco y uno negro, si asociamos valor 1 al objeto
blanco y un 0 al objeto negro, conociendo el valor del dgito binario asociado a una variable
podemos conocer a cual de los dos objetos se hace referencia, mediante dicha variable.
Se requieren tres bits de informacin para discernir unvocamente a un elemento de entre un
grupo formado por 8 elementos diferentes e igualmente probables. En nuestro ejemplo, se
requieren dos bits para codificar los valores de las variables E y S.
Podra decirse que un subconjunto de la sabidura es el conocimiento; y que un subconjunto
del conocimiento es la informacin; y que los datos son un subconjunto de la informacin.
Entonces la informacin es una representacin de algn conocimiento, tal como hechos,
datos u opiniones transmitidos a travs de cualquier medio o forma, incluyendo textos, nmeros,
grficos, mapas, descripciones verbales o audiovisuales.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

En este orden, la informacin puede definirse como un conocimiento comunicado o recibido


concerniente a un hecho particular o cierta circunstancia, el cual reduce la incertidumbre del
receptor. Tambin podra decirse que la informacin es el significado asignado a los datos
mediante convenciones conocidas usadas en su representacin.
Un bit es la unidad de informacin. Equivale a una decisin binaria o a la designacin de
uno de dos estados posibles e igualmente probables, empleados para almacenar o proveer
informacin.
Es decir si se tienen 2 eventos igualmente probables y se desea conocer cul de ellos se
produce, debe aportarse 1 bit de informacin.
Si se toma la convencin de asociar el dato 1 a la ocurrencia del evento: obtener una cara al
arrojar una moneda; y el smbolo 0, si se obtiene sello. Con un bit de informacin podemos
comunicar a otro el resultado del experimento de arrojar una moneda.
Si son 4 eventos en total, para conocer la ocurrencia de uno determinado de ellos debe
comunicarse dos bits de informacin. La unidad de informacin es el bit (binary digit).
Para conocer cules de los M casos se producen de un conjunto de N eventos igualmente
probables, debe conocerse log2 (N/M) bits de informacin (redondeando al entero ms cercano).
Si se tiran dos dados, para comunicar, transmitir o almacenar la ocurrencia de un caso
determinado, es preciso suministrar 5 bits aproximadamente ( N=36 y M=1, log2 (N/M)=5,17).
Si se tienen 256 personas, puede asignrsele a cada una de ellas un nombre en el sistema
binario, puede verse que se requieren 8 bits para esto (log2(256/1) = 8 ). Los nombres binarios
iran en forma ascendente desde el 00000000 hasta el 11111111.
Se define la unidad de informacin Byte, como 8 bits. Se requiere disponer de un Byte de
informacin para referirse a una determinada persona de entre las 256.
Cualquier carcter (letras maysculas, minsculas y acentuadas en diferentes idiomas)
requiere un Byte para ser especificado. Es as que para almacenar los nombres completos de 100
personas, considerando 50 caracteres por nombre, se requieren: 5000 Bytes de informacin.
Tambin se define que 1024 Bytes es un KByte, entonces para guardar los nombres de las
100 personas se requieren 4,88 KB.
La codificacin de la informacin puede realizarse en cualquier plataforma fsica, que
garantice que la informacin sea estable (que no sea afectada por el ambiente y el tiempo); que
sea rpidamente manipulable (en: acceso, transformacin, transmisin y almacenamiento); y
que sea efectiva en cuanto a costo (que pueda disponerse de un gran volumen de componentes
con bajo costo unitario).
En el caso de sistemas elctricos puede emplearse el voltaje, la corriente, la impedancia, la
fase o la frecuencia; suelen emplearse voltajes para codificar la informacin.
Profesor Leopoldo Silva Bijit

19-01-2010

Sistemas Digitales
Los bits de informacin se codifican en niveles de voltaje.

Tablas de verdad.
Escogiendo la codificacin C1, de la Figura I.5, podemos representar al sistema de la Figura
I.4, por la siguiente tabla:
E1 E0 S1 S0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
Figura I.6
Se tienen ahora dos funciones booleanas S1 y S0, en trminos de las variables E1 y E0. La
representacin de las funciones, mediante la Figura I.6, se denomina tablas de verdad. Se suele
asumir 1 por valor verdadero y 0 por falso, y puede emplearse el lgebra de Boole para
conceptualizar acerca de estas funciones.
Compuertas bsicas. Operadores booleanos.
En el lgebra de Boole se definen los operadores and y or, mediante las tablas de verdad que
se muestran en la Figura I.7. Las tablas describen la conducta esttica de las compuertas; para
estudiar su comportamiento dinmico ser preciso introducir el concepto de retardo, que se ver
luego.
E1 E0 and(E1, E0) or(E1, E0)
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
Figura I.7
La Figura I.8 muestra los smbolos lgicos para la funciones or y and de dos variables.
and

or

Figura I.8
Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

Tambin se define la operacin unaria complementar o invertir, mediante la tabla de la


Figura I.9. La variable complementada se anota con una comilla simple luego del identificador
de la variable.
A A
0 1
1 0
Figura I.9
Se emplea el smbolo lgico, denominado inversor, que se muestra en la Figura I.10.
A

Figura I.10
Empleando los mtodos para construir tablas de verdad, de un curso introductorio de lgebra,
podemos elaborar la tabla de la Figura I.11, en la cual el operador and se emplea con la notacin
del producto lgico y el or con el operador suma lgica; el complemento de una variable se
anota agregando una comilla simple a la variable.
E1 E0 E1E0 E1E0 E1E0+ E1E0 E0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
Figura I.11
Expresiones booleanas.
Comparando las tablas de las Figuras I.6 e I.11, podemos escribir, las expresiones booleanas:
S1 = E1E0+E1E0
S0 = E0
Se considera que dos funciones booleanas que tengan iguales tablas de verdad son
equivalentes; esto se muestra, en las ecuaciones anteriores, introduciendo el operador = para
denotar la equivalencia lgica.
Estas ecuaciones se representan, mediante las compuertas bsicas ya definidas, en la Figura
I.12.

Profesor Leopoldo Silva Bijit

19-01-2010

Sistemas Digitales

Existen mltiples representaciones equivalentes, mediante expresiones, para las funciones de


la Figura I.6. Por ejemplo puede comprobarse que tambin es vlida la siguiente frmula para
S0.
S0 = E1E0+E1E0
La existencia de mltiples expresiones equivalentes implica desarrollar mtodos para escribir
expresiones de tal modo que su representacin a travs de compuertas, emplee el mnimo
nmero de stas, proceso que se denomina minimizacin.
Esquemtico.
La Figura I.12 se denomina esquemtico o diagrama lgico del sistema descrito por la
Figura I.6. Los puntos de unin se han destacado con un pequeo crculo negro; los puntos en
que se cruzan cables no tienen indicada la conexin.
E1
S1
E0

S0

Figura I.12
La implementacin electrnica de las compuertas requiere definir el concepto de niveles
lgicos y adems, como veremos, requiere definir el tiempo de retardo de las conmutaciones.
Niveles lgicos.
Con los conocimientos de cursos previos de electrnica sabemos que el ruido y las
inexactitudes (valores de las componentes, tolerancias de fabricacin, etc.) son inevitables;
debido a esto no es posible reproducir fielmente, en forma repetida, la informacin almacenada
en el valor de un voltaje. Por esto es preciso disear un sistema que tolere determinadas
magnitudes de error para que procesar la informacin (va voltajes) sea confiable.
La idea bsica es no permitir que un 0 pueda ser confundido con un 1 y viceversa; y que los
dispositivos elementales tengan una alta confiabilidad. Esto lleva a prohibir un rango de valores
entre los asociados al 0 y 1 lgicos, y al mismo tiempo al concepto de rango de valores 0 y 1
vlidos.
Zona
prohibida
0 Vlido

1 Vlido
Volts

Figura I.13

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

Los dispositivos (combinacionales, por el momento) entonces deben adoptar valores


discretos vlidos, tanto en la entrada como en la salida y disponer de una descripcin funcional
que especifique los valores de la salida asociados con cada uno de los conjuntos de valores
asociados a las entradas. Tambin debe especificarse una cota superior para el tiempo requerido
desde que las entradas cambian hasta que se tenga un valor estable en la salida (el tiempo de
propagacin, no puede ser cero en dispositivos reales). El dispositivo digital tambin debe
aceptar entradas, dentro de los mrgenes, y producir salidas dentro de los mrgenes; es decir,
debe contemplar mrgenes para el ruido e interferencias que inevitablemente estarn presentes.
En la siguiente grfica se ilustran los rangos de los valores fsicos de voltajes asociados a los
valores lgicos. Se emplean subndices: O por output, I por input; adems L por low (de valor
bajo) y H por high (de valor alto).
Zona
prohibida

0 Vlido Entrada

Vol

Vil

1 Vlido Entrada

Vih

Volts

Voh

1 Vlido Salida

0 Vlido Salida
Mrgenes de ruido

Figura I.14
Los valores de salida deben considerarse asociados a la salida de una componente, y los
valores de entrada asociados a la entrada de una componente.
El diagrama de la Figura I.15, ilustra que VIL debe ser un poco mayor que VOL; permitiendo
absorber las fluctuaciones del voltaje, debidas al ruido causado por diversas fuentes, entre la
salida de una componente y la entrada de la siguiente:

Vruido
VOL VIL

V IL

Vi

VOL
t
Figura I.15

Dispositivos lgicos.
Un dispositivo bsico que acepta una entrada y la deposita en la salida (sin cambios) se
denomina buffer (amortiguador) y queda definido por la siguiente funcin de transferencia
esttica:

Profesor Leopoldo Silva Bijit

19-01-2010

10

Sistemas Digitales
Vout
VOH
VIH
Vin

Vout

VIL
VOL
Vin
VOL VIL

VIH VOH
Figura I.16

Los dispositivos deben ser diseados evitando las reas grises, que corresponden a entradas
vlidas pero salidas invlidas. Se muestra una posible curva que no pasa por las reas grises. Se
asume que normalmente los voltajes de entrada cumplen con los umbrales, y que slo cuando
cambia el valor lgico, se ocupa la parte de la curva ubicada entre los umbrales. Como resultado
de esto se advierte que los dispositivos deben tener ganancia y ser no lineales. A la derecha se
muestra un smbolo lgico para el buffer.
Normalmente los dispositivos se disean empleando transistores y asociando a los valores
lgicos estados de saturacin o corte (estados de bajo consumo de energa). Esto implica que si
una entrada cambia de valor bajo a alto, uno o varios de los transistores que conforman el
dispositivo, tendrn que pasar de saturacin a corte o viceversa. Lo cual implica operacin lineal
momentnea. En el intervalo en que opera en forma lineal, habr un sistema aproximadamente
lineal, cuya solucin incorpora exponenciales, cuya presencia implica un tiempo para llegar a un
valor estacionario. En la conmutacin habr entonces mayor consumo de las fuentes, y un
retardo asociado al cambio. En estados estables se tendr bajo consumo de energa.
La Figura I.17, es una de las posibles caractersticas de transferencia esttica de un inversor.
Es decir, un dispositivo digital que acepta una entrada baja en su entrada y la transforma en alta,
y viceversa. A la derecha se muestra el smbolo lgico para un inversor.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

11
Vout

Voh
Vih
Vil

Vin

Vol

Vout

Vin
Vol Vil

Vih Voh
Figura I.17

La abstraccin digital consiste en representar las variables de entrada y salida de


dispositivos tomando valores discretos 0 y 1.
Retardos de conmutacin.
La Figura I.18 muestra la red electrnica que tiene el comportamiento de un inversor en base
a un transistor bipolar. El condensador C, representa la capacidad parsita entre el cable de
salida y la tierra, a sta debe sumarse la capacidad de entrada del circuito al que est conectada
la salida del inversor.
Si el voltaje Vin es menor que 0,7 [V], la juntura base emisor no conduce y el transistor est
en corte. Cuando se produce el corte, el voltaje Vout sube hasta Vcc, debido a la carga del
condensador, mediante una exponencial de constante de tiempo RcC. Tenemos luego de un
tiempo, un voltaje bajo en la entrada y uno alto en la salida; en esta situacin se tiene un 1
lgico en la salida y el transistor est en un estado de bajo consumo.
+Vcc
Rc

NPN

Vin

Vout

Figura I.18
Si se aplica un voltaje alto, muy superior a 0,7 y cercano a Vcc, el transistor debe estar
saturado, es decir con un voltaje entre colector y emisor cercano a 0,2 [V]. En estas condiciones
el circuito equivalente del transistor es una fuente continua de 0,2[V], en serie con una
resistencia muy baja, sea esta resistencia Rsat. El condensador, cargado a voltaje Vcc, se descarga
segn una exponencial de constante de tiempo RsatC, hasta llegar al voltaje de saturacin. Luego

Profesor Leopoldo Silva Bijit

19-01-2010

12

Sistemas Digitales

de un tiempo tenemos un voltaje alto en la entrada y uno bajo, 0 lgico, en la salida; en estas
condiciones el transistor est en un estado de bajo consumo.
En el Apndice 4 se muestra la conmutacin en transistores CMOS.
Al proceso de pasar de entrada baja o alta a una salida alta o baja, respectivamente, se lo
denomina conmutacin. Este cambio de estado implica que el transistor pasa por su zona lineal
de operacin, y durante un breve lapso de tiempo aumentar su consumo de energa.
La Figura I.19 muestra las formas de ondas de los voltajes de entrada y salida de un inversor.
Se advierte que existe un retardo entre el instante en que la entrada toma valor uno lgico y el
instante en que la salida toma valor lgico cero. Se denomina tiempo de retardo de propagacin
de alto a bajo (tPDHL). Tambin existe un retardo de propagacin, que puede ser diferente al
anterior, cuando la salida pasa de 0 a 1 (tPDLH).
Vin

VIH
VIL

Vout

tPDHL

tPDLH

VOH
VOL
t

tf
Tiempo
cada
(fall time)

tr
Tiempo
subida
(rise time)

Figura I.19
Las formas de ondas que se ilustran en la Figura I.19, son anlogas, y son las que mostrara
un osciloscopio. Sin embargo tanto los simuladores como los analizadores lgicos mostraran
seales estrictamente binarias; esto se debe a que los valores muestreados se almacenan en
forma digital. La Figura I.20, muestra las seales de conmutacin, idealizadas por seales
binarias.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

13
Vin

VIH
VIL
tPDHL

Vout

tPDLH

VOH
VOL
t

Figura I.20
Perturbaciones, carreras.
Si en el circuito digital de la Figura I.12 aplicamos cambios en las entradas, las salidas
deberan cambiar segn la tabla de verdad de la Figura I.6. Debido a los retardos veremos que
estos cambios no se producen inmediatamente. Si suponemos que las entradas E1 y E0 han
estado un largo tiempo con valor 1, ambas salidas estarn en 0. Esta condicin se muestra en el
tiempo 0 de la Figura I.21.
t1

E1

E0
E1
E0
E1E0
E1E0
S1=E1E0+E1E0
S0
t2

Figura I.21

Profesor Leopoldo Silva Bijit

19-01-2010

14

Sistemas Digitales

Luego cambiaremos ambas entradas a cero, pero debido a que es muy poco probable que las
compuertas que generan las seales E1 y E0 tengan iguales parmetros, asumiremos que primero
cambia E1, y luego de un pequeo tiempo lo hace E0. Se dice que existe una carrera entre las
entradas; en general es muy poco probable lograr un cambio simultneo de un conjunto de
seales.
En el instante t1, ambas entradas estarn en cero. Se han dibujado las formas de ondas de las
seales: luego de los inversores, a la salida de las compuertas and y a la salida de la compuerta
or, considerando los retardos de propagacin.
Se advierte que se produce un pequeo pulso, que durante un breve instante coloca a S1 en
uno. Si lo que se deseaba era pasar de entradas 11 a entradas 00, las salidas deberan haber
cambiado de 00 a 01, sin embargo momentneamente las salidas pasan por 11. Se puede
observar que desde el instante t2, se tienen las salidas deseadas.
Otra situacin simple, en la cual se tiene un comportamiento no esperado, de acuerdo al
lgebra de Boole, es la que se ilustra en la Figura I.22. Con b=1, aplicaremos un pulso en la
entrada a, y obtendremos la forma de onda digital de la seal x.
a
x
b

Figura I.22
En la Figura I.23 se ilustran las formas de ondas: en la entrada, a la salida del inversor, en la
salida del and, y en la salida del or. Se aprecia que la salida va momentneamente a cero,
cuando deba permanecer siempre en 1; este efecto se denomina perturbacin esttica. De
acuerdo al algebra de Boole, la salida x puede escribirse segn: x=a+a=1.
a

a
a+a
x
t1

Figura I.23
Entonces: los cambios no simultneos de las entradas, y las operaciones and y or con
operandos iguales a una seal y su complemento, que produzcan una salida, originan cambios
indeseados en la salida de una red combinacional.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

15

Estudiaremos, ms adelante, los fundamentos del diseo combinacional libre de


perturbaciones, sin embargo la no simultaneidad de los cambios del vector de entrada no puede
ser resuelto dentro de la red combinacional.
La siguiente simulacin Verilog (Ver Apndice 5), genera las formas de ondas, de la Figura
I.24, asumiendo que los retardos de los inversores son de una unidad de tiempo de simulacin, y
que las compuertas and y or tienen retardos de dos unidades. Se describe la red combinacional
mediante la interconexin de compuertas de la Figura I.12, mediante el mdulo funcioncnt. La
Figura I.24, es generada automticamente, mediante simulacin; la Figura I.21, fue generada
manualmente. El mdulo test produce una secuencia de estmulos que genera el archivo
cntmod4.vcd, que emplea un formato estndar para las formas de ondas.
module funcioncnt(input E1, E0, output S1, S0);
wire n1,n2,n3;
not #1 (n1,E1);
and #2 (n2,n1,E0);
and #2 (n3,E1,S0);
or #2 (S1,n2,n3);
not #1 (S0,E0);
endmodule
module test(inputS1,S0,output E1,E0);
reg E1,E0;
initial
begin
$dumpfile("cntmod4.vcd");
$dumpvars(0, E1,E0,S1,S0);
end
initial
begin
$monitor("E1=%b E0=%b S1=%b S0=%b ", E1, E0, S1, S0 , $time);
E1=1; E0=1;
#10 E1=0;
#4 E0=0;
#20 E1=1;
#20 $finish;
end
endmodule
module BancoDePrueba;
wire E1,E0;
wire S1,S0;
funcioncnt f1 (E1,E0,S1,S0);
test
t1 (S1,S0,E1,E0);
endmodule

Profesor Leopoldo Silva Bijit

19-01-2010

16

Sistemas Digitales

Figura I.24
Mediante la componente lgica, denominada flip-flop, veremos cmo puede sincronizarse
las salidas de una red combinacional, de tal modo que no se vean afectadas por las carreras de
las entradas o perturbaciones generadas en el sistema combinacional.

I.4. Sistemas digitales secuenciales.


Flip-flop D.
Este elemento se considera de naturaleza secuencial, y es una memoria de un bit. Funciona
bajo el control de un reloj; en el instante que el reloj sube, se toma una muestra del valor de
entrada, se la almacena y se cambia la salida, de acuerdo al valor recin muestreado. Luego
cuando la seal de reloj, pasa a cero, la salida no cambia. El smbolo lgico se muestra en la
Figura I.25.
Q

Q
Clk

Figura I.25
Reloj
El reloj es una seal peridica que establece instantes de referencia o sincronizacin,
pudiendo ser stos los cantos de subida o de bajada del reloj. Se discretiza la variable tiempo, de
tal modo que las variables adoptan valores constantes entre los cantos de referencia.
La Figura I.26 muestra el funcionamiento del flip-flop D: la seal Q permanece constante
entre ciclos de reloj, esto equivale a memorizar un valor durante un intervalo de tiempo. La
salida Q registra el valor de la entrada D, en el momento en que ocurre el canto de subida del
reloj.
Set-up, hold, tiempo de propagacin.
En un dispositivo real es preciso que no ocurran cambios de la entrada un intervalo antes del
canto de subida del reloj (set-up); y un intervalo despus del canto de subida del reloj (hold).
Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

17

Tambin se muestra que los cambios de la salida ocurren un tiempo de propagacin luego del
canto de subida del reloj. En el captulo 14 sobre sistemas asincrnicos se darn las razones de
estas restricciones temporales.
t1

t2

t3

Clk
D
Q

Figura I.26
Las formas de ondas consideran que el valor inicial de Q es cero. Los cambios de las
entradas despus del tiempo de hold de un canto de subida, y antes del tiempo de set-up del
prximo canto de subida, no son registrados por el flip-flop; lo que se ilustra en el intervalo t3 de
la Figura I.26.
Salidas combinacionales sincronizadas por un reloj.
Si a la red de la Figura I.4, le conectamos dos flip-flops D, se tendr la red combinacional
sincronizada, que se muestra en la Figura I.27. Tambin se dice que tenemos una red
combinacional con salida registrada.
E1

S1

E0

S0

s1

s0

clk

Figura I.27
Si las entradas S1 y S0 (con maysculas) cumplen los requerimientos de set-up y hold, las
salidas s1 y s0 (con minsculas) experimentan sus cambios luego del canto de subida del reloj, y
permanecen estables entre cantos de subida del reloj.
Los cambios de un vector, luego de un tiempo de propagacin a travs de los flip-flops, se
insinan con ambas conmutaciones, como se ilustran los cambios de s, en el diagrama de la
Figura I.28. Suele indicarse el valor que toma el bus en binario, decimal o hexadecimal, con un
nmero dentro de las zonas.
La Figura I.28 muestra la secuencia de valores: 00, 01, 11, y 10 en el bus s, en la salida de los
flip-flops.

Profesor Leopoldo Silva Bijit

19-01-2010

18

Sistemas Digitales

clk

01

11

10

Figura I.28
Debe destacarse que es poco probable el cambio simultneo de las salidas de flip-flops
diferentes, a pesar de que operen con igual reloj.
Si los circuitos que generan las seales E1 y E0, lo efectan mediante salidas registradas,
controladas por el mismo reloj, se tienen:
a) Si el tiempo de propagacin a travs de los flip-flops es mayor que el tiempo de hold, los
cambios (posiblemente no simultneos) del vector E, se producen con el reloj alto.
b) Las seales S1 y S0 pueden contener cambios no deseados, que deben extinguirse antes
del tiempo de set-up. Si esto no se cumple debe bajarse la frecuencia del reloj.
c) Si las seales S1 y S0 cumplen los requerimientos del tiempo de set-up y hold, los valores
capturados por los flip-flops contendrn en s1 y s0, los valores estables de S1 y S0.
La Figura I.26, muestra que los cambios, de las entradas, entre cantos de subida del reloj no
son considerados para ser grabados; prcticamente son filtrados.
Realimentaciones. Sistema secuencial sincrnico.
Si en el circuito de la Figura I.27, realimentamos las salidas s hacia las entradas E, se obtiene
el sistema secuencial sincrnico que se muestra en la Figura I.29.

E1

E0

S1

s1

S0

s0

clk

Figura I.29
Supongamos que ambos flip-flops tienen salida 0. Entonces, entre dos cantos de reloj la
salida ser s1=0 y s0=0, entonces las entradas a la red combinacional sern E1=0 y E0=0. Lo

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

19

cual produce, luego de un tiempo, las salidas S1=0 y S0=1. Si estas salidas de la red
combinacional estn estables antes del prximo canto de subida del reloj, al llegar ste, se
tendrn: s1=0 y s0=1. Cuando los valores de los flip-flops cambian se dice que ha ocurrido un
cambio de estado. El vector booleano asociado a los valores de los flip-flops se denomina
estado.
Estando en el estado s={0,1}, en el prximo canto de subida del reloj, se tendr, debido a la
red combinacional que produce S={1,0}, que el nuevo estado ser: s={1,0}.
Las transiciones entre estados pueden representarse mediante el diagrama de estados de la
Figura I.30, que muestra el valor de cada estado dentro de un crculo. Hay 4 crculos ya que se
tienen 4 estados. La ocurrencia del canto de subida del reloj, momento en el cual se produce la
conmutacin de los flip-flops, se muestra con una flecha que conecta dos estados, desde el
estado actual al prximo estado.
00

11

01

10

Figura I.30
Otra forma de describir la informacin del diagrama de estados es a travs de una tabla de
transiciones, que muestre en una columna el estado presente y en otra, el prximo estado.
Estado Presente Prximo estado
s1
s0
S1
S0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
Figura I.31
Debido a las realimentaciones, la tabla anterior describe la red combinacional vista al inicio,
en la Figura I.6.
Puede describirse en Verilog la red de la Figura I.29, se ha agregado la seal Resetn, para
colocar la mquina secuencial en el estado inicial s=00.
module cntmod4 (input clk, Resetn, output [1:0] s);
reg [1:0] s, S;
// Red combinacional de prximo estado.
always @(s)
Profesor Leopoldo Silva Bijit

19-01-2010

20

Sistemas Digitales
begin
S[1] = (s[1]&!s[0])|(!s[1]&s[0]);
S[0] = !s[0];
end
// Proceso secuencial del registro.
always @(negedge Resetn or posedge clk)
if (Resetn == 0) s <= 0;
else
s <= S; //estado presente<=prximo estado
endmodule

En el Apndice 5 se describe el uso de Verilog para representar, simular y disear sistemas


digitales.

Figura I.32
La Figura I.32, muestra las formas de ondas producidas con la simulacin del contador
mdulo 4. Muestra en binario los diferentes valores que toma el vector s, entre cantos de subida
del reloj.
Generalizaciones. Red booleana.
Una generalizacin permite una visin ms profunda de un problema particular. Una
generalizacin ayuda a diferenciar las propiedades especiales o particulares de las generales.
La Figura I.33, es una generalizacin de la situacin anterior, en la cual se ha agregado un
vector x, que constituye la entrada al sistema secuencial. Ahora las transiciones de un estado a
otro dependen de las entradas y del estado presente s. Tambin se ha agregado un control que
permite colocar todos los flip-flops en cero, de esta manera puede dejarse al sistema en el
estado cuyo nombre binario est formado por puros ceros, que suele denominarse estado inicial.
Es indispensable conocer el estado inicial, para generar la secuencia de estados que se recorren
cuando se aplica una determinada secuencia de entrada.
Otra generalizacin es agregar un mdulo que genere un vector de salida. Si la salida
depende de la entrada y el estado se denomina modelo de Mealy a esta representacin de una
mquina secuencial. Si la salida slo depende del estado presente se obtiene el modelo de
Moore.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

21
Reset
x

P1
E

P2
S

DQ

Clk

Figura I.33
Un mayor grado de generalizacin se muestra en la Figura I.34, que muestra una red
booleana, formada por la interconexin de redes combinacionales con registros. El diseo de
estas redes, debido a su complejidad, est basado en la descripcin de diferentes mdulos
mediante lenguajes. Cada mdulo es desarrollado y simulado antes de ser integrado como una
parte del sistema mayor. El sistema debe describirse mediante las operaciones de
transformacin que efectan los bloques combinacionales y las reglas para almacenar
confiablemente la informacin en los registros. Esto suele efectuarse describiendo las
transferencias entre registros; razn por la cual se suele denominar RTL (Register Transfer
Level) a la descripcin de sistemas digitales en este nivel.
salidas

entradas

Figura I.34 Red booleana.


Si todas las seales de sincronizacin (los clk de los registros) son iguales se dice que el
sistema es sincrnico; en caso contrario el sistema es asincrnico.

Profesor Leopoldo Silva Bijit

19-01-2010

22

Sistemas Digitales

I.5. Definiciones de algunos conceptos generales de sistemas digitales.


Evento
Se denomina evento al cambio de valor de una seal en un instante de tiempo. Pasar de nivel
lgico 1 a 0 se denomina canto de bajada. Un canto de subida se produce cuando la seal pasa
de nivel lgico 0 a 1.
A un evento tambin se lo denomina mensaje; los valores que toman los eventos suelen
interpretarse como smbolos pertenecientes a un alfabeto.
Mquina abstracta.
Una mquina abstracta es un modelo de computacin que establece cmo se generan las
acciones, o eventos de salida, a partir de los mensajes o eventos de entrada.

Acciones

Mensajes
Mquina

Figura I.35
Sistemas combinacionales.
Se denominan mquinas o sistemas combinacionales a aquellos cuyas salidas, en un
instante de tiempo, dependen solamente de los valores que toman las entradas en ese instante de
tiempo. Lo cual puede describirse por una funcin o tabla que especifique los valores de las
salidas para cada una de las combinaciones posibles de las entradas. En estos sistemas las
componentes no cambian sus propiedades a medida que transcurre el tiempo.
Ejemplo de sistema combinacional.
En el siguiente sistema combinacional, se tienen dos eventos asociados a los interruptores S1
y S2, y una accin de salida L asociada a la ampolleta.
Los eventos de entrada pueden tomar los valores: abrir o cerrar. La accin de salida puede
tomar los valores: apagar o encender.
V
L
S2

S1
Figura I.36
Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

23

El sistema puede especificarse mediante la siguiente tabla:


S1
abrir
abrir
cerrar
cerrar

S2
L
abrir apagar
cerrar encender
abrir encender
cerrar encender

Figura I.37
Tambin empleando el lenguaje C:
if ( (S1 == cerrar ) || (S2 == cerrar) ) L = encender; else L = apagar;
o alternativamente:
if ( (S1 == abrir ) && (S2 == abrir) ) L = apagar; else L = encender;
Si puede construirse la tabla que relaciona los eventos de entrada con los de salida, el sistema
es combinacional. En la descripcin mediante un lenguaje, si slo se emplean sentencias de
alternativa (if then else, switch) el sistema es combinacional.
Existen sistemas ms complejos que los combinacionales, son aquellos que pueden cambiar
sus atributos en funcin del tiempo (dinmicos).
Estado.
Se denomina estado al conjunto de atributos que representan las propiedades de un sistema u
objeto en un determinado instante de tiempo.
En el caso de componentes digitales que tienen dispositivos que pueden almacenar valores,
se denomina estado al contenido de la memoria.
El estado refleja la condicin en que se encuentra el sistema o mquina digital.
Mquinas de estados.
Se denominan mquinas de estados a aquellas cuyas salidas, en un instante de tiempo,
dependen de los valores que toman las entradas y el estado en ese instante de tiempo. Lo cual
puede describirse por una funcin de transicin que especifique los valores de las salidas y del
prximo estado para cada una de las combinaciones posibles de las entradas y del estado
presente. Las computaciones comienzan a partir de un estado inicial y de una secuencia de
valores de la entrada.
Transicin.
Se denomina transicin al cambio de estado del sistema, y sta debe indicar cmo se pasa de
un estado a otro.

Profesor Leopoldo Silva Bijit

19-01-2010

24

Sistemas Digitales

Un modelo matemtico adecuado para la funcin de transicin es una matriz, en la cual los
renglones y columnas representan los eventos de entrada y los diferentes estados; el contenido
de la matriz especifica el prximo estado y las salidas.
Diagrama de estados.
Se denomina diagrama de estados a una representacin grfica, en la cual los estados se
representan como crculos (o rectngulos) y las transiciones como lneas orientadas, que
conectan los estados, y que representan los eventos de entrada.
Ejemplo de mquina de estados.
Consideremos como ejemplo de mquina de estados a un torniquete, similar a los empleados
en el acceso al metro.

Figura I.38
El torniquete tiene dos estados: puede estar trabado o destrabado. Cuando el torniquete est
trabado, una persona puede ingresar un boleto, este evento causa que el torniquete pase al estado
destrabado. Estando destrabado, cuando se produce el evento de que una persona pasa, haciendo
girar el torniquete, ste pasa al estado trabado.
En el siguiente diagrama se ilustran las transiciones entre estados, stas se han identificado
por un par (evento de entrada)/(evento de salida), ilustrando que las salidas estn asociadas a las
transiciones (Modelo de Mealy).
Cuando se inserta el boleto, se genera o dispara la accin de destrabar; cuando la persona al
pasar hace girar el torniquete, se produce la accin de trabar.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

25

Insertar/Destrabar

destrabado

trabado

Pasar/Trabar

Figura I.39
El diagrama modela la mquina de estados finitos, y para su completa especificacin debe
establecerse un estado inicial. Se asume que el estado inicial es el estado trabado.
El diagrama considera que los mensajes o eventos de entrada ocurren normalmente, segn lo
planeado por el diseador y describen claramente las funciones del sistema en forma precisa,
permitiendo adems juzgar si el diseo est o no completo.
Los usuarios podran gatillar eventos normales en tiempos en los que stos no se esperan.
Por ejemplo: estando en estado trabado, se podra generar la seal de paso (aplicando fuerza
bruta); o estando destrabado volver insertar un boleto. Estos eventos deben ser tratados en un
diseo real, ojal en el modelado inicial; su no consideracin temprana podra generar un
producto de mala calidad o intil.
Para resolver la situacin podra generarse una alarma en caso de intentar pasar cuando el
torniquete est trabado. Esto implica una accin adicional, y al mismo tiempo la necesidad de
un evento adicional que apague la alarma; o bien la creacin de un estado adicional de
violacin. Por otro lado, puede bloquearse el ingreso de boletos cuando el torniquete est
destrabado, o bien lo que propondra un ingeniero comercial: prender un aviso luminoso que
diga gracias. Lo cual lleva a especificar la accin de apagar dicho letrero, que tambin debe
agregarse al diagrama.
Insertar/Destrabar
Iniciar
Insertar/Agradecer

Pasar/Alarmar
destrabado

trabado

Pasar/Trabar

Profesor Leopoldo Silva Bijit

19-01-2010

26

Sistemas Digitales
Figura I.40

A medida que se va completando la especificacin de un sistema real pueden ir aumentando


el nmero de eventos, de estados y tambin el nmero de acciones, lo cual lleva a diagramas
complejos.
Tambin puede especificarse que el sistema tendr un modo de servicio y otro de
mantenimiento, lo cual podra estudiarse como dos diagramas interconectados (diseos
modulares).
La siguiente matriz de transiciones describe la mquina de estados, especificando el
prximo estado en funcin del estado presente y de los eventos de entrada.

Estado
actual
Trabado
Destrabado

Eventos de
entrada
Pasar
Insertar
Trabado Destrabado
Trabado Destrabado
Prximo estado
Figura I.41

La siguiente matriz define las salidas asociadas a las transiciones.

Estado
actual
Trabado
Destrabado

Eventos de
entrada
Pasar
Insertar
Alarmar Destrabar
Trabar
Agradecer
Acciones
Figura I.42

Si puede describirse un sistema mediante un diagrama de estados o a travs de las matrices


de transiciones y de salida se dice que el sistema es secuencial.
En casos ms complejos, en la implementacin por software de mquinas de estados finitos,
puede emplearse una matriz de objetos. Donde cada entrada es un objeto que contiene los
mtodos o conductas deseadas.
La naturaleza secuencial implica el uso de sentencias de repeticin. La funcin de transicin
puede implementarse mediante switches. Sin embargo a medida que el sistema aumenta sus
estados y/o entradas se va complicando la lectura y el tamao del cdigo de la funcin.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

27

Debido a que el modelo de programacin orientado a objetos y la programacin de sistemas


de tiempo real emplean mquinas de estados finitos, han aparecido numerosas y nuevas
herramientas para especificar y verificar diagramas de estado.
Lenguajes de descripcin de hardware.
En implementaciones de hardware, basadas en componentes digitales, han evolucionado
rpidamente los lenguajes de descripcin de hardware (HDL), que permiten especificar
ejecuciones paralelas de acciones; en lugar de las estrictamente secuenciales de los lenguajes de
programacin.
Autmata de estados finitos determinista.
Si el nmero de estados es finito, se denominan mquinas de estados finitos. Si el prximo
estado queda unvocamente determinado por un solo evento se denominan determinsticas.
Si hay transiciones sin un evento de entrada o ms de una transicin para un par determinado
entrada-estado, se denominan no determinsticas.
Es posible generar un autmata de estados finitos determinista que tenga las mismas salidas,
para iguales entradas, que uno no determinista.
Tipos de mquinas.
Existen varios tipos de mquinas. Se denominan de Mealy aquellas cuyas salidas se
producen en las transiciones entre estados; y de Moore a aquellas en la cuales las salidas estn
asociadas al estado. Existen procedimientos para convertir un modelo de Mealy en uno de
Moore.
Reloj.
Si las transiciones ocurren en determinados instantes de tiempo se denominan sincrnicas.
Los instantes en que se producen los cambios de estado estn asociados al canto de subida, o al
de bajada, de una seal denominada reloj.
Mquinas secuenciales.
Las mquinas de estados finitos suelen denominarse mquinas secuenciales ya que a partir
de una secuencia ordenada de eventos de entrada, generan una secuencia de estados por los que
pasa la mquina, y a su vez una secuencia de acciones de salida.
Algunas aplicaciones de mquinas secuenciales.
Un nuevo e importante uso de los conceptos de este curso es en la programacin orientada a
objetos. Los objetos tienen un estado, el cual es dado por el valor de sus atributos. En este
ambiente el diseo de una clase puede facilitarse si se intenta modelar los estados de un objeto
en el mundo real, mediante un diagrama de estados. Las mquinas de estados finitos han llegado
a ser el modelo estndar para representar la conducta de los objetos.

Profesor Leopoldo Silva Bijit

19-01-2010

28

Sistemas Digitales

El control de un computador es una mquina de estados. Los protocolos de red se


implementan mediante mquinas de estados.
Las mquinas secuenciales son un poderoso modelo para implementar esquemas de control
secuencial (dependientes de la historia pasada), tanto en hardware como en software. Facilitan
el diseo de la programacin de sistemas multitareas, en tiempo real, utilizando
microcontroladores.
El modelo de mquina secuencial se emplea en Teora de lenguajes formales y tiene
importantes aplicaciones en reconocimiento de patrones y analizadores lxicos y sintcticos, por
mencionar algunas.
Diseo.
Disear es resolver un problema, a partir de su especificacin, escogiendo apropiadamente
las componentes desde un conjunto disponible, y tal que se satisfagan algunos criterios para el
tamao, costo, velocidad de operacin, consumo de energa, elegancia, etc.
El diseo digital podra definirse como la determinacin de las componentes digitales que
realizan las especificaciones de comunicacin, control y procesamiento de los datos. Ms
especficamente, es descomponer la solucin en redes combinacionales y/o secuenciales
organizando jerrquicamente el diseo y empleando efectivamente herramientas
computacionales modernas de ayuda al diseo.
Las tcnicas anteriores se aplican en diseo de computadores, redes, comunicaciones, y en
automatizacin de procesos productivos; en resumen el diseo digital est presente en
numerosas e importantes aplicaciones de la ingeniera electrnica. El siguiente diagrama ilustra
un sistema digital muy utilizado:

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

29

Computador Personal.
Hardware y Software

Compuerta
10 Transistores

Tarjeta Madre
500*106 Transistores

Celda
50 Transistores

Circuito Integrado
5*106 Transistores

Mdulo
100*103 Transistores

Figura I.43
El diagrama ilustra la estructura jerrquica de los sistemas digitales, en la cual cada nivel
tiene complejidad acotada y adems los bloques constructivos bsicos se emplean con diferente
propsito.
En el menor nivel los dispositivos estn implementados con transistores MOSFET. Estas
componentes primitivas ms un sistema para codificar la informacin en forma digital, permiten
construir los diferentes niveles de un sistema digital.

Figura I.44

Profesor Leopoldo Silva Bijit

19-01-2010

30

Sistemas Digitales

Tambin puede advertirse que la implementacin de un sistema complejo tiene una gran
cantidad de trabajo de diseo. Lo cual implica gran nmero de personas involucradas en
diferentes niveles; para lograr una mejor cooperacin los bloques constructivos deben imponer
lmites que muestren las interfases entre los bloques en forma sencilla y bien especificada.
Un buen trabajo de diseo implica: poder adaptarse a mejoras tecnolgicas, permitir realizar
tareas diferentes con los mismos mdulos y ser efectivo en cuanto a costos.
Para lograr lo anterior es preciso:
Desarrollar abstracciones de los bloques primitivos, y conocer los principios para organizar
los bloques constructivos bsicos en unidades ms complejas.

I.6. Resumen.
Se estudiarn los fundamentos matemticos de las funciones de variables discretas, su
estructura y diversos mtodos de representacin de funciones. Luego los principios y tcnicas
para modelar situaciones del mundo real, mediante funciones booleanas y registros. Despus
se analizarn sistemas ya diseados para posteriormente disear, implementar o sintetizar,
mediante diferentes tecnologas, sistemas digitales combinacionales y secuenciales.
Se desea mostrar:
Los principios de diseo digital basados en el lgebra de Boole, con utilizacin de
herramientas computacionales, para minimizar las ecuaciones y analizar el comportamiento
temporal.
El concepto de estado y de mquinas secuenciales.
Cmo especificar, simular y sintetizar los diseos en dispositivos programables y no
programables.
Conviene conocer el diseo en bajo nivel de los subsistemas tpicamente usados, de esta
manera se conocer su funcionalidad, sus alcances, la forma de generalizarlos, y su costo. Luego
las descripciones de la arquitectura pueden realizarse basada en esos mdulos.
Un curso bsico en sistemas digitales debe profundizar en el diseo de los bloques bsicos,
y tambin capacitar en descomponer un problema en trminos de esos bloques. Esto
garantiza plantear arquitecturas con partes que sern sintetizadas eficientemente.
La Figura I.45, muestra el proceso de sntesis como un nivel intermedio, entre las
descripciones de arquitecturas mediante mdulos sintetizables (top-down), y el desarrollo de
mdulos bsicos implementados mediante compuertas y flip-flops (bottom-up).
Emplearemos el lenguaje de descripcin de hardware Verilog, que permite las descripciones
y simulaciones en los diferentes niveles, dando homogeneidad al proceso de diseo.

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

31
Arquitectura abstracta
Sntesis
Bloques Bsicos
Compuertas
Flip-flops

Figura I.45
La construccin de compuertas, en base a transistores, se describe en forma introductoria en
el Apndice 4; la elaboracin de flip-flops, en base a compuertas se introduce en el Captulo 14
dedicado a sistemas digitales asincrnicos. Sin embargo la descripcin detallada de los
principios de diseo de las compuertas, flip-flops, multivibradores monoestables, etc., en base a
transistores y componentes de redes elctricas no es tratada en este texto.

Profesor Leopoldo Silva Bijit

19-01-2010

32

Sistemas Digitales

ndice general.
INTRODUCCIN ................................................................................................................................1
SISTEMAS DIGITALES .....................................................................................................................1
I.1 DEFINICIN. ...................................................................................................................................1
I.2 DISEO CLSICO Y ACTUAL............................................................................................................1
I.3 CONCEPTOS BSICOS EN SISTEMAS DIGITALES. ..............................................................................2
Codificacin. ..................................................................................................................................3
Sistema numrico binario. ..............................................................................................................4
Informacin. Bit, Byte. ..................................................................................................................4
Tablas de verdad. ...........................................................................................................................6
Compuertas bsicas. Operadores booleanos. ................................................................................6
Expresiones booleanas. ..................................................................................................................7
Esquemtico. ..................................................................................................................................8
Niveles lgicos................................................................................................................................8
Dispositivos lgicos. .......................................................................................................................9
Retardos de conmutacin. ............................................................................................................11
Perturbaciones, carreras..............................................................................................................13
I.4. SISTEMAS DIGITALES SECUENCIALES...........................................................................................16
Flip-flop D. ...................................................................................................................................16
Reloj .............................................................................................................................................16
Set-up, hold, tiempo de propagacin. ...........................................................................................16
Salidas combinacionales sincronizadas por un reloj. ..................................................................17
Realimentaciones. Sistema secuencial sincrnico. .......................................................................18
Generalizaciones. Red booleana. .................................................................................................20
I.5. DEFINICIONES DE ALGUNOS CONCEPTOS GENERALES DE SISTEMAS DIGITALES. ..........................22
Evento ...........................................................................................................................................22
Mquina abstracta. ......................................................................................................................22
Sistemas combinacionales. ...........................................................................................................22
Ejemplo de sistema combinacional. .............................................................................................22
Estado. ..........................................................................................................................................23
Mquinas de estados. ...................................................................................................................23
Transicin. ...................................................................................................................................23
Diagrama de estados. ...................................................................................................................24
Ejemplo de mquina de estados. ..................................................................................................24
Lenguajes de descripcin de hardware. .......................................................................................27
Autmata de estados finitos determinista. ....................................................................................27
Tipos de mquinas. .......................................................................................................................27
Reloj. ............................................................................................................................................27
Mquinas secuenciales. ................................................................................................................27
Algunas aplicaciones de mquinas secuenciales. ........................................................................27
Diseo. .........................................................................................................................................28
I.6. RESUMEN. ...................................................................................................................................30
NDICE GENERAL. ..............................................................................................................................32
NDICE DE FIGURAS............................................................................................................................33

Profesor Leopoldo Silva Bijit

19-01-2010

Introduccin

33

ndice de figuras.
Figura I.1 ....................................................................................................................................... 2
Figura I.2 ....................................................................................................................................... 2
Figura I.3 ....................................................................................................................................... 3
Figura I.4 ....................................................................................................................................... 3
Figura I.5 ....................................................................................................................................... 3
Figura I.6 ....................................................................................................................................... 6
Figura I.7 ....................................................................................................................................... 6
Figura I.8 ....................................................................................................................................... 6
Figura I.9 ....................................................................................................................................... 7
Figura I.10 ..................................................................................................................................... 7
Figura I.11 ..................................................................................................................................... 7
Figura I.12 ..................................................................................................................................... 8
Figura I.13 ..................................................................................................................................... 8
Figura I.14 ..................................................................................................................................... 9
Figura I.15 ..................................................................................................................................... 9
Figura I.16 ................................................................................................................................... 10
Figura I.17 ................................................................................................................................... 11
Figura I.18 ................................................................................................................................... 11
Figura I.19 ................................................................................................................................... 12
Figura I.20 ................................................................................................................................... 13
Figura I.21 ................................................................................................................................... 13
Figura I.22 ................................................................................................................................... 14
Figura I.23 ................................................................................................................................... 14
Figura I.24 ................................................................................................................................... 16
Figura I.25 ................................................................................................................................... 16
Figura I.26 ................................................................................................................................... 17
Figura I.27 ................................................................................................................................... 17
Figura I.28 ................................................................................................................................... 18
Figura I.29 ................................................................................................................................... 18
Figura I.30 ................................................................................................................................... 19
Figura I.31 ................................................................................................................................... 19
Figura I.32 ................................................................................................................................... 20
Figura I.33 ................................................................................................................................... 21
Figura I.34 Red booleana. ........................................................................................................... 21
Figura I.35 ................................................................................................................................... 22
Figura I.36 ................................................................................................................................... 22
Figura I.37 ................................................................................................................................... 23
Figura I.38 ................................................................................................................................... 24
Figura I.39 ................................................................................................................................... 25
Figura I.40 ................................................................................................................................... 26
Figura I.41 ................................................................................................................................... 26
Figura I.42 ................................................................................................................................... 26
Figura I.43 ................................................................................................................................... 29
Profesor Leopoldo Silva Bijit

19-01-2010

34

Sistemas Digitales

Figura I.44 ................................................................................................................................... 29


Figura I.45 ................................................................................................................................... 31

Profesor Leopoldo Silva Bijit

19-01-2010

También podría gustarte