UNIVERSIDAD TECNOLOGICA DE
PUEBLA
DIVISION DE MECATRONICA
PROFESOR:
M. en C. Jorge García Aguirre
MATERIA:
DISPOSITIVOS DIGITALES
PROGRAMA_02_03_01
Grado & Grupo:
4° E
ALUMNO:
Martínez Pérez Gerardo
UTP0140636
1
CIRCUITO COMBINACIONAL CON
MAXTERMINOS
En el circuito combinacional con Maxtérminos comprobaremos aquellas combinaciones que
al ejecutarse nos darán como resultado un 0 lógico en la salida del circuito con compuertas
lógicas.
Podemos observar en la tabla 1.1 las combinaciones para las cuales obtenemos un 0 lógico.
A B C X
M0 0 0 0 0
M1 0 0 1 0
m2 0 1 0 1
M3 0 1 1 0
m4 1 0 0 1
M5 1 0 1 0
m6 1 1 0 1
m7 1 1 1 1 Tabla 1.1
M0 : A+B+C
M1 : A+B+C̅
M3 : A+B̅ + C̅ X = (A+B+C) (A+B+C̅) (A+B̅ + C̅) (A̅ + B + C̅)
M5 : A̅ + B + C
2
El Código fuente del programa en VHDL se encuentra en la figura 1.2:
Library ieee;
Use ieee.std_logic_1164.all;
Entity programa_02_03_01 is
Port
(A,B,C: in std_logic;
X: out std_logic
);
end programa_02_03_01;
architecture functional of programa_02_03_01 is begin x<= (A or B or C) and (A or (not B)
or (not C)) and ((not A or B or( not C));
end functional;
3
Posteriormente procederemos a introducirlo en el programa Quartus || (figura 1.3)
Figura 1.3
4
Una vez compilado el código procederemos a simularlo en el software
MULTISIM.
En este caso definimos los siguientes valores de reloj:
• Period: 400
• Cancel: 1,600
• First Edge: Falling
Podemos observar que las siguientes figuras mostradas en figura 1.4 han sido
comprobadas
M0: A + B + C
A B C X
M0 0 0 0 0
5
M1 : A+B+C̅
A B C X
M1 0 0 1 0
M3 : A+B̅ + C̅
A B C X
M3 0 1 1 0
6
M5: A̅ + B + C
A B C X
M5 1 0 1 0
7
UNIVERSIDAD TECNOLOGICA DE PUEBLA
DIVISION DE MECATRONICA
PROFESOR:
M. en C. Jorge García Aguirre
MATERIA:
DISPOSITIVOS DIGITALES
PROGRAMA_02_03_02
Grado & Grupo:
4° E
ALUMNO:
Martínez Pérez Gerardo
UTP0140636
8
CIRCUITO COMBINACIONAL DE
4 ENTRADAS
A diferencia de los maxterminos los minterminos nos ayudan a encontrar aquellas
combinaciones las cuales al realizarse las operaciones nos dan como resultado un 1 lógico.
A continuación, se muestran los minterminos resaltados en azul en la tabla 1.1:
A B C D Z
Mo 0 0 0 0 0
M1 0 0 0 1 0
M2 0 0 1 0 1
M3 0 0 1 1 1
M4 0 1 0 0 0
M5 0 1 0 1 0
M6 0 1 1 0 1
M7 0 1 1 1 0
M8 1 0 0 0 1
M9 1 0 0 1 0
M10 1 0 1 0 0
M11 1 0 1 1 0
M12 1 1 0 0 1
M13 1 1 0 1 1
M14 1 1 1 0 0
M15 1 1 1 1 0
Las siguientes combinaciones nos dan como resultado un mintermino:
M2: A̅ B̅CD̅ , M3:̅AB̅CD, M6: A̅BCD̅, M8: AB̅C̅D̅, M12: ABC̅D̅, M13: ABC̅D
Por lo tanto, la ecuación para obtener los minterminos de la tabla 1.1 es la siguiente:
Z: (A̅B̅CD̅) + ( ̅AB̅CD) + (A̅BCD̅) + ( AB̅C̅D̅) + ( ABC̅D̅) + ( ABC̅D)
9
Ahora procederemos a diseñar el código en VHDL (Figura 1.1)
Una vez compilado el código procederemos a simularlo; para así
poder comprobar que nuestro código es funcional.
M2: A̅ B̅CD̅
A B C D Z
M2 0 0 1 0 1
10
M3:̅A B̅CD
A B C D Z
M3 0 0 1 1 1
M6: A̅ BCD̅
A B C D Z
M6 0 1 1 0 1
11
M8: AB̅C̅ D̅
A B C D Z
M8 1 0 0 0 1
M12: ABC̅D̅
A B C D Z
M12 1 1 0 0 1
12
M13: ABC̅D
A B C D Z
M13 1 1 0 1 1
13
14