You are on page 1of 45

CasIngenieros Autor:

http://www.casingenieros.890m.com Juan Pablo Martí

TÉCNICAS DIGITALES I
UNIDAD I: FUNDAMENTOS MATEMÁTICOS
Sistemas de Numeración
Sistemas numéricos posicionales:
Los sistemas digitales actúan bajo el control de variables discretas (toman valores finitos), que están
inmersas en diversos sistemas de numeración.
La base de un sistema de numeración es la cantidad de símbolos distintos que se utilizan para la
representación de los números.
En un sistema de base b , un número N puede representarse matemáticamente mediante el polinomio
de numeración, que es:

N = a n .b n + a n −1 .b n −1 + L + a1 .b1 + a 0 .b 0 + a −1 .b −1 + L + a − p .b − p

donde los ai son números pertenecientes al sistema, y por lo tanto 0 ≤ a i < b ; n + 1 es la cantidad de
dígitos enteros del número, p la cantidad de dígitos fraccionarios, y el exponente al que está elevada la
base es la posición de cada ai .
Para identificar el sistema al cual pertenece un número se suele indicar con un subíndice con la base del
sistema.
Sistemas más importantes:
Binario:
Sistema de base 2 donde los símbolos utilizados son el 0 y el 1. Es el más utilizado en los
sistemas digitales por la facilidad eléctrica de obtener dos estados distintos, correspondientes a
los dos números binarios.
La correspondencia de los primeros 16 números decimales con su equivalente binario es:
Binario Decimal
8 4 2 1
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
Los números que aparecen debajo de la palabra Binario son los pesos de cada dígito. Para una
memorización práctica del sistema, cada posición i tiene un peso que es igual a 2 i . Sumando el
valor de cada peso que tiene un 1 en su posición se obtiene el número decimal correspondiente.
Este proceso es lo mismo que realizar la representación mediante el polinomio de numeración.

U.T.N. F.R.M. Página 1 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Octal:
Sistema de base 8 representado por los símbolos 0, 1, 2, 3, 4, 5, 6 y 7. Los equivalentes binarios
de cada símbolo son:
Binario Octal
4 2 1
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
Decimal:
Es el sistema más utilizado en la matemática. Su base es 10 y sus símbolos van del 0 al 9.
Hexadecimal:
Sistema de base 16 representado por los símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.
Los equivalentes binarios de cada símbolo son:
Binario Hexadecimal
8 4 2 1
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 A
1 0 1 1 B
1 1 0 0 C
1 1 0 1 D
1 1 1 0 E
1 1 1 1 F
Conversión entre sistemas:
Conversión por divisiones y multiplicaciones:
Si se divide un número entero expresado en un sistema de base b1 > b2 por la base b2 , y el
cociente se vuelve a dividir por b2 y así sucesivamente, el último cociente y los restos obtenidos
forman el número en el sistema de base b2 .
Para la parte fraccionaria, multiplicaremos la misma por la base b2 , conservando la parte entera
de dicho producto, y volviendo a multiplicar por b2 la parte fraccionaria, así sucesivamente
hasta que el producto sea 0. Las partes enteras de los productos formarán la parte fraccionaria del
número en el sistema de base b2 .
Reemplazo de símbolos en decimal:
Cuando el sistema tiene una base que es múltiplo de 2, se puede convertir un número en la base
original a binario simplemente reemplazando los símbolos en cada posición por su equivalente
binario.

U.T.N. F.R.M. Página 2 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

El método o los métodos de conversión entre sistemas se sintetizan en la siguiente tabla:


de… \ a… BINARIO OCTAL DECIMAL HEXADECIMAL
Tomar de a tres Tomar de a cuatro
símbolos y Polinomio de símbolos y
BINARIO
convertirlos a numeración convertirlos a
octal. hexadecimal.
Pasarlo a binario y
Convertir cada
luego a
símbolo a su Polinomio de
OCTAL hexadecimal con
equivalente numeración
los métodos
binario.
correspondientes
Pasarlo a binario y
Conversión por Conversión por luego a
DECIMAL divisiones y divisiones y hexadecimal con
multiplicaciones multiplicaciones los métodos
correspondientes
Pasarlo a binario
Convertir cada Pasarlo a binario
y luego a
símbolo a su y luego a octal
HEXADECIMAL decimal con los
equivalente con los métodos
métodos
binario. correspondientes
correspondientes
Códigos
Concepto de código:
Representación unívoca de las cantidades y/o de los caracteres alfabéticos de tal forma que, a cada uno
de ellos, se asigna una combinación de símbolos determinada y viceversa. La diversidad de códigos se
debe a que cada uno tiene una finalidad práctica que determina su aplicación o utilización.
Códigos binarios:
Con n cifras binarias o bits se pueden obtener 2 n combinaciones diferentes y cada una de ellas se puede
asignar a una cantidad distinta. Dependiendo la finalidad práctica del código, es la asignación que se
realiza a cada cantidad.
Sistemas Decimales codificados en Binario (BCD):
Los códigos BCD (Binary Coded Decimal) codifican cada cifra decimal en un código de 4 bits, debido a
que sólo con 3 bits no se alcanza la cantidad de símbolos del sistema decimal, pero con 4 bits sobran 6
combinaciones.
Códigos BCD:
Ponderados:
Los códigos BCD ponderados más conocidos son:
BCD Natural BCD Aiken BCD 5421
8 4 2 1 2 4 2 1 5 4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1
2 0 0 1 0 2 0 0 1 0 2 0 0 1 0
3 0 0 1 1 3 0 0 1 1 3 0 0 1 1
4 0 1 0 0 4 0 1 0 0 4 0 1 0 0
5 0 1 0 1 5 1 0 1 1 5 1 0 0 0
6 0 1 1 0 6 1 1 0 0 6 1 0 0 1
7 0 1 1 1 7 1 1 0 1 7 1 0 1 0
8 1 0 0 0 8 1 1 1 0 8 1 0 1 1
9 1 0 0 1 9 1 1 1 1 9 1 1 0 0

U.T.N. F.R.M. Página 3 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Son los códigos BCD que asignan a cada bit un peso determinado. El pasaje de estos códigos al
sistema decimal es muy fácil, pues se realiza sumando los pesos de los bits que tienen un 1.
El código BCD Aiken tiene la propiedad de ser autocomplementario, es decir, a cada par de
dígitos complementarios a 9 en decimal, le corresponde complementariedad entre ceros y unos.
Por ejemplo: el 2 y el 7 son complementarios a 9 y además, en éste código, tienen sus bits
opuestos.
No Ponderados: BCD Exceso 3
0 0 0 1 1
Son los códigos BCD en los cuales cada 1 0 1 0 0
posición binaria no tiene asignado un peso. El 2 0 1 0 1
3 0 1 1 0
más conocido es el BCD Exceso tres, en el que 4 0 1 1 1
cada número decimal se codifica con el 5 1 0 0 0
equivalente al mismo número más tres en el 6 1 0 0 1
BCD Natural. Este código también tiene la 7 1 0 1 0
8 1 0 1 1
propiedad de ser autocomplementario. 9 1 1 0 0

Códigos Continuos:
Un código binario es continuo si las combinaciones correspondientes a números decimales consecutivos
son adyacentes.
Se denominan combinaciones binarias adyacentes a aquellas que difieren solamente en un bit.
Códigos Cíclicos:
Un código binario es cíclico si, además de ser continuo, la última combinación es adyacente a la primera.
Los códigos continuos y cíclicos se utilizan en todas aquellas aplicaciones en las que alguna
imperfección puede hacer que aparezcan combinaciones erróneas debido a que no cambian
simultáneamente todos los bits que deben hacerlo.
Código de Gray:
El Código de Gray (o código reflejado) es Código de Gray
el código binario cíclico de mayor 2 Bits 3 Bits 4 Bits
difusión. Se construye reflejando un 0 0 0 0 0 0 0 0 0 0
código de Gray de 2 bits hacia abajo y 1 0 1 0 0 1 0 0 0 1
2 1 1 0 1 1 0 0 1 1
agregando ceros en la parte superior y 3 1 0 0 1 0 0 0 1 0
unos en la inferior. Para agregar más bits 4 1 1 0 0 1 1 0
se realiza el mismo procedimiento. La 5 1 1 1 0 1 1 1
6 1 0 1 0 1 0 1
cantidad de combinaciones será 2 n 7 1 0 0 0 1 0 0
siendo n la cantidad de bits utilizados. 8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

Código Johnson:
Otro ejemplo de código continuo y cíclico es el Código Johnson
progresivo Johnson, que tendrá 2.n 0 0 0 0 0 0
combinaciones, siendo n la cantidad de bits 1 0 0 0 0 1
2 0 0 0 1 1
utilizados. 3 0 0 1 1 1
4 0 1 1 1 1
5 1 1 1 1 1
6 1 1 1 1 0
7 1 1 1 0 0
8 1 1 0 0 0
9 1 0 0 0 0

U.T.N. F.R.M. Página 4 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Códigos de Caracteres y de Control: Código ASCII


A veces es necesario codificar símbolos alfanuméricos y/o caracteres especiales. Para ello, el código más
conocido es el ASCII de 6 bits.
Cubos N y concepto de distancia:
Una cadena de n bits de un código binario puede visualizarse
geométricamente como un vértice de un objeto llamado cubo n, que
tiene 2 n vértices. Las aristas se dibujan entre vértices adyacentes
cuyos rótulos difieren del vértice dado en un solo bit. Los cubos n
facilitan la visualización de ciertos códigos y proporcionan una
interpretación geométrica para el concepto de distancia.
La distancia entre dos cadenas de n bits es el número de posiciones de bits en que difieren. Para un cubo
n, la distancia es la longitud mínima de una ruta entre los dos vértices correspondientes.
Un subconjunto m de un cubo n es un conjunto de 2 m vértices en los que n − m de los bits tienen el
mismo valor en cada vértice, y los restantes m bits toman todas las 2 m combinaciones. Éstos
subconjuntos también se denotan escribiendo un rótulo con 0 y 1 donde esos valores son fijos y X (no
importa) donde los valores varían.
Wakerly 33

Distancia mínima:
La distancia entre dos combinaciones binarias es la cantidad de bits distintos que tienen entre sí.
La distancia mínima de un código es la menor de las distancias posibles entre dos
combinaciones cualesquiera pertenecientes a él. En un cubo n es el menor camino posible para
llegar desde un vértice perteneciente al código, a otro de la misma condición.
Códigos detectores de error:
Para que un código pueda detectar errores es necesario que su distancia mínima sea mayor que 1, debido
a que, de lo contrario cualquier error en un bit lo convierte en otra combinación posible perteneciente al
mismo código.
Los códigos detectores de error se clasifican en códigos de peso constante y de paridad constante. Ambos
tienen una distancia mínima de dos, por lo tanto permiten detectar una combinación que no pertenezca al
código, a través del error en un solo bit. Con más de un bit erróneo necesitamos mayor distancia mínima
para la detección.
En general, el número de bits erróneos que se pueden detectar con un código es igual a la distancia
mínima de dicho código menos uno.
nerr.det = d min − 1
Códigos de peso constante:
El peso en una combinación binaria es la cantidad de unos lógicos de la misma.
Los códigos de peso constante mantienen su cantidad de unos lógicos, lo que permite saber si
ocurre un error simplemente contándola. Se muestran dos ejemplos a continuación:
Código 2 entre 5 Código Biquinario
0 0 0 0 1 1 5 0 4 3 2 1 0
1 0 0 1 0 1 0 0 1 0 0 0 0 1
2 0 1 0 0 1 1 0 1 0 0 0 1 0
3 1 0 0 0 1 2 0 1 0 0 1 0 0
4 0 0 1 1 0 3 0 1 0 1 0 0 0
5 0 1 0 1 0 4 0 1 1 0 0 0 0
6 1 0 0 1 0 5 1 0 0 0 0 0 1
7 0 1 1 0 0 6 1 0 0 0 0 1 0
8 1 0 1 0 0 7 1 0 0 0 1 0 0
9 1 1 0 0 0 8 1 0 0 1 0 0 0
9 1 0 1 0 0 0 0
La distancia mínima de éste código es 2.
Es un código ponderado que utiliza 7 bits.
Su distancia mínima es 2.

U.T.N. F.R.M. Página 5 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Códigos de paridad constante:


Los códigos de paridad constante se obtienen añadiendo a las combinaciones de los códigos de
distancia unidad un bit llamado de paridad.

Paridad par:
Se añade un bit de tal manera que la cantidad de unos de la nueva combinación sea par.

Paridad impar:
Se añade un bit de tal manera que la cantidad de unos de la nueva combinación sea impar.

La detección de errores en éstos códigos consiste en comprobar si el número de unos de cada


combinación es par o impar, según el caso.
Códigos correctores de error:
Los códigos correctores de error no sólo indican la existencia de uno, sino brindan información acerca de
cuál es el bit o los bits erróneos. Los códigos de distancia mínima dos no permiten la corrección de
errores, porque al producirse uno existen dos combinaciones adyacentes que pueden ser la correcta. Por
lo tanto, para poder corregir errores, la distancia mínima debe ser superior a dos. Para corregir errores de
n bits debe existir una distancia mínima de:
d min = 2.n + 1
Códigos de Hamming:
Los códigos de Hamming están basados en la adición de p bits a un código de distancia mínima
uno de n bits, obteniéndose así un código de n + p bits. En éste nuevo código se realizan p
detecciones de paridad en bits seleccionados del mismo. El conjunto de los p bits de paridad
forma un número en el sistema binario natural cuyo equivalente decimal nos indica la posición
del bit erróneo. En caso de que no exista error, dicho número debe ser cero.
El número p de bits añadidos debe ser suficiente para permitir la detección de error en las
n + p posiciones. Para ello ha de cumplirse la siguiente condición:
2 p ≥ n + p +1
debido a que es necesario contar con 2 p combinaciones que cubran las n + p posiciones y el
cero que indica la ausencia de error.

Código de Hamming obtenido a partir del Binario Natural de 4 bits:


Para éste código necesitaremos agregar p = 3 bits, debido a que 2 3 = 4 + 3 + 1 . Para detectar
los siete posibles errores de un bit o la ausencia del mismo serán necesarias ocho combinaciones,
o sea 3 bits que serán c1 , c 2 y c3 , y cuyo número decimal equivalente indicará la posición del
bit erróneo. De una tabla del código binario formada por esos bits, se deduce que:
c1 = b1 ⊕ b3 ⊕ b5 ⊕ b7
c 2 = b2 ⊕ b3 ⊕ b6 ⊕ b7
c3 = b4 ⊕ b5 ⊕ b6 ⊕ b7
Cada combinación del código Hamming quedará conformada por 7 bits, que van del b1 al b7 .
Como en las expresiones anteriores los únicos bits que aparecen sólo en una combinación son
b4 , b2 y b1 , estos son los que agregaremos al código binario natural de 4 bits. Los bits
correspondientes al código original serán entonces b7 , b6 , b5 y b3 . Para calcular los bits
agregados evaluamos que, al no tener errores, c1 , c 2 y c3 serán cero, por lo que, despejando
tenemos:

U.T.N. F.R.M. Página 6 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

b4 = b5 ⊕ b6 ⊕ b7
b2 = b3 ⊕ b6 ⊕ b7
b1 = b3 ⊕ b5 ⊕ b7
Con esto, el código de Hamming resultante es el siguiente:
Código de Hamming
b7 b6 b5 b4 b3 b2 b1
0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1
2 0 0 1 1 0 0 1
3 0 0 1 1 1 1 0
4 0 1 0 1 0 1 0
5 0 1 0 1 1 0 1
6 0 1 1 0 0 1 1
7 0 1 1 0 1 0 0
8 1 0 0 1 0 1 1
9 1 0 0 1 1 0 0

Siendo como resultado de la detección la siguiente tabla:


Detección
Bit erróneo
c3 c2 c1
0 0 0 Ninguno
0 0 1 b1
0 1 0 b2
0 1 1 b3
1 0 0 b4
1 0 1 b5
1 1 0 b6
1 1 1 b7
Mandado 17

Detección y corrección de errores múltiples:


En general, si un código tiene distancia mínima (2.c + 1) , puede usarse para corregir errores que afectan
hasta c bits. Si la distancia mínima del código es (2.c + d + 1) , éste puede usarse para corregir errores
hasta en c bits y detectar errores en c + d bits.
Wakerly 37

Códigos de verificación de redundancia cíclica (CRC):


La comprobación de redundancia cíclica (CRC) es un tipo de función que recibe un flujo de datos de
cualquier longitud como entrada y devuelve un valor de longitud fija como salida. Se usa para generar
códigos usados en la transmisión de datos.
Éstos códigos se basan en la generación de una secuencia de comprobación que es función del mensaje a
transmitir, y que se adjunta a éste. Dada una palabra M (mensaje) de k bits, se genera una secuencia
FCS (siglas en inglés de secuencia de comprobación de trama) de n bits. El mensaje se desplaza n
unidades hacia la izquierda, lo que equivale a multiplicarlo por 2 n , y se suma el FCS . Se logra así la
trama T a transmitir de (k + n ) bits. Matemáticamente, lo dicho es:
T = 2 n.M + FCS
En el receptor se vuelve a generar el FCS y se compara con el que viene transmitido: si existe
diferencia quiere decir que hubo un error en la transmisión de la trama.

Una gráfica general de la generación y transmisión de éstos códigos es la siguiente:

U.T.N. F.R.M. Página 7 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

El método consiste en obtener el FCS como el resto que resulta de dividir (en módulo 2) el mensaje
desplazado, por un patrón P de (n + 1) bits. Matemáticamente es:
M R FCS
2n =Q+ =Q+
P P P
Dividir en aritmética de módulo 2 es realizar la operación Or exclusiva combinada con desplazamientos
del divisor.
En el receptor se divide la trama por el patrón:
T 2 n.M + R M R R R R+R
= = 2n + =Q+ + =Q+
P P P P P P P
Si el resto de esa división, que equivale a R + R = FCS + FCS , es igual a cero, quiere decir que el
mensaje probablemente haya llegado sin errores. La probabilidad se presenta ya que puede existir un
error en el mensaje y en la secuencia a la vez, de tal manera que los cálculos den correctos.

Los patrones utilizados definen la capacidad del sistema de detectar distintos tipos de errores: Si hay
error, se recibe T + E (trama original más error), y como T es divisible por P , el resto obtenido se
debe a la componente de error E , por lo tanto, si E es divisible por P el error no se detecta. Por
ejemplo, si el error es de un bit, E es una cadena de igual longitud que T compuesta por todos ceros y
un uno, y si P tiene más de un uno, no puede dividir a E . Por lo tanto, con ese patrón se detectan todos
los errores de un bit.
En general, un polinomio generador de n bits detectará:
• Todos los errores de 1 bit.
• Todos los errores de 2 bits.
• Todos los errores de bit en número impar.
• Todas las ráfagas de errores de longitud menor de n.
• La mayor parte de las ráfagas de errores mayor que n.
La forma de representar el patrón generador consiste en indicar las posiciones de los unos binarios como
potencias de x. Un ejemplo es el llamado CRC-16 que se representa como:
x16 + x15 + x 2 + 1 ≡ 11000000000000101
Extraído de un apunte de la Univ. Politécnica de Cartagena

Códigos Bidimensionales:
Otra manera de obtener un código con una gran distancia mínima es construir un código bidimensional.
Los bits de información se acomodan conceptualmente en un arreglo bidimensional y se proporcionan
bits de paridad para verificar tanto las filas como las columnas. Para las filas se usa un determinado
código con distancia mínima d fil y para las columnas uno para el cual la misma es d col . La distancia
mínima del código bidimensional así formado será el producto d fil .d col . A continuación se muestra un
esquema general y el ejemplo para códigos con un bit de paridad en ambas dimensiones. Se verifica que
la distancia mínima del código del ejemplo es 4 y se puede inferir que se necesita un error de cuatro bits
en un patrón rectangular para hacerse indetectable.

U.T.N. F.R.M. Página 8 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Wakerly 42

Comunicación de Datos
Conceptos y terminología:
A continuación se presenta una lista de términos utilizados en transmisión de datos:

Enlace directo: Camino de transmisión entre el emisor y el receptor sin otro dispositivo intermedio que
no sea un amplificador o un repetidor.
Enlace guiado punto a punto: Enlace directo entre los dos únicos dispositivos que comparten el medio.
Enlace guiado multipunto: El mismo medio es compartido por dos o más dispositivos.

Ancho de banda absoluto: Anchura del espectro en frecuencias completo de una señal.
Ancho de banda efectivo: Para señales de ancho de banda absoluto infinito, se considera efectivo el
ancho de banda donde se concentra la mayor cantidad de la energía.

Dato: cualquier entidad capaz de transportar información.


Señales: representaciones eléctricas o electromagnéticas de los datos.
Transmisión: comunicación de datos mediante la propagación y el procesamiento de señales.
Datos analógicos y digitales:
Señal analógica Señal digital
La señal puede ocupar el mismo
espectro que los datos o puede
Datos analógicos Conversión A/D (Codec).
modularse en otra porción del
espectro.
Codificación intuitiva (0 y 1 con
dos valores de tensión) o
Datos digitales Conversión D/A (Modem).
codificaciones con propiedades
especiales.
Perturbaciones:
Atenuación: Decaimiento de la energía de la señal al propagarse en un medio. Se busca que sea lo más
pequeña posible y constante con la frecuencia. Como esto no es lo usual, se ecualiza la variación con la
frecuencia para evitar distorsión de amplitud.
Distorsión de fase o retardo: Se debe a que la velocidad de propagación varía con la frecuencia. Se
busca que dicha variación sea lineal. También se usan técnicas de ecualización.
Ruido: Es una señal no deseada que se inserta en la comunicación. Existen cuatro tipos de ruidos:
Ruido térmico: Está presente en toda la electrónica y los medios de transmisión, y es función de
la temperatura. Tiene componentes en todas las frecuencias, por lo que no se puede filtrar.
Ruido de intermodulación: Se produce cuando señales de distintas frecuencias comparten un
medio de transmisión. Aparecen señales en la frecuencia suma, diferencia y sus múltiplos.
Diafonía: Interferencia entre medios que transportan distintas señales.
Ruido impulsivo: Pulsos irregulares, de corta duración y gran amplitud, producidos por diversas
causas. Muy problemático en sistemas digitales, y no tanto en analógicos.
Codificación de datos:
Existen distintos tipos de codificación de datos digitales:

U.T.N. F.R.M. Página 9 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

• Unipolar: Es la más sencilla y primitiva. Uso pulsos de voltaje constante durante la duración del
bit para representar los unos y ceros. Tiene la desventaja de poseer una componente continua y
no poseer sincronía.
• Polar: Usa dos niveles de voltaje para la codificación: uno positivo y otro negativo. Elimina el
problema de la componente continua.
• Bipolar: También usa dos niveles de voltaje para la codificación, pero alternando el significado
de los mismos.
También hay un tipo de codificación denominado diferencial, donde la polaridad de cada elemento es
función de la polaridad de los elementos adyacentes.
Existen diversos códigos para codificación polar y bipolar. El siguiente esquema los muestra:
POLAR BIPOLAR

NRZ RZ Bifásica AMI Pseudoternarios

NRZ-L NRZ-I Manchester Manchester Diferencial

Códigos de línea en serie:


NRZ-L:
Su nombre significa no retorno a nivel cero.

Representa los 1 con una tensión


negativa y los 0 con una tensión
positiva.

NRZ-I:
Su nombre significa no retorno a cero, invierte en unos. Es un código diferencial.

Representa los datos mediante las


transiciones al principio del intervalo
asignado a cada bit. Los ceros no
presentan transición de nivel y los
unos son asignados a transiciones
alto-bajo o bajo-alto, dependiendo del
nivel del bit anterior.

RZ:
Su nombre significa retorno a cero.

Los unos y ceros son representados


por niveles de voltaje alto y bajo, pero
en ésta codificación, en la parte media
de cada bit la amplitud de la señal
vuelve a cero. La información se
encuentra en la primera parte de señal.

U.T.N. F.R.M. Página 10 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Manchester:

En éste código siempre hay una


transición en la mitad del intervalo de
duración del bit, que sirve como
sincronización.
Una transición bajo-alto representa un
uno y una alto-bajo representa un
cero.

Manchester Diferencial:
Como su nombre lo indica es un código diferencial.
En éste código la transición a mitad
del intervalo se utiliza sólo para
proporcionar sincronización.
La codificación de un cero se
representa por la presencia de una
transición al principio del intervalo
del bit, y la de un uno por la ausencia
del mismo. En otras palabras, el uno
cambia el sentido de los flancos de
sincronización.
Bipolar AMI:
Su nombre significa inversión de marca alternada.

Un cero se representa por la ausencia


de señal. Los pulsos correspondientes
a los unos tienen una polaridad
alternante.

Los códigos pseudoternarios son idénticos, pero intercambiando las concepciones de


ceros y unos.
Comparación: ventajas y desventajas:
Grupo Ventajas Desventajas
· Fácil implementación · Presencia de un nivel de continua
NRZ
· Uso eficaz del ancho de banda · Incapacidad de sincronización
· Ausencia del nivel de continua · Mayor velocidad de modulación necesaria
RZ
· Capacidad de sincronización · Menos eficaz, debido a que usa tres niveles de tensión
· Ausencia de nivel de continua
Bifásica · Capacidad de sincronización · Mayor velocidad de modulación necesaria
· Capacidad de detección de errores
· Ausencia de nivel de continua
Bipolar · Menos eficaz, debido a que usa tres niveles de tensión
· Capacidad de detección de errores

Formas de transmisión:
Asíncrona:
Es el primer enfoque habitual para resolver el problema de la sincronización. Consiste en enviar
ininterrumpidamente cadenas de bits que no sean muy largas. Los datos se transmiten caracter a
caracter, donde cada uno tiene una longitud determinada (generalmente 8 bits). La sincronización
se debe dar en cada caracter, y el receptor debe poder resincronizarse en el siguiente.
La técnica es:

U.T.N. F.R.M. Página 11 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

• Cuando no se transmite ningún caracter, la línea entre el emisor y el receptor estará en


estado de reposo (1 binario).
• El principio de cada caracter se indica mediante un bit de comienzo (0 binario).
• A continuación se transmite el caracter comenzando por el bit menos significativo.
Luego puede transmitirse un bit de paridad.
• Por último está el denominado elemento de parada (1 binario). Se debe especificar su
longitud mínima (que es mayor a la longitud de un bit convencional). El transmisor
seguirá transmitiendo esa señal, que coincide con el estado de reposo, hasta que se vaya
a transmitir el siguiente caracter.
La transmisión asíncrona es sencilla y barata, si
bien requiere 2 o 3 bits suplementarios por cada
caracter.
La desventaja es que cuanto mayor sea el bloque
de bits, mayor será el error de temporización
acumulativo, ya que ésta depende del porcentaje
de desincronización y de la longitud de la trama a
transmitir.
Stallings 165

Síncrona:
En la transmisión síncrona se transmite un bloque de bits de cualquier longitud (variable) sin
utilizar códigos de comienzo o parada. La sincronización se puede realizar de dos maneras: a
través de una señal de reloj independiente de los datos (lo que funciona bien a distancias cortas)
o mediante la inclusión de información relativa a la sincronización en los mismos datos (como la
codificación Manchester y Manchester diferencial).
Además en la transmisión síncrona se requiere un nivel de sincronización adicional para que el
receptor pueda determinar dónde está el comienzo y el final de cada trama.
Para ello se comienza cada bloque con un
patrón de bits denominado preámbulo, y
se finaliza con un patrón de bits final. Se
añaden también otros bits utilizados para
el control del enlace.

Aritmética binaria
Suma:
La suma binaria es similar a la suma en decimal. Cada dígito se Semisuma
suma con el correspondiente a su posición. Si la suma de ambos es Sumandos Suma Acarreo
mayor que el valor de la base, existirá un acarreo al bit de la b a S C
siguiente posición. Como en binario tenemos sólo dos dígitos, la 0 0 0 0
suma se representa como en la tabla. 0 1 1 0
1 0 1 0
1 1 0 1

Como veremos más adelante, la suma binaria es equivalente a la Suma total


operación OR exclusiva, y el acarreo es equivalente a la función Sumandos Suma Acarreo
AND. Ésta tabla es la denominada semisuma, porque no tiene en Cn b a S C n +1
cuenta el acarreo del bit anterior. La otra tabla muestra la suma
0 0 0 0 0
total, donde C n representa el acarreo del bit anterior y C n +1 el 0 0 1 1 0
producido por ésta etapa. Aquí la expresión de la suma sigue siendo 0 1 0 1 0
0 1 1 0 1
la OR exclusiva, pero la del acarreo es un poco más compleja. 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

U.T.N. F.R.M. Página 12 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Representación de números negativos:

Magnitud y signo: Decimal Magnitud y signo


-7 1111
Consiste en representar cualquier número (positivo o -6 1110
negativo) como su módulo (valor absoluto), agregando -5 1101
un bit en la posición más significativa (bit de signo) que -4 1100
es un cero si el número es positivo y un uno si es -3 1011
-2 1010
negativo. -1 1001
Éste sistema contiene una cantidad igual de enteros -0 1000
positivos y negativos, en el rango que va de − 2 n −1 + 1 +0 0000
+1 0001
a 2 n −1 − 1 , con dos posibles representaciones del cero. +2 0010
La desventaja de éste sistema de representación es que +3 0011
los circuitos lógicos para realizarlo son bastante +4 0100
+5 0101
complejos. +6 0110
Se representa en la tabla los números binarios de 3 bits +7 0111
más el bit de signo.
Complemento a la base:
Decimal Complemento a 2
En éste sistema, el complemento de un número de n -8 1000
dígitos se obtiene al restarlo de b n . -7 1001
-6 1010
En particular, el complemento a 2 en el sistema binario, -5 1011
tiene como regla general: complementar cada bit y -4 1100
luego sumarle uno al número obtenido. En éste sistema -3 1101
el cero tiene sólo una forma de representación. Como -2 1110
-1 1111
efecto de esto, el rango va desde − 2 n −1 hasta 2 n −1 − 1 , +0 0000
es decir, hay un número negativo más. El bit más +1 0001
significativo tiene la función de bit de signo, y su peso +2 0010
+3 0011
es − 2 n −1 en vez de + 2 n −1 , como en el binario natural. +4 0100
Si en una suma en éste sistema ocurre un acarreo fuera +5 0101
del bit de signo, éste se descarta. +6 0110
+7 0111
Se representa en la tabla los números binarios de 3 bits
más el bit de signo.
Complemento a la base disminuida en uno: Decimal Complemento a 1
-7 1000
En éste sistema, el complemento de un número de n -6 1001
-5 1010
dígitos se obtiene al restarlo de b n − 1 . -4 1011
En particular, el complemento a 2 en el sistema binario, -3 1100
tiene como regla general: simplemente complementar -2 1101
cada bit. En éste sistema hay dos representaciones del -1 1110
-0 1111
cero. El rango va desde − 2 n −1 + 1 hasta 2 n −1 − 1 . El bit +0 0000
más significativo tiene la función de bit de signo, y su +1 0001
+2 0010
peso es − 2 n −1 + 1 . Si en una suma en éste sistema +3 0011
ocurre un acarreo fuera del bit de signo, éste se suma al +4 0100
bit menos significativo y se recalcula el resultado. +5 0101
Se representa en la tabla los números binarios de 3 bits +6 0110
+7 0111
más el bit de signo.
Representación en exceso:
En éste sistema, una cadena de m bits, cuyo valor entero sin signo es M , representa al entero
con signo M − B , donde B se conoce como el corrimiento del sistema. Es decir, cada número
binario se representa con un valor mayor, para evitar el uso de bits de signo. El rango va desde
− 2 n −1 hasta 2 n −1 − 1 , es decir, hay un número negativo más. En la tabla se muestra un ejemplo
de cuatro bits, para un corrimiento B = 23 .

U.T.N. F.R.M. Página 13 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Decimal Exceso 8
-8 0000
-7 0001
-6 0010
-5 0011
-4 0100
-3 0101
-2 0110
-1 0111
+0 1000
+1 1001
+2 1010
+3 1011
+4 1100
+5 1101
+6 1110
+7 1111

Resta:
La operación de resta, por simplicidad en los sistemas digitales, se hace mediante la complementación
del sustraendo, y realizando una suma ordinaria. Matemáticamente:
X − Y = X + (− Y )
Hay que tener ciertas consideraciones, dependiendo del tipo de representación del número negativo que
usemos. Éstas se pueden resumir como sigue:
• Complemento a 2: Se suma y se ignoran los acarreos más allá del bit más significativo. El
resultado será correcto siempre que no se exceda el rango del sistema numérico.
• Complemento a 1: Se suma de la manera normal, pero si hay un acarreo fuera de la posición del
signo, se suma 1 al resultado y se recalcula la suma (regla de acarreo en redondo).
La siguiente tabla resume lo relacionado con los signos de los operandos y del resultado, en lo que tiene
que ver con la aparición de un acarreo (tenido en cuenta o no, dependiendo del sistema) y con la
representación del resultado.
SIGN. RESULT. Co COMP.

POSITIVO ( X − Y )comp a b = X + (2 n − Y ) = 2 n + ( X − Y )
SI NO
( X >Y ) ( X − Y )comp a b-1 = X + (2 n − 1 − Y ) = 2 n + (X − Y − 1)
=
NEGATIVO ( X − Y )comp a b = X + (2 n − Y ) = 2 n − (Y − X )
NO SI
( X <Y ) ( X − Y )comp a b-1 = X + (2 n − 1 − Y ) = 2 n − 1 − (Y − X )
POSITIVO ( X − Y )comp a b = X + 2 n − (2 n − Y ) = ( X − Y )
( X >0 y NO NO
Y <0) ( X − Y )comp a b-1 = X + 2 n − 1 − (2 n − 1 − Y ) = ( X − Y )

NEGATIVO ( X − Y )comp a b = (2 n − X ) + 2 n − Y = 2 n + 2 n − ( X + Y )
( X <0 y SI SI
Y > 0) ( X − Y )comp a b-1 = (2 n − 1 − X ) + 2 n − 1 − Y = 2 n + 2 n − 1 − (X + Y − 1)
Desborde:
Ocurre cuando la suma de dos números da un resultado que excede el rango del sistema de numeración.
Para ambos tipos de representación (complemento a 2 o a 1), la regla es la misma: Una suma desborda si
los signos de los sumandos son iguales y el signo de la suma es diferente a ellos.
Operaciones BCD:
Los números BCD con signo tienen una posición de dígito extra (4 bits) para el signo. Se usa tanto la
representación de magnitud y signo como la de complemento a la base (complemento a 10).
La suma de números BCD se realiza como una suma ordinaria por dígitos, excepto que debe hacerse una
corrección si el resultado excede a 9 (1001). Ésta corrección implica sumarle 6 (0110) al resultado sin
acarreo para corregir éste dígito, y tomar el acarreo para sumarlo al dígito que sigue, o para informar un
desborde. La suma del factor de corrección también puede producir un acarreo (si no se produjo antes),
que de igual forma deberá sumarse al dígito siguiente.

U.T.N. F.R.M. Página 14 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Multiplicación y división:
La multiplicación de dos números binarios coincide con el producto lógico. El algoritmo de
multiplicación coincide con el usado en el sistema decimal: se multiplica el primer factor por cada bit del
segundo, efectuando un corrimiento en cada uno, y se suman los resultados. Se prefiere ir haciendo
sumas parciales, en vez de sumar todo junto al final, para asemejar más el comportamiento al que tendrá
la realización lógica. En general, cuando multiplicamos un número de n bits por otro de m bits, el
resultado requerirá n + m bits para expresarse.
La multiplicación en complemento a 2 (números positivos y negativos) se realiza de la siguiente manera:
• En cada suma parcial hacemos una extensión del signo, es decir, agregamos un bit más a cada
uno de los sumandos en el lugar más significativo.
• Sumamos e ignoramos cualquier desborde más allá del bit agregado.
• En la última suma debemos complementar el multiplicando desplazado, es decir, el
correspondiente al bit más significativo del segundo factor.
• Descartamos el desborde de la última suma, si ocurriese.
• La suma final será correcta, en representación en complemento a dos.
A continuación se representan ejemplos de la multiplicación de enteros positivos y enteros representados
en complemento a 2:
Producto de enteros positivos Producto de enteros representados en complemento a 2
1011 11 1011 -5
x 1101 x 13 x 1101 x -3
0000 Primer producto parcial 00000 Primer producto parcial
+ 1011 Multiplicando desplazado + 11011 Multiplicando desplazado
01011 Producto parcial 111011 Producto parcial
+ 0000- Multiplicando desplazado + 00000- Multiplicando desplazado
001011 Producto parcial 1111011 Producto parcial
+ 1011-- Multiplicando desplazado + 11011-- Multiplicando desplazado
0110111 Producto parcial 11100111 Producto parcial
+ 1011--- Multiplicando desplazado + 00101--- Multiplicando desplazado (y complem.)
10001111 Producto 00001111 Producto

Para el caso de división, usamos el mismo algoritmo que en decimal: basado en el método de
desplazamiento y resta. Como es binario, la elección del múltiplo del divisor es sencilla: o es cero o es el
divisor mismo. En general, el dividendo tendrá n + m bits, el divisor n bits, el cociente dará un
resultado de m bits, y el resto tendrá n − 1 bits. La división se desborda si el divisor es cero o si el
cociente toma más de m bits para expresarse.
A continuación se presenta un ejemplo:
-19 Divisor 10011 Cociente
11 217 1011 11011001 Dividendo
110 1011 Divisor desplazado
107 0101 Dividendo reducido
99 0000 Divisor desplazado
8 1010 Dividendo reducido
0000 Divisor desplazado
10100 Dividendo reducido
1011 Divisor desplazado
10011 Dividendo reducido
1011 Divisor desplazado
1000 Resto
Cuando hacemos divisiones en complemento a dos, existen métodos similares al de la multiplicación.
Números fraccionarios:
Coma fija:
Para representar los números fraccionarios, éste sistema adopta una posición fija para la coma, de
elección arbitraria para el sistema, pero una vez fijado su lugar no se modifica.
La principal ventaja es que los algoritmos de realización de las diferentes operaciones son los
mismos que los vistos para números enteros, asignando simplemente un lugar a la coma. La

U.T.N. F.R.M. Página 15 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

desventaja más importante es que no se aprovecha la capacidad de los operadores aritméticos, ya


que limitamos el rango.
Coma flotante:
La representación en coma flotante de números en base b se realiza mediante una mantisa m y
un exponente e , tal que:
n = m.b e
Una palabra en coma flotante en binario se forma de la siguiente manera (Norma de 32 bits):
SIGNO de
EXPONENTE MANTISA
la Mantisa
(8 bits) (23 bits)
(1 bit)
La mantisa es un número en coma fija, que se representa mediante la forma de valor absoluto y
signo, debido a que esto reduce la complejidad de los algoritmos de las operaciones. Tomamos
como mantisa el número con coma fija donde ésta está situada a la derecha de la cifra distinta de
cero más significativa. Como ésta cifra siempre será 1, puede obviarse, y con 23 bits
representamos un número de 24 bits.
El exponente es un número entero representado en exceso. Esto hace que sea más fácil
compararlos entre sí, ya que los positivos son números mayores que los negativos.
La ventaja de éste sistema de representación es que resolvemos el inconveniente de la coma fija,
ya que utilizamos al máximo la capacidad de la palabra de bits. La desventaja es que los
algoritmos son más complejos.
Álgebra Binaria
Álgebra de Boole:
El álgebra de Boole es aplicable a toda clase o conjunto de elementos que pueden tomar dos valores
perfectamente diferenciados, que se designan por 0 y 1, y que están relacionados por dos operaciones
binarias denominadas suma (+) y producto (.) lógicos.
Postulados:
En el álgebra de Boole se cumplen los siguientes postulados:

Postulado 1: OPERACIONES CONMUTATIVAS:


a+b =b+a
a.b = b.a
Postulado 2: ELEMENTO NEUTRO:
0+a = a
1.a = a
Postulado 3: PROPIEDAD DISTRIBUTIVA:
a.(b + c ) = a.b + a.c
a + b.c = (a + b )(
. a + c)
Postulado 4: INVERSIÓN:
a + a =1
a.a = 0
La variable a se encuentra siempre en un estado binario contrario al de a
Teoremas:
Teorema 1: DUALIDAD:
Cada identidad perteneciente a los postulados permanece válida si
intercambiamos entre sí las operaciones suma y producto y los elementos 0 y 1.
Teorema 2: ELEMENTO ABSORBENTE:
a +1 = 1
a.0 = 0
Teorema 3: TAUTOLOGÍA:

U.T.N. F.R.M. Página 16 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

a+a=a
a.a = a
Teorema 4: ABSORCIÓN:
a + a.b = a
a.(a + b ) = a
Teorema 5: PROPIEDAD ASOCIATIVA:
a + (b + c ) = (a + b ) + c = a + b + c
a.(b.c ) = (a.b ).c = a.b.c
Teorema 6: COMPLEMENTACIÓN DOBLE:
a =a
Teorema 7: LEYES DE “De MORGAN”:
a + b + c + d + K = a b c d K (NOR)
a.b.c.d K = a + b + c + d K (NAND)
Álgebra de llaves:
La operación suma se asimila a la conexión en paralelo de contactos y la operación producto a la
conexión en serie. El elemento 0 es un contacto siempre abierto y el elemento 1 un contacto
siempre cerrado. Cuando la función de transmisión tiene al menos un camino cerrado de
circulación de corriente, tenemos el valor 1 en la salida. Si ocurre lo inverso, o sea, que no hay
ningún camino cerrado, el valor de salida es un 0.

Variables y funciones lógicas:


Una función de un álgebra de Boole es una variable binaria cuyo valor es igual al de una expresión
algebraica en la que se relacionan entre sí las variables binarias por medio de las operaciones básicas:
producto, suma e inversión.

La función lógica se representa por la expresión f (K , c, b, a ) , ya que su valor lógico depende del de las
variables K , c, b, a .

Se llama término canónico de una función lógica a todo producto o suma en la cual aparecen todas las
variables en su forma directa o inversa. Al primero de ellos se llama producto canónico (MINTERM) y
al segundo suma canónica (MAXTERM). El número máximo de productos o sumas para n variables es
2n .
También podemos expresar a cada término canónico con un número decimal equivalente al binario
obtenido al sustituir las variables ordenadas con un criterio determinado por un 1 o un 0 según aparezcan
en su forma directa o inversa respectivamente. Así, podemos representar la función como una sumatoria
2 n −1 2 n −1
(f = ∑ ( ) ) o una productoria ( f = ∏ ( ) ) de términos designados con un número decimal.
i =0 i =0

Obtención de la expresión canónica:


Para obtener una expresión canónica donde no la hay, debe agregarse a cada término las variables que
faltan en ambos estados (directo e inverso) de tal manera que el término no se modifique. Luego se
aplican las propiedades distributivas y se obtienen los términos canónicos.

Teorema:

U.T.N. F.R.M. Página 17 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Toda función lógica se puede expresar de la siguiente forma:

f (K , c, b, a ) = a. f (K , c, b,1) + a . f (K , c, b,0 )

f (K , c, b, a ) = (a + f (K , c, b,0 )).(a + f (K , c, b,1))


/*Estudiar la demostración*/
Este teorema nos indica que, aplicándose a todas las variables las expresiones anteriores, se demuestra
que toda función puede llevarse a una forma canónica.

Pasaje de MAXTERM a MINTERM y viceversa:


El pasaje se realiza con la siguiente fórmula:

2 n −1 2 n −1
f (K , c, b, a ) = ∑ [( ) ]
f (i ).i = ∏ f 2 n − 1 − i + i
i =0 i =0

/*Estudiar la demostración*/
Esto significa que si se tiene la expresión en forma de suma de productos, la expresión canónica en forma
de producto de sumas se obtiene mediante el complemento a 2 n − 1 de los productos canónicos que no
forman parte de la función. Lo mismo ocurre cuando se tiene la expresión en forma de producto de
sumas.
Mandado Pág.: 29

Operaciones lógicas básicas:


AND:
Es el producto lógico de dos o más variables. La tabla de la verdad correspondiente a la
operación AND de dos variables, su símbolo lógico tradicional y el normalizado se muestran a
continuación.
AND
Entradas Salida
b a b.a
0 0 0
0 1 0
1 0 0
1 1 1

OR:
Es la suma lógica de dos o más variables. La tabla de la verdad correspondiente a la operación
OR de dos variables, su símbolo lógico tradicional y el normalizado se muestran a continuación.
OR
Entradas Salida
b a b+a
0 0 0
0 1 1
1 0 1
1 1 1

NOT:
Es la inversión lógica de una variable. La tabla de la verdad correspondiente a dicha operación,
su símbolo lógico tradicional y el normalizado se muestran a continuación.
NOT
Entrada Salida
a a
0 1
1 0
%%%

U.T.N. F.R.M. Página 18 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Operaciones lógicas inversas:


NAND:
Es el inverso del producto lógico de dos o más variables, o lo que es lo mismo (por consecuencia
del teorema de DeMorgan) la suma lógica de los inversos de dos o más variables. Veremos que
ésta consecuencia trae aparejado que existan dos símbolos distintos para ésta función. La tabla de
la verdad correspondiente a la operación NAND de dos variables, sus símbolos lógicos
tradicionales y los normalizados se muestran a continuación.
NAND
Entradas Salida
b a b.a = b + a
0 0 1
0 1 1
1 0 1
1 1 0
__

NOR:
Es el inverso de la suma lógica de dos o más variables, o lo que es lo mismo (por consecuencia
del teorema de DeMorgan) el producto lógico de los inversos de dos o más variables. Veremos
que ésta consecuencia también trae aparejado que existan dos símbolos distintos para ésta
función. La tabla de la verdad correspondiente a la operación NOR de dos variables, sus
símbolos lógicos tradicionales y los normalizados se muestran a continuación.
NOR
Entradas Salida
b a b + a = b .a
0 0 1
0 1 0
1 0 0
1 1 0
__

Funciones especiales:
OR exclusiva (XOR):
Es la función lógica de n variables que toma el valor lógico uno si se encuentra un número
impar de ellas en estado uno, y el valor lógico cero si es un número par de ellas el que posee el
valor lógico uno. En particular, para el caso de dos variables, la salida es uno si sólo una de las
entradas está en estado lógico uno. La función se representa con el operador ⊕ . La tabla de la
verdad correspondiente a la operación XOR de dos variables, su símbolo lógico tradicional y el
normalizado se muestran a continuación.
XOR
Entradas Salida
b a b⊕a
0 0 0
0 1 1
1 0 1
1 1 0
De la tabla de verdad se deduce que las expresiones canónicas de la función XOR son:
f XOR (ba ) = b a + ba = (a + b )(a + b )
Ésta función además presenta las siguientes propiedades:
a⊕b = a⊕b = a ⊕b = a ⊕b
XOR como inversor controlado:
Podemos hacer uso de las compuertas XOR para realizar la inversión controlada de una
variable, es decir, invertirla o no a voluntad, mediante una señal de control.

U.T.N. F.R.M. Página 19 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Si conectamos a una de las entradas la señal a la variable ( a ) y la otra a la señal de


control ( b = INV ), vemos en la tabla de verdad que cuando INV = 0 , la entrada sigue
a la salida, y que cuando INV = 1 , la salida es el complemento de la entrada.
Comparación (XNOR):
Ésta función de dos variables toma el valor 1 si sus entradas están en el mismo estado lógico, y
cero en el caso que una sea diferente. Vemos que la definición es la inversa que en el caso de la
función XOR de dos variables, por lo que ésta función será el inverso de aquella. Esto es:
f COMP (ba ) = a ⊕ b
La tabla de la verdad correspondiente, su símbolo lógico tradicional y el normalizado se
muestran a continuación.
Comparación (XNOR)
Entradas Salida
b a b⊕a
0 0 1
0 1 0
1 0 0
1 1 1

Mayoría:
Una función mayoría es un circuito digital cuya salida es 1 si solamente la mayoría de las
entradas son 1. La salida es 0 en cualquier otra condición.
Para tres variables, por ejemplo, ésta función es la suma de los productos de dos variables
acertadas a la vez, es decir:
f MAYORÍA (cba ) = c.b + b.a + c.a
Funciones incompletas:
Se llama funciones incompletas a aquellas en las que, para una o más combinaciones de entrada, a la
salida se le puede asignar el valor cero o uno indistintamente. Esto puede deberse a distintas causas:
• Es imposible la aparición de esas combinaciones de entrada.
• Para esas combinaciones de entrada la salida es indiferente porque está inhibida.
La forma canónica de una función incompleta se representa indicando en una sumatoria separada, escrita
como ∑X
los términos para los cuales la función no está definida. En la tabla de verdad, dichas salidas

se indican con una X que significa “no importa”.


En la funcionalidad del sistema, a esta salida se le puede asignar el valor 1 o 0 indistintamente, para
adecuarlo a nuestra conveniencia constructiva.
Multifunciones:
Una multifunción es una función de más de una salida, en donde todas ellas dependen de las mismas
variables de entrada. Como consecuencia de ésta dependencia, puede resultar que distintas salidas tengan
productos o sumas lógicas compartidas, por lo que se puede ahorrar componentes a la hora de realizar la
función, en vez de tomar cada salida como una función independiente de las otras.
Minimización de funciones lógicas:
Fundamento:
Utilizando los teoremas y principios del álgebra de Boole se pueden simplificar las funciones
lógicas de tal manera de usar la menor cantidad de componentes posibles.
El criterio más utilizado es el de obtener una expresión en forma de suma de productos o
producto de sumas que tenga un número mínimo de términos con el menor número de variables
posible en cada uno de ellos. Se han de realizar ambas opciones y determinar cuál de las dos es
mínima.

U.T.N. F.R.M. Página 20 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

La suma de productos (o producto de sumas) adyacentes, es decir que difieren solamente en el


estado de una de las variables, se reduce a un único producto en el cual se ha suprimido dicha
variable. Éste es el fundamento de los métodos de minimización.
Si expresamos como números decimales cada término, el término que resulta de la minimización
por adyacencia se expresa con un guión entre éstos números y el peso de la variable que
desaparece es una potencia de 2.
La expresión final, en la que no puede reducirse ningún término más, se denomina expresión
irreducible.
Método gráfico (Karnaugh):
En el método tabular de Karnaugh se agrupan los términos canónicos adyacentes en una tabla, de
tal manera que estén físicamente contiguos y por lo tanto sea muy sencillo realizar las
agrupaciones que permiten reducir al mínimo la expresión de la función. Los cuadrados de los
bordes son adyacentes con los correspondientes del borde opuesto. En éstas tablas, cada celda
corresponde a un término canónico, dado por un número decimal que se indica en la parte
inferior del mismo, y cuya combinación de variables binarias resulta de armarla con el estado de
las mismas en las filas y columnas. Las tablas de Karnaugh para 2, 3 y 4 variables se muestran en
la figura.

En éstas tablas se indica con un 1 en la celda correspondiente los términos que toman ese valor
para la función. Los ceros no suelen indicarse.
Explicaremos el proceso para sumas de productos, pero es análogo para productos de sumas.
Para realizar la minimización de la función deberán agruparse sólo los unos en cantidades
iguales a una potencia de 2, de tal manera de no abarcar ningún cero, y procurando realizar el
mínimo número de agrupaciones de términos de la máxima cantidad de unos, de modo de
cubrir todos los unos de la tabla. Un procedimiento sistemático es el siguiente:
1. Encerrar en un círculo los unos que no pueden agruparse de a dos.
2. Encerrar en un círculo grupos de dos unos que no pueden agruparse de a cuatro.
3. Encerrar en un círculo grupos de cuatro unos que no pueden agruparse de a ocho.
4. Así sucesivamente hasta que se hayan cubierto todos los unos de la tabla.
El producto lógico resultante de cada agrupación se obtiene eliminando las variables que toman
el valor 0 en la mitad de las celdas agrupadas, y el 1 en la otra mitad, y asignando en forma
directa las variables que toman el valor 1 en todo el grupo, e inversa las que toman el valor 0.
A continuación se muestran ejemplos de agrupaciones:

U.T.N. F.R.M. Página 21 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Con una tabla de n variables es posible representar una función de n + 1 variables asignando a
cada cuadrado dos términos canónicos en lugar de uno sólo. Sería una forma de reducir dos
tablas: una que corresponde a la variable sobrante acertada, y la otra a la negada. De ésta forma
cada cuadrado puede tener un 1 (si hay un 1 en esa posición en ambas tablas), un cero (que no se
coloca), la variable sobrante en forma acertada o negada (si hay un uno en la tabla de la variable
correspondiente y un cero en la otra). Realizamos la minimización agrupando los cuadrados
donde está la variable acertada con otros que tengan uno, de tal manera que el término
correspondiente contenga a dicha variable en ese estado. Realizamos lo mismo con la variable
negada. Por último agrupamos los unos que no se pueden agrupar con la variable.
A continuación se muestra un ejemplo claro:

La expresión minimizada de la función del ejemplo es:


f = d c + a d + bd e + b d e
Funciones incompletas:
Los términos para los cuales la función no está definida se indican en el diagrama con una X
(no importa). Para minimizar funciones incompletas con el método descrito, asignamos el valor 1
o 0 a las X en el diagrama de Karnaugh, según nuestra conveniencia, es decir de tal manera de
lograr una función con la menor cantidad de términos de la mayor complejidad.
Multifunciones:
Una multifunción puede minimizarse tomando cada salida como una función independiente, sin
embargo, para minimizarlas más eficientemente debemos tener en cuenta los términos comunes a
varias funciones, ya que éstos no deben realizarse dos veces, porque utilizaríamos más
componentes innecesariamente. El método sistemático consiste en los siguientes pasos:
a) Realización de tablas de todas las funciones y de sus productos lógicos (tablas de
elementos comunes) agrupando de a dos, tres, etc. funciones de salida.
b) Realizar todos los productos canónicos que toman el valor uno en una sola función, en
dicha tabla y de la manera mas sencilla posible.
c) Realizar todos los términos comunes a dos funciones, que no son comunes a tres, y que
no han sido realizados para la función individual, en la tabla del producto
correspondiente y de la manera más sencilla posible.
d) El proceso se repite para los términos comunes a tres funciones, que no son comunes a
cuatro, y que no han sido realizados antes, y así sucesivamente.
e) Si en algún paso el término que se va a minimizar ya se ha realizado para todas las
funciones menos una, y en esa restante se puede realizar el mismo término de una
manera más sencilla, se utiliza éste término, en vez de el común que estábamos por
realizar.
Método numérico (Quine Mc. Kluskey):
Cuando trabajamos con funciones de más de 5 variables, el método tabular no presenta utilidad
práctica. Por eso es que existe el método numérico. Su fundamento es el de agrupar términos
adyacentes (cuyos números representativos difieren en una potencia de 2), de cada vez menor
número de variables. Veremos el método aclarado con un ejemplo, para la función:
f (dcba ) = ∑ (0,1,3,4,7,8,11,12,13,15 )
4

U.T.N. F.R.M. Página 22 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

El método sistemático es el siguiente:


1. Formar una tabla con los términos canónicos pertenecientes a la función, ordenados en
grupos de acuerdo a la cantidad de unos que posee la combinación binaria que les
corresponde, como la siguiente:
Tabla 1
Nº de unos Término canónico Utilizado
0 0 x
1 x
1 4 x
8 x
3 x
2
12 x
7 x
3 11 x
13 x
4 15 x

2. Agrupamos pares de términos adyacentes de la tabla anterior, es decir, comparamos cada


término de un grupo con todos los del grupo siguiente, buscando que difieran en una
potencia de 2 positiva (tomando como minuendo el término del grupo con mayor
cantidad de unos). Los términos usados son marcados en el casillero “Utilizado”, lo que
indica que no son términos primos; los no marcados son primos, y debemos resaltarlos.
Armamos una tabla como la que sigue, ubicando el término y la diferencia entre los
términos que lo forman:
Tabla 2
Término Diferencia Utilizado
0-1 1
0-4 4 x
0-8 8 x
1-3 2
4-12 8 x
8-12 4 x
3-7 4 x
3-11 8 x
12-13 1
7-15 8 x
11-15 4 x
13-15 2

3. Se arma una tercera tabla agrupando términos pertenecientes a grupos adyacentes cuya
diferencia es igual y que además difieren entre sí en una potencia de 2. Se indican ambas
diferencias: la primera es la diferencia interna de la tabla anterior, y la segunda es la que
existe entre los términos agrupados. La tabla queda como sigue:
Tabla 3
Término Diferencias Utilizado
0-4-8-12 (4,8)
0-8-4-12 (8,4)
- -
3-7-11-15 (4,8)
3-11-7-15 (8,4)

A partir de aquí los términos se repiten, debido a la aparición de otro término con los
mismos números pero en distinto orden, es decir, con las diferencias intercambiadas.
Tachamos uno, y nos quedamos con el otro, generalmente con el que tenga ordenados
sus números. Nuevamente marcamos los términos no primos y resaltamos los primos en
la tabla anterior.
4. El proceso se continua realizando tablas sucesivas hasta que no se puedan realizar más
agrupaciones.
5. Consideramos los términos primos, es decir, los que no se han agrupado con otros para
formar otro mayor. Ahora es necesario elegir la mínima combinación de éstos que cubra
toda la función. Para ello se utiliza una tabla cuyas filas sean los términos primos, y

U.T.N. F.R.M. Página 23 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

cuyas columnas sean los términos canónicos de la función. En la fila correspondiente a


un determinado término primo, colocamos una “x” en la columna cuyo número está
contenido en el término. La tabla se arma como sigue:

Términos primos 0 1 3 4 7 8 11 12 13 15

0-1 x x

1-3 x x

12-13 x x

13-15 x x

0-4-8-12 x ⌧ ⌧ x

3-7-11-15 x ⌧ ⌧ x

   
6. En primer lugar se observa si la tabla contiene alguna columna con un solo término
marcado, y se indica mediante una flecha. El término primo que realice esa “x” es
esencial, es decir, debe formar parte de la función. Se resaltan (recuadran) los términos
esenciales, y los términos canónicos realizados por ellos.
7. El paso siguiente es buscar la combinación más sencilla de los términos primos restantes
que realiza el resto de los términos canónicos. Para ello se hace una tabla reducida, que
contiene los términos primos no esenciales como filas y los términos canónicos no
realizados como columnas. La tabla se arma como sigue:
Términos primos
1 13
no esenciales

0-1 x
1-3 x
12-13 x
13-15 x
Con esto, se elige la combinación de términos que realice de la forma más sencilla todos
los términos canónicos restantes.
En el ejemplo, cualquier combinación entre 0-1 o 1-3 y 12-13 o 13-15 realiza los dos
términos. Hemos elegido la combinación que se ve recuadrada.
Cuando existen términos primos no esenciales que “contengan” a otros, es decir que
realicen los mismos términos que ellos y otros más, se pueden suprimir los “contenidos”,
ya que no forman parte de la solución mínima.
8. Finalmente, debemos obtener las expresiones literales de las representaciones numéricas
de los términos primos esenciales, y de los no esenciales elegidos para completar la
función. Para ello, tomamos la expresión del primer número del término, y eliminamos
de ella las variables cuyo peso sea la diferencia entre este número y el segundo, el
tercero, y así sucesivamente. Por ejemplo, el término 0-4-8-12 se representa como:
0 = dcb a 

4 − 0 = 4 = c  ⇒ 0 − 4 − 8 − 12 = b a
8 − 0 = 8 = d 
En el ejemplo, la función queda:

U.T.N. F.R.M. Página 24 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

f (dcba ) = b a + ba + d c b + dcb
Funciones incompletas:
Al aplicar éste método a funciones incompletas, debemos, en un principio considerar las X como
unos, es decir que incluimos los términos “no importa” en la Tabla 1. Seguimos con el
procedimiento hasta obtener los términos primos. Si alguno de éstos está compuesto sólo por
términos canónicos “no importa”, no debe ser incluido en la tabla de términos primos, ya que no
hace a la realización mínima de la función. En las columnas sólo ponemos los términos que
pertenecen a la función, es decir, los que son 1. Terminamos el procedimiento de la misma
manera ya vista.
Multifunciones:
En éste método se agrega una columna más a la Tabla 1, que indica a qué función o funciones
pertenece cada término canónico. La Tabla 2 y las sucesivas se realizan de la manera ya vista,
indicando en cada término agrupado la función o funciones a las cuales pertenece cada uno (se
hace intersección de conjuntos). Los términos que no tengan en común la pertenencia a una
función se descartan. Se marcan como “utilizados” sólo los términos que se usen para armar
otros más complejos, siempre que todas las funciones a las que pertenecen sean las mismas.
En la tabla de términos primos se dibujan en grupos separados las columnas con los términos de
cada función, y además se indica a qué función o funciones pertenece cada término primo. Al
encontrar los términos primos esenciales, se recuadran los términos canónicos realizados sólo de
las funciones a las cuales pertenece dicho término primo esencial. El procedimiento es el mismo
que se acaba de ver para completar la minimización de la función.
Método de “puenteo”:
El método consiste en representar mi función canónica como una función
XOR (cualquiera de sus expresiones) de la misma cantidad de variables
que mi función original, a la que multiplico por otra función que me
permita quitar los unos que tiene la función XOR y que mi función no
tiene, y a éste producto le sumo una función para agregar los unos que la
función XOR no tiene y que mi función si. Es decir, en forma general, mi
función canónica se convertirá en:
   
f (dcba ) = (d ⊕ c ⊕ b ⊕ a ). ∑ L +  ∑ L
 4   4 
La función XOR tiene su tabla de Karnaugh como se muestra en la
figura.
Como es fácil ver, éste método es más eficiente mientras mayor sea la semejanza de la función con la
función XOR, ya que no tendremos que agregar demasiados términos en las otras dos funciones, y
obtendremos un circuito más sencillo. Las funciones agregadas deben ser minimizadas por los métodos
ya vistos.
A continuación se muestra una especie de plantilla o tabla genérica, que lo que hace es representar la
misma función XOR con éste método:

A partir de ésta plantilla, el método sistemático es:


1. Identifico las diferencias que tiene mi función con la función XOR (ceros, unos y “no importa”)

U.T.N. F.R.M. Página 25 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

2. Para poner los ceros que la XOR no tiene, debo reemplazar en la función multiplicada el uno
correspondiente por un cero, y en la función sumada, el “no importa” correspondiente por un
cero ( 1.0 + 0 = 0 )
3. Para poner los unos que la XOR no tiene, debo dejar el “no importa” correspondiente en la
función multiplicada y reemplazar el cero correspondiente por un uno en la función sumada
( 0. X + 1 = 1 )
4. Para poner los “no importa” que la XOR no tiene, debo cambiar el uno correspondiente por un
“no importa” en la función multiplicada, o conservar el “no importa”, y cambiar el cero
correspondiente por un “no importa” en la función sumada, o conservar el “no importa”
( 1. X + X = X y 0. X + X = X )

A continuación se muestra un ejemplo con las diferencias y cambios resaltados:

Si minimizo las funciones multiplicada y sumada, obtengo la siguiente función para el ejemplo:
f (dcba ) = (d ⊕ c ⊕ b ⊕ a )( ( )
. c + d ) + cb
Dispositivos de tercer estado:
Los dispositivos de tercer estado permiten, además de
los estados lógicos alto y bajo, un estado de alta
impedancia (Hi-Z), controlado por una terminal de
desinhibición (EN). Las compuertas más sencillas
son las seguidoras, cuyos símbolos lógicos
tradicional y normalizado se muestran en la figura.
Una aplicación particular es la de un montaje Y por conexión, siempre que las salidas se activen de a una
por vez.
Sistemas Digitales
Estructura y definiciones:
Un sistema digital es aquel que recibe información de tipo discreta, la procesa y luego la entrega
procesada.
Diagrama en bloques:
Es una representación del sistema digital. Se colocan las variables de entrada en el extremo
izquierdo y las variables de salida o funciones del lado derecho.
Variable digital y variable binaria:
Se define como variable digital aquella que toma solamente valores discretos. La variable
binaria, toma sólo dos valores. Las indicamos con letras minúsculas.
Función digital:
Es una relación algebraica entre variables binarias a través de las operaciones del álgebra de
Boole: suma, producto e inversión lógicas.
Vector digital:
Es un conjunto de variables digitales que cumplen con el mismo propósito. Tiene tres
propiedades:

U.T.N. F.R.M. Página 26 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

1. Módulo: Es la cantidad específica de variables o funciones que posee un vector


determinado.
2. Dirección: Es el valor específico que toma el vector en un instante definido.
3. Sentido: Puede ser positivo o negativo. Se usan los convenios de signos ya vistos.
Identificador vectorial:
Es el conjunto de vectores más importantes de un sistema digital, que se usan para describir el
funcionamiento del mismo. Existen dos tipos de vectores:
1. Vectores independientes: Conformados por variables.
2. Vectores dependientes: Conformados por funciones digitales.
Estado:
Valor numérico que toma el identificador vectorial en un instante determinado, es decir, que es el
conjunto de direcciones para ese instante. Se lo representa como una circunferencia en cuyo
interior aparece la letra E con un subíndice numérico, y externamente se coloca la dirección
específica del identificador vectorial.
Transición entre estados:
Cuando se produce la modificación de la dirección o el sentido de algún vector, el sistema
evoluciona a un nuevo estado. Ésta transición se puede llevar a cabo por:
• El establecimiento de una dirección determinada (por nivel)
• El cambio de dirección de algún vector (por cambio de nivel)
Tipos de sistemas digitales:
Existen dos tipos de sistemas digitales:
• Sistemas combinacionales: Son aquellos en los que cada dirección de los vectores
independientes se corresponde con un único estado. La cantidad de estados es finita: si la
cantidad de vectores independientes es n , la cantidad de estados es 2 n .
• Sistemas secuenciales: Son aquellos en donde cada estado no queda solamente definido por la
dirección de los vectores independientes, sino también por la secuencia que ha seguido el
funcionamiento del sistema.
Pasos de diseño:
1) Conocimiento del sistema:
Es la determinación de los objetivos a cumplir por el sistema. Puede provenir de tres fuentes:
1. Requerimientos verbales: Es la forma más común de presentar el objetivo del
problema a resolver. Conviene establecer una tabla de requerimientos y objetivos,
que contendrá una fila para cada tarea a realizar, donde se especifica su nombre,
requerimientos y objetivos.
2. Diagramas temporales: Es la representación gráfica de una o varias funciones
(parámetros físicos) respecto del tiempo.
3. Ecuaciones lógicas o aritméticas: Son las expresiones algebraicas con las que hay
que cumplir. Por ende, partimos conociendo exactamente los vectores puestos en
juego y el identificador vectorial. Esto nos dice que es la forma más sencilla y
precisa de especificar las necesidades del sistema.
2) Determinación de variables y vectores:
Hay dos tipos de determinaciones a realizar:
1. Definición de variables, vectores e identificador vectorial: Puede ocurrir con los
datos dos cosas:
a) Datos perfectamente definidos: Se conocen los parámetros de lógica y
tecnológicamente. Ocurre generalmente cuando las especificaciones se
dan en forma de ecuaciones.
b) Datos parcialmente definidos o indefinidos: Ocurre cuando los
requerimientos son verbales. Es necesario analizar con detenimiento las

U.T.N. F.R.M. Página 27 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

pautas, para determinar exactamente las variables que cumplen con tales
objetivos. El procedimiento se realiza de la siguiente manera:

OBJETIVO FUNCIONAMIENTO VECTOR DE


SALIDA

VECTOR DE FUNCIONAMIENTO VECTOR DE


ENTRADA SALIDA

2. Definición de las características lógicas, funcionales y tecnológicas de los


vectores: Las variables tienen dos estados bien diferenciados:
a) Estado de reposo: Estado en el cual permanece la mayor parte del tiempo.
b) Estado de excitación: Estado ocasional que realiza alguna acción.
Ambos casos pueden ser cero o uno lógicos. Conviene que todas las variables o
funciones que conforman un vector estén definidas de igual forma.
3) Análisis de funcionamiento:
Se puede comenzar realizando un diagrama de flujo.
El análisis más detallado a los fines del diseño consiste en realizar un diagrama funcional de
estados, que muestra las variaciones numéricas del identificador vectorial, y las transiciones de
estados. Para realizarlo se cumplen los siguientes pasos:
1. Partir de un estado de reposo E 0
2. Establecer las transiciones a nuevos
estados E i por variación del o los
vectores independientes.
3. Se determina lo que se espera que
suceda con los vectores funcionales
para cada estado.

4) Identificación del tipo de sistema digital:


Según el diagrama funcional de estados, debemos identificar con qué tipo de sistema digital
estamos tratando. Según esto, serán los pasos sucesivos que hay que seguir.
Diseño de la parte secuencial:
Ésta parte implica obtener ciertas tablas, minimizarlas fusionando estados internos, y
codificarlas para poder así obtener las variables de estado interno que determinan la
condición de secuencial del sistema, si éste fuera de ese tipo.
5) Síntesis de las funciones de salida:
Implica la obtención de la tabla de funcionamiento o tabla de verdad de las variables de salida
del sistema (tabla de salida para el caso de un secuencial), la minimización de cada una de sus
funciones (o de la multifunción), y su implementación con compuertas, o bloques integrados.
Análisis y Diseño de Sistemas Digitales: Lenguaje de descripción de Hardware (VHDL)
Generalidades:
Un lenguaje de descripción de hardware (HDL) es una herramienta que permite describir la estructura y
comportamiento de un sistema para especificarlo, documentarlo y simularlo antes de su realización.
Utilizando VHDL se puede diseñar, simular y sintetizar cualquier sistema digital. A diferencia de la
programación común, un programa en VHDL tiene todas sus instrucciones concurrentes en el tiempo,
es decir, que se ejecutan simultáneamente, porque representan conexiones físicas. Sólo habrá
instrucciones secuenciales en algunos casos determinados.

U.T.N. F.R.M. Página 28 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Proceso de diseño:
El proceso de diseño en VHDL se divide en dos etapas, que a su
vez tienen distintos pasos. OBJETIVO

Etapa de desarrollo:
1) Planteo general del sistema:
Se realiza una representación mediante un PLANTEO GENERAL
diagrama en bloques. Se definen en él los
módulos e interfaces generales del sistema
(partes e interconexión).
2) Codificación:
CODIFICACIÓN
Consiste en escribir el código VHDL para todos
los componentes planteados, módulos
específicos e interfaces.
3) Compilación:
Se transforma el código en un programa objeto,
que contiene toda la información necesaria para
COMPILACIÓN
la simulación del proyecto.
4) Verificación:
Permite establecer si el circuito funciona como
se pretendió en las pautas de diseño. Se verifica
funcional y temporalmente: en la primera se
idealiza a los elementos lógicos en el tiempo, en VERIFICACIÓN
la segunda se plantean retardos estimados.
Simulación:
Sirve para analizar el comportamiento
que tendría el circuito puesto en
funcionamiento, definiendo entradas y
verificando las salidas correspondientes.
SÍNTESIS
Etapa de realización:
1) Síntesis:
Convierte el modelo descrito por el programa
codificado en un conjunto de primitivas o AJUSTE Y
componentes que se articularán en un circuito ENRUTAMIENTO
real en una tecnología adecuada. Las
herramientas de síntesis permiten decidir
restricciones específicas en cuanto al circuito y
su tecnología.
2) Ajuste y enrutamiento:
VERIFICACIÓN
Son herramientas que mapean los componentes TEMPORAL
codificados para adaptarlos a los recursos
disponibles en un dispositivo.
3) Verificación temporal y total del
circuito:
Establece la funcionalidad temporal correcta
basada en todos los parámetros reales puestos en RESULTADO
juego al realizar el circuito lógico.

U.T.N. F.R.M. Página 29 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Programación:
Estructura:
La estructura de un módulo programado en VHDL tiene los siguientes elementos básicos:
• Entidad: Es la declaración de los vectores del módulo, es decir, el identificador vectorial
del sistema considerado. Implica todo lo externo del diagrama en bloques.
• Arquitectura: Es la descripción detallada de la estructura interna o comportamiento del
módulo. Describe el interior del bloque considerado.
Cada circuito realizado con VHDL debe tener estos dos elementos bien definidos.
Descripción general:
La descripción general de cada bloque en VHDL se puede realizar de tres maneras diferentes:
1. Descripción estructural: En la arquitectura se declaran los componentes internos de la
estructura del circuito a realizar, suponiendo que conocemos exactamente dicha
estructura. Se usa la instrucción COMPONENT. En la descripción se especifica cómo es la
estructura de cada salida del circuito, es decir, por qué componentes pasan las entradas
hasta llegar a ésta.
2. Descripción de flujo de datos: En la arquitectura se declaran las señales internas del
circuito y en su descripción se utilizan ecuaciones lógicas de asignación (operador <=) y
mediante el uso de operadores lógicos (como OR o AND) se establece la señal de salida
correspondiente.
3. Descripción de comportamiento: En la arquitectura no se declaran señales internas,
sino que se manipulan instrucciones condicionales como IF, THEN, ELSE, etc., para
establecer la relación lógica entre los valores de las entradas y los de las salidas. Se
utiliza la instrucción PROCESS para indicar que la lectura de esas instrucciones es
secuencial.
Sintaxis general:
Entidad:
La sintaxis general para declarar una entidad es la siguiente:
ENTITY nombre-entidad IS
PORT (
nombre-señales: modo tipo-señal;
nombre-señales: modo tipo-señal;
...
nombre-señales: modo tipo-señal;
);
END nombre-entidad;
donde:
• nombre-entidad es el nombre asignado a ella. No puede ser una palabra
clave o reservada.
• nombre-señales es el nombre asignado a cada una de ellas. Tampoco puede
ser una palabra clave o reservada.
• modo es el modo de interacción de la señal con el exterior de la entidad. Éstos
pueden ser 4 y las palabras clave a usar son:
o IN Señal de entrada a la entidad.
o OUT Señal de salida de la entidad (no puede ser leído dentro de la
arquitectura de la entidad)
o BUFFER Señal de salida de la entidad (si puede ser leído dentro de la
arquitectura de la entidad)
o INOUT Señal de entrada o salida de la entidad.
• tipo-señal indica de qué tipo es la señal declarada. Los tipos pueden
definirse por el usuario, pero los predefinidos son:
o BIT

U.T.N. F.R.M. Página 30 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

o CHARACTER
o INTEGER
o REAL
o Std_vector (n downto 0): vector de n bits (librería estándar)
o etc.
Arquitectura:
La sintaxis general para declarar una arquitectura perteneciente a una entidad es:
ARCHITECTURE nombre-arquitectura OF nombre-entidad IS
[declaración de señales]
[declaración de constantes]
[declaración de tipo]
[definición de funciones]
[definición de procedimiento]
[declaración de componentes]
BEGIN
[enunciado concurrente];
[enunciado concurrente];
...
[enunciado concurrente];
END nombre-arquitectura;
donde:
• nombre-arquitectura es el nombre asignado a ella, generalmente
relacionado con la entidad, pudiendo tener el mismo nombre. No puede ser una
palabra clave o reservada.
• nombre-entidad es el nombre exacto de la entidad que queremos describir.
• [declaraciones] éstas pueden ser:
o [declaración de señales] especifica señales internas de la
entidad. No se especifica modo, porque no interactúan con el exterior del
bloque, pero sí un tipo de señal. Sintaxis:
SIGNAL nombre-señal: tipo-señal;
o [declaración de constantes]Sintaxis:
CONSTANT nombre-constante: tipo-constante :=
valor;
o [declaración de tipo] sirve para definir tipos personalizados de
señales, variables o constantes. Sintaxis para tipos y subtipos:
TYPE nombre-tipo IS declaración-del-tipo;
SUBTYPE nombre-subtipo IS nombre-tipo comienzo
TO final;
o [declaración de funciones] Las funciones tienen argumentos
y devuelven resultados, ambos de tipos determinados. Utilizan en su
interior variables. Sintaxis:
FUNCTION nombre-función (
nombre-señal: tipo-señal;
...
)RETURN tipo-retorno IS
[declaraciones];
...
BEGIN
[enunciado-secuencial];
...
END nombre-función;
 [declaración de variables] Se declaran como las
señales pero no se corresponden con el circuito. Sintaxis:

U.T.N. F.R.M. Página 31 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

VARIABLE nombre-variable: tipo-variable;


o [declaración de procedimiento] Es similar a una función,
excepto que no regresa un resultado.
Librería y paquete:
La librería es un lugar específico donde el compilador VHDL almacena información acerca de
un proyecto de diseño en particular. Existen además librerías con definiciones estándar.
Un paquete es un archivo que contiene definiciones de objetos que pueden ser usados por otros
programas. Incluye declaraciones de señal, tipo, componentes, etc. El usuario puede definir un
paquete mediante la instrucción PACKAGE o usar uno ya creado mediante la cláusula USE al
comienzo del archivo de diseño.
Descripción del sistema:
Descripción estructural:
Se definen componentes, mediante la instrucción COMPONENT, cuya sintaxis es:
COMPONENT nombre-componente
PORT(
nombre-señal: modo tipo-señal;
nombre-señal: modo tipo-señal;
...
nombre-señal: modo tipo-señal;
);
END COMPONENT;
Cada componente usado en una arquitectura debe haber sido declarado como entidad
fuera de ella. La sintaxis de “utilización” de esos componentes tiene dos opciones:
formato posicional, donde las señales deben estar en el orden en que se declararon, o
formato explícito, donde se conecta cada puerto en forma directa a una señal mediante
el operador “=>”. Las sintaxis son:
etiqueta: nombre-componente PORT MAP(señal1,señal2,...);
etiqueta: nombre-componente PORT MAP(port1=>señal1,
port2=>señal2,...);
Descripción de flujo de datos:
Las formas más comunes de describir el circuito con éste tipo son:
1. Asignación de señal concurrente: Sintaxis:
nombre-señal <= expresión;
2. Forma condicional de asignación concurrente: Sintaxis:
nombre-señal <= expresión WHEN exp-booleana ELSE;
expresión WHEN exp-booleana ELSE;
...
expresión;
3. Asignación de señal seleccionada: Sintaxis:
WITH expresión SELECT
nombre-señal <= valor-señal WHEN opción;
valor-señal WHEN opción;
...
valor-señal WHEN OTHERS;
Descripción de comportamiento:
Debemos definir un proceso como un conjunto de instrucciones secuenciales que se
ejecutan en paralelo con otros procesos e instrucciones concurrentes. La sintaxis de
definición es:
PROCESS ([lista de sensibilidad])
[declaraciones y definiciones]

U.T.N. F.R.M. Página 32 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

BEGIN
[enunciados secuenciales];
END PROCESS;
La lista de sensibilidad es opcional. Cuando existe es una lista de variables que hacen
que, si cambia el valor de alguna de ellas, se comience a ejecutar el proceso hasta su
final, y luego espere a que vuelva a cambiar para volver a ejecutarse. Dentro de un
proceso no está permitida la declaración de señales, sino sólo de variables. Los
procesos se ejecutan un número definido de veces. Si esto no es así, hubo un error en la
programación, y se entra a un ciclo infinito.
Las instrucciones secuenciales se listan a continuación:
1. Asignación de señal secuencial: Misma sintaxis que la concurrente.
2. Asignación de variable secuencial: Es mediante el operador “:=”
3. Instrucciones if-then-else: Sintaxis:
IF exp-booleana THEN enunc-secuencial
ELSIF exp-booleana THEN enunc-secuencial
ELSIF exp-booleana THEN enunc-secuencial
...
ELSE enunc-secuencial
END IF;
4. Instrucción case: Sintaxis:
CASE expresión IS
WHEN alternativas => enunc-secuencial
WHEN alternativas => enunc-secuencial
...
WHEN OTHERS => enunc-secuencial
END CASE;
5. Instrucción loop: Sintaxis:
LOOP
enunc-secuencial
enunc-secuencial
...
EXIT;
...
END LOOP;
6. Instrucción for: Sintaxis:
FOR identificador IN rango LOOP
enunc-secuencial
enunc-secuencial
...
NEXT;
...
EXIT;
...
END LOOP;
7. Instrucción while: Sintaxis:
WHILE exp-booleana LOOP
enunc-secuencial
enunc-secuencial
...
EXIT;
...
END LOOP;
Temporización:
Existen algunas instrucciones que permiten considerar y utilizar el tiempo en nuestros diseños:

U.T.N. F.R.M. Página 33 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

1. Palabra clave after: Permite especificar un retardo temporal en cualquier instrucción


de asignación de señal secuencial, concurrente, condicional o seleccionada. Sintaxis:
nombre-señal <= valor-señal AFTER tiempo [condiciones];
2. Instrucción wait: Permite suspender un proceso durante un tiempo. Sintaxis:
WAIT tiempo;
Simulación:
La simulación se compone de dos etapas básicas de verificación:
1. Tiempo de simulación cero (TS0): Se inicializan las señales y variables declaradas
explícitamente en el programa, a un valor determinado.
2. Ciclo de simulación: Ejecución de los procesos e instrucciones concurrentes, seleccionando
cada uno de ellos y ejecutando las instrucciones secuenciales.
UNIDAD II: FUNDAMENTOS TECNOLÓGICOS
Parámetros funcionales:
Existen distintos parámetros funcionales que son comunes a todas las tecnologías, y que permiten
diferenciarlas para poder decidir cuál aplicar en cada caso.
Fan-in:
Es la máxima cargabilidad de entrada, es decir, el máximo número de entradas que puede tener
una puerta lógica.
Fan-out:
Es la máxima cargabilidad de salida, es decir, el máximo número de puertas básicas que pueden
ser gobernadas por una sola puerta lógica.
Tiempos de transición y propagación:
Los tiempos de transición son los necesarios para que se produzca un cambio de nivel.
Éstos son dos: se define tiempo de bajada
( t b ) como el necesario para llevar a la
saturación al elemento activo, es decir
almacenar carga en él; asimismo el tiempo
de subida ( t s ) es el necesario para llevarlo
al corte, o sea para extraer el exceso de
portadores minoritarios almacenados en la
base.
Éstos dependen de la capacitancia parásita
de carga que tenga la compuerta, la cual
depende del conexionado, dispositivos de
salida y de entrada.
Podemos definir también el tiempo de
propagación medio ( t PM ) como la media
aritmética entre dos tiempos: el tiempo de
propagación del cambio de salida de alto a
bajo ( t PHL ) y el tiempo de propagación del
cambio de salida de bajo a alto ( t PLH ).

t PHL + t PLH
t PM =
2

U.T.N. F.R.M. Página 34 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Margen de ruido:

El margen de ruido estático es la variación de


tensión admisible a la entrada de un elemento
lógico (de duración superior al tiempo de
propagación medio del elemento considerado) sin
que la salida del mismo cambie de estado. Existen
dos márgenes de ruido, uno para cada estado
lógico. En la figura se muestra la curva de
transferencia y los márgenes de ruido. Los puntos
marcados en la curva son aquellos cuya pendiente
es igual a -1.
∆1 = VOH − VIH

∆0 = VIL − VOL
El margen de ruido dinámico es un
parámetro que determina la altura
( ∆Vpulso ) de un impulso y su duración
mínima ( ∆t pulso ) para que, aplicado a la
entrada, haga cambiar el estado lógico de
una puerta. Existe una curva para cada
estado lógico. Como se ve en la curva,
después de una duración determinada
( ∆t i ), el margen de ruido permanece
constante. Pulsos de menor duración
tienen mayor margen de ruidos, pues
disminuye su efecto en la compuerta.

Potencia:
La potencia disipada se define para una puerta lógica y con un ciclo de trabajo del 50%.
La disipación potencia estática es la que ocurre cuando los niveles lógicos están estables, es
decir, en alto o en bajo. El consumo en estos casos es el más bajo, porque representa solamente
una potencia de pérdidas en la mayoría de los casos, ya que los dispositivos activos están en
saturación ( V ≅ 0 y I ≅ I SAT ⇒ PDE ≅ 0 ) o en corte ( V ≅ VCORTE y I ≅ 0 ⇒ PDE ≅ 0 ).
La disipación de potencia dinámica es la que ocurre en las transiciones entre niveles lógicos. Es
el consumo más importante. Tiene una dependencia mínima con el tiempo de transición, ya que
en él se pasa por la zona activa de las curvas del elemento activo; pero depende en mayor medida
de la carga capacitiva de la salida ( C L ), ya que en las transiciones se carga y descarga la misma
a través de la resistencia del elemento activo en conducción, disipando potencia. Existe también
una dependencia de la misma con la frecuencia (número de transiciones por segundo). Podemos
escribir entonces una ecuación para ésta potencia:
2
PD = f .C L .VCC
Factor de mérito:
Es el producto del tiempo de propagación por la potencia disipada por una compuerta de una
tecnología dada. Éste factor de mérito permite comparar tecnologías: mientras menor sea éste
producto, mayor será la calidad.

U.T.N. F.R.M. Página 35 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Familias lógicas pasivas

Lógica de diodos:
Se pueden realizar compuertas lógicas con
diodos. Éstas son de carácter pasivo,
porque no son capaces de suministrar
corriente en su salida, sino que sólo un
nivel lógico de tensión. Por eso se hace
imposible su interconexión. En la figura se
muestran las funciones AND y OR
realizadas con diodos.

Familias lógicas activas bipolares


Lógica resistor-transistor RTL:
La lógica resistor-transistor se basa en la utilización de inversores lógicos y su interconexión mediante la
función lógica AND alambrada (o Y por conexión). Dicha función se realiza mediante la unión de
varios colectores, conectados a una carga resistiva que hace referencia a la tensión de alimentación. Se
comprueba fácilmente que la función generada por ésta conexión será un uno lógico sólo si tienen ese
nivel todos los colectores interconectados.
En la figura se muestra
una compuerta NOR
realizada con tres
inversores y su conexión
alambrada. Vemos que al
aplicar el teorema de De
Morgan, la función
realizada es una NOR.

Las resistencias R L y RB se dimensionan para que cada transistor se sature con un coeficiente de
IB
saturación K S = 1 ( K S = ), y así evitar la sobresaturación, que trae consigo un aumento del
I CS / β
tiempo de propagación y limita la frecuencia máxima de trabajo.
La principal limitación de la interconexión de éstas compuertas es el fan-out, ya que la resistencia R L
limita la corriente de salida en el estado alto, lo que hace que el número de transistores que pueden
saturarse al conectarse a ella sea limitado. Además, el tiempo de subida a la salida aumenta con la
cantidad de compuertas conectadas a ella.
La limitación en el fan-in viene dada por la resistencia de salida en corte de los transistores, ya que al
poner muchos en paralelo, ésta disminuye creando un divisor de tensión con R L , lo que baja el voltaje de
salida en alto.
Lógica diodo-transistor DTL:
La lógica diodo-transistor emplea la estructura de entrada pasiva de la lógica de diodos, combinada con
un inversor RTL. Se logra así una compuerta con alto fan-in y fan-out. En la figura se muestra una
compuerta NAND de éste estilo. Los diodos D B1 y DB 2 proporcionan el umbral de tensión suficiente
para que un cero en alguna de las entradas no haga pasar corriente de base al transistor, creando un
funcionamiento erróneo. El alto fan-in y fan-out se debe a que las entradas consumen muy poca
corriente (corriente inversa del diodo) para que el transistor se sature, por lo que podemos conectar
bastantes entradas a una salida de éstas compuertas. La salida de ésta compuerta en estado alto
proporciona corriente a otras entradas. En estado bajo, en cambio, recibe corriente de las entradas de

U.T.N. F.R.M. Página 36 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

otras compuertas. La desventaja de éste circuito es que la descarga de los portadores de la base cuando la
entrada está en bajo es lenta, debido a que el único camino que tiene es a través de RB .

Lógica transistor-transistor TTL:


Los problemas de velocidad debido a los retardos de conmutación de la tecnología DTL son resueltos
mediante la configuración TTL. Una configuración básica inicial se muestra en la figura.

Ésta configuración compone el circuito de entrada de una compuerta TTL. La figura muestra su
funcionamiento para niveles de entrada alto y bajo. Se ve que ésta configuración compone un inversor.
Características notables:
• Cuando la entrada está en alto, la unión base-colector de Q1 está polarizada en directo (juntura
PN), por lo que circula corriente en ese sentido, lo cual satura el transistor Q3 .
• Cuando la entrada está en bajo, el transistor Q1 está encendido (unión base-emisor polarizada en
directo), por lo que hace circular una corriente de colector a emisor alta, lo cual descarga
rápidamente el exceso de portadores en la base de Q3 .
Análisis de la compuerta básica:
La compuerta básica NAND y su funcionamiento descriptivo se muestran en la figura.
A continuación se describen las etapas de ésta compuerta:
1. Etapa de entrada:
• Las entradas se componen de múltiples emisores en el transistor Q1 . Cuando por lo
menos una de ellas esté en cero, se saturará el transistor Q2 , con lo que la salida
estará en estado alto.
• Los diodos en inverso proporcionan una defensa contra ruidos de tensión negativa en
las entradas, limitándolos al valor de la tensión del diodo conduciendo (negativa).
2. Etapa de excitación:

U.T.N. F.R.M. Página 37 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

• Es compuesta por el transistor Q2 , que va a excitar las bases de los transistores Q3 y


Q4 mediante su emisor y su colector respectivamente, ya que éstas necesitan
tensiones complementarias.
3. Etapa de salida: En éste caso es una configuración Tótem-pole.
• Se compone de una configuración en emisor común, que proporciona rapidez de
encendido, y una en emisor-seguidor, que proporciona rapidez de apagado.
Complementando éstas características de la manera vista, obtenemos un circuito
relativamente rápido para la conmutación.
• La resistencia de 130Ω limita la corriente de alimentación de Q4 , especialmente
cuando éste está encendido y aún no se ha apagado el transistor Q3 . En éstos
instantes se producen pulsos que generan interferencia en las compuertas TTL,
provocando conmutaciones erróneas.
• El diodo en ésta etapa es para proporcionar un umbral de tensión de tal manera que
cuando Q2 esté encendido, Q4 permanezca apagado, y así lograr el funcionamiento
adecuado.
a = ALTO y b = ALTO
Q1 = APAGADO
Q2 = ENCENDIDO
Q3 = ENCENDIDO
Q4 = APAGADO
S = BAJO

a = BAJO o b = BAJO
Q1 = ENCENDIDO
Q2 = APAGADO
Q3 = APAGADO
Q4 = ENCENDIDO
S = ALTO

Característica de transferencia:
La característica de transferencia (aproximada por segmentos lineales) de una compuerta TTL se
muestra en la figura.
Los segmentos se describen a continuación:
• Segmento A-B: Mientras aumento la
tensión de entrada y Q2 permanece
cortado.
• Segmento B-C: La pendiente se da
debido a que Q2 comienza a conducir.
• Segmento C-D: Q2 está saturado y Q3
empieza a conducir.
• Segmento a partir de D: Q3 está
saturado.

U.T.N. F.R.M. Página 38 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Retardos de conmutación:
Los retardos de conmutación se ven disminuidos en ésta tecnología debido a varios factores:
• Cuando la salida pasa a estar en bajo, el transistor Q1 se enciende y extrae rápidamente
los portadores almacenados en la base de Q2 .
• La salida Tótem-pole combina dos configuraciones rápidas, que en conjunto hacen que
se reduzcan los tiempos de subida y bajada.
Formas de salida:
Tótem-pole:
Es la configuración mostrada anteriormente. Una desventaja es que no permite la
operación AND por conexión, ya que en éste caso se producen flujos de corriente altos y
voltajes de salida anormales.
Colector abierto:
Éste tipo de configuración de salida permite el manejo
de dispositivos externos, como relays o LEDs (aún si
usan una fuente distinta a la de la compuerta). También
permite, mediante la aplicación de una carga resistiva
en referencia al voltaje de la fuente, realizar la función
AND por conexión. La figura muestra ésta
configuración de salida, donde vemos que el transistor
Q4 se ha quitado del circuito, lo que hace a éstas
compuertas más lentas que las convencionales.

Tercer estado:
Agregando algo de circuitería a la
compuerta estándar podemos
proveer a la salida de la misma de la
propiedad del tercer estado (alta
impedancia). Para ello
implementamos el circuito mostrado
en la figura.
El diodo D2 se coloca para evitar
que cuando se sature Q2 se coloque
una tensión de aproximadamente 1V
en el correspondiente emisor
agregado al transistor Q1 , con lo
que se interpretaría una entrada en
cero, y modificaría el
funcionamiento lógico de la
compuerta.

Análisis del funcionamiento:


• Cuando la entrada de inhibición I se pone en estado bajo, la compuerta opera
normalmente, ya que el transistor Q5 se activa, con lo que se cortan Q6 y Q7 .

U.T.N. F.R.M. Página 39 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

• Cuando la entrada de inhibición se pone en estado alto, la juntura base-colector


del transistor Q5 conduce, con lo que se saturan Q6 y Q7 , haciendo que
aparezca una tensión de aproximadamente 1V en la base de Q4 , tensión
insuficiente para su activación. Con esto, tanto Q4 como Q3 están en corte,
proporcionando una alta impedancia en la salida, hacia la fuente y hacia la masa.
Subfamilias TTL:
TTL de alta velocidad:
El circuito es el mostrado en la figura. En ésta subfamilia
de las TTL se reducen los tiempos de conmutación
modificando algunas características del circuito original:
• Se disminuye el valor de todas las resistencias, con
lo que se logran mayores corrientes, y por ende se
mueven más rápido los portadores. El precio que se
paga es un aumento de la disipación de potencia.
• Se reemplaza el transistor Q4 y el diodo contiguo
por un par Darlington, lo que le da una mayor
ganancia de corriente, que también ayuda a
incrementar la velocidad de las transiciones.
• La resistencia entre la base de Q3 y masa se
reemplaza por una carga activa (fuente de corriente
constante) formada por un transistor ( Q6 ) y dos
resistencias. Ésta carga tiene una curva tensión-
corriente no lineal, y proporciona una mejora en la
curva de transferencia, haciendo mayores los
márgenes de ruido y disminuyendo la zona
indefinida, con lo que se agilizan las transiciones.

TTL Schottky:
Una fuente de retardo típica de las compuertas
bipolares es la saturación de los transistores. Éste
problema puede eliminarse usando transistores que
no se saturen: los transistores Schottky. Éstos son
transistores que tienen un diodo Schottky en la
juntura base-colector, el cual tiene una tensión de
encendido menor que los diodos comunes (0,25V),
evitando así la saturación. El uso de los mismos
trae la desventaja de disminuir el margen de ruido
en estado bajo, debido a ésta menor caída de
tensión.
El circuito de la figura muestra una configuración
típica.
La resistencia colocada entre la base y el emisor
del transistor común Q4 es para evitar su
saturación, ya que es un transistor común.

U.T.N. F.R.M. Página 40 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Lógica de acoplamiento de emisor ECL:


Ésta tecnología disminuye los tiempos de
propagación evitando que se saturen los
transistores en las compuertas. Para ello utiliza
como circuito base un par diferencial, el cual
reacciona a una variación muy pequeña de tensión.
La desventaja es que disipa mucha más potencia
que las otras tecnologías.
En el circuito se muestra una compuerta NOR/OR
básica en ésta tecnología. Se ve que la salida se
presenta en los dos estados posibles de la variable.

Una compuerta ECL comercial típica se muestra en la figura siguiente. Es la llamada ECL de 10K.

Tiene las siguientes mejoras:


• Resistencias a masa en las entradas, para fijar el nivel bajo cuando la puerta esté con las entradas
flotantes.
• Una fuente de tensión de referencia compensada en temperatura, para mantener los niveles de
ruido cuando haya variación de éste parámetro.
• Cambio de las tensiones de polarización, lo que le da mayor inmunidad al ruido de fuente.
• Etapas de emisor-seguidor a la salida, lo que adecua los niveles de tensión para ser inyectados a
entradas de la misma tecnología, y proporciona mayor capacidad de manejo de corriente.
Cabe aclarar que los márgenes de ruido de la ECL son mucho menores que la TTL, pero como la
compuerta en sí es bastante inmune a ellos, éstos márgenes son suficientemente buenos.
Lógica de inyección integrada I2L:
Ésta tecnología se basa en la utilización de transistores excitados por fuentes de corriente (también
transistorizadas), y su interconexión mediante la configuración multicolector (transistores con un único
emisor y una sola base, pero con muchos colectores). Esto permite una mayor integración, ya que se usan
menos resistencias que en otros casos bipolares.
El circuito y análisis de la figura muestran la operación básica de éstas compuertas. La puerta inversora a
analizar es la del centro, y las otras son las compuertas consecutivas a ésta, puestas sólo para el análisis.

U.T.N. F.R.M. Página 41 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Los niveles lógicos manejados son pequeños: 0,1V para el estado BAJO y 0,7V para el estado ALTO.
Esto nos indica que los márgenes de ruido son muy pequeños. Las grandes excursiones de tensión
necesarias en la salida del circuito se logran conectando el colector de salida, mediante una resistencia
adecuada a una fuente de alimentación independiente.
Las operaciones lógicas que permiten armar compuertas prácticas son la inversión,
cuya configuración ya vimos, y la función AND por conexión. La compuerta
básica inversora multicolector se muestra en la figura. Los emisores de todos los
transistores NPN del circuito se conectan juntos, mediante una resistencia, a la
tensión de alimentación, obteniéndose así las fuentes de corriente.
Se puede hacer un intercambio entre disipación de potencia y velocidad
simplemente controlando la corriente que suministra el circuito, es decir variando
esa resistencia.

Familias lógicas activas MOS


Lógica NMOS y PMOS:
Ésta tecnología utiliza sólo transistores MOS de canal N (NMOS) o sólo de canal P (PMOS), para hacer
compuertas. En la figura se muestra una inversora, una NAND y una NOR NMOS.

Como vemos se utiliza como resistencia de carga otro transistor, con su compuerta conectada con su
drenador.
En comparación con los PMOS, los transistores NMOS son más rápidos ya que los electrones tienen más
movilidad que los huecos. La potencia disipada por éstos circuitos es un poco menor que los vistos
anteriormente, pero aún se sigue desperdiciando mucha energía. Una ventaja es que los circuitos que
utilizan transistores MOS casi no consumen corriente de entrada.
Lógica de MOS Complementario CMOS:
La lógica CMOS toma su nombre del hecho de complementar un transistor NMOS y otro PMOS, de tal
manera que cuando uno conduce, el otro no lo hace, y así disminuir notablemente el consumo de
potencia.
Análisis de las compuertas:
La compuerta inversora básica es la que se muestra en la figura:

U.T.N. F.R.M. Página 42 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

Características notables:
• El circuito de salida en ambos estados sólo consume una pequeña
corriente de pérdida. Esto se debe a la complementariedad del circuito:
cuando la entrada está en estado BAJO sólo el transistor PMOS conduce,
y el otro presenta una alta resistencia, por lo que la salida está en ALTO;
asimismo, cuando la entrada está en estado ALTO, sólo el transistor
NMOS conduce, y el otro presenta una alta resistencia, por lo que a la
salida hay un estado BAJO.
• El transistor PMOS proporciona una resistencia activa durante las
transiciones de ALTO a BAJO en la salida, lo que las hace más rápidas.
• La compuerta tiene un elevado fan-out, debido al poco consumo de las
entradas.

Características constructivas:
Un inversor CMOS debe diseñarse para que presente un comportamiento simétrico. Esto debe
lograrse modificando las características físicas de los transistores, ya que los PMOS son más
lentos y tienen menos transconductancia que los NMOS de iguales dimensiones. Para lograr éste
objetivo se realizan los transistores PMOS de las compuertas con una capacidad de canal más
grande, de tal manera que el canal que se forme sea más ancho, y puedan pasar más portadores
por él, compensando las diferencias antes dichas.

Compuertas funcionales:
La figura que sigue muestra las compuertas CMOS NAND y NOR.
Siempre se prefiere el uso de una compuerta
NAND frente a una NOR de la misma
cantidad de entradas, porque la conexión en
serie de transistores NMOS tiene menos
resistencia que la de los PMOS, y por lo tanto
es más rápida. El fan-in de éstas compuertas
es grande, pero se ve limitado por el
corrimiento del umbral de conmutación.
Las compuertas de tecnología CMOS
presentan la característica de poder funcionar
en un amplio rango de voltajes de
alimentación (3V a 18V). El incremento de
ésta tensión dentro del intervalo proporciona
una mayor inmunidad al ruido y más rápida
respuesta, a expensas de una disipación de
potencia incrementada.
Característica de transferencia:
La curva de transferencia se muestra en la figura.

U.T.N. F.R.M. Página 43 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

En la primera se presenta una característica ideal, es decir que en ella se ha supuesto que el
circuito logra ser simétrico, es por esto que el umbral de conmutación se muestra exactamente a
V DD / 2 . En la realidad los fabricantes especifican un rango de variación de éste umbral, debido a
las diferencias constructivas de los dispositivos. La inmunidad al ruido y los márgenes se
encuentran utilizando el peor caso de la gráfica real.
Retardos de propagación:
En la tecnología CMOS los tiempos de subida y bajada son casi iguales, si se supone simetría en
la salida de la compuerta, y su valor es proporcional a la capacitancia de carga. En la realidad el
tiempo de subida es más largo debido a la transconductancia baja del PMOS en comparación con
la del NMOS.
Disipación de potencia:
La disipación de potencia estática es mínima en CMOS, debido a la complementariedad. El
parámetro influyente en ésta tecnología es la disipación de potencia dinámica ( PD = f .C.V 2 ),
ya que la carga capacitiva es alta. A altas frecuencias, CMOS consume más potencia que TTL.
Formas de salida:
Las compuertas CMOS no permiten la función AND
alambrada. Para lograr usarla se necesita implementar una
salida de tres estados. El circuito de ésta compuerta se
muestra en la figura.

Compuerta de transmisión CMOS:


Utilizando un arreglo
complementario de un transistor
NMOS y uno PMOS se puede
lograr un interruptor controlado o
compuerta de transmisión. El
circuito básico se muestra en la
figura, junto con su realización y
la curva de resistencia respecto a
la tensión VGS . Como se ve, la
complementariedad y arreglo en
paralelo hace que la compuerta
presente una baja resistencia para
cualquier tensión.
Interfase entre TTL y CMOS:
La VOH min de CMOS es mayor que la VIH min de TTL, y la VOL max de
CMOS es menor que la VIL max de TTL. Por lo tanto una salida CMOS es
compatible con una entrada TTL para ambos estados. La única limitación
es la corriente que absorbe la salida de CMOS en estado bajo, la cual
sólo puede recibir 4mA, y cada compuerta TTL le entrega 1,6mA; por lo
tanto sólo puede conectarse a dos entradas TTL estándar.

U.T.N. F.R.M. Página 44 de 45 Resumen de Técnicas Digitales I


CasIngenieros Autor:
http://www.casingenieros.890m.com Juan Pablo Martí

En el estado bajo, la tensión de salida de TTL es compatible con la de


CMOS. No así en el estado alto. Para salvar éste inconveniente se usa
una resistencia de pull-up (conectada a VCC ). El valor de éste
componente debe calcularse en función de la corriente que debe absorber
la puerta excitadora en el estado bajo desde las entradas y desde la fuente
a través de dicha resistencia. La fórmula es la siguiente:
VCC − VOL min
RC =
I OL (TTL ) + n.I IL (CMOS )
donde n es el número de entradas CMOS que están conectadas a la
puerta excitadora.
Comparativa de tecnologías:
MÁRGEN DE
TECNOLOGÍA VELOCIDAD POTENCIA FAN-IN FAN-OUT OTROS
RUIDO
RTL Baja Baja Muy pobre Bajo Bajo -
Medio (mayor
DTL Baja Baja Pobre Alto -
que RTL)
TTL
Media Baja Pobre Alto Medio -
STANDARD
El menor
TTL ALTA
Alta Media Bueno Alto Medio factor de
VELOCIDAD
mérito
TTL
Alta Media Bueno Alto Medio
SCHOTTKY
Incompatible
Pobre (pero
ECL Muy alta Alta Medio Alto con otras
suficiente)
tecnologías
Gran
Aumenta con Aumenta con
IIL Muy pobre Alto Medio capacidad de
la corriente la corriente
integración
Media (mayor
NMOS Media Bueno Medio Alto -
que PMOS)
Media (menor
PMOS Media Bueno Medio Alto -
que NMOS)
Estática: Baja Muy bueno
Media (Menor
CMOS Dinámica: (depende de Alto Alto -
que TTL)
Alta Vcc)

UNIDAD III: SISTEMAS COMBINACIONALES

UNIDAD IV: SISTEMAS SECUENCIALES

UNIDAD V: SISTEMAS CONFIGURABLES

U.T.N. F.R.M. Página 45 de 45 Resumen de Técnicas Digitales I