Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un sistema numérico se define por sus símbolos básicos, llamados dígitos o cifras, y la
forma de combinar los dígitos para representar toda la gama de números que requerimos. Los
símbolos numéricos con los que más familiarizados estamos en la actualidad se conocen como
dígitos arábigos, ya que se desarrollaron en la cultura árabe medieval, que consiste en los diez
dígitos 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
Los diez dígitos arábigos se pueden combinar de varias maneras para representar cualquier
número grande o pequeño. Por ejemplo
0.001 1/1000 10 -3
son tres formas diferentes de representar una milésima. Una manera fundamental de construir un
número es formar una secuencia o cadena de dígitos en la cual los dígitos consecutivos representan
potencias consecutivas de 10. Por ejemplo, los cuatro dígitos del número 2979 representan, de
izquierda a derecha, los millares (2), las centenas (el primer 9), las decenas (7) y las unidades (el
segundo 9). De esta forma, el número de cuatro dígitos se podría descomponer de la siguiente
manera:
donde los dígitos xi se toman de un conjunto de r elemento denotados por {0, 1, 2, ..., r-1}. Una
notación posicional de este tipo se llama sistema numérico de base r. En la Tabla 4.1 se enumeran
algunos sistemas numéricos de interés y sus nombres.
Como todos los sistemas numéricos anteriores comparten los símbolos que usan como dígitos, una
secuencia de dígitos puede representar varios números dependiendo la base que se use.
Un sistema numérico puede representar enteros, fracciones o números mixtos, que son
números con una parte entera y una fraccionaria. En los números decimales mixtos hay un punto
decimal que separa la parte entera de la fraccionaria. En el caso de los números en base r, este
separador también se denomina punto. Por ejemplo, el número ternario mixto 102.213 tiene la
siguiente interpretación:
Un aspecto importante de los sistemas digitales es que sólo pueden manejar números con
una cantidad fija de dígitos n. Por ejemplo, los computadores tienen un tamaño de palabra
específico, que es la longitud (número de bits) de los números binarios procesados por las
instrucciones internas del computador. Los tamaños de las palabras normalmente son potencias de
dos.
La Figura 4.1 muestra dos ejemplos de números binarios con tamaño de palabra de ocho bits. El
primer ejemplo denota el número 20, el cual, es la secuencia 10100 2. Para ajustar este número a un
formato de ocho bits, se extiende a los ocho bits añadiendo tres ceros en un su extremo izquierdo.
Estos "ceros iniciales" no afectan al valor numérico de la palabra y por lo tanto se denominan no
significativos. Para el caso de la fracción 29/64, cuya forma binaria es 0.0111012, hay seis dígitos
significativos, que se extienden a ocho bits agregando dos ceros "finales" insignificantes.
Ceros
Iniciales
0 0 1 0 1 0 0
0 1 1 0 1 1 0 0
Ceros
Finales
Figura 4.1.Números binarios de ocho bits. A la izquierda del punto el número 20, al derecha la fracción 29/64
Como hemos visto anteriormente, cualquier número puede ser representado de la forma
n 1
N rn 1 b n 1 rn 2 b n 2 r1 b1 r0 b 0 ri b i (4.4)
i 0
11101 2 1 2 4 1 23 1 2 2 0 21 1 20
(4.5)
16 8 4 0 1
29
Se puede evitar la exponenciación si se lleva a cabo una multiplicación repetida por la base.
Esto se basa en la ecuación (4.4) y se puede rescribir como
n 1
N
b ri b i 1 r0
i 1 (4.6)
n 1
b b ri b i 2 r0
i 2
b b b b rn 1 rn 2 r1 r0
11101 2 2 2 2 2 1 1 1 0 1
2 2 2 3 1 0 1
2 2 7 0 1
2 14 1
29
EJERCICIOS:
Convierta los siguientes números a forma decimal ordinaria: 245, 3067, 1478, ABC15, 1464.
n 1
N r rn 1 b 1 rn 2 b 2 r1 b1 n r0 b n ri b i n (4.7)
i 0
Si comparamos la ecuación (4.4) con la ecuación (4.7) se observa que cada potencia en la sumatoria
se reduce en n, reflejándose el desplazamiento del punto binario n posiciones a la derecha en Nr. De
manera general, si
n 1
N b ri b i m (4.9)
i 0
Suponga que extraemos el factor b-m de cada término de la sumatoria (4.9). Con ello, podríamos
escribir
n 1
N b b m ri bi b m N * (4.10)
i 0
donde N* es un entero. El término b-m es un factor de escala, cuyo efecto es desplazar el punto
binario de N* m posiciones a la izquierda para cambiarlo a una forma mixta. Así mismo, bm es un
factor de escala que desplaza el punto binario m posiciones a la derecha, con lo cual convertirá un
número binario mixto a entero.
Para ilustrar el procedimiento, suponga que convertiremos a forma decimal N10 el número N2
= 011001.012, donde m = 2 y b = 2. Para multiplicar N2 por 2m se desplaza el punto binario m = 2
*
posiciones a la derecha, produciendo el entero N 2* = 011001012, el cual es el número N10 = 10110.
Entonces,
N10 N10
*
22 10110 0.2510 25.2510
Sea N un número en base S, y se desea convertir a base r. Para ello se realiza la siguiente
secuencia de divisiones en base S
N r
A0 N1 r
A1 N2 r
··· ··· (4.11)
Nn-1 r
An-1 Nn r
An 0
N r N1 A0
N1 r N 2 A1
(4.12)
N n r 0 An
o bien
N r N1 A0 r r N 2 A1 A0
r 2 N 2 rA1 A0 r 2 r N 3 A2 rA1 A0 An r n An1r n1 A1r A0
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 5
de donde
y así sucesivamente, podemos ir obteniendo los valores A-i que representan la parte fraccionaria en
la base deseada.
Ejemplo
Sea 13 en base 10, representarla en base 2. Sea 234 en base 10 representarlo en base 16.
En la Tabla 4.2 se muestran las bases numéricas más utilizadas en los sistemas de
computación. La conversión entre estas bases es muy fácil, puesto que como se puede observar los
dígitos en octal no son más que la agrupación de tres dígitos binarios y cuatro para los dígitos en
hexadecimal.
En el ejemplo que sigue podemos ver algunas muestras de la conversión entre las bases
numéricas de uso común.
C 3 F D
• (0001 1000)2 = (18)16 (completando con 0’s)
4 3 7 5
4.4.1. Suma
Como sucede en la aritmética ordinaria, la suma de dos números sin signo (mixtos) en base r
se puede obtener sumándolos dígito a dígito, comenzando por el de la derecha (menos significativo)
y avanzando hacia el extremo izquierdo (más significativo).
Ejemplo:
Tabla de
sumar: Ejemplos:
1 1 1 1 1 1 1 1 1
+ 0 1
1 1 1 1 0 1 1 0 0 1 0 1
0 0 1 0 1 0 1 1 1 + 0 1 0 1 1 1 +
1 0 1 0 1 0 0 1 1 1 1 0 0
1 1 10
Figura 4.2. Aritmética binaria (SUMA)
4.4.2. Resta
Tabla de
restar:
- 0 1 Ejemplos:
0 0 - 10 10
1 1 0 0 1 10 0 0 10 0 0 10 0 1 1 10
10 -1 = 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0
100 -1 = 11 1 0 1 1 1 - 0 1 1 0 1 0 1 -
1000 - 1 = 111 0 1 1 0 1 1 0 0 1 1 0 0 1 1
Figura 4.3. Ejemplos de restas.
Las técnicas decimales habituales para efectuar estas operaciones se pueden adaptar para el
manejo de números en cualquier base r. El problema general de la multiplicación es encontrar el
producto P que se obtiene al multiplicar Y por X; Si X e Y contienen m y n dígitos,
respectivamente, P es un entero que contiene hasta m+n dígitos significativos. El método de
multiplicación que comúnmente hemos utilizado desde la escuela, es la multiplicación mediante la
10111
suma de una lista de multiplicandos trasladados, que se calculan de acuerdo con los dígitos del
multiplicador. Se puede utilizar el mismo método para obtener el producto de dos números binarios
sin signo. La formación de los multiplicandos trasladados es trivial en la multiplicación binaria,
puesto que los únicos valores posibles de los dígitos del multiplicador son 0 y 1. A continuación
presentamos un ejemplo:
La división de Y entre X genera un resultado X/Y, que quizás sólo pueda expresarse como
número mixto y contener un número arbitrario de dígitos significativos. La forma más simple de
obtener este resultado podría ser el método de desplazamiento y resta que utilizamos habitualmente
desde que lo aprendimos en la escuela. A continuación mostramos un ejemplo que ilustra este
método utilizando una base binaria:
1110111 1001
-1001 1101 Cociente
01011
-1001
001011
-1001
0010 Resto
111111002 = -12410
011111002 = 12410
100110012 = -2510
Mientras que el sistema de magnitud con signo convierte en negativo un número al cambiar
su signo, un sistema numérico de complemento convierte en negativo un número tomando su
complemento. Tomar el complemento es más difícil que cambiar el signo, pero dos números de un
sistema numérico de complemento pueden sumarse o restarse directamente sin tener que realizar
verificaciones de magnitud y signo.
EJEMPLOS
Debido a las dificultades relacionadas con la aritmética en SM, la mayoría de los sistemas
digitales utilizan un código alternativo, llamado complemento a dos o 2C.
EJEMPLOS
Se entiende por código una representación unívoca de las cantidades de tal forma que, a
cada una de éstas, se asigna una combinación de símbolos determinada y viceversa.
De esta definición se deduce que los sistemas de numeración estudiados en los apartados
anteriores constituyen códigos binarios puros de representación de las cantidades. El código binario
puro es de gran importancia teórica, sin embargo los computadores exigen del código utilizado
diversas propiedades que éste no satisface al completo, es más, no existe un único código que
aventaje claramente a los demás.
Códigos de palabra: codifican en binario el número decimal como un todo, suelen ser de
longitud variable.
Códigos BCD (Binary Code Digit): Asocian a cada digito decimal una combinación de
dígitos binarios. En este caso, codificar un número de n dígitos supone codificar n veces
un número decimal.
La palabra nula es aquella con todo ceros, g = 0, y la palabra unidad es aquella con todo
unos, ln = g. No es deseable que estas palabras pertenezcan al código, pues errores mecánicos o
eléctricos pueden generar estas palabras.
Si todas las palabras tienen la misma longitud, se dice que el código es uniforme; este es el
caso más común. La cantidad de combinaciones binarias aceptadas por el código es M. Si M es
igual a 2ln, entonces el código es completo o sin redundancia.
El código binario cíclico de mayor difusión es el reflejado, que recibe el nombre de código
Gray y se representa en la Tabla 4.3 junto al binario natural para números de cuatro bits. La
denominación de reflejado es debida a que la formación de un código de n bits se realiza partiendo
del de n-1 bits, repitiendo simétricamente las combinaciones de éste y añadiendo por la izquierda un
nuevo bit 0 para las 2n-1 primeras combinaciones y un 1 para la 2n-1 siguientes.
fuente de señal que corresponde al 1 lógico y las áreas claras no se conectan, lo que los contactos
interpretan como un cero lógico.
El codificador de la Figura 4.4 (a) tiene un problema cuando el disco se coloca en ciertas
fronteras entre regiones. Por ejemplo, considere la frontera entre las regiones 001 y 010 del disco;
aquí cambian dos de los bits codificados. ¿Qué valor producirá el codificador si el disco se
posiciona justo en la frontera teórica? Puesto que nos encontramos sobre el borde, tanto 001 como
010 son aceptables. Sin embargo, ya que el ensamble mecánico no es perfecto, los dos contactos de
la derecha pueden tocar una región “1”, dando un lectura incorrecta de 011. De igual forma, se
puede obtener una lectura de 000. En general, esta clase de problemas pueden presentarse en
cualquier frontera donde cambia más de un bit. Los peores problemas ocurren cuando cambian los
tres bits, como en las fronteras 000-111 y 011-100.
0 0 1 0 0 1
(a) (b)
Figura 4.4. Discos mecánicos de codificación. (a) código binario de tres bits. (b) Código Gray de tres bits.
El problema del disco codificado puede resolverse mediante la creación de un código digital
en el cual solamente cambie un bit entre cada par de palabras de código sucesivas, como es el caso
del código Gray. En la Figura 4.4 (b) se muestra el disco codificado usando este código. L
En los códigos BCD cada número decimal se codifica directamente en un código binario.
Para representar los diez dígitos del 0 al 9 se necesitan 4 bits porque con 3 bits sólo podríamos
codificar 23 dígitos, es decir, del 0 al 7. Por tanto, de las 16 combinaciones posibles con cuatro bits
en los códigos BCD sólo se utilizan diez. Esto hace que el número de bits necesarios para
representar una cantidad en un código BCD sea superior al del código binario natural y, por tanto, la
utilización de los códigos BCD está limitada al diseño de sistemas de control digitales y
calculadoras digitales de pequeña capacidad.
Los códigos BCD ponderados son aquellos en los que, a cada posición o cifra binaria se le
asigna un peso y el número decimal equivalente a una combinación binaria se obtiene sumando los
pesos de las posiciones que poseen valor uno. Así pues, un número decimal N del 0 al 9 se
representará por:
i 3
N pi xi (4.17)
i 0
Existen varios códigos BCD ponderados de los cuales los más importantes son los indicados
en la tabla 4.3.
Como se puede deducir del código Gray, una cadena de bits no necesita representar un
número y en realidad la mayor parte de la información que procesan las computadoras no es
numérica. El tipo más común de datos no numéricos es el texto, cadenas de caracteres de algún
conjunto de caracteres. Cada carácter es representado en la computadora por una cadena de bits de
acuerdo a una convención establecida.
D 01000100 44
3 00110011 33
~ 01111110 7E
¼ 10101100 AC
Ñ 10101010 AA
Tabla 4.5. Algunos código ASCII.
Existe un tipo de código capaz de detectar, e incluso corregir, los errores producidos en una
transmisión. Es decir, la información enviada por el emisor está codificada de tal manera que el
receptor es capaz de decidir si lo recibido es correcto o contiene algún error.
Los códigos desarrollados y en desarrollo son muchos, y se basan tanto en ideas sencillas
como en desarrollos muy complejos. Algunos de los códigos de error:
Bit de paridad.
Código Hamming.
Códigos CRC.
Códigos Checksum.
Los dos primeros son los más comunes. El primero sólo es capaz de decir si la información recibida
es correcta o no, mientras que el código de Hamming es capaz de detectar el error e incluso
corregirlo, aumentando claramente la calidad de la transmisión.
Un álgebra de Boole es toda clase o conjunto de elementos que pueden tomar dos valores
perfectamente diferenciados, que designaremos por 0 y 1 y que están relacionados por dos
operaciones binarias denominadas suma (+) y producto (.) lógicos que cumplen los siguientes
postulados:
a b b a; a b b a (4.18)
0 a a; 1 a a (4.19)
a b c a b a c; a b c a b a c (4.20)
Principio de dualidad: Cada identidad deducida de los anteriores postulados del álgebra de Boole
permanece válida si la operación « + » y « · » y los elementos 0 y 1 se intercambian entre sí.
a 1 1; a0 0 (4.22)
Demostración
1 = 𝑎 + 𝑎̅ = 𝑎 + 𝑎̅ · 1 = (𝑎 + 𝑎̅) · (𝑎 + 1) = 1 · (𝑎 + 1) = 𝑎 + 1 = 1
𝑎 + 𝑎̅ = 𝑎; 𝑎 · 𝑎̅ = 𝑎 (4.23)
Demostración
𝑎 = 𝑎 + 0 = 𝑎 + 𝑎𝑎̅ = (𝑎 + 𝑎) · (𝑎 + 𝑎̅) = 𝑎 + 𝑎̅
a ab a y a a b a (4.24)
Demostración
a = 1 · a = (1 + b) a = 1 · a + ab = a + ab
Teorema 4 (Ley de Asociatividad): En un álgebra de Boole, las operaciones suma y producto son
asociativas
a b c a b c a b c
abc abc abc (4.25)
(4.26)
aa
Demostración
a 1
a 1 0
a (a a ) a a
a a a a aa
a (a a ) a
0 1 y 1 0
a b a b a y a ba b a (4.27)
Demostración
a b a b
a (b b )
a 1 a
Teorema 7: Para cada par de elemento a y b que pertenecen a un álgebra de Boole, se verifica:
a a b a b
(4.28)
a a b a b
Demostración
a a b
( a a ) ( a b)
1 ( a b)
( a b) 1 a b
a b a bc a b a c y a b a b c a b a c (4.29)
Demostración
a b a b c
a (b b c)
a (b c) a b a c
a b c d a b c b
(4.30)
a b c b a b c d
Demostración
Realizamos primero la demostración para dos variables. De acuerdo con el postulado d), para que a
+ b = a b se ha de verificar:
a b a b 0
a b a b 1
a b ab a ab bab 0 0 0
a b ab a b a a b b 11 1
La generalización para un número cualquiera de variables resulta ahora muy sencilla:
a b c d a p a p ab c d
a b c d a b q a b q a bc d
a b c d a b c d
Teorema 10 ( del Consenso): Para todo conjunto de elemento a, b y c que pertenecen a un álgebra
de Boole, se verifica:
a b a c b c a b a c
(4.31)
a b a c b c a b a c
Demostración
a b a c bc
a b a c 1 b c
a b a c (a a ) b c
a b a c a b c a b c a b a c
a b a+b a b a·b
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
Las expresiones Booleanas tienen gran importancia en el diseño lógico, pues son una
manera eficiente de describir la función y, hasta cierto punto, la estructura de los circuitos lógicos.
Una función Booleana es una función f(X) = f(x1,x2,x3,...,xn) cuyos valores de entrada
x1,x2,x3,...,xn y su valor de salida f se toman de un álgebra de Boole. La clase particular de funciones
Booleanas cuyos valores de entrada/salida provienen del álgebra de conmutación son las funciones
lógicas o de conmutación y por lo tanto podemos usar los términos, función lógica y función de
conmutación de manera indistinta.
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 una forma directa o inversa. Al primero de ellos se le llama producto
canónico (mintérmino) y al segundo suma canónica (maxtérmino)
Por ejemplo sea una función de tres variables f(a, b, c). El término abc es un producto
canónico y el término a + b + c es una suma canónica
donde indica el producto lógico y ∑ la suma lógica. Cuando una función se expresa como una
suma de productos canónicos o un producto de sumas canónicas se dice que se encuentra en su
forma canónica.
Para demostrarla es suficiente comprobar que la igualdad se cumple tanto si a = 0 como para a = 1.
En efecto, si a = 0 y a = 1; se verifica:
f a, b, c, f 0, b, c, 0 f 0, b, c, 1 f 0, b, c, f 0, b, c,
f a, b, c, f 1, b, c, 1 f 1, b, c, 0 f 0, b, c, f 1, b, c,
c.q.d.
El teorema que acabamos de demostrar permite llegar a la conclusión de que toda función
lógica puede transformarse en una función canónica bajo cualquiera de las dos formas
anteriormente indicadas
f a, b, c, abc f 1,1,1, abc f 0,0,0,
f a, b, c, a b c f 0,0,0, a b c f 1,1,1,
De estas expresiones se deduce que toda función es igual a la suma de todos los productos
canónicos afectados de un coeficiente igual al valor que toma la función al sustituir cada variable
por 1 ó 0 según en el producto canónico figure en forma directa o inversa respectivamente, en el
primer caso. Por dualidad, se puede explicar la segunda expresión
EJEMPLOS:
La función booleana f(x1,x2,...xn) se puede definir con una tabla de verdad de 2n filas que
lista la 2n combinaciones de X = (x1,x2,...xn) y el valor de la función o de la salida correspondientes
f(X). También se tiene que las funciones se definen con expresiones booleanas de diversos tipos.
Estas expresiones booleanas se parecen a las del álgebra numérica y se forman de la misma manera
general. Por ejemplo, la expresión a b c a b d especifica la función booleana de cuatro
variables f(a,b,c,d) definida en la Tabla 4.6. Por tanto, podemos escribir
a b c a b d (4.33)
a b c d f(a,b,c,d)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
Tabla 4.6. Tabla de verdad de una función booleana de cuatro variables
Consideremos ahora una función general de n variables f(X) cuya tabla de verdad tiene 1 en
las filas a, b, ..., k y 0 en las demás. A partir de las definiciones de mintérmino y de la función OR
es evidente que f(X) se puede escribir en la siguiente forma de suma de mintérminos:
f X ma X mb X mk X (4.34)
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 21
f X i ma X i mb X i mi X i mk X i
0 0 1 0
1
en
f X i 0 0 0 0 0
A partir de aquí, podemos deducir que toda función de conmutación puede ser expresada
como una suma de mintérminos, de todos aquellos mintérminos donde la función vale 1; Lo cual
queda reflejado en la Figura 4.6. Del mismo modo, y aplicando el teorema de la dualidad podemos
indicar que toda función de conmutación puede ser representada como un producto de maxtérminos
de todo aquellos maxtérminos donde la función vales cero; La Figura 4.7 muestra este resultado.
f ( a , b, c ) a b c a b c a b c
a b c f
0 0 0 1 a b c
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1 a b c
1 1 0 0
1 1 1 1 a b c
Figura 4.6. Forma canónica como suma de productos de una función de conmutación
f ( a , b, c ) ( a b c ) ( a b c ) ( a b c )
a b c f
0 0 0 0 abc
0 0 1 1
0 1 0 1
0 1 1 0 ab c
1 0 0 1
1 0 1 1
1 1 0 0 a b c
1 1 1 1
Figura 4.7. Forma canónica como producto de sumas de una función de conmutación
También podemos derivar algebraicamente una expresión de suma de mintérminos para una
función usando las propiedades del álgebra de Boole. Por ejemplo, la función de cuatro variables f
se define como
f a, b, c ac bc abc (4.35)
f a, b, c, d a b b c d d a a bc d d abc d d (4.36)
Del mismo modo, toda función f(X) tiene un conjunto único de maxtérminos M1, M2, ..., Mp
que corresponde al conjunto de ceros que aparecen en la columna de salida de su tabla de verdad.
La forma canónica de producto de maxtérminos es entonces la función AND o el producto lógico de
estos maxtérminos
f X M 1 M 2 M p
A continuación se muestra un ejemplo de cómo obtener la forma canónica como producto de sumas
utilizando la expresión dual a la utilizada entre las ecuaciones (4.35) y (4.36).
f (a, b, c) a (a c )
(a b b c c ) (a b b c )
((a b) (a b ) c c ) ((a b) (a b ) c )
(a b c c ) (a b c c ) (a b c ) (a b c )
(a b c) (a b c ) (a b c)(a b c ) (a b c ) (a b c )
M (0,1,2,3)
Departamento Electrónica (Univ. Málaga) Juan Carlos Tejero Calado
Sistemas Electrónicos Digitales Pág. 23
• Especificación decimal:
– SOP:
f (a, b, c) a b c a b c a b c a b c
f (a, b, c) m2 m3 m6 m7
f (a, b, c) m(2,3,6,7)
– POS:
f ( a , b, c ) ( a b c ) ( a b c ) ( a b c ) ( a b c )
f ( a , b, c ) M 1 M 3 M 5 M 7
f (a, b, c) M (0,2,4,6)
Figura 4.8. Representaciones de una función de conmutación
La tabla de verdad de la función definida por una expresión booleana se puede determinar al
evaluar la expresión para cada combinación de entrada posible, usando las definiciones de los
operadores y las leyes del álgebra de Boole. Ilustraremos esto evaluando una de las 16
combinaciones de entradas posibles de las cuatro variables a, b, c, d. Por ejemplo, para determinar
f(0, 1, 1, 0), se asignan a, b, c y d a 0, 1, 1 y 0, respectivamente, en (4.33) y se evalúa como sigue:
Es evidente que una función se puede especificar con varias funciones booleanas, de hecho,
con un número arbitrario de ellas. Se puede mostrar fácilmente, ya sea determinando la tabla de
verdad correspondiente o por medio de la manipulación algebraica, que
f a, b, c, d ac bc a d bd (4.37)
La lógica digital oculta las dificultades del mundo analógico al proyectar el conjunto infinito
de valores reales de una cantidad física en dos subconjuntos que corresponden solamente a dos
números posibles o valores lógicos: 0 y 1. Como resultado, los circuitos lógicos digitales pueden ser
analizados y diseñados funcionalmente haciendo uso del álgebra de conmutación, tablas y otros
medios abstractos para describir la operación de los ceros y los unos en un circuito.
Para representar las funciones lógicas fue necesario crear símbolos adecuados. El desarrollo
de la electrónica digital ha sido tan rápido que hizo que se crearan símbolos sin un estudio
minucioso. Inicialmente se adoptaron símbolos diferentes para cada función que pasamos a detallar:
Para cada una de las puertas anteriores se puede encontrar una puerta dual capaz de
implementar la misma función, como se muestra en la Figura 4.16
Cuando se analizan los circuitos lógicos electrónicos tales como CMOS y TTL, los
diseñadores digitales con frecuencia utilizan las palabras “BAJO” (“LOW”) y “ALTO” (“HIGH”)
en lugar de “0” y “1” para recordar que se está tratando con circuitos reales, no con cantidades
abstractas:
BAJO Señal que está comprendida en el intervalo de voltajes algebraicamente más bajos, que se
interpreta como 0 lógico.
ALTO Señal que está comprendida en el intervalo de voltajes algebraicamente más altos, se
interpreta como un 1 lógico.
Nótese que las asignaciones de 0 y 1 a BAJO y ALTO son algo arbitrarias. La asignación de 0 a
BAJO y 1 a ALTO parece más natural y se denomina lógica positiva. La asignación opuesta, de 1 a
BAJO y 0 a ALTO, es muy utilizada también y se conoce como lógica negativa.
Existen muchas maneras de diseñar un circuito lógico electrónico. Cada uno de los
elementos utilizados para el diseño puede tener distintas características, por lo que se debe ser
cuidadoso en la utilización de elementos con características similares. Siguiendo esta tendencia
surgen las familias lógicas. Una familia lógica es una colección de diferentes chips de circuitos
integrados que tienen características similares en sus entradas, salidas y circuitos internos.
Los elementos lógicos abstractos procesan dígitos binarios, 0 y 1. Sin embargo, los circuitos
lógicos reales procesan señales eléctricas tales como niveles de voltaje. En cualquier circuito lógico
existe un intervalo de voltajes (u otras condiciones del circuito) que se interpreta como 0 lógico, y
otro intervalo (que no se solapa con el anterior) que se interpreta como un 1 lógico.
Un circuito lógico TTL típico funciona con una fuente de alimentación de 5 Voltios, y con unos
márgenes de ruido que se muestran en la
Figura 4.17
Hay una correspondencia bastante estrecha entre los circuitos lógicos a nivel de puertas y las
expresiones booleanas. Podemos ver algunos ejemplos a continuación.
EJEMPLOS:
Z ( A, B, C , D) A B C D
A
B
C
Z
D
Z ( A, B, C , D) A ( B C ) ( B C ) D
A ( B C ) ( B C ) D
B
Z
C
D
Las expresiones canónicas, suma de productos y productos de sumas, y las implantaciones
de circuitos correspondientes se consideran formas de dos niveles, lo cual significa que el circuito
va a tener siempre una profundidad de dos y que siempre va a poder ser realizadas a partir de
compuertas AND y OR.
Hemos visto que cualquier función booleana se puede implantar con diversos circuitos
AND-OR u OR-AND de dos niveles. Así pues, el hecho de que cada función booleana f tenga una
forma canónica de suma de mintérminos significa que el conjunto de tipos de puertas {AND, OR,
NOT} es funcionalmente o lógicamente completo, en el sentido de que si tenemos suficientes
puertas de esos tipos, podemos diseñar un circuito combinacional para realizar f. No hay que
aplicar restricciones al número de líneas de entradas de las puertas AND y OR.
NOT
A A
AND
A
A B
B
OR
A
A+ B
B
Figura 4.18. Generación de las puertas básicas utilizando únicamente puestas NAND.
Utilizando este resultado, podemos deducir que cualquier función de conmutación puede ser
implementada utilizando únicamente puertas NAND o puertas NOR, como se muestra en el ejemplo
que sigue:
A
B
Z
C
D
E
A
B
Z
C
D
E