Professional Documents
Culture Documents
1Ejercicio 2
Un motor elctrico puede girar en ambos sentidos por medio de dos contactores: D para el giro
a la derecha e l para el giro a la izquierda. Estos dos contactores son comandados por dos
pulsadores de giro d e i con un interruptor de seleccin L de acuerdo con:
Si solo se pulsa uno de los dos botones de giro, el motor gira en el sentido
correspondiente
Si se pulsan los dos botones de giro simultneamente, el sentido de giro depende del
estado del interruptor L de forma que,
o Si L est activado el motor gira a la derecha
o Si L est desactivado el motor gira a la izquierda.
TABLA DE VERDAD
A= interruptor L ; B= Interruptor Izquierda C= Interruptor Derecha
Tabla 1. Tabla de verdad del Ejercicio 2
A B C S1 S2
0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 0
1 0 0 0 0
1 0 1 0 1
1 1 0 1 0
1 1 1 0 1
REDUCCIN DE FUNCIONES
AB 00 01 11 10
C
0 0 1 1 0
1 0 1 0 0 1 = +
AB 00 01 11 10
C
00 0 0 0 0
2 = +
01 1 0 1 1
DIAGRAMA DE BLOQUES
Interruptor L
Gira Izquierda
Circuito Giro de Motor Gira Izquierda
DIAGRAMA UML
Giro de Motor
Giro de Motor
Atributos
Int A
Int B
Int C
Direccin
Salida S1
Salida S0
DIAGRAMA DSCH
Giro
B Circuito S
0
C Transformador Direccion
S
1
LENGUAJE VERILOG
// DSCH 2.7a
module Ejercicio( in1,in2,in3,in5,out4,out2,out4,out4,
out4);
input in1,in2,in3,in5;
output out4,out2,out4,out4,out4;
nmos #(38) nmos(w2,vss,in3); // 1.0u 0.12u
pmos #(38) pmos(w2,vdd,in3); // 2.0u 0.12u
nmos #(38) nmos(w4,vss,in1); // 1.0u 0.12u
pmos #(38) pmos(w4,vdd,in1); // 2.0u 0.12u
pmos #(24) pmos(w6,vdd,in2); // 2.0u 0.12u
nmos #(24) nmos(w6,vss,in2); // 1.0u 0.12u
pmos #(45) pmos(w8,w7,in1); // 2.0u 0.12u
nmos #(10) nmos(w9,vss,in2); // 1.0u 0.12u
pmos #(45) pmos(w8,w7,in2); // 2.0u 0.12u
pmos #(45) pmos(w8,w7,w2); // 2.0u 0.12u
nmos #(45) nmos(w8,w10,in1); // 1.0u 0.12u
nmos #(10) nmos(w10,w9,w2); // 1.0u 0.12u
pmos #(31) pmos(w7,vdd,w4); // 2.0u 0.12u
nmos #(17) nmos(out4,vss,w11); // 1.0u 0.12u
nmos #(10) nmos(w13,vss,w4); // 1.0u 0.12u
nmos #(45) nmos(w8,w13,in3); // 1.0u 0.12u
pmos #(17) pmos(out4,vdd,w11); // 2.0u 0.12u
pmos #(31) pmos(w7,vdd,in3); // 2.0u 0.12u
pmos #(24) pmos(w14,vdd,w4); // 2.0u 0.12u
nmos #(10) nmos(w15,vss,in2); // 1.0u 0.12u
pmos #(38) pmos(w16,w14,in2); // 2.0u 0.12u
pmos #(24) pmos(w14,vdd,in2); // 2.0u 0.12u
pmos #(38) pmos(w16,w14,in3); // 2.0u 0.12u
nmos #(38) nmos(w16,w17,in2); // 1.0u 0.12u
nmos #(38) nmos(w16,w15,w4); // 1.0u 0.12u
nmos #(10) nmos(w17,vss,in3); // 1.0u 0.12u
pmos #(17) pmos(out2,vdd,w16); // 2.0u 0.12u
nmos #(17) nmos(out2,vss,w16); // 1.0u 0.12u
pmos #(38) pmos(w19,vdd,in1); // 2.0u 0.12u
pmos #(38) pmos(w19,vdd,w2); // 2.0u 0.12u
pmos #(38) pmos(w19,vdd,w6); // 2.0u 0.12u
nmos #(10) nmos(w21,w20,w6); // 1.0u 0.12u
nmos #(10) nmos(w20,vss,w2); // 1.0u 0.12u
nmos #(38) nmos(w19,w21,in1); // 1.0u 0.12u
pmos #(17) pmos(out4,vdd,w8); // 2.0u 0.12u
nmos #(17) nmos(out4,vss,w8); // 1.0u 0.12u
pmos #(38) pmos(w11,vdd,in1); // 2.0u 0.12u
pmos #(10) pmos(w23,vdd,in2); // 2.0u 0.12u
pmos #(38) pmos(w11,w23,in3); // 2.0u 0.12u
nmos #(38) nmos(w11,w24,in3); // 1.0u 0.12u
nmos #(38) nmos(w11,w24,in2); // 1.0u 0.12u
nmos #(17) nmos(w24,vss,in1); // 1.0u 0.12u
pmos #(17) pmos(out4,vdd,w19); // 2.0u 0.12u
nmos #(17) nmos(out4,vss,w19); // 1.0u 0.12u
endmodule
COMPILACIN EN MICROWIND