Está en la página 1de 34

1

Introducción

Sistemas Digitales

I.1 Definición.

Denominamos sistema digital a aquél que realiza operaciones mediante dígitos, los cuales
usualmente se representan como números binarios. Las principales operaciones son: ingreso,
procesamiento, transmisión, almacenamiento y despliegue de datos digitales.

Los sistemas análogos representan las variables en forma continua, en el tiempo; los digitales
en forma discreta. Los sistemas simbólicos emplean letras o iconos como símbolos no
numéricos.

Los sistemas análogos están siendo reemplazados por sistemas digitales, para esto las
cantidades físicas en forma análoga, por ejemplo: sonidos, imágenes, voltajes, distancias, deben
ser convertidas a representaciones digitales mediante técnicas de aproximación, empleando
dispositivos de conversión análogo-digitales. Primero se toman muestras, luego se convierten
las muestras en números.

I.2 Diseño clásico y actual.

El permanente cambio que tiene el estudio de sistemas digitales se debe principalmente a tres
factores: la continua evolución de la tecnología digital que en menor tamaño coloca cada vez
mayor número de componentes más rápidas; el desarrollo de herramientas de ayuda al diseño
digital (CAD) que permiten enfrentar tareas extremadamente complejas; y las nuevas
metodologías de desarrollo de software que facilitan el desarrollo de aplicaciones complejas con
interfases visuales, como las herramientas CAD y los lenguajes de descripción de hardware
(HDL).

Las primeras metodologías de diseño digital, que podríamos denominar clásicas, permiten
comprender los principios de funcionamiento de los sistemas digitales básicos, y pueden ser
desarrolladas empleando papel y lápiz. Emplean los principios teóricos del álgebra de Boole y
algoritmos de minimización. Sin embargo los algoritmos son de tipo no polinomial, y no pueden
ser aplicados a situaciones de mediana complejidad (redes con más de 5 entradas), debido a su
costo exponencial.

Sin embargo, al ser posible enfrentar diseños digitales más complejos, debido a la
tecnología, debieron desarrollarse nuevas heurísticas para representar sistemas digitales,
minimizarlos, y poder implementarlos en base a bloques lógicos determinados. En estos nuevos

Profesor Leopoldo Silva Bijit 19-01-2010


2 Sistemas Digitales
algoritmos, están basadas las herramientas CAD. Su exposición y estudio corresponde a
disciplinas de programación, estructuras de datos y algoritmos.

Actualmente el diseño, la simulación y la implementación o síntesis de sistemas digitales se


realizan mediante complejos y numerosos algoritmos incrustados dentro de las herramientas
computacionales de apoyo al diseño.

I.3 Conceptos básicos en sistemas digitales.

Comenzaremos nuestro estudio desarrollando un ejemplo, a través del cuál se irán


introduciendo diversos conceptos que se expondrán, con más detalle, más adelante.

Sea un sistema con una entrada E y una salida S, como se muestra en la Figura I.1.

E S

Figura I.1

Las variables E y S sólo pueden tomar los valores discretos: 0, 1, 2, 3. Es decir son variables
discretas multivaluadas.

La relación entre E y S podemos describirla mediante una función, empleando la tabla o


mapeo, que se muestra en la Figura I.2.
E S
0 1
1 2
2 3
3 0

Figura I.2

También podemos describirla mediante la gráfica que se muestra en la Figura I.3. Puede
notarse que la gráfica no es continua, sólo están definidos puntos en la cuadrícula o reticulado
(lattice). Esto debido a que la definición de la función ya está digitalizada; es decir, representada
por números o dígitos, en sistema decimal, en el ejemplo.

Los puntos podrían ser el resultado de una discretización (tomando cuatro muestras en todo
el rango de variación) y cuantización (asignado los valores numéricos enteros 0, 1, 2 y 3, a los
diferentes niveles) de una señal análoga o continua.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 3

S
3
2
1
E
1 2 3

Figura I.3

Codificación.

Se denomina codificación binaria al proceso de asignar un vector booleano a un símbolo o


valor de la variable multivaluada. Un vector booleano puede tener varias componentes, pero
sólo 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 asociación de los valores 0, 1, 2 y 3 con los vectores booleanos en B2, puede efectuarse de
diferentes maneras. Por ejemplo para el símbolo 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 sólo
tendremos 2 posibles; y una para el símbolo 0. Es decir, 24 asignaciones de código diferentes.
La tabla de la Figura I.5 muestra seis elecciones de codificación binaria, en las cuales el código
para el símbolo 0 está formado por el vector {0,0}; existen 18 codificaciones adicionales que no
se muestran.

Valor C1 C2 C3 C4 C5 C6
0 00 00 00 00 00 00
1 01 01 10 10 11 11
2 10 11 01 11 01 10
3 11 10 11 01 10 01

Figura I.5

Profesor Leopoldo Silva Bijit 19-01-2010


4 Sistemas Digitales
La elección del código puede originar diferentes diseños del sistema, algunos con mayor
costo en componentes y posiblemente algún código que origine un diseño de mínimo costo.
Existen elementos teóricos para optimizar la lógica de un sistema multivaluado permitiendo
de este modo un nivel adicional de optimización; sin embargo en la mayoría de los casos la
codificación es realizada arbitrariamente, limitando la optimización a sistemas de lógica
bivaluada.

El código C1, tiene una interpretación numérica sencilla. Las secuencias de ceros y unos son
los equivalentes, en el sistema binario, del valor decimal.

Sistema numérico binario.

En el sistema numérico binario la base numérica es 2, y los dígitos sólo pueden ser 0 y 1. El
equivalente decimal N de un número binario de n dígitos: d n 1d n 2 ...d 2 d1d 0 , se obtiene
empleando:
N d n 1 2n 1
d n 2 2n 2
... d 2 22 d1 21 d 0 20

Así por ejemplo, la secuencia binaria: 111 interpretada como número binario equivale al
número siete decimal: 7 1 22 1 21 1 20 4 2 1

Los números con dos dígitos binarios permiten representar 4 cifras decimales. Conociendo
los tres dígitos binarios, de un número binario de tres dígitos, se puede identificar uno de 8
números decimales representables.

Información. Bit, Byte.

Se denomina bit, que es un acrónimo de Binary Digit, a la cantidad de información requerida


para distinguir entre dos opciones igualmente probables. Un acrónimo es un vocablo formado
por la unión de elementos de dos o más 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 dígito binario asociado a una variable
podemos conocer a cual de los dos objetos se hace referencia, mediante dicha variable.

Se requieren tres bits de información para discernir unívocamente 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.

Podría decirse que un subconjunto de la sabiduría es el conocimiento; y que un subconjunto


del conocimiento es la información; y que los datos son un subconjunto de la información.

Entonces la información es una representación de algún conocimiento, tal como hechos,


datos u opiniones transmitidos a través de cualquier medio o forma, incluyendo textos, números,
gráficos, mapas, descripciones verbales o audiovisuales.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 5
En este orden, la información puede definirse como un conocimiento comunicado o recibido
concerniente a un hecho particular o cierta circunstancia, el cual reduce la incertidumbre del
receptor. También podría decirse que la información es el significado asignado a los datos
mediante convenciones conocidas usadas en su representación.

Un bit es la unidad de información. Equivale a una decisión binaria o a la designación de


uno de dos estados posibles e igualmente probables, empleados para almacenar o proveer
información.

Es decir si se tienen 2 eventos igualmente probables y se desea conocer cuál de ellos se


produce, debe aportarse 1 bit de información.

Si se toma la convención de asociar el dato 1 a la ocurrencia del evento: obtener una cara al
arrojar una moneda; y el símbolo 0, si se obtiene sello. Con un bit de información 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 información. La unidad de información es el bit (binary digit).

Para conocer cuáles de los M casos se producen de un conjunto de N eventos igualmente


probables, debe conocerse log2 (N/M) bits de información (redondeando al entero más 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 asignársele 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
irían en forma ascendente desde el 00000000 hasta el 11111111.

Se define la unidad de información Byte, como 8 bits. Se requiere disponer de un Byte de


información para referirse a una determinada persona de entre las 256.

Cualquier carácter (letras mayúsculas, minúsculas 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 información.

También se define que 1024 Bytes es un KByte, entonces para guardar los nombres de las
100 personas se requieren 4,88 KB.

La codificación de la información puede realizarse en cualquier plataforma física, que


garantice que la información sea estable (que no sea afectada por el ambiente y el tiempo); que
sea rápidamente manipulable (en: acceso, transformación, transmisión 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 eléctricos puede emplearse el voltaje, la corriente, la impedancia, la


fase o la frecuencia; suelen emplearse voltajes para codificar la información.

Profesor Leopoldo Silva Bijit 19-01-2010


6 Sistemas Digitales

Los bits de información se codifican en niveles de voltaje.

Tablas de verdad.

Escogiendo la codificación 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 términos de las variables E1 y E0. La
representación 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 básicas. 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 estática de las compuertas; para
estudiar su comportamiento dinámico 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 símbolos lógicos para la funciones or y and de dos variables.

and

or

Figura I.8

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 7
También se define la operación 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 símbolo lógico, denominado inversor, que se muestra en la Figura I.10.

A A’

Figura I.10

Empleando los métodos 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 notación
del producto lógico y el or con el operador suma lógica; el complemento de una variable se
anota agregando una comilla simple a la variable.

E1 E0 E1E0’ E1’E0 E1E0’+ E1’E0 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’+E1’E0
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 lógica.

Estas ecuaciones se representan, mediante las compuertas básicas ya definidas, en la Figura


I.12.

Profesor Leopoldo Silva Bijit 19-01-2010


8 Sistemas Digitales
Existen múltiples representaciones equivalentes, mediante expresiones, para las funciones de
la Figura I.6. Por ejemplo puede comprobarse que también es válida la siguiente fórmula para
S0.
S0 = E1’E0’+E1E0’

La existencia de múltiples expresiones equivalentes implica desarrollar métodos para escribir


expresiones de tal modo que su representación a través de compuertas, emplee el mínimo
número de éstas, proceso que se denomina minimización.

Esquemático.

La Figura I.12 se denomina esquemático o diagrama lógico del sistema descrito por la
Figura I.6. Los puntos de unión se han destacado con un pequeño círculo negro; los puntos en
que se cruzan cables no tienen indicada la conexión.

E1
S1

E0
S0

Figura I.12

La implementación electrónica de las compuertas requiere definir el concepto de niveles


lógicos y además, como veremos, requiere definir el tiempo de retardo de las conmutaciones.

Niveles lógicos.

Con los conocimientos de cursos previos de electrónica sabemos que el ruido y las
inexactitudes (valores de las componentes, tolerancias de fabricación, etc.) son inevitables;
debido a esto no es posible reproducir fielmente, en forma repetida, la información almacenada
en el valor de un voltaje. Por esto es preciso diseñar un sistema que tolere determinadas
magnitudes de error para que procesar la información (vía voltajes) sea confiable.
La idea básica 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 lógicos, y al mismo tiempo al concepto de rango de valores 0 y 1
válidos.

Zona
prohibida
0 Válido 1 Válido

Volts

Figura I.13

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 9
Los dispositivos (combinacionales, por el momento) entonces deben adoptar valores
discretos válidos, tanto en la entrada como en la salida y disponer de una descripción funcional
que especifique los valores de la salida asociados con cada uno de los conjuntos de valores
asociados a las entradas. También 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
propagación, no puede ser cero en dispositivos reales). El dispositivo digital también debe
aceptar entradas, dentro de los márgenes, y producir salidas dentro de los márgenes; es decir,
debe contemplar márgenes para el ruido e interferencias que inevitablemente estarán presentes.
En la siguiente gráfica se ilustran los rangos de los valores físicos de voltajes asociados a los
valores lógicos. Se emplean subíndices: O por output, I por input; además L por low (de valor
bajo) y H por high (de valor alto).
Zona
0 Válido Entrada prohibida 1 Válido Entrada

Volts
Vol Vil Vih Voh

0 Válido Salida 1 Válido Salida

Márgenes 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 Vi
V IL
VOL VIL VOL
t

Figura I.15

Dispositivos lógicos.

Un dispositivo básico que acepta una entrada y la deposita en la salida (sin cambios) se
denomina buffer (amortiguador) y queda definido por la siguiente función de transferencia
estática:

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 diseñados evitando las áreas grises, que corresponden a entradas
válidas pero salidas inválidas. 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 sólo cuando
cambia el valor lógico, 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 símbolo lógico para el buffer.

Normalmente los dispositivos se diseñan empleando transistores y asociando a los valores


lógicos estados de saturación o corte (estados de bajo consumo de energía). Esto implica que si
una entrada cambia de valor bajo a alto, uno o varios de los transistores que conforman el
dispositivo, tendrán que pasar de saturación a corte o viceversa. Lo cual implica operación lineal
momentánea. En el intervalo en que opera en forma lineal, habrá un sistema aproximadamente
lineal, cuya solución incorpora exponenciales, cuya presencia implica un tiempo para llegar a un
valor estacionario. En la conmutación habrá entonces mayor consumo de las fuentes, y un
retardo asociado al cambio. En estados estables se tendrá bajo consumo de energía.

La Figura I.17, es una de las posibles características de transferencia estática 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 símbolo lógico para un inversor.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 11

Vout
Voh
Vih

Vil
Vin Vout
Vol

Vin

Vol Vil Vih Voh

Figura I.17

La abstracción digital consiste en representar las variables de entrada y salida de


dispositivos tomando valores discretos 0 y 1.

Retardos de conmutación.

La Figura I.18 muestra la red electrónica que tiene el comportamiento de un inversor en base
a un transistor bipolar. El condensador C, representa la capacidad parásita 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 situación se tiene un 1
lógico en la salida y el transistor está en un estado de bajo consumo.
+Vcc

Rc

NPN
C Vout
Vin

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
según una exponencial de constante de tiempo RsatC, hasta llegar al voltaje de saturación. 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 lógico, en la salida; en estas
condiciones el transistor está en un estado de bajo consumo.
En el Apéndice 4 se muestra la conmutación en transistores CMOS.

Al proceso de pasar de entrada baja o alta a una salida alta o baja, respectivamente, se lo
denomina conmutación. Este cambio de estado implica que el transistor pasa por su zona lineal
de operación, y durante un breve lapso de tiempo aumentará su consumo de energía.

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 lógico y el
instante en que la salida toma valor lógico cero. Se denomina tiempo de retardo de propagación
de alto a bajo (tPDHL). También existe un retardo de propagación, que puede ser diferente al
anterior, cuando la salida pasa de 0 a 1 (tPDLH).
Vin

VIH

VIL

t
tPDHL tPDLH
Vout

VOH

VOL

t
tf tr
Tiempo Tiempo
caída subida
(fall time) (rise time)
Figura I.19

Las formas de ondas que se ilustran en la Figura I.19, son análogas, y son las que mostraría
un osciloscopio. Sin embargo tanto los simuladores como los analizadores lógicos mostrarían
señales estrictamente binarias; esto se debe a que los valores muestreados se almacenan en
forma digital. La Figura I.20, muestra las señales de conmutación, idealizadas por señales
binarias.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 13

Vin

VIH

VIL

t
tPDHL tPDLH
Vout

VOH

VOL

Figura I.20

Perturbaciones, carreras.

Si en el circuito digital de la Figura I.12 aplicamos cambios en las entradas, las salidas
deberían cambiar según 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 estarán en 0. Esta condición se muestra en el
tiempo 0 de la Figura I.21.
t1
E1
t

E0

E1’

E0’

E1E0’

E1’E0

S1=E1’E0+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 señales E1 y E0 tengan iguales parámetros, asumiremos que primero
cambia E1, y luego de un pequeño tiempo lo hace E0. Se dice que existe una carrera entre las
entradas; en general es muy poco probable lograr un cambio simultáneo de un conjunto de
señales.
En el instante t1, ambas entradas estarán en cero. Se han dibujado las formas de ondas de las
señales: luego de los inversores, a la salida de las compuertas and y a la salida de la compuerta
or, considerando los retardos de propagación.
Se advierte que se produce un pequeño 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 deberían haber
cambiado de 00 a 01, sin embargo momentáneamente las salidas pasan por 11. Se puede
observar que desde el instante t2, se tienen las salidas deseadas.

Otra situación 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 señal x.

a
x

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 momentáneamente a cero,
cuando debía permanecer siempre en 1; este efecto se denomina perturbación estática. De
acuerdo al algebra de Boole, la salida x puede escribirse según: x=a+a’=1.

a
t
a’

a+a’

x
t1

Figura I.23

Entonces: los cambios no simultáneos de las entradas, y las operaciones and y or con
operandos iguales a una señal y su complemento, que produzcan una salida, originan cambios
indeseados en la salida de una red combinacional.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 15
Estudiaremos, más adelante, los fundamentos del diseño 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 simulación Verilog (Ver Apéndice 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 simulación, y
que las compuertas and y or tienen retardos de dos unidades. Se describe la red combinacional
mediante la interconexión de compuertas de la Figura I.12, mediante el módulo funcioncnt. La
Figura I.24, es generada automáticamente, mediante simulación; la Figura I.21, fue generada
manualmente. El módulo test produce una secuencia de estímulos que genera el archivo
cntmod4.vcd, que emplea un formato estándar 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 lógica, denominada flip-flop, veremos cómo 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 recién muestreado. Luego
cuando la señal de reloj, pasa a cero, la salida no cambia. El símbolo lógico se muestra en la
Figura I.25.

D Q

Q’
Clk

Figura I.25

Reloj

El reloj es una señal periódica que establece instantes de referencia o sincronización,


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 señal 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 propagación.

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 después del canto de subida del reloj (hold).

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 17
También se muestra que los cambios de la salida ocurren un tiempo de propagación luego del
canto de subida del reloj. En el capítulo 14 sobre sistemas asincrónicos se darán 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 después del tiempo de hold de un canto de subida, y antes del tiempo de set-up del
próximo 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. También se dice que tenemos una red
combinacional con salida registrada.
E1 S1
s1

E0 S0
s0

clk

Figura I.27

Si las entradas S1 y S0 (con mayúsculas) cumplen los requerimientos de set-up y hold, las
salidas s1 y s0 (con minúsculas) 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 propagación a través de los flip-flops, se


insinúan 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
número 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

s 01 11 10

Figura I.28

Debe destacarse que es poco probable el cambio simultáneo de las salidas de flip-flops
diferentes, a pesar de que operen con igual reloj.

Si los circuitos que generan las señales E1 y E0, lo efectúan mediante salidas registradas,
controladas por el mismo reloj, se tienen:
a) Si el tiempo de propagación a través de los flip-flops es mayor que el tiempo de hold, los
cambios (posiblemente no simultáneos) del vector E, se producen con el reloj alto.
b) Las señales 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 señales S1 y S0 cumplen los requerimientos del tiempo de set-up y hold, los valores
capturados por los flip-flops contendrán 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; prácticamente son filtrados.

Realimentaciones. Sistema secuencial sincrónico.

Si en el circuito de la Figura I.27, realimentamos las salidas s hacia las entradas E, se obtiene
el sistema secuencial sincrónico que se muestra en la Figura I.29.

S1
E1 s1

S0
E0 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 serán E1=0 y E0=0. Lo

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 19
cual produce, luego de un tiempo, las salidas S1=0 y S0=1. Si estas salidas de la red
combinacional están estables antes del próximo canto de subida del reloj, al llegar éste, se
tendrán: 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 próximo 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 círculo. Hay 4 círculos ya que se
tienen 4 estados. La ocurrencia del canto de subida del reloj, momento en el cual se produce la
conmutación de los flip-flops, se muestra con una flecha que conecta dos estados, desde el
estado actual al próximo estado.
00

11 01

10

Figura I.30

Otra forma de describir la información del diagrama de estados es a través de una tabla de
transiciones, que muestre en una columna el estado presente y en otra, el próximo estado.

Estado Presente Próximo 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 señal Resetn, para
colocar la máquina secuencial en el estado inicial s=00.

module cntmod4 (input clk, Resetn, output [1:0] s);


reg [1:0] s, S;
// Red combinacional de próximo 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<=próximo estado
endmodule

En el Apéndice 5 se describe el uso de Verilog para representar, simular y diseñar sistemas


digitales.

Figura I.32

La Figura I.32, muestra las formas de ondas producidas con la simulación del contador
módulo 4. Muestra en binario los diferentes valores que toma el vector s, entre cantos de subida
del reloj.

Generalizaciones. Red booleana.

Una generalización permite una visión más profunda de un problema particular. Una
generalización ayuda a diferenciar las propiedades especiales o particulares de las generales.

La Figura I.33, es una generalización de la situación 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. También 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 generalización es agregar un módulo que genere un vector de salida. Si la salida
depende de la entrada y el estado se denomina modelo de Mealy a esta representación de una
máquina secuencial. Si la salida sólo depende del estado presente se obtiene el modelo de
Moore.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 21
Reset’

x P1 P2

E S s
DQ

Clk

Figura I.33

Un mayor grado de generalización se muestra en la Figura I.34, que muestra una red
booleana, formada por la interconexión de redes combinacionales con registros. El diseño de
estas redes, debido a su complejidad, está basado en la descripción de diferentes módulos
mediante lenguajes. Cada módulo es desarrollado y simulado antes de ser integrado como una
parte del sistema mayor. El sistema debe describirse mediante las operaciones de
transformación que efectúan los bloques combinacionales y las reglas para almacenar
confiablemente la información en los registros. Esto suele efectuarse describiendo las
transferencias entre registros; razón por la cual se suele denominar RTL (Register Transfer
Level) a la descripción de sistemas digitales en este nivel.

salidas

entradas

Figura I.34 Red booleana.

Si todas las señales de sincronización (los clk de los registros) son iguales se dice que el
sistema es sincrónico; en caso contrario el sistema es asincrónico.

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 señal en un instante de tiempo. Pasar de nivel
lógico 1 a 0 se denomina canto de bajada. Un canto de subida se produce cuando la señal pasa
de nivel lógico 0 a 1.

A un evento también se lo denomina mensaje; los valores que toman los eventos suelen
interpretarse como símbolos pertenecientes a un alfabeto.

Máquina abstracta.

Una máquina abstracta es un modelo de computación que establece cómo se generan las
acciones, o eventos de salida, a partir de los mensajes o eventos de entrada.

Mensajes Acciones
Máquina

Figura I.35

Sistemas combinacionales.

Se denominan máquinas 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 función 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 acción de salida L asociada a la ampolleta.

Los eventos de entrada pueden tomar los valores: abrir o cerrar. La acción de salida puede
tomar los valores: apagar o encender.
V
L
S2

S1
Figura I.36

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 23
El sistema puede especificarse mediante la siguiente tabla:

S1 S2 L
abrir abrir apagar
abrir cerrar encender
cerrar abrir encender
cerrar cerrar encender

Figura I.37

También 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 descripción mediante un lenguaje, si sólo se emplean sentencias de
alternativa (if then else, switch) el sistema es combinacional.

Existen sistemas más complejos que los combinacionales, son aquellos que pueden cambiar
sus atributos en función del tiempo (dinámicos).

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 condición en que se encuentra el sistema o máquina digital.

Máquinas de estados.

Se denominan máquinas 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 función de transición que especifique los valores de las salidas y del
próximo 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.

Transición.

Se denomina transición al cambio de estado del sistema, y ésta debe indicar cómo se pasa de
un estado a otro.

Profesor Leopoldo Silva Bijit 19-01-2010


24 Sistemas Digitales
Un modelo matemático adecuado para la función de transición 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 próximo estado y las salidas.

Diagrama de estados.

Se denomina diagrama de estados a una representación gráfica, en la cual los estados se


representan como círculos (o rectángulos) y las transiciones como líneas orientadas, que
conectan los estados, y que representan los eventos de entrada.

Ejemplo de máquina de estados.

Consideremos como ejemplo de máquina 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 están asociadas a las
transiciones (Modelo de Mealy).

Cuando se inserta el boleto, se genera o dispara la acción de destrabar; cuando la persona al


pasar hace girar el torniquete, se produce la acción de trabar.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 25

Insertar/Destrabar

destrabado trabado

Pasar/Trabar

Figura I.39

El diagrama modela la máquina de estados finitos, y para su completa especificación 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, según lo
planeado por el diseñador y describen claramente las funciones del sistema en forma precisa,
permitiendo además juzgar si el diseño está o no completo.

Los usuarios podrían gatillar eventos normales en tiempos en los que éstos no se esperan.
Por ejemplo: estando en estado trabado, se podría generar la señal de paso (aplicando fuerza
bruta); o estando destrabado volver insertar un boleto. Estos eventos deben ser tratados en un
diseño real, ojalá en el modelado inicial; su no consideración temprana podría generar un
producto de mala calidad o inútil.
Para resolver la situación podría generarse una alarma en caso de intentar pasar cuando el
torniquete está trabado. Esto implica una acción adicional, y al mismo tiempo la necesidad de
un evento adicional que apague la alarma; o bien la creación de un estado adicional de
violación. Por otro lado, puede bloquearse el ingreso de boletos cuando el torniquete está
destrabado, o bien lo que propondría un ingeniero comercial: prender un aviso luminoso que
diga “gracias”. Lo cual lleva a especificar la acción de apagar dicho letrero, que también 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 especificación de un sistema real pueden ir aumentando


el número de eventos, de estados y también el número de acciones, lo cual lleva a diagramas
complejos.

También puede especificarse que el sistema tendrá un modo de servicio y otro de


mantenimiento, lo cual podría estudiarse como dos diagramas interconectados (diseños
modulares).

La siguiente matriz de transiciones describe la máquina de estados, especificando el


próximo estado en función del estado presente y de los eventos de entrada.

Eventos de
entrada
Estado Pasar Insertar
actual
Trabado Trabado Destrabado
Destrabado Trabado Destrabado
Próximo estado

Figura I.41

La siguiente matriz define las salidas asociadas a las transiciones.

Eventos de
entrada
Estado Pasar Insertar
actual
Trabado Alarmar Destrabar
Destrabado Trabar Agradecer
Acciones

Figura I.42

Si puede describirse un sistema mediante un diagrama de estados o a través de las matrices


de transiciones y de salida se dice que el sistema es secuencial.

En casos más complejos, en la implementación por software de máquinas de estados finitos,


puede emplearse una matriz de objetos. Donde cada entrada es un objeto que contiene los
métodos o conductas deseadas.
La naturaleza secuencial implica el uso de sentencias de repetición. La función de transición
puede implementarse mediante switches. Sin embargo a medida que el sistema aumenta sus
estados y/o entradas se va complicando la lectura y el tamaño del código de la función.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 27
Debido a que el modelo de programación orientado a objetos y la programación de sistemas
de tiempo real emplean máquinas de estados finitos, han aparecido numerosas y nuevas
herramientas para especificar y verificar diagramas de estado.

Lenguajes de descripción de hardware.

En implementaciones de hardware, basadas en componentes digitales, han evolucionado


rápidamente los lenguajes de descripción de hardware (HDL), que permiten especificar
ejecuciones paralelas de acciones; en lugar de las estrictamente secuenciales de los lenguajes de
programación.

Autómata de estados finitos determinista.

Si el número de estados es finito, se denominan máquinas de estados finitos. Si el próximo


estado queda unívocamente determinado por un solo evento se denominan determinísticas.
Si hay transiciones sin un evento de entrada o más de una transición para un par determinado
entrada-estado, se denominan no determinísticas.

Es posible generar un autómata de estados finitos determinista que tenga las mismas salidas,
para iguales entradas, que uno no determinista.

Tipos de máquinas.

Existen varios tipos de máquinas. Se denominan de Mealy aquellas cuyas salidas se


producen en las transiciones entre estados; y de Moore a aquellas en la cuales las salidas están
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 sincrónicas.


Los instantes en que se producen los cambios de estado están asociados al canto de subida, o al
de bajada, de una señal denominada reloj.

Máquinas secuenciales.

Las máquinas de estados finitos suelen denominarse máquinas secuenciales ya que a partir
de una secuencia ordenada de eventos de entrada, generan una secuencia de estados por los que
pasa la máquina, y a su vez una secuencia de acciones de salida.

Algunas aplicaciones de máquinas secuenciales.

Un nuevo e importante uso de los conceptos de este curso es en la programación orientada a


objetos. Los objetos tienen un estado, el cual es dado por el valor de sus atributos. En este
ambiente el diseño de una clase puede facilitarse si se intenta modelar los estados de un objeto
en el mundo real, mediante un diagrama de estados. Las máquinas de estados finitos han llegado
a ser el modelo estándar para representar la conducta de los objetos.

Profesor Leopoldo Silva Bijit 19-01-2010


28 Sistemas Digitales

El control de un computador es una máquina de estados. Los protocolos de red se


implementan mediante máquinas de estados.

Las máquinas secuenciales son un poderoso modelo para implementar esquemas de control
secuencial (dependientes de la historia pasada), tanto en hardware como en software. Facilitan
el diseño de la programación de sistemas multitareas, en tiempo real, utilizando
microcontroladores.

El modelo de máquina secuencial se emplea en Teoría de lenguajes formales y tiene


importantes aplicaciones en reconocimiento de patrones y analizadores léxicos y sintácticos, por
mencionar algunas.

Diseño.

Diseñar es resolver un problema, a partir de su especificación, escogiendo apropiadamente


las componentes desde un conjunto disponible, y tal que se satisfagan algunos criterios para el
tamaño, costo, velocidad de operación, consumo de energía, elegancia, etc.

El diseño digital podría definirse como la determinación de las componentes digitales que
realizan las especificaciones de comunicación, control y procesamiento de los datos. Más
específicamente, es descomponer la solución en redes combinacionales y/o secuenciales
organizando jerárquicamente el diseño y empleando efectivamente herramientas
computacionales modernas de ayuda al diseño.

Las técnicas anteriores se aplican en diseño de computadores, redes, comunicaciones, y en


automatización de procesos productivos; en resumen el diseño digital está presente en
numerosas e importantes aplicaciones de la ingeniería electrónica. El siguiente diagrama ilustra
un sistema digital muy utilizado:

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 29

Computador Personal. Tarjeta Madre Circuito Integrado


Hardware y Software 500*106 Transistores 5*106 Transistores

Compuerta Celda Módulo


10 Transistores 50 Transistores 100*103 Transistores

Figura I.43

El diagrama ilustra la estructura jerárquica de los sistemas digitales, en la cual cada nivel
tiene complejidad acotada y además los bloques constructivos básicos se emplean con diferente
propósito.

En el menor nivel los dispositivos están implementados con transistores MOSFET. Estas
componentes primitivas más un sistema para codificar la información 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
También puede advertirse que la implementación de un sistema complejo tiene una gran
cantidad de trabajo de diseño. Lo cual implica gran número de personas involucradas en
diferentes niveles; para lograr una mejor cooperación los bloques constructivos deben imponer
límites que muestren las interfases entre los bloques en forma sencilla y bien especificada.

Un buen trabajo de diseño implica: poder adaptarse a mejoras tecnológicas, permitir realizar
tareas diferentes con los mismos módulos 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 básicos en unidades más complejas.

I.6. Resumen.

Se estudiarán los fundamentos matemáticos de las funciones de variables discretas, su


estructura y diversos métodos de representación de funciones. Luego los principios y técnicas
para modelar situaciones del mundo real, mediante funciones booleanas y registros. Después
se analizarán sistemas ya diseñados para posteriormente diseñar, implementar o sintetizar,
mediante diferentes tecnologías, sistemas digitales combinacionales y secuenciales.

Se desea mostrar:
Los principios de diseño digital basados en el álgebra de Boole, con utilización de
herramientas computacionales, para minimizar las ecuaciones y analizar el comportamiento
temporal.
El concepto de estado y de máquinas secuenciales.
Cómo especificar, simular y sintetizar los diseños en dispositivos programables y no
programables.

Conviene conocer el diseño en bajo nivel de los subsistemas típicamente 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 módulos.

Un curso básico en sistemas digitales debe profundizar en el diseño de los bloques básicos,
y también capacitar en descomponer un problema en términos de esos bloques. Esto
garantiza plantear arquitecturas con partes que serán sintetizadas eficientemente.

La Figura I.45, muestra el proceso de síntesis como un nivel intermedio, entre las
descripciones de arquitecturas mediante módulos sintetizables (top-down), y el desarrollo de
módulos básicos implementados mediante compuertas y flip-flops (bottom-up).

Emplearemos el lenguaje de descripción de hardware Verilog, que permite las descripciones


y simulaciones en los diferentes niveles, dando homogeneidad al proceso de diseño.

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 31

Arquitectura abstracta

Síntesis

Bloques Básicos

Compuertas
Flip-flops

Figura I.45

La construcción de compuertas, en base a transistores, se describe en forma introductoria en


el Apéndice 4; la elaboración de flip-flops, en base a compuertas se introduce en el Capítulo 14
dedicado a sistemas digitales asincrónicos. Sin embargo la descripción detallada de los
principios de diseño de las compuertas, flip-flops, multivibradores monoestables, etc., en base a
transistores y componentes de redes eléctricas no es tratada en este texto.

Profesor Leopoldo Silva Bijit 19-01-2010


32 Sistemas Digitales

Índice general.

INTRODUCCIÓN ................................................................................................................................1
SISTEMAS DIGITALES .....................................................................................................................1
I.1 DEFINICIÓN. ...................................................................................................................................1
I.2 DISEÑO CLÁSICO Y ACTUAL............................................................................................................1
I.3 CONCEPTOS BÁSICOS EN SISTEMAS DIGITALES. ..............................................................................2
Codificación. ..................................................................................................................................3
Sistema numérico binario. ..............................................................................................................4
Información. Bit, Byte. ..................................................................................................................4
Tablas de verdad. ...........................................................................................................................6
Compuertas básicas. Operadores booleanos. ................................................................................6
Expresiones booleanas. ..................................................................................................................7
Esquemático. ..................................................................................................................................8
Niveles lógicos................................................................................................................................8
Dispositivos lógicos. .......................................................................................................................9
Retardos de conmutación. ............................................................................................................11
Perturbaciones, carreras..............................................................................................................13
I.4. SISTEMAS DIGITALES SECUENCIALES...........................................................................................16
Flip-flop D. ...................................................................................................................................16
Reloj .............................................................................................................................................16
Set-up, hold, tiempo de propagación. ...........................................................................................16
Salidas combinacionales sincronizadas por un reloj. ..................................................................17
Realimentaciones. Sistema secuencial sincrónico. .......................................................................18
Generalizaciones. Red booleana. .................................................................................................20
I.5. DEFINICIONES DE ALGUNOS CONCEPTOS GENERALES DE SISTEMAS DIGITALES. ..........................22
Evento ...........................................................................................................................................22
Máquina abstracta. ......................................................................................................................22
Sistemas combinacionales. ...........................................................................................................22
Ejemplo de sistema combinacional. .............................................................................................22
Estado. ..........................................................................................................................................23
Máquinas de estados. ...................................................................................................................23
Transición. ...................................................................................................................................23
Diagrama de estados. ...................................................................................................................24
Ejemplo de máquina de estados. ..................................................................................................24
Lenguajes de descripción de hardware. .......................................................................................27
Autómata de estados finitos determinista. ....................................................................................27
Tipos de máquinas. .......................................................................................................................27
Reloj. ............................................................................................................................................27
Máquinas secuenciales. ................................................................................................................27
Algunas aplicaciones de máquinas secuenciales. ........................................................................27
Diseño. .........................................................................................................................................28
I.6. RESUMEN. ...................................................................................................................................30
ÍNDICE GENERAL. ..............................................................................................................................32
ÍNDICE DE FIGURAS............................................................................................................................33

Profesor Leopoldo Silva Bijit 19-01-2010


Introducción 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