Professional Documents
Culture Documents
Combinacional
Programación de Sistemas Automáticos
Tecnología Industrial II
Índice
Representación digital de la información
Proceso de digitalización de una señal
Sistemas de numeración y códigos numéricos
Álgebra de Conmutación
Caracterización matemática
Teoremas
Funciones lógicas
Tablas de verdad
Puertas lógicas
Formas canónicas de una función lógica
Simplificación de funciones y mapas de Karnaugh
Análisis y síntesis de circuitos digitales
Circuitos Combinacionales
De transferencia de información
Operadores
Representación digital de la información
Digitalización
Muestreo. Proceso periódico que consiste en tomar el valor instantáneo de
una señal. El intervalo de tiempo entre dos muestras se llama período de
muestreo. Su inverso, frecuencia de muestreo.
El teorema de Nyquist afirma que basta muestrear al doble de la frecuencia más alta de
la señal para no perder información.
Esta operación transforma la señal, bien continua o analógica, bien discreta o digital,
en una señal discreta o digital.
Cuantización. Operación que consiste en asignar al valor tomado de la
muestra un valor entero de un conjunto finito previamente establecido.
Un tipo de cuantización puede ser aplicar la función parte entera E[ ] al valor de la
muestra.
Codificación. Consiste en representar el valor cuantizado por un valor
numérico basado en un sistema de numeración de cierta base, generalmente,
de base 2 (binario) o base 16 (hexadecimal).
Representación digital de la información
Sistemas de numeración
Un sistema de numeración está formado por un conjunto S de símbolos, dígitos o cifras
naturales y una reglas de formación de las cantidades a representar.
En un sistema de numeración posicional de base n, una cantidad x se expresa como
(amam-1…a2a1a0)n, lo que significa que
(amam-1…a2a1a0)n = amnm + am-1nm-1 + … + a2n2 + a1n1 + a0n0
donde los ai son los dígitos o cifras de la cantidad x (en el sistema binario de denominan bits). Los
ni se denominan pesos.
La anterior expresión se denomina descomposición polinómica de la cantidad
x=(amam-1…a2a1a0)n, en (el sistema de) base n.
Sistemas posicionales habituales
Los conjuntos de símbolos en estos sistemas son:
Binario (base 2) {0,1}
Decimal (base 10) {0,1,2,3,4,5,6,7,8,9}
Hexadecimal (base 16) {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Octal (base 8) {0,1,2,3,4,5,6,7}
Representación digital de la información
Sistemas de numeración
Ejemplos de representación
En el sistema decimal (368)10 = 3·102 + 6·101 + 8
En el sistema binario (101)10 = 1· 22 + 0· 21 + 1
En el sistema hexadecimal (F3D)16 = 15·162 + 3·161 + 13
En el sistema octal (721)8 = 7· 82 + 2· 81 + 1
Conversión entre sistemas de numeración posicional
Dado un número natural x en base n’, si se divide entre la base n del nuevo sistema al que se
quiere convertir resulta que x=q0n+a0, donde 0≤q0≤x y 0≤a0≤n’-1 son únicos. (La división
debe hacerse en el sistema de base n’).
Al cabo de un número m finito de pasos se obtiene que qm=0 y
x = amnm + … + a1n1 + a0 = (am…a2a1a0)n
donde am es el último cociente y cualquier otro coeficiente ai el resto de la (i+1)-
ésima división.
Para convertir un número hexadecimal a binario, basta realizar la conversión de cada dígito a
un cuarteto binario. Ejemplo: 3AF = 0011 1010 1111
Para hallar la expresión decimal de un número (am…a2a1a0)n expresado en cualquier base n,
basta con hallar el valor numérico del polinomio
[am, …,a1,a0] en n según la aritmética decimal.
Representación digital de la información
Códigos numéricos
Un código numérico es un alfabeto de palabras, habitualmente de la misma longitud, formadas por
dígitos de algún sistema de numeración.
Los códigos numéricos basados en sistemas binarios se denominan BCD (Binary Codified Decimal).
Los más habituales son los siguientes:
BCD natural (4 bits o nibble)
Cada dígito decimal se representa por una palabra de 4 bits.
Los pesos son 8,4,2,1. Ejemplo: 27 = 0010 0111
BCD Aiken (4 bits)
Se forma tomando las 5 primeras y últimas palabras del código BCD natural.
Los pesos son 2,4,2,1.
BCD exceso 3 (4 bits)
Se forma a partir del BCD natural sumando 3, resultando las diez palabras del BCD natural que están
centradas.
Tanto este como el anterior código permiten simplificar el hardware digital de algunas operaciones
aritméticas como la resta o la división.
BCD Gray (4 bits)
Cada símbolo difiere de su consecutivo por un solo bit.
Ello supuso la actuación de un solo dispositivo electromecánico para cambiar de símbolo y no la
sincronización de varios.
Actualmente, se emplean como alfabetos de códigos de corrección de errores en canales de
comunicación donde el error más probable es de un solo bit.
Hex Dec Binario BCD natural BCD exceso 3 BCD Aiken BCD Gray
0 0 0000 0000 0011 0000 0 0 00
1 1 0001 0001 0100 0001 0 0 01
2 2 0010 0010 0101 0010 0 0 11
3 3 0011 0011 0110 0011 0 0 10
4 4 0100 0100 0111 0100 0 1 10
5 5 0101 0101 1000 1011 0 1 11
6 6 0110 0110 1001 1100 0 1 01
7 7 0111 0111 1010 1101 0 1 00
8 8 1000 1000 1011 1110 1 1 00
9 9 1001 1001 1100 1111 1 1 01
A 10 1010 1 1 11
B 11 1011 1 1 10
C 12 1100 1 0 10
D 13 1101 1 0 11
E 14 1110 1 0 01
F 15 1111 1 0 00
Representación digital de la información
Códigos numéricos
Códigos alfanuméricos (de 8 bits)
EBCDIC (Extended Binary Coded Decimal Interchange Code)
ASCII (American Standard Code for Information Interchange)
0 1 2 3 4 5 6 7 8 9 A B C D E F
40 â ä à á ã å ç ñ [ . < ( + !
50 & é ê ë è í î ï ì ß ] $ * ) ; ^
60 - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ?
70 ø É Ê Ë È Í Î Ï Ì ` : # @ ' = "
80 Ø a b c d e f g h i « » ð ý þ ±
90 ° j k l m n o p q r ª º æ ¸ Æ ¤
A0 µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ®
B0 ¢ £ ¥ · © § ¶ ¼ ½ ¾ ¬ | ¯ ¨ ´ ×
C0 { A B C D E F G H I ô ö ò ó õ
D0 } J K L M N O P Q R ¹ û ü ù ú ÿ
E0 \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ
F0 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú
Álgebra de Conmutación
Caracterización matemática
Sea B={0,1} con las operaciones internas definidas que denominamos suma, producto y complemento, tal que se
cumplan los siguientes axiomas:
La estructura (B,+,·, ) se denomina álgebra de Boole de la lógica binaria o álgebra de conmutación, debido a su aplicación a
los circuitos biestables de conmutación eléctrica y electrónica por parte de Shannon en 1938.
El Álgebra de Conjuntos (con , , ) y la Lógica de Enunciados (con , , ) tienen esta misma estructura.
Principio de dualidad
Funciones lógicas
Definición
Una aplicación de n variables del conjunto {0,1} en sí mismo, de forma que a cada vector de n
variables le corresponde un solo valor.
Se construye a partir de las operaciones definidas en el álgebra de conmutación o mediante tablas de
verdad.
Tabla de verdad
Representación del significado de una función lógica, por lo tanto, permite conocer todos los valores
de la función en función de los posibles valores de la variable.
En el caso de las operaciones suma, producto y complemento, podemos verlas como funciones que
representan el producto cartesiano de la operación.
Funciones básicas (generalizables a n variables)
NOT o NO f(a) = NOT(a) = ā =a’
OR u O f(a,b) = OR(a,b) = a+b
AND oY f(a,b) = AND(a,b) = a·b
XOR (eXclusive-OR) u O-exclusiva f(a,b) = XOR(a,b) = aƂ+āb = ab
NAND o NO-AND f(a,b) = NOT(a·b) = a|b
también llamada función barra de Sheffer, incompatibilidad o negación alternativa
NOR o NO-OR f(a,b) = NOT(a+b) = ab
también llamada función flecha o negación conjunta
XNOR o NO-XOR f(a,b) = NOT(ab)
Puertas lógicas (simbología y definición)
Cada una de estas funciones básicas existen implementadas con circuitos electrónicos llamados puertas
lógicas, de modo que se utilicen como cajas negras en el diseño de lo que se denomina circuito digital.
Los valores de 0 y 1 se corresponden con dos valores distintos de tensión en el circuito.
Circuitos integrados de puertas lógicas comerciales
Funciones lógicas
Equivalencia de funciones con puertas NAND y NOR
Todas las puertas pueden realizarse de forma equivalente con puertas NAND o NOR.
a aa ab ab a b a b a b
a aa ab ab a b ab ab
Funciones lógicas
Forma canónica de una función
Cada función compuesta de una suma de variables lógicas, negadas o no, se denomina maxterm
(maxitérmino). Por ejemplo: ā+b+c
Cada función compuesta de un producto de variables lógicas, negadas o no, se denomina minterm
(minitérmino). Por ejemplo: ā·b·c
La forma canónica de una función es su expresión algebraica como…
Suma de minterms o 1ª forma canónica (forma normal disyuntiva)
Producto de maxterms o 2ª forma canónica (forma normal conjuntiva)
f m( x1 ,..., xk ) M ( y1 ,..., ynk )
n n
donde n es el número de variables, k el número de 1’s de la tabla de verdad de la función, xi el término de la tabla
de verdad que la hace 1 e yi el término de la tabla que la hace 0.
El término xi coincide con el número binario dado por las variables del minterm interpretadas con 0 si están
negadas y con 1 si no lo están.
El término yi coincide con el número binario dado por las variables del maxterm interpretadas con 1 si están
negadas y con 0 sin no lo están.
¡¡En cada minterm o maxterm aparecen TODAS las variables de la función!!
Toda función lógica puede expresarse como una forma canónica.
Demostración. A partir de su tabla de verdad puede formarse, bien una suma de tantos minterms como 1’s tenga
la función, en los que las variables que son nulas aparecerán negadas y las que son uno sin negar, bien como un
producto de maxterms como tantos 0’s tenga la función, en los que las variables que son cero aparecerán sin
negar y las que son uno aparecerán negadas.
La utilidad de las formas canónicas reside en dos razones:
Permiten obtener de forma sistemática una expresión algebraica de una función a partir de su tabla de verdad.
Constituyen una expresión algebraica fácilmente realizable mediante puertas NAND o NOR.
Funciones lógicas
Un suma de minterms se
implemena con el mismo número
de puertas AND y OR que NAND
Forma canónica de una función (continuación)
Implementación con NAND de la 1ª forma canónica
(suma de minterms)
Tabla de Verdad
Función
Lógica
Puede caracterizarse de estas
3 formas
f
grupos
mi
grupos
(mi* x mi* x )
grupos
mi* ( x x )
grupos
mi*
Si el mapa se rellana con 0’s, se buscará expresar la función con un producto de
maxterms que resultan de cada agrupamiento y cuyos términos serán todos los de las
variables que no varían, interpretándolas como los términos de la segunda forma
canónica.
Si en maxtérmino Mi varía la variable x, quedará simplificado como Mi* sin incluir dicha
variable.
f
grupos
Mi i
( M *
grupos
x )( M i x)
*
i x x)
( M
grupos
*
grupos
M i*
Funciones lógicas
Mapas de Karnaugh-Veitch (continuación)
El que una expresión esté simplificada al máximo implica que las puertas de primer nivel (AND en implementación
en sumas y OR en productos) serán las mínimas y su número total de entradas el mínimo (excluyendo la negación de
las variables).
No es evidente cuál de las dos implementaciones posibles será la mejor. Puede que ambas sean iguales. En el ejemplo
de abajo es mejor la implementación con 1’s, ya que tiene dos puertas de primer nivel con cinco entradas, siendo el
total de puertas 3 y no 4.
En todo caso, esto no significa que la expresión simplificada mínima sea la mejor opción posible teniendo en cuenta
los circuitos disponibles en el mercado. Por ejemplo, aunque el circuito de la izquierda es el que tiene el menor
número de puertas, si hubiera que implementarse con puertas NAND o NOR de dos entradas, sería mejor
implementar el de derecha, ya que la AND de tres entradas se convierte en dos de dos entradas, quedando el circuito
de abajo.
f wy yz wz xz ( x y )( w z )
Análisis y Síntesis de circuitos digitales
Un circuito digital es un circuito electrónico implementado con puertas lógicas o con circuitos
que realizan funciones lógicas y en los que las señales eléctricas presentes sólo toman dos valores de
tensión simbolizados por 0 y 1.
Analizar un circuito es obtener la expresión algebraica de la función lógica que se ha implementado
caracterizando su comportamiento.
Se puede realizar construyendo la tabla de verdad o por síntesis algebraica.
Sintetizar un circuito es diseñar el circuito que realizaría cierta función lógica dada. Conviene
simplificar adecuadamente dicha función.
f abc ac b(a c )
Circuitos Combinacionales
Tipos de circuitos electrónicos digitales
Combinacionales: Circuitos en los que la salida depende exclusivamente de la
entrada.
Secuenciales: circuitos en los que la salida depende de la entrada y de salidas
anteriores. Se puede considerar como un circuito combinacional con memoria.
PLD (Programmable Logic Device), FPGA (Field-programmable Gate Array)
Memorias
Tipos de circuitos Combinacionales
De transferencia de información
Multiplexores
Codificadores
Otros
Operadores
Sumador-restador
Multiplicador-divisor
Comparador
ALU
Circuitos Combinacionales
Multiplexor o selector de datos
Replican en la salida una de las múltiples entradas según una señal de control.
Se simbolizan por MUX nx1 (se selecciona 1 de un grupo de n entradas, 8 en el
ejemplo).
La función de la salida es Y= (S’2S’1S’0 I0 + S’2S’1S0I1 + S’2S1S’0I2 + …)·E’
Pueden agruparse para extenderlos.
Ejercicio: realizar una MUX 32x1 con MUX’s 8x1
Circuitos Combinacionales
Multiplexor o selector de datos
Aplicaciones
1. Como selector de datos propiamente
2. Conversor paralelo-serie (contador + MUX)
Salida serie
I0 = z’x’+z’x+zx’+zx = 1
‘1’ I0
I1 = z’x’+z’x = z’
MUX 2x1 f
z I1
s0
y
Circuitos Combinacionales
Demultiplexor
Realiza la función inversa que un multiplexor
Circuitos Combinacionales
Codificadores/Decodificadores
Convierten un tipo de código a otro implementando una multifunción a partir de las
entradas.
Los codificadores convierten una codificación binaria de 2n bits de entrada en los
correspondientes n bits de salida, activando la salida o salidas correspondientes.
Los decodificadores realizan la función inversa.
Un decodificador típico es el BCD – Decimal (ver abajo ejemplo)
Otro es el BCD – 7 segmentos.
Circuitos Combinacionales
Generador/comprobador de paridad
Comparadores
Circuitos Combinacionales
Sumador
Suma binaria y semisumador de 1 bit (HA 1 bit)
Si representamos por s el bit de la suma natural (binaria) de dos bits y por
c la llevada (carry), podemos establecer la tabla de verdad de esta
operación expresada por funciones lógicas y deducir el circuito que la
implementa.
b a b a
a b s c
0 0 0 0 HA 1 bit
0 1 1 0
1 0 1 0 c s c s
1 1 0 1 s a b
c ab
Circuitos Combinacionales
Sumador
Sumador completo de 1 bit (FA 1 bit)
Ahora se tendrá en cuenta la posible llevada cin de la operación anterior.
La implementación mostrada de cout elimina la diferencia de retardo en el
cálculo de las salidas al independizarlas entre sí.
b a
b a
s1s0 a b cin s0 s a b cin
s1 cout ab cin (a b) ab cin ab cin ab
ab cin ab ab cin ab
c in
a (b cinb ) b(a cin a ) FA 1 bit c in
bn-1 b1 b0 an-1 a1 a0
... ...
b a
n n
b a b a b a
c0
FA 1 bit c in c n-1 FA 1 bit c in FA 1 bit c in FA n bits
c out s c out s c out s
c2 n
cn s
...
cn s n-1 s1 s0
Circuitos Combinacionales
Restador
Representación en complemento a 2
La introducción de números negativos implica añadir un bit de información para el signo: positivo o
negativo, por lo cual, siempre será necesario indicar con cuántos bits se representa el número entero
y cuál informa del signo. Con n bits se pueden representar los números desde el -2n-1 hasta el 2n-1-1.
La representación en complemento a 2 con n bits de los enteros consiste en codificar cada positivo con
un BCD natural de n-1 bits y cada negativo como resultado de hacer la operación de complemento a 2
del positivo correspondiente de n bits del que es opuesto. El bit de signo será el más significativo
(MSB), o sea, el más a la izquierda.
Dicha operación de complemento a 2 de un número positivo consiste negar cada bit y sumar 1.
Si A es un positivo, su complemento a 2, expresado como C2A es
Observar que en este caso el bit de signo designa con 0 a los positivos
( n 1 y con 1 a los negativos,
pero podría ser al revés.
C2 A C2 (0 an2 a1a 0 ) 1an2 a1a 0 N 00 01
Esta operación de complemento a 2 tendrá sentido si es capaz de caracterizar a cada par de enteros
que sean uno opuesto de otro, lo cual implica dos cosas:
que la representación en complemento a 2 sea única para todos los enteros representados
y que cada positivo representado con n bits, sumado con su complemento a 2, dé cero,
representado con n bits.
Circuitos Número Representación
Combinacionales 7
6
0111
0110
Restador 5 0101
Representación en complemento a 2 4 0100
Comprobemos en primer lugar la segunda condición: que 3 0011
el complemento a 2 de un positivo proporciona la
representación del negativo que es su opuesto. 2 0010
Veámoslo en un ejemplo. Utilizando una representación de 4 1 0001
bits, el rango de números a representar va de -8 a 7, ya que
el MSB se toma de signo. El 5 se representa como 0101. Su 0 0000
complemento a 2 es 1011. Al sumar ambos da 10000, que
con 4 bits es el cero. Observar que en los negativos, -1 1111
excluyendo el bit de signo los bits no representan el valor -2 1110
absoluto en el código BCD natural, sino de forma “inversa”.
La operación de complemento a 2 se puede aplicar a -3 1101
cualquier entero (extendiéndola a los negativos), de modo -4 1100
que cualquier entero sumado con su complemento a 2 da
cero, o dicho de otro modo, el complemento a 2 de un -5 1011
entero proporciona la representación de su opuesto.
-6 1010
-7 1001
-8 1000
( n 1 (n
A C2 A an 1an 2 a1a 0 N an 1an 2 a1a 0 N 00 01 n btis 00 00
Circuitos Combinacionales
Restador
Representación en complemento a 2
Según esto último, también se observa que
(n
A C2 A 10000 2n C2 A 2 n A
de donde es inmediato observar que el complemento del complemento a 2 de un
número es el mismo número, lo que ya sabemos que ocurre con el opuesto del
opuesto:
C2 (C2 A) 2n (2n A) A
Circuito sumador/restador 0 0 0
n
cn s