Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
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.
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.
S
3
2
1
E
1 2 3
Figura I.3
Codificación.
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
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.
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.
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.
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).
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.
También se define que 1024 Bytes es un KByte, entonces para guardar los nombres de las
100 personas se requieren 4,88 KB.
Tablas de verdad.
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.
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.
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
Figura I.9
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.
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.
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
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
Volts
Vol Vil Vih Voh
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:
Vout
VOH
VIH
Vin Vout
VIL
VOL
Vin
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.
Vout
Voh
Vih
Vil
Vin Vout
Vol
Vin
Figura I.17
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
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.
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
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.
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 BancoDePrueba;
wire E1,E0;
wire S1,S0;
funcioncnt f1 (E1,E0,S1,S0);
test t1 (S1,S0,E1,E0);
endmodule
Figura I.24
Flip-flop D.
D Q
Q’
Clk
Figura I.25
Reloj
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).
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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
S1 S2 L
abrir abrir apagar
abrir cerrar encender
cerrar abrir encender
cerrar cerrar encender
Figura I.37
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.
Máquinas de estados.
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.
Diagrama de estados.
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).
Insertar/Destrabar
destrabado trabado
Pasar/Trabar
Figura I.39
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
Eventos de
entrada
Estado Pasar Insertar
actual
Trabado Trabado Destrabado
Destrabado Trabado Destrabado
Próximo estado
Figura I.41
Eventos de
entrada
Estado Pasar Insertar
actual
Trabado Alarmar Destrabar
Destrabado Trabar Agradecer
Acciones
Figura I.42
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.
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.
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.
Diseño.
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.
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
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.
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 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).
Arquitectura abstracta
Síntesis
Bloques Básicos
Compuertas
Flip-flops
Figura I.45
Í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
Índice de figuras.