Tema5 Combinacionales
Tema5 Combinacionales
Tema5 Combinacionales
Electrnica Digital I
Bloques combinacionales estndar
Norberto Malpica Beln Arredondo Ingeniera de Telecomunicacin
Circuitos combinacionales
Electrnica Digital I
Contenido
1. 2. 3. 4. 5. 6. 7. Introduccin Codificadores Decodificadores Multiplexores Demultiplexores Desplazadores Dispositivos Lgicos Programables 7.1 Memorias ROM. 7.2 PLA y PAL. Comparadores Binarios Sumadores Binarios. Restadores Binarios. Unidad aritmtico lgica combinacional (UAL, ALU).
8. 9. 10. 11.
Circuitos combinacionales
Electrnica Digital I
Z(t) = F(X(t))
Z = F(X)
Z
Ejemplo: Sumador
Circuitos combinacionales
Electrnica Digital I
DECOD
2n
enable
2n
COD
enable enable
Multiplexor: La salida corresponde a la entrada codificada por las seales de control Demultiplexor: El valor de la entrada sale por la salida codificada por las seales de control
enable
DEMUX
2n
n
Circuitos combinacionales Electrnica Digital I
Funcionalidad Funcionalidad
AL
AR QU ITE
Arquitectura Arquitectura Nivel RT Nivel RT Diseo Lgico Diseo Lgico Puertas Puertas
+ +
Circuitos combinacionales
IC S
ELCTRICO ELCTRICO
Electrnica Digital I
N FU
CT UR
2. Codificadores
El codificador identifica qu entrada de las 2n est activa y genera como salida su representacin binaria, siempre y cuando el mdulo est activo. Un codificador tiene 2n entradas de datos xi y n salidas de datos yj y una salida A Si E est inactivo, todas las salidas inactivas. Si E est activo y todas las entradas de datos xi estn inactivas, todas las salidas (yj y A) permanecen inactivas. Si se activa la entrada de datos xi y E est activo: Las salidas yj componen el nmero i codificado en binario. Se activa la salida A. Expresin de conmutacin: yi = E x j
Circuitos combinacionales Electrnica Digital I
Codificadores
El comportamiento del codificador sin prioridad es:
Y = yj 2j
j =0 n 1
Circuitos combinacionales
Electrnica Digital I
Codificadores
Ejemplo: diseo de un codificador sin prioridad de 8 a 3. Funciones lgicas A = E (x0+x1+x2+x3+x4+x5+x6+x7) Y0 = E (x1+x3+x5 +x7) Y1 = E (x2+x3+x6 +x7) Y2 = E (x4+x5+x6 +x7) Comercial: 74148
Circuitos combinacionales
Electrnica Digital I
Codificadores
Ejemplo: diseo de un codificador sin prioridad de 8 a 3. Descripcin Estructural
Circuitos combinacionales
Electrnica Digital I
Codificadores
Ejemplo: diseo de un codificador sin prioridad de 8 a 3. Simulacin No tiene sentido, Ao, A1, A2!!!
Circuitos combinacionales
Electrnica Digital I
10
Los codificadores pueden encadenarse para formar codificadores con mayor nmero de bits. Eout se activa cuando Ein est activo y no hay ninguna entrada de datos activa. Si la salida Eout se conecta a la entrada Ein de otro codificador permite su encadenamiento.
Circuitos combinacionales Electrnica Digital I
11
i si x i = H y Ein = H y x k = L k > i Y = L resto de los casos H si algn x i = H y E = H A= L resto de los casos H si x i = L(i ) y E = H Eout = L resto de los casos
Circuitos combinacionales
Electrnica Digital I
12
entity COD8a3_prior is port( X : in std_logic_vector (7 downto 0); Y : out std_logic_vector (2 downto 0); A : out std_logic); end COD8a3_prior;
architecture comportamental1 of COD8a3_prior is begin Y <= 111 when X(7) =1 else 110 when X(6) =1 else 101 when X (5) =1 else 100 when X (4) =1 else 011 when X (3) =1 else 010 when X (2) =1 else 001 when X(1) =1 else 000; A <= 0 when DATAIN = 00000000 else 1; end comportamental1;
Circuitos combinacionales
Electrnica Digital I
13
Circuitos combinacionales
Electrnica Digital I
14
Circuitos combinacionales
Electrnica Digital I
15
Circuitos combinacionales
Electrnica Digital I
16
Circuitos combinacionales
Electrnica Digital I
17
Circuitos combinacionales
Electrnica Digital I
18
3. Decodificadores
Un decodificador (o decodificador de n a 2n) es un mdulo con n entradas y 2n salidas, adems de una seal de activacin (Enable) de entrada El decodificador activa la salida 2i- sima cuando se presenta la combinacin binaria i en las entradas, siempre y cuando el mdulo est activo. Es decir, se activa la salida correspondiente al nmero binario codificado en la entrada. El comportamiento del decodificador
Expresin de conmutacin:
Circuitos combinacionales
Electrnica Digital I
19
Decodificador 2 a 4
X (1:0) Y (3:0)
DECOD 2a4
ENABLE
entity DECOD2a4 is port( X: in std_logic_vector (1 downto 0); ENABLE : in std_logic; Y : out std_logic_vector (3 downto 0)); end DECOD2a4;
architecture comportamental1 of DECOD2a4 is signal DataEnable: std_logic_vector (2 downto 0); begin DataEnable <= ENABLE & DATAIN; with dataEnable SELECT Y<= 1000 when 111; 0100 when 110; 0010 when 101; 0001 when 100; 0000 when others; end comportamental1;
Circuitos combinacionales
Electrnica Digital I
20
Decodificadores
Ejemplo: diseo de un decodificador de 2 a 4:
Funciones lgicas
Circuitos combinacionales
Electrnica Digital I
21
Circuitos combinacionales
Electrnica Digital I
22
Circuitos combinacionales
Electrnica Digital I
23
Circuitos combinacionales
Electrnica Digital I
24
Circuitos combinacionales
Electrnica Digital I
25
Circuitos combinacionales
Electrnica Digital I
26
m(0,2,3,5,6,7,8,9) m(2,3,4,5,6,8,9)
g ( x 3, x 2, x1, x 0) =
Circuitos combinacionales
Electrnica Digital I
27
Circuitos combinacionales
Electrnica Digital I
28
4. Multiplexores
Un multiplexor (o multiplexor de 2n a 1) es un mdulo combinacional con 2n entradas y 1 salida, adems de una seal de activacin y n seales de control. El multiplexor conecta una de las 2n entradas a la salida salidas. Esta entrada se selecciona con la palabra de control S. El comportamiento del multiplexor: entonces:
Expresin de conmutacin:
Circuitos combinacionales
Electrnica Digital I
29
MUX 2 a 1
entity MUX is port( E0,E1 : in bit; SEL: in bit; Z : out bit); end MUX;
Comercial: 74157
architecture comportamental1 of MUX is begin Z <= E0 when SEL = 0 else E1; end comportamental1; architecture comportamental2 of MUX is begin P1: process(E0, E1, SEL) begin if SEL = 0 then Z <= E0; else Z <= E1; end if; end process P1; end comportamental2;
E0 E1
0 1
SEL
Circuitos combinacionales
Electrnica Digital I
30
Multiplexores
Ejemplo: diseo de un multiplexor de 4 entradas (4 a 1). Comercial: 74293
Circuitos combinacionales
Electrnica Digital I
31
Obviando E, esta expresin coincide con la expresin del multiplexor si se identifican: xi = f(i) i=0,...,2n-1 y (sn-1,...,s0) =(an-1,...,a0). Esto significa que para materializar f basta con conectar las entradas binarias de la funcin a las entradas de control del multiplexor y conectar el valor f(i) que toma la funcin (fila i de la tabla de verdad) con la entrada de datos xi del multiplexor.
32
Circuitos combinacionales
Electrnica Digital I
Circuitos combinacionales
Electrnica Digital I
33
Circuitos combinacionales
Electrnica Digital I
34
Circuitos combinacionales
Electrnica Digital I
35
Circuitos combinacionales
Electrnica Digital I
36
Circuitos combinacionales
Electrnica Digital I
37
Circuitos combinacionales
Electrnica Digital I
38
Circuitos combinacionales
Electrnica Digital I
39
Circuitos combinacionales
Electrnica Digital I
40
Circuitos combinacionales
Electrnica Digital I
41
5. Demultiplexores
Un demultiplexor (o demultiplexor de 2n a 1) es un mdulo con 1 entrada y 2n salidas, adems de una seal de activacin y n seales de control.
El demultiplexor conecta la entrada con una de las 2n salidas que se selecciona con la palabra de control S. Su funcionamiento es inverso al realizado por el multiplexor.
Circuitos combinacionales
Electrnica Digital I
42
DEMUX 3 a 8
Y (7:0) X ENABLE
DEMUX3a8
entity DEMUX3a8 is port( X,ENABLE : in std_logic; CONTROL : in std_logic_vector (2 downto 0); Y : out std_logic_vector (7 downto 0)); end DEMUX3a8; architecture comportamental of DEMUX3a8 is signal DataControl: std_logic_vector (3 downto 0); signal Entrada: std_logic; begin DataEnable <= ENABLE & CONTROL; Entrada <= X; with dataEnable SELECT Y(7)<= Entrada when 1111; Y(6)<= Entrada when 1110; Y(5)<= Entrada when 1101; Y(4)<= Entrada when 1100; Y(3)<= Entrada when 1011; Y(2)<= Entrada when 1010; Y(1)<= Entrada when 1001; Y(0)<= Entrada when 1000; Y <= (others =>0)when others; end comportamental;
CONTROL (2:0)
Circuitos combinacionales
Electrnica Digital I
43
6. Desplazadores
Un desplazador (shifter) es un mdulo combinacional con n+2 entradas de datos y n salidas, adems de una seal de activacin y seales de control. El desplazador puede mover o no bits a derecha e izquierda en desplazamientos abiertos o cerrados (rotaciones) bajo las rdenes de las seales control.
44
Desplazadores
Circuitos combinacionales
Electrnica Digital I
45
46
PROMs PROMs
PLAs PLAs
PALs PALs
GALs GALs
Programmable Logic Device Simple PLD Complex PLD Programmable ROM Programmable Array Logic Programmable Logic Array Generic Array Logic
Circuitos combinacionales
Electrnica Digital I
47
FPGAs
Circuitos combinacionales
Electrnica Digital I
48
FPGAs
Circuitos combinacionales
Electrnica Digital I
49
FPGAs. Arquitectura
Circuitos combinacionales
Electrnica Digital I
50
Circuitos combinacionales
Electrnica Digital I
51
Memoria 2m x N
Estructura interna: Los datos se almacenan en grupos llamados posiciones de memoria. Cada posicin de memoria tiene una direccin. Slo se puede acceder a una direccin a la vez Las direcciones estn codificadas y se indican a travs el bus de direcciones Los datos son ledos o escritos por el bus de datos Capacidad de una memoria: M x N bits (M direcciones de N bits cada una)
Circuitos combinacionales Electrnica Digital I
52
Memorias ROM
Una memoria ROM (Read Only Memory - memoria de solo lectura) es un mdulo combinacional con n entradas de direcciones y k salidas de datos, adems de una o varias seales de activacin o seleccin. Una memoria ROM es un CI programable (por el fabricante o los usuarios) en el que se pueden personalizar ciertas conexiones. Existen distintos tipos segn los datos sean o no permanentes (ROM, PROM o EPROM, EEPROM), sean no programables o programables (ROM o PROM, EPROM, EEPROM) , y cuantas veces, y como se realice fsicamente el borrado y la programacin (EPROM - UV, EEPROM - elctrica).
Circuitos combinacionales
Electrnica Digital I
53
Memorias ROM
Una ROM se compone internamente de dos grupos de puertas: un grupo de puertas AND (en realidad incluye tambin un conjunto de inversores) y un grupo de puertas OR.
El grupo de puertas AND estn programadas de antemano y conectadas de forma inalterable, mientras que el grupo de puertas OR son programables por el usuario.
Circuitos combinacionales
Electrnica Digital I
54
Memorias ROM
El grupo de puertas AND se puede ya entender como un decodificador de n a 2n con el que se generan todos los minterms para cualquier funcin de n variables (direcciones). Ese decodificador (prefijado) junto a un grupo de puertas OR programables permite materializar cualquier FC de n variables (ver Sntesis de FC con decodificadores).
Circuitos combinacionales
Electrnica Digital I
55
Memorias ROM
Ejemplo: Materializar el comparador de magnitud de dos palabras binarias de dos bits que cumple lo siguiente:
La solucin consiste en seleccionar las salidas que generan los minterms de las funciones y programar las conexiones en el grupo OR para cada una de las salidas. Se almacena directamente la tabla de verdad.
Circuitos combinacionales Electrnica Digital I
56
Memorias ROM
Una ROM se puede entender como una tabla que almacena datos con la siguiente estructura interna abstracta, donde cada dato ocupa una posicin de la tabla denominada direccin.
Como la nica parte programable es la OR se suele representar mediante la matriz de conexiones OR con 1s y 0s indicando conexin o no conexin respectivamente, de nuevo materializando directamente la tabla de verdad.
Circuitos combinacionales Electrnica Digital I
57
Memorias ROM
Ejemplo: Disear en ROM un conversor de cdigo BCD a XS-3
Circuitos combinacionales
Electrnica Digital I
58
Circuitos combinacionales
Electrnica Digital I
59
8. Comparadores
Son sistemas combinacionales que reciben dos datos de entrada A y B y los comparan en binario puro, devolviendo 3 salidas que indican si A>B, A=B A<B Comparador de 1 bit Circuito lgico Tabla de verdad
Cronograma
Smbolo
Circuitos combinacionales
Electrnica Digital I
60
Comparadores
Comparador de 2 bits Ecuaciones M10 = M1 + I1 M0 Circuito lgico
m10 = m1 + I1 m 0 I10 = I1 I0
Cronograma
Circuitos combinacionales
Electrnica Digital I
61
Circuitos combinacionales
Electrnica Digital I
62
Circuitos combinacionales
Electrnica Digital I
63
PARALELO LSB
MSB SERIE
Circuitos combinacionales Electrnica Digital I
64
cout = ab
+
Sum
Tabla de verdad
Sum = a b
CarryOut
Circuitos combinacionales
Electrnica Digital I
65
ce IN a
+
s
cce IN
+
b c
s cOUT
Cronograma
Circuitos combinacionales
Electrnica Digital I
66
Sumadores:
Sumador paralelo con acarreo en serie
En los ejemplos anteriores el acarreo se va propagando consecutivamente de un sumador a otro. Sumador paralelo con acarreo anticipado (carry look ahead) Se usa una estrategia combinacional (generate, propagate) para adelantar la salida del acarreo en una etapa y reducir su tiempo de propagacin, a partir del conocimiento de todas las entradas. Requiere varios niveles de lgica, compensa el retardo en sumas de muchos bits. Los integrados 74HC283 y 74LS283 son sumadores de dos ns de 4 bits, e incorporan un diseo de acarreo anticipado. Extensin de sumadores a ns de ms bits. Un sumador de nmeros de 8 bits se obtiene fcilmente conectando el acarreo de salida (C4) del sumador de 4 bits al de entrada (C0) del otro.
Circuitos combinacionales Electrnica Digital I
67
Circuitos combinacionales
Electrnica Digital I
68
69
cs
+
n
ce
a1 b 1
a b
a0 b0
a ce cs b
cn-1
cs
+
s
ce
...
cs
+
s
+
s
ce
c-1
sn-1
Circuitos combinacionales
s1
Electrnica Digital I
s0
70
a cs
a ce
a ce cs
cn-1
+
s
...
cs
+
s
+
s
ce
'1'
sn-1
Circuitos combinacionales Electrnica Digital I
s1
s0
71
a cs
a ce cs
a ce
a ce cs
+
s
+
s
...
cs
+
s
+
s
ce
sn-1
sn-1
s1
s0
cn-1
Circuitos combinacionales
72
0 1 2 3 Operacin Resultado
Circuitos combinacionales
Electrnica Digital I
73
74