Subido por walter.nestares1

TAREA COMBINACIONAL

Anuncio
“Universidad Nacional Mayor de San Marcos”
FACULTAD DE INGENIERÍA ELECTRÓNICA Y
ELÉCTRICA
SISTEMAS COMBINACIONALES
CURSO: CIRCUITOS DIGITALES
PROFESOR: Ing. Moscoso Sanchez, Jorge
INTEGRANTES:
Nestares Alvarez, Walter Augusto
Uriarte Quiñones, Abigail Jimena
Miller Sotelo Christian
Amau Gutierrez Danny
Flores Dueñas Enzo Aldair
Atencio Torres Miguel Aron
SISTEMAS COMBINACIONALES
PROBLEMA 1
Diseñar un detector de magnitud relativa, que tome dos números binarios de
3 bits, (A= a a a y B= b b b ), determine si son iguales, y si no lo son, cuál de ellos es
el mayor
Nuestro bloque funcional dispone de 6 entradas que corresponden a los tres
dígitos de cada uno de los números, y tres salidas definidas por:
 M=1 si y solo si los dos nº son iguales
 N=1 sí y solo sí A > B
 P=1 sí y solo sí B > A
2
1
0
2
1
0
A. M = 1, si (a2=b2) y (a1=b1) y (a0=b0)
Entonces:
𝑀 = (𝑎2 ⊕ 𝑏2)′. (𝑎1 ⊕ 𝑏1)′. (𝑎0 ⊕ 𝑏0)′
B. N = 1 , si [a2>b2] o [(a2=b2) y (a1>b1)] o [(a2=b2) y (a1=b1) y (a0>b0)]
Entonces:
𝑁 = [𝑎2. 𝑏2′] + [(𝑎2 ⊕ 𝑏2)′. (𝑎1. 𝑏1′)] + [(𝑎2 ⊕ 𝑏2)′. (𝑎1 ⊕ 𝑏1)′. (𝑎0. 𝑏0′)]
𝑁 = [𝑎2. 𝑏2′] + (𝑎2 ⊕ 𝑏2)′. [(𝑎1. 𝑏1′) + (𝑎1 ⊕ 𝑏1)′. (𝑎0. 𝑏0′)]
C. P = 1 , si [b2>a2] o [(b2=a2) y (b1>a1)] o [(b2=a2) y (b1=a1) y (b0>a0)]
Entonces:
𝑃 = [𝑏2. 𝑎2′] + [(𝑏2 ⊕ 𝑎2)′. (𝑏1. 𝑎1′)] + [(𝑏2 ⊕ 𝑎2)′. (𝑏1 ⊕ 𝑎1)′. (𝑏0. 𝑎0′)]
𝑃 = [𝑏2. 𝑎2′] + (𝑏2 ⊕ 𝑎2)′. [(𝑏1. 𝑎1′) + (𝑏1 ⊕ 𝑎1)′. (𝑏0. 𝑎0′)]
O también:
M
0
0
1
N
1
0
0
P
0
1
0
𝑃 = 𝑀′. 𝑁′ = (𝑀 + 𝑁)′
PROBLEMA 2
Diseñar el circuito lógico que implemente un multiplicador, donde disponemos
de 4 entradas, dos para cada uno de los dos números de 2 bits (A=a a y B=b b ) que
vamos a multiplicar, y 4 salidas, donde aparecerá el producto en forma de nº binario
(Z= z z z z )
1
3
2
1
0
ENTRADAS
a1
a0
b1
b0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Z3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
SALIDAS
Z2
Z1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
Z0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
Por mapas de Karnaugh
b1b0
a1a0
00
01
11
10
01
0
0
0
0
01
0
1
1
0
11
0
1
1
0
10
0
0
0
0
11
0
1
0
1
10
0
1
1
0
𝑍0 = 𝑎0 𝑏0
b1b0
a1a0
00
01
11
10
01
0
0
0
0
01
0
0
1
1
𝑍1 = 𝑎̅1 𝑏1 𝑏0 + 𝑎̅1 𝑎0 𝑏0 + 𝑎̅1 𝑎0 𝑏1 + 𝑎0 𝑏̅1 𝑏0
b1b0
a1a0
00
01
11
10
01
0
0
0
0
01
0
0
0
0
11
0
0
0
1
10
0
0
1
1
𝑍2 = 𝑎̅1 𝑎0 𝑏1 + 𝑎1 𝑏̅1 𝑏0
Por ultimo
b1b0
a1a0
00
01
11
10
01
0
0
0
0
01
0
0
0
0
𝑍1 = 𝑎1 𝑎0 𝑏1 𝑏0
11
0
0
1
0
10
0
0
0
0
PROBLEMA 3
La figura adjunta, muestra el cruce de una autopista principal con un camino
de acceso secundario. Se colocan sensores de detección de vehículos a lo largo de
los carriles C y D (camino principal) y en los carriles A y B (camino de acceso). Las
salidas del sensor son BAJA cuando no pasa ningún vehículo, y ALTA cuando pasa
algún vehículo.
El semáforo del cruce se controlará de acuerdo con la siguiente lógica:





El semáforo E-O (Este-Oeste) estará en verde siempre que C y D estén
ocupados
El semáforo E-O (Este-Oeste) estará en verde siempre que C ó D estén
ocupados, pero A y B no estén ocupados
El semáforo N-S (Norte – Sur) estará en verde siempre que los carriles A y B
estén ocupados, pero C y D no lo estén
El semáforo N-S también estará en verde cuando A o B estén ocupados en
tanto que C y D estén vacíos.
El semáforo E-O estará en verde cuando NO haya vehículos transitando.
Utilizando las salidas de los sensores A.B.C. y D como entradas, diseñe un
circuito lógico para controlar el semáforo. Debe haber 2 salidas N/S, y E/O que pasen
a Alto cuando la luz correspondiente se pone en verde.
SOLUCIÓN:
De los datos del problema podemos obtener la siguiente tabla:
NOTA: los dos semáforos no pueden estar en verde a la vez
A
0
0
0
0
0
0
0
B
0
0
0
0
1
1
1
C
0
0
1
1
0
0
1
D
0
1
0
1
0
1
0
S1(E-W)
1
1
1
1
0
1
1
S2(N-S)
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
PARA S1:
S1=(~A*~B*~C*~D) + (~A*~B*~C*D) + (~A*~B*C*~D) + (~A*B*~C*D) +
(~A*B*C*D) + (A*~B*~C*D) + (A*~B*~C*D) + (A*~B*C*~D) + (A*~B*C*D) +
(A*B*C*D)
PARA S2:
S2=(~A*B*~C*~D) + (A*~B*~C*~D) + (A*B*~C*~D) + (A*B*~C*D) + (A*B*C*~D)
CD
AB
00
01
11
10
00
0
1
1
1
01
0
0
1
0
11
0
0
0
0
10
0
0
1
0
S2=(B*~C*~D) + (A*~C*~D) + (A*B*~D) + (A*B*~C)
En la tabla nos podemos dar cuenta que S1= ~S2, por lo que en la simulación solo será
necesario construir el circuito de la expresión reducida de S2 y luego colocar una compuerta
NOT para obtener S1
PARA S2:
PARA S1:
PROBLEMA 4
Disponemos de tres números de 8 bits codificados en binario natural. Diseñar
un circuito combinacional que realice la suma de los dos mayores de los tres.
Para construir la solución lo primero que requeriremos es un circuito que compare los
3 números, luego un codificador que convierta esa información al número binario
adecuado para los selectores del multiplexor de buses que dejará pasar los números
que se deban sumar, finalmente solo hace falta un sumador de 8 bits para sumar las
salidas
IMPLEMENTADO EN VHDL Y SIMULADO EN MAXPLUS2
SIMULACION DE EJEMPLOS (Los números están siendo mostrados en Decimal
para mayor facilidad de lectura)
PROBLEMA 5
Diseñar un circuito combinacional que calcule el valor absoluto de la
diferencia de dos números de n bits.
Primero realizamos un circuito sumador completo:
+(𝑪𝒊)
𝒂 +
𝒃
̅̅̅̅̅̅̅̅̅
𝑪𝒐 𝑹𝒐
Ro = 𝑎′. 𝑏′. 𝐶𝑖 + 𝑎′. 𝑏 . 𝐶𝑖′ + 𝑎 . 𝑏′. 𝐶𝑖′ + 𝑎 . 𝑏 . 𝐶𝑖
𝑅𝑜 = 𝑎 ⊕ 𝑏 ⊕ 𝐶𝑖
𝐶𝑜 = 𝑎 . 𝑏 + 𝑎 . 𝐶𝑖 + 𝑏 . 𝑅𝑖
𝐶𝑜 = 𝑎 . 𝑏 + 𝐶𝑖 . (𝑎 + 𝑏)
Si negamos “b”, b pasaría a ser una suma en complemento 1.
Para pasar b a complemento 2, simplemente coloco como acarreo inicial “1”.
Ahora diseñamos el circuito valor _absoluto:
Vs
S
Ci
Ro
Co
0
0
0
0
0
Ro = 𝑉𝑠′. 𝑆′. 𝐶𝑖 + 𝑉𝑠′. 𝑆. 𝐶𝑖′ + 𝑉𝑠 . 𝑆′. 𝐶𝑖′ + 𝑉𝑠 . 𝑆 . 𝐶𝑖
0
0
1
1
0
Ro = 𝑉𝑠 ⊕ 𝑆 ⊕ 𝐶𝑖
0
1
0
1
0
0
1
1
0
1
𝐶𝑜 = 𝑉𝑠′. 𝑆 . 𝐶𝑖 + 𝑉𝑠 . 𝑆′. 𝐶𝑖
1
0
0
1
0
𝐶𝑜 = 𝐶𝑖 . (𝑉𝑠 ⊕ 𝑆)
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
Ahora diseñamos el circuito verificador_signo:
Rn
Cn
Vs
0
0
1
0
1
0
1
0
1
1
1
0
𝑉𝑠 = 𝐶𝑛′
SIMULANDO EN MAX PLUS II:
- Para 1 bit:
Forma de onda:
- Para 2 bits:
Forma de onda:
- Para 3 bits:
- Para “n” bits:
Bastar con apilar los circuitos diseñados, siempre y cuando coloquemos el
circuito verificador de signo en el último circuito.
PROBLEMA 6
Dados dos números de 4 bits, implementar un circuito digital que consiga
realizar la suma y la resta, según seleccione el usuario y además active una alarma
cuando el resultado obtenido en la operación sea erróneo.
Para este caso usaremos en integrado 7483, que es un sumador de 4 bits.
Observamos que tiene 2 grupos de entradas de 4 bits que son A4, A3, A2, A1, B4,
B3, B2, B1 y una entrada Co. Posee un grupo de salida que es S4, S3, S2, S1 y C4
que es el acarreo.
Conexión:
Para La Suma:
Para la suma existe de 2 números de 4 bits, existe la salida de un numero de 4 bits
con su carreo C4 que habilita que sean 5 bits dependiendo del número de salida.
X2
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
X16
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Pero adicionando el carreo C4 no daría un numero de 5 bits
X10
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Restador
Se utiliza el método de Complemento a uno:
ERROR:
Si bien ponemos un display para que nos registre la suma y resta del número, pero este display
solo puede registrar números del 1 al 15 entonces para cada caso existe problemas, sea para:


Suma: Alerta error si el numero sumado es mayor que 15
Resta: Alerta error si el numero restado sale negativo o está mal restado.
Obteniendo el circuito planteado:
PROBLEMA 7
Un desplazador de bloque es un circuito combinacional con n entradas, E1 ...
En, y n salidas, S1 ... S2. Funciona de manera que S =E , siendo d el desplazamiento,
que puede ser positivo o negativo. Las salidas que quedan sin correspondencia con
alguna entrada se ponen a un valor fijo (0 o 1). Utilizando componentes
combinacionales, diseñar un desplazador de bloque con n=8 y d=4, y con cuatro
entradas de control, c1 ... c4. Con c1c2 se codifica el desplazamiento según la tabla
adjunta. Con c3 se codifica el signo de d. Con c4 se codifica si los lugares vacantes
se rellenan con ceros o unos.
i
cc
00
01
10
11
1
2
i+d
d
1
2
3
4
SOLUCIÓN:
Se requiere un arreglo de 16 multiplexores de 8 a 1 en el que se coloca en el orden
adecuado la entrada para cada grupo de pines y se rellenan los espacios vacíos con c4
c1c2
00
01
10
11
d
1
2
3
4
PROBLEMA 8
Diseñar, utilizando exclusivamente multiplexores, un circuito combinacional
capaz de realizar el complemento a 2 de un número de 3 bits o el complemento a 1 o
dejarlo como está en función de un par de señales S1 y S0 de la forma siguiente:
S1 S0 Función
0
0
N
º0 1
Complemento a 2 de N
1
Complemento a 1 de N
0
1
1
Sin definir
Se construye la tabla de verdad:
Entonces, se tiene:
SIMULADO EN MULTISIM
Descargar