Método Quine-McCluskey Cuervo Espinosa Diana Gerlid, Iglesias Bonilla Gina Alejandra, Villamizar Castellanos César Augusto {dgcuervoe, gaiglesiasb, cavillamizarc}@unal.edu. cavillamizarc}@unal.edu.co co
Resumen Este documento resulta del desarrollo de la implementación del método de minimización de Quine — Este
McCluskey para la codificación de un display de 11 segmentos. La organización de este escrito comienza con una concreta introducción, introducción, seguida por la definición de algunos conceptos fundamentales. Luego se comienza definiendo los caracteres involucrados y su respectiva representación en el display. Seguidamente se evalúa la tabla de verdad para cada uno de ellos y se procede entonces a hallar una función de minimización utilizando el método de Quine-McCluskey para cada uno de los caracteres. Finalmente, se acude a Xilinx para realizar la debida implementación según las funciones encontradas. Palabr as Clave Display 11 Segmentos, Minimización, Quine-McCluskey, Xilinx. — Display
Abstract — This document is the result of the development of the implementation of the Quine-McCluskey minimization method for the codification of an eleven-segments display. The organization of this paper begins with a concrete introduction, followed by the definition of some fundamental concepts. Next we have to define the character involved and their respective display representation. Then, the truth table is evaluated for each one of the characters and we proceed to find the minimization function using the Quine-McCluskey method. Finally, the implementation of the functions found is simulated utilizing a program called Xilinx. Key Term s Eleven-Segment Display, Minimization, Quine-McCluskey, Xilinx. — Eleven-Segment
I. INTRODUCCIÓN A lo largo de la historia la humanidad se ha empeñado en crear y desarrollar sistemas que faciliten su vida y hagan sus actividades cotidianas algo mucho más práctico y eficiente, para satisfacer todas estas peticiones y requerimientos requerimientos se ha desarrollado la tecnología y detrás de ella, uno de sus pilares pil ares principales e inherentes, la electrónica digital. En este documento veremos como c omo la aglomeración de diferentes di ferentes dispositivos electrónicos logra satisfacer o solucionar un problema problema de alta complejidad mediante mediante sistemas más más sencillos que cumplen cumplen funciones más pequeñas y simples. Sin embargo, por ahora solo introduciremos introduciremos conceptos y elementos básicos que más adelante nos ayudaran a ingeniar y diseñar sistemas más completos y útiles, no solo para el desarrollo de actuales tecnologías, sino para el de muchas otras que aun vienen en camino. II. MARCO TEÓRICO I.
Método Quine-McCluskey
El algoritmo de Quine-McCluskey o también conocido como el método de implicantes primos, es un método desarrollado por W. V Quine y ampliado por Edward J. McCluskey, utilizado en la minimización de funciones booleanas. Su funcionalidad es idéntica a la de los mapas de Karnaugh, pero su naturaleza tabular permite que sea más eficiente para implementación en algoritmos computacionales. Igualmente, el método provee una manera determinística para confirmar que la mínima expresión de una función booleana haya sido alcanzada. De esta forma, también se le es conocido como el método tabular. El procedimiento consiste en encontrar primero todos los
números primos implicados de la función y luego utilizarlos en una tabla para hallar los implicantes primos esenciales de la función y los necesarios para cubrir la función. Algoritmo: 1. Enumerar en una tabla todos los mintérminos en forma binaria, organizados según el número de unos que contenga (Figura 1).
Figura 1: Tabla de minitérminos ordenados por cantidad de “1”s
2. Entre los grupos adyacentes buscar los mintérminos que sólo difieren en un bit en la misma posición, para hallar los primeros implicantes primos. La metodología consiste en comparar sucesivamente el primer mintérmino de un grupo con el resto de los términos del grupo siguiente. Los mintérminos emparejados se marcan (√ ) con el fin de diferenciarlos. La variable apareada en el proceso se reemplaza con un guión para denotar la eliminación de la misma. Los términos no marcados en la tabla son los primeros implicantes primos (PIX).
Fi gura 2: Asociación de minitérminos e implicantes primos
3. Construir una tabla que enumere los implicantes primos y los mintérminos contenidos por cada implicante primo. Se marca con una X el mintérmino contenido en cada implicado por fila.
Fi gura 3: Implicantes primos
En la tabla se seleccionan las columnas de los mintérminos que contengan solamente una cruz. En este ejemplo, hay dos mintérminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la selección del primer implicado PI1 (A’·C) garantiza que el término mínimo 6 está incluido en la función. De la misma forma, el término mínimo 7 está cubierto por el primer implicado PI7 (A'·B·C·D). Los primeros implicados que cubren los mintérminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados con un asterisco) y son indispensables en la construcción de la función. 4. Seleccionar en cada columna los mintérminos que estén cubiertos por los primeros implicados esenciales. Por ejemplo, el primer implicado esencial * PI1 (A’·C) cubre los mintérminos 2, 3, 6 y 7. De la misma forma, el primer implicado esencial *PI7 (A'·B·C·D) cubre los mintérminos 7 y 15. Hasta el momento la selección de primeros implicados cubre los mintérminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos términos mínimos deben ser seleccionados por medio de otros primeros implicados esenciales.
Fi gura 4: Selección de primeros implicantes esenciales
La función simplificada se obtiene de la suma de los primeros implicados hallados: F= PI1 + PI3 +PI6 + PI7 F= (0-1-) + (-001) + (10-0) + (-111) F = A'·C + B’·C’·D + A·B’·D’ + B·C·D
II.
Display 11 segmentos
Es un tipo de display basado en 11 segmentos que pueden ser encendidos o apagados para producir letras, números o algunos símbolos. Es una expansión del común display de 7 segmentos, teniendo cuatro diagonales adicionales. Cada uno de los segmentos que forman la pantalla están marcados con once primeras letras del alfabeto ('a'-'k') (ver figura 1), y se montan de forma que
permiten activar cada segmento por separado, consiguiendo formar cualquier dígito numérico, alfabético, e inclusive algunos símbolos. Los leds trabajan a baja tensión y con pequeña potencia, por tanto, podrán excitarse directamente con puertas lógicas. Normalmente se utiliza un codificador que activando una sola pata de la entrada del codificador, activa las salidas correspondientes mostrando el carácter deseado. Los segmentos pueden ser de diversos colores, aunque el visualizador más comúnmente utilizado es el de color rojo, por su facilidad de visualización.
Fi gura 5: Display 11 segmentos
Los display multi-segmentos utilizan menos elementos a los que se tienen en una matriz de puntos LED y puede inclusive producir una mejor apariencia de los caracteres donde los segmentos tienen la forma adecuada. Adicionalmente, el número de componentes del driver y el consumo de potencia se ven reducidas.
III. MAPEO DE CARACTERES ASCII-11 SEGMENTOS Nota: los códigos ASCII que no figuren en la tabla no tienen representación en la implementación
32 "espacio"
40 (
41 )
45 -
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
60 <
61 =
62 >
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111
112
113
114
115
116
117
118
119
o
p
q
r
s
t
u
120 x
121 y
122 z
123 {
125 }
IV.
v
w
TABLA DE VERDAD
Igualmente se ignoran los caracteres que no se logran representar por este tipo de display. BINARIO
s6 s5 s4 s3 s2 s1 s0
ASCII
Carácter
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 1 1 1 1 1
0 1 1 1 1 0 0 0 0 0
0 0 0 1 1 0 0 0 0 1
0 0 0 0 1 0 0 1 1 0
0 0 1 1 1 0 1 0 1 0
32 40 41 45 47 48 49 50 51 52
"espacio" ( ) / 0 1 2 3 4
0 0
1 1
1 1
0 0
1 1
0 1
1 0
53 54
5 6
0 0 0 0 0 0
1 1 1 1 1 1
1 1 1 1 1 1
0 1 1 1 1 1
1 0 0 1 1 1
1 0 0 0 0 1
1 0 1 0 1 0
55 56 57 60 61 62
7 8 9 < = >
1 1 1
0 0 0
0 0 0
0 0 0
0 0 0
0 1 1
1 0 1
65 66 67
A B C
a b c d e f g h i j k 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0
0 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 1 0
0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1
1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1
0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 1 1
0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1
0
0
1
1
1
0
0
0
0
0
1 1 1
0 0 0
0 0 0
0 0 0
1 1 1
0 0 1
0 1 0
68 69 70
D E F
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
71 72 73 74 75
G H I J K
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 1 1
1 1 1 1 0 0
1 1 1 1 0 0
0 0 1 1 0 0
0 1 0 1 0 1
76 77 78 79 80 81
L M N O P Q
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
0 0 1 1 1
1 1 0 0 1
0 1 0 1 0
82 83 84 85 86
R S T U V
1
0
1
0
1
1
1
87
W
1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 1
0 0 1 1 0 0 1 1 0 1 1 0
0 1 0 1 0 1 0 1 1 0 1 0
88 89 90 91 92 93 94 95 97 98 99 100
X Y Z [ \ ] ^ _ a b c d
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 1 1 1 1 1 1 1 0
1 1 1 0 0 0 0 1 1 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
101 102 103 104 105 106 107 108 109 110 111 112
e f g h i j k l m n o p
0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1
1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1
1 0 0 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0
1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1
1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1
1 1 1
1 1 1
0 0 0
0 0 0
0 1 1
1 0 1
113 114 115
q r s
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
0 0 0 0 1
1 1 1 1 0
0 0 1 1 0
0 1 0 1 0
116 117 118 119 120
t u v w x
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
0 0 0 1
0 1 1 0
1 0 1 1
121 122 123 125
y z { }
V.
1 1 1 0 0 0 0 0 0 1 1 1
1 1 0 0 1 0 1 0 1 0 0 0
1 0 0 0 1 0 1 0 1 0 0 0
1 0 1 1 1 0 0 0 1 1 1 1
1 1 0 1 1 1 1 0 0 0 0 0
1 1 0 1 1 1 1 0 1 0 0 0
0 1 0 1 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 1 0 0 1 0
0 0 0 0 0 1 0 1 0 1 0 1
1 1 1 0 0 0 1 1 0 0 0 1
0 0 0 0 0 1 1 1 0 1 1 0
MINIMIZACIÓN QUINE-MCCLUSKEY
A continuación se encuentran las funciones minimizadas encontradas por el método de QuineMcCluskey. Se ilustran tanto en forma de suma de productos estándar, como en su forma de producto de sumas estándar. SALIDA
a
MINITERMINOS
TERMINOS NEUTROS
40,41,48,50,51,53,54,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
55,56,57,65,67,69,70,
3,14,15,16,17,18,19,20,21,22
71,79,80,81,82,83,90,
,23,24,25,26,27,28,29,30,31,
91,93,97,99,101,102,1
33,34,35,36,37,38,39,42,43,4
03,111,112,113,114,1
4,46,58,59,63,64,96,124,126,
15,122,123,125
127
FUNCION MINIMIZADA
+ + = + + + + + + +
= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b
48,49,50,51,52,55,56,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
57,65,68,72,73,74,77,
3,14,15,16,17,18,19,20,21,22
78,79,80,81,82,85,87,
,23,24,25,26,27,28,29,30,31,
89,97,100,104,105,10
33,34,35,36,37,38,39,42,43,4
6,109,110,111,112,11
4,46,58,59,63,64,96,124,126,
3,114,117,119,121
127
+ + = + + + + + + +
+ F + ) ( C =(A + C)(A + + + D + + ) ( + F + G ) ( + + ) ( + E + + ) ( + + + G ) ( + + + G ) ( C + D + ) ( A + + G ) + c
48,49,51,52,53,54,55,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
56,57,65,66,68,71,72,
3,14,15,16,17,18,19,20,21,22
73,74,77,78,79,81,85,
,23,24,25,26,27,28,29,30,31,
87,89,97,98,100,103,1
33,34,35,36,37,38,39,42,43,4
04,105,106,109,110,1
4,46,58,59,63,64,96,124,126,
11,113,117,119,121
127
E + + + = + + + + + +
+ F =(A + C)(C + D + + + F + ) ( + ) ( + G ) ( + + + G ) ( + E + + ) ( C + D + + + G )( A + E + + G ) d
40,41,48,50,51,53,54,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
56,57,61,66,67,68,69,
3,14,15,16,17,18,19,20,21,22
71,74,76,79,81,83,84,
,23,24,25,26,27,28,29,30,31,
85,89,90,91,93,95,98,
33,34,35,36,37,38,39,42,43,4
99,100,101,103,106,1
4,46,58,59,63,64,96,124,126,
08,111,113,115,116,1
127
17,121,122,123,125
+ F + = + + + + + + + + + + + + + + + +
= ( + + + + )( + + + + ) ( + + + )( + + + )( + + + )( +
+ + )( + + + + + )( + + + + )( + )( + + + + )( + + + + ) )( + + e
48,50,54,56,65,66,67,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
68,69,70,71,72,74,75,
3,14,15,16,17,18,19,20,21,22
76,77,78,79,80,81,82,
,23,24,25,26,27,28,29,30,31,
84,85,86,87,97,98,99,
33,34,35,36,37,38,39,42,43,4
100,101,102,103,104,
4,46,58,59,63,64,96,124,126,
106,107,108,109,110,
127
+ + + = + + +
+ + + = + + +
111,112,113,114,116, 117,118,119
= ( + )( + + + + f
48,52,53,54,56,57,65,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
66,67,69,70,71,72,75,
3,14,15,16,17,18,19,20,21,22
76,77,78,79,80,81,82,
,23,24,25,26,27,28,29,30,31,
84,85,86,87,89,97,98,
33,34,35,36,37,38,39,42,43,4
99,101,102,103,104,1
4,46,58,59,63,64,96,124,126,
07,108,109,110,111,1
127
+ )( + + + )( )( + + )( )( + + + )
+ + + = + + + + + + +
12,113,114,116,117,1 18,119,121
g
= ( + )( + + + )( + + + )( + + )( + + )( + + + )( + + + + )( + + + )( + + )( + + + )
45,50,51,52,53,54,56,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
57,61,65,66,68,69,70,
3,14,15,16,17,18,19,20,21,22
72,80,82,84,89,97,98,
,23,24,25,26,27,28,29,30,31,
100,101,102,104,112,
33,34,35,36,37,38,39,42,43,4
114,116,121
4,46,58,59,63,64,96,124,126, 127
= + + + + + + + + +
+ = A + D + E + F + + + + + + G + + + + + D + G + + C + + A + C + E C + + + + h
40,62,77,78,83,88,91,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
92,109,110,115,120,1
3,14,15,16,17,18,19,20,21,22
23
,23,24,25,26,27,28,29,30,31,
= + + + + +
33,34,35,36,37,38,39,42,43,4 4,46,58,59,63,64,96,124,126, 127
= + + + + +
+ C + E + F = D + + D + G A + + + + + + G C + + F + G A + + F i
41,47,49,60,75,77,86,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
88,90,93,107,109,118,
3,14,15,16,17,18,19,20,21,22
120,122
,23,24,25,26,27,28,29,30,31, 33,34,35,36,37,38,39,42,43,4
+ + = + + + + + +
4,46,58,59,63,64,96,124,126, 127
= ( + )( + )( + )( + + + )( + + )( + )( + + + )( + + )( + + + )( + + )( + + + )
j
41,60,75,78,81,82,83,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
87,88,92,93,94,107,11
3,14,15,16,17,18,19,20,21,22
0,113,114,115,119,12
,23,24,25,26,27,28,29,30,31,
0,125
33,34,35,36,37,38,39,42,43,4
= + + + + + + + +
4,46,58,59,63,64,96,124,126, 127
= + + + + + + + +
+ )( = ( + )( + + )( + + )( + + )( + + + )( + )( + + + + )( + + )( + + )( + + + + ) + )( k
40,47,62,86,87,88,90,
0,1,2,3,4,5,6,7,8,9,10,11,12,1
91,94,118,119,120,12
3,14,15,16,17,18,19,20,21,22
2,123
,23,24,25,26,27,28,29,30,31,
+ + = + + +
33,34,35,36,37,38,39,42,43,4 4,46,58,59,63,64,96,124,126, 127
+ + = + + +
= ( + )( + )( + )( + )( + + )( + )( + + + +)
VI.
IMPLEMENTACIÓN
Para la implementación se emplea las herramientas del programa Xilinx, donde a continuación se muestra simulación de los circuitos necesarios para la función minimizada del segmento “k.”
III. REFERENCIAS [1] A. S. Sedra, "Circuitos Microelectr ónicos", Cuarta edición, 1900, Paris. [2] Disponible online: http://en.wikipedia.org/wiki/Fourteen-segment_display [3] Disponible online: http://azul2.bnct.ipn.mx/clogicos/Quine-McCluskey.PDF [4] Disponible online: http://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm [5] Disponible online: http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/020501.htm
Autores: Diana G. Cuervo E. Estudiante Ingeniería Mecatrónica Universidad Nacional de Colombia - Sede Bogotá 2014
Gina A. Iglesias B. Estudiante Ingeniería Mecatrónica Universidad Nacional de Colombia - Sede Bogotá 2014
César A. Villamizar C. Estudiante Ingeniería Mecatrónica Universidad Nacional de Colombia - Sede Bogotá 2014